|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
基于ATMEGA8L的MP3播放器 |
| 作者:dadodo 欄目:單片機 |
|
| 2樓: | >>參與討論 |
| 作者: dadodo 于 2004/8/13 1:36:00 發(fā)布:
象那么回事,好! 全改成貼片元件就更小了 |
|
| 3樓: | >>參與討論 |
| 作者: hsb_yq 于 2004/8/13 12:00:00 發(fā)布:
我也想玩 本來想用AT89C51SND1來的,但現(xiàn)在看見你的挺不錯的,能不能給點資料? |
|
| 4樓: | >>參與討論 |
| 作者: hsb_yq 于 2004/8/13 12:31:00 發(fā)布:
或者哪里有套件賣? |
|
| 5樓: | >>參與討論 |
| 作者: abc2001 于 2004/8/13 12:41:00 發(fā)布:
好 |
|
| 6樓: | >>參與討論 |
| 作者: haikang 于 2004/8/13 13:31:00 發(fā)布:
能不能給點資料學(xué)習(xí)? |
|
| 7樓: | >>參與討論 |
| 作者: masashinakayama 于 2004/8/13 14:36:00 發(fā)布:
趕緊加褲子!。。。! 好東東 我頂 |
|
| 8樓: | >>參與討論 |
| 作者: tangzzbb 于 2004/8/13 14:48:00 發(fā)布:
做成貼片的并扣上殼子不就可以賣了嗎?? |
|
| 9樓: | >>參與討論 |
| 作者: su_mj000 于 2004/8/13 14:54:00 發(fā)布:
這是我剛做的一款MP3播放器(純粹是玩) 此前曾用STA013(不帶DAC)做過兩款,音色都挺好,令人滿意. 傳上電路圖,其實硬件蠻簡單的吧!? 相比之下,軟件就顯得難點.大容量貼片電容太貴,所以就不采用了. http://www.21icsearch.com/buzi/upimage/upfile/20048131447270.pdf 忘了說明,我用的是WINAVR C編譯,沒使用匯編。 剛查了一下器件資料,發(fā)現(xiàn)ATMEGA48只有512BYTE的RAM,所以 無法使用(MMC/SD以及FAT的每一個基本塊是512字節(jié),緩沖至少 得消耗512字節(jié))。 * - 本貼最后修改時間:2004-8-14 2:06:30 修改者:su_mj000 |
|
| 10樓: | >>參與討論 |
| 作者: crc 于 2004/8/13 16:32:00 發(fā)布:
正點,頂! |
|
| 11樓: | >>參與討論 |
| 作者: crc 于 2004/8/13 16:36:00 發(fā)布:
若加上USB,直接由電腦下載到SD重正!能否開放源碼? |
|
| 12樓: | >>參與討論 |
| 作者: money9805 于 2004/8/13 17:17:00 發(fā)布:
不錯不錯 |
|
| 13樓: | >>參與討論 |
| 作者: 阿里晃晃 于 2004/8/13 17:25:00 發(fā)布:
佩服 |
|
| 14樓: | >>參與討論 |
| 作者: cgsh7756 于 2004/8/13 22:11:00 發(fā)布:
連接不到。 連接不到。 |
|
| 15樓: | >>參與討論 |
| 作者: avr 于 2004/8/14 9:08:00 發(fā)布:
有時是比較難連,里面有讀SD/MMC卡的WINAVR的源代碼。 |
|
| 16樓: | >>參與討論 |
| 作者: Asnake 于 2004/8/14 9:39:00 發(fā)布:
真正的DIYer,我頂。PFPF PFPF可惜不好帶著跑。否則也想要個套件來試試:) |
|
| 17樓: | >>參與討論 |
| 作者: yfang2 于 2004/8/14 10:34:00 發(fā)布:
VS1001K VS1001K芯片國外幾乎找不到。! |
|
| 18樓: | >>參與討論 |
| 作者: aealeen 于 2004/8/14 11:29:00 發(fā)布:
佩服,佩服。!是個好東西 |
|
| 19樓: | >>參與討論 |
| 作者: shaozh 于 2004/8/14 14:24:00 發(fā)布:
漂亮 |
|
| 20樓: | >>參與討論 |
| 作者: qjy_dali 于 2004/8/14 17:07:00 發(fā)布:
很不錯,支持一下 |
|
| 21樓: | >>參與討論 |
| 作者: jsan 于 2004/8/15 8:26:00 發(fā)布:
su_mj000:能否介紹VS1001K的代理商 我也想玩MP3不過一直找不到VS1001K,也不知道什么價,能否告知? |
|
| 22樓: | >>參與討論 |
| 作者: fleas 于 2004/8/15 8:59:00 發(fā)布:
軟件 請教軟件方面是如何實現(xiàn)的呢? |
|
| 23樓: | >>參與討論 |
| 作者: su_mj000 于 2004/8/15 15:35:00 發(fā)布:
謝各位捧場 硬件電路大家都看到了,應(yīng)該說是很簡單的. 記得VS1001K解碼器是荷蘭的一家公司的產(chǎn)品(已不是最新品種). SOIC28管腳,DIY起來較容易.里面集成了DAC和耳機驅(qū)動,比較 理想.并且有不少DSP的功能(如音量調(diào)節(jié),高低音提升等).我不 知道國內(nèi)是否有代理商,國外的零售價格是19~20美元/片,通過 網(wǎng)上定購. 總體上,軟件也不算復(fù)雜.除了FAT文件系統(tǒng)部分較難一點(對有 經(jīng)驗者其實也不難),其他一點都不算新奇和獨特(如按鍵讀取, 定時,軟件SPI).FAT文件系統(tǒng)部分大約為3.5KB,只有讀取功能. 是我以前為公司設(shè)計一個產(chǎn)品(用MMC)時寫的,現(xiàn)在把寫功能部 分省略了(我不便公開這部份源代碼).現(xiàn)將"main.c"文件附上. 由于是弄著玩,比較粗糙,有些功能還沒做進去(如FAT12支持), 而且還有一些廢碼,見笑了! #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/ina90.h> #include <stdio.h> #include <string.h> #include "define.h" #include "vs1001.h" #include "lcd.h" #include "timer.h" #include "key.h" #include "lib.h" #include "spi.h" #include "mmcspi.h" #include "mmcfile.h" #include "uart.h" #include "patch.h" #include "ctrl.h" static u08 buf[9]; void InitVS1001K (void); void DisplayFileInfo (FileDesc_t *fp, u16 index); u16 MP3MusicCnt (void); CHAR PlayMusic (FileDesc_t *fp); #define UPDATE 0x01 #define PLAY 0x02 #define NOW 0x04 #define SPI_BUF_SIZE 128 //static u08 spi_buf[TMP_BUF_SIZE]; u08 *spi_buf_ptr; u08 spi_buf_len; /////////////////////////////////////////////////////////////////////////// int main (void) { FileDesc_t *fp = fp; u16 i, music_cnt, t = t; CHAR flags = 0; // sbi (WDTCR, WDCE); // cbi (WDTCR, WDE); WDTCR = 0; // disable Watchdog. sbi (GICR, 1); // IVSEL = 1; cbi (SFIOR, PUD); // enable internal pull-up RESISTOR TMR0_Init (); // init. of Timer0 sei (); // set I bit in Status Reg. // to enable SYSTEM interrupt MCUCR |= 0x03; // INT0: raiding edge interrupt KEY_Init (); // init. of Keypad SPI_Init (); // init. of SPI interface LCD_Init (); LCD_SlideStrROM (0, PSTR("Hello, ")); LCD_SlideStrROM (1, PSTR("MP3-Lite")); sbi (PORTB, 0); // RESET pin = High sbi (DDRB, 0); for (;;) // *** endless loop here *** { _main_loop: TMR0_DelayMs (200); if ( MMC_Init () != MMC_OK ) { LCD_DisplayStrROM (0, 0, PSTR("Mem card")); LCD_DisplayStrROM (1, 0, PSTR("missing!")); continue; } if ( FILE_InitEntry () != FILE_OK ) { LCD_DisplayStrROM (0, 0, PSTR("Format ")); LCD_DisplayStrROM (1, 0, PSTR("error! ")); continue; } LCD_DisplayStrROM (0, 0, PSTR("Search ")); LCD_DisplayStrROM (1, 0, PSTR(".. music")); itoa_fill (buf, music_cnt = MP3MusicCnt (), 4, '0'); LCD_Clear (); LCD_DisplayStr (0, 0, buf); LCD_DisplayStrROM (1, 0, PSTR("music. ")); // wait for any key pressed ... KEY_Wait (); i = 1; flags = 0; // clear all flags while ( music_cnt != 0 ) { if ( !(flags & UPDATE) ) // need to update DISPLAY on LCD? { flags |= UPDATE; LCD_Clear (); fp = FILE_FindFile (i); if ( fp == NULL ) { LCD_DisplayStrROM (1, 0, PSTR("File err!")); KEY_Wait (); goto _main_loop; } DisplayFileInfo (fp, i); t = Timer0; } SWITCH ( KEY_GetKey () ) {   |
|
| 24樓: | >>參與討論 |
| 作者: shnd 于 2004/8/15 22:01:00 發(fā)布:
請問哪里能買到VS1001K芯片?謝謝! |
|
| 25樓: | >>參與討論 |
| 作者: sain_gl 于 2004/8/16 9:07:00 發(fā)布:
VS1001K是歐洲一家公司的ASIC,國內(nèi)沒有代理 |
|
| 26樓: | >>參與討論 |
| 作者: phz0008 于 2004/8/16 9:27:00 發(fā)布:
樓主,能提供著東西的PCB嗎?? 我向做一塊玩, 郵箱phz0008@163.com |
|
| 27樓: | >>參與討論 |
| 作者: qwernet 于 2004/8/16 11:08:00 發(fā)布:
樓主 能不能提供avr讀CF卡的代碼?我自己想做,但只有CF卡,沒有SD卡。 j820619@msn.com |
|
| 28樓: | >>參與討論 |
| 作者: jsan 于 2004/8/16 21:36:00 發(fā)布:
臺灣網(wǎng)站也有人用VS1001K 但在大陸市場怎么找也找不到,20美元,天價呀! |
|
| 29樓: | >>參與討論 |
| 作者: layman 于 2004/8/19 2:20:00 發(fā)布:
高 OOOOO!行啊! |
|
| 30樓: | >>參與討論 |
| 作者: hjr_814 于 2004/8/23 10:20:00 發(fā)布:
DIY感謝你!!!! 好東西!!! |
|
| 31樓: | >>參與討論 |
| 作者: lufeijian 于 2004/8/26 18:16:00 發(fā)布:
一個字“勁”! 不錯!太好了! |
|
| 32樓: | >>參與討論 |
| 作者: y6053 于 2004/8/26 20:33:00 發(fā)布:
能給我具體點的方案嗎?謝謝了哈 我是新的電子愛好者,正著手作一個基于AVR單片機的MP3。感覺你的設(shè)計很棒。謝謝了哈,能交個朋友嗎? |
|
| 33樓: | >>參與討論 |
| 作者: su_mj000 于 2004/8/27 4:26:00 發(fā)布:
回復(fù) 收到數(shù)位愛好者的即時信息及EMAIL,曾試圖回復(fù),不知 各位收到否。并再次對各位的捧場致謝。 (1)再次強調(diào),此款MP3播放器的難點主要在MMC/SD驅(qū)動及 FAT文件部分(包括子目錄搜索等)。再具體點說,是MMC/ SD的最底層通訊部分。SANDISK公司有詳細的說明可下載。 對于欲使用CF和SMART-MEDIA存儲卡的朋友,其軟件應(yīng) 該容易得多(但ATMEGA8的I/O引腳太少,恐怕就沒法支持, 得使用ATMEGA16)。 (2)本款MP3播放器的制作旨在提高興趣,其實用性恐怕不 高(但可以放在汽車內(nèi)使用)。但當(dāng)你用如此簡單的電路做 出一款MP3播放器(音質(zhì)也甚佳)時,你可能會有一種成就感! (3)本設(shè)計之所以采用ATMEGA8L而非它種MCU(如PIC),主要 是AVR的結(jié)構(gòu)能支持程序的遞歸。用它實現(xiàn)FAT子目錄的搜索 非常爽。其次是它的運行速度令人側(cè)目(這點也很要緊。使用 片內(nèi)RC振蕩,8MIPS)。另外WINAVR的免費C編譯也是我鐘愛 之一。還有就是AVR的下載操作及制作極其簡單且可靠(我自己 做了一個下載器)。網(wǎng)上DIY的MP3播放器有多種款式,大都采 用AT90S8515,也有采用PIC16C877的。其大部分還使用了片 外SRAM,結(jié)構(gòu)過於復(fù)雜。采用28腳MCU的方案還沒見過。 (4)本MP3播放器軟件的中心思想是力求MMC/SD至VS1001K的數(shù)據(jù) 通道的通暢、高效。這一點對支持高位流(>256Kbps)的MP3文件 播放尤其要緊。 (5)普遍反映VS1001K芯片難得、且價格高昂?峙逻@是阻礙各位 實踐的關(guān)鍵問題。(VS1001K是芬蘭的一家公司的產(chǎn)品)也許STA013 (+CS4334)可以成為各位的第二選擇。兩者的音質(zhì)都很好。但后者 的外圍器件明顯增多。 (6)21IC壇是個交流的好場所。愿意平心靜氣、相互尊重的發(fā)言者 都是我的朋友。 |
|
| 34樓: | >>參與討論 |
| 作者: fsclub 于 2004/8/27 9:44:00 發(fā)布:
好! 什么地方有SD/MMC的規(guī)范?找了半天都是要米的. 你說的SANDISK上有下載,可是找不到啊!大哥,能不能發(fā)一份: fsclub@yeah.net |
|
| 35樓: | >>參與討論 |
| 作者: tiger_h 于 2004/8/27 20:14:00 發(fā)布:
GOOD very GOOD |
|
| 36樓: | >>參與討論 |
| 作者: hao8850 于 2004/8/28 12:43:00 發(fā)布:
高手阿,強烈關(guān)注 |
|
| 37樓: | >>參與討論 |
| 作者: zhao74 于 2004/8/29 15:49:00 發(fā)布:
確實,關(guān)鍵是VS1001.html">VS1001,這個芯片的MP3我關(guān)注很長時間了 這個芯片太難找了,其實主要是他實現(xiàn)解碼和播放, MEGA8的作用是 讀取SM卡 把內(nèi)容送到 VS1001 然后VS1001解碼播放 網(wǎng)上還有更多的成熟設(shè)計 如 USB,背光,CDROM,硬盤都提供源碼和版圖。 問題就是 VS1001.html">VS1001不好弄 |
|
| 38樓: | >>參與討論 |
| 作者: bigbenben 于 2004/9/6 14:46:00 發(fā)布:
可否發(fā)個pcb圖? 呵呵,已經(jīng)給您發(fā)了消息。冒昧的重復(fù)一下,能把pcb圖發(fā)一下嗎。想做板研究一下。 isoccer@tom.com |
|
| 39樓: | >>參與討論 |
| 作者: fsclub 于 2004/9/13 9:54:00 發(fā)布:
PF樓主! 偶費盡心機得到10片VS1001K,SOIC-28那種,目前還沒有拿到,9月10那天國外的朋友已經(jīng)用航空郵件寄出,估計本周就能收到了! 目前手里有一片MEGA128,還有一片F(xiàn)877,這兩種方案都有現(xiàn)成的程序和PCB.但沒見過樓主這么簡單的,現(xiàn)在正在啃MMC的規(guī)范,感覺很難,FAT更難了,FAT32就更是可望不可及. 樓主,交個朋友吧,能不能把你的全套資料發(fā)一份給我好嗎? fsclub@yeah.net 謝謝! 另外,手里還有一套MAS3507和DAC3550.這個太復(fù)雜了. |
|
| 40樓: | >>參與討論 |
| 作者: weihua 于 2004/9/14 17:28:00 發(fā)布:
MAS3507和DAC3550 應(yīng)該比較好,音質(zhì)較好! |
|
| 41樓: | >>參與討論 |
| 作者: missionhou 于 2004/9/14 22:10:00 發(fā)布:
強。∧荛_放源代碼嗎?供學(xué)習(xí)學(xué)習(xí)。 強。∧荛_放源代碼嗎?供學(xué)習(xí)學(xué)習(xí)。 |
|
| 42樓: | >>參與討論 |
| 作者: su_mj000 于 2004/9/15 7:42:00 發(fā)布:
再說幾句 收到數(shù)封關(guān)于本款MP3播放器郵件及詢問,在此一并作答。 (1)我設(shè)計、制做的這款MP3播放器原本旨在自娛自樂,沒打算 出售套件什么的(配置套件得相當(dāng)?shù)耐顿Y,得冒風(fēng)險);受某些兄臺 的啟示,不排除將來有此作為。 (2)PCB板的設(shè)計須得符合器件的尺寸、形狀。若購不到同樣的另件, 我的PCB就是垃圾了(關(guān)鍵的零件有MMC/SD卡座,LCD和耳機插座等)。 (3)我以為本壇的意義在于交流心得以及相互排難解疑。換句話說,是 為了提高技藝和啟示;而不在于復(fù)制、拷貝他人的具體設(shè)計。又由于部 份程序與我目前所效力的公司有關(guān)。綜上述理由,我只好對索求全套設(shè) 計資料的兄弟們說聲抱歉了。(我以為,本設(shè)計最有價值的是那張圖紙。 高手們以為如何?) (4)MAS3507和DAC3550我沒用過,無法評價其性能。但我一瞧見它們 的引腳如此之多就無興趣了(好像還得加DAC)。SV1001K的音質(zhì)比我原 先想象的要好,令我滿意。此外,它的緩沖RAM比STA013的大,這對支 持高位流(>256Kpbs)的MP3文件播放極有利。 (5)若用ATMEGA128做本款設(shè)計,就顯得太奢侈了!如果僅支持CF或 SM的話,我想ATMEGA16就夠了。ATMEGA128足夠支持IDE的硬盤或 光驅(qū)了(ATMEGA32或許就夠了)。PIC16F877大概只能支持128Kpbs 的MP3文件,因為它的速度比不上AVR。 (6)剛見到有人提出是否能用AVR進行MP3文件的解碼。我很欣賞這一大 膽的設(shè)想。但根據(jù)我的體會,AVR好像無法勝任此重負。 (7)有幾位兄弟提出交友,使在下受寵若驚,倍感榮幸!本人雖出道 已久。但平日里疏于習(xí)‘武’,缺乏上進心,功力進步甚慢!充其量 只具中等水準(zhǔn)吧。自忖難以給人有什么真正的幫助。還是網(wǎng)上以‘壇’ 會友吧。 (8)受幾位啟發(fā)和鼓勵,下一步就是補充電源部分,將全部設(shè)計裝進 一小盒中 --- 真正的隨身聽。全部細節(jié)已基本在腦中成形,唯獨對 LCD是否能在3.3V下工作缺乏把握(誰有此經(jīng)驗?)。當(dāng)然了,什么 時候才能將想法變成事實又是另回事了。 * - 本貼最后修改時間:2004-9-15 7:56:49 修改者:su_mj000 |
|
| 43樓: | >>參與討論 |
| 作者: xcy8011 于 2004/9/19 19:21:00 發(fā)布:
公開吧。。! |
|
| 44樓: | >>參與討論 |
| 作者: 123654789 于 2004/9/23 14:04:00 發(fā)布:
給點資料學(xué)習(xí)吧! su_mj000兄弟。∧懿荒芙o點資料學(xué)習(xí)? |
|
| 45樓: | >>參與討論 |
| 作者: eyeviewtr 于 2004/10/10 16:58:00 發(fā)布:
有辦法搞到 有個IC代理商可以搞到,但是有最小訂量要求,不如組織一下大家合買,反正每人也不會要很多 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號 |