《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于DSP的觸摸式MP3播放器的設(shè)計(jì)
基于DSP的觸摸式MP3播放器的設(shè)計(jì)
摘要: 文章標(biāo)題:基于DSP的觸摸式MP3播放器的設(shè)計(jì),。中國IT實(shí)驗(yàn)室嵌入式開發(fā)頻道提供最全面的嵌入式開發(fā)培訓(xùn)及行業(yè)的信息、技術(shù)以及相關(guān)資料的下載.
Abstract:
Key words :

  介紹了利用數(shù)字信號(hào)處理芯片TMS320LF2407A實(shí)現(xiàn)觸摸式MP3播放器設(shè)計(jì)的方案,。采用芯片VS1003B進(jìn)行MP3的解碼,,減輕了系統(tǒng)的負(fù)擔(dān)。采用ILI9320為驅(qū)動(dòng)器的真彩彩屏,,并采用TM7843為控制器的4線電阻式觸摸屏作為人機(jī)交互平臺(tái),,實(shí)現(xiàn)了MP3等文件的播放、歌詞的同步顯示以及彩圖顯示等功能,,相關(guān)文件存儲(chǔ)在SD卡中,。

  TMS320LF2407A是美國TI公司推出的高性能16 bit定點(diǎn)數(shù)字信號(hào)處理器,它采用了高性能靜態(tài)CMOS技術(shù),,使得供電電壓降為3.3 V,,減小了控制器的功耗,;40 MIPS的執(zhí)行速度使指令周期縮短到25 ns(40 MHz),從而提高了控制器的實(shí)時(shí)控制能力,。它專門為數(shù)字控制設(shè)計(jì),,集DSP的高速信號(hào)處理能力及適用于控制的優(yōu)化外圍電路于一體,在數(shù)字控制系統(tǒng)中得以廣泛應(yīng)用,;MP3是指MPEG國際標(biāo)準(zhǔn)音頻第三層編/解碼[1],,本文采用硬件解碼方式(軟件解碼代價(jià)高,速度慢),,利用TMS320LF2407A實(shí)現(xiàn) MP3播放器的設(shè)計(jì),。

  1 系統(tǒng)硬件組成

  1.1 微控制器TMS320LF2407A

  系統(tǒng)硬件結(jié)構(gòu)如圖1 所示,TMS320LF2407A作為主控芯片,,內(nèi)部資源十分豐富,,具有40個(gè)可編程/復(fù)用的GPIO腳,具有事件管理器EV模塊,、CAN總線模塊,、 SCI模塊以SPI模塊等。其中,,同步串行SPI模塊具有4個(gè)通信引腳:主出從入SPIMOSI,、主入從出SPIMISO、同步時(shí)鐘SPICLK,、總線片選SPISTE,。本系統(tǒng)中,SD卡,、VS1003B以及TM7843都是SPI總線接口設(shè)備,,DSP采用SPI總線擴(kuò)展了SD卡與VS1003B音頻解碼芯片,而并未將觸摸屏控制器TM7843也擴(kuò)展到SPI總線上,,采用了IO口模擬SPI的方案,,原因是在對(duì)SD卡操作的同時(shí)(數(shù)據(jù)還未讀入RAM),是不可能向VS1003B傳送數(shù)據(jù)的,,SPI處在間歇的切換狀態(tài)中,,不會(huì)導(dǎo)致爭(zhēng)用、沖突,,但是對(duì)屏幕的觸碰是難免的,,所以共用總線不可靠。

系統(tǒng)硬件結(jié)構(gòu)

  1.2 VS1003B解碼芯片

  VS1003B 是由荷蘭VLSI公司出品的一款單芯片的MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,,其擁有一個(gè)高性能低功耗的DSP處理器核 VS_DSP,,5 KB的指令RAM,0.5 KB的數(shù)據(jù)RAM,,串行的控制和數(shù)據(jù)輸入接口,,4個(gè)通用IO口,一個(gè)UART口,;同時(shí)片內(nèi)帶有一個(gè)可變采樣率的ADC,、一個(gè)立體聲DAC以及音頻耳機(jī)放大器。

VS1003B解碼芯片

  如圖2所示,,VS1003B各部分的供電電壓不同,,AVDD(模擬電路電壓)與IOVDD(IO電壓)須用3.3 V供電,CVDD(數(shù)字電路電壓)必須用2.5 V供電,;VS1003與DSP連接的引腳主要有7個(gè),,分別為DREQ、SO,、SI,、SCLK、XRESET,、XCS,、XDCS。只有保證它們與DSP正確可靠的連接,,才能對(duì)VS1003進(jìn)行有效的操作與控制,;操作時(shí),只有當(dāng)DREQ為高(準(zhǔn)備好)時(shí)才能讀寫VS1003B,,它具有2個(gè)讀寫端口,,即命令端口和數(shù)據(jù)端口,分別由XCS(命令片選)與XDCS(數(shù)據(jù)片選)決定,,由DSP的IO口控制,。SO、SI,、SCLK是SPI接口,,與DSP的SPI總線對(duì)接。圖2的左側(cè)與右側(cè)原理圖分別為MIC音頻模擬信號(hào)輸入電路與音頻輸出電路,,由于內(nèi)部具有耳機(jī)驅(qū)動(dòng)器,,VS1003B輸出信號(hào)不需經(jīng)過任何功放電路,簡(jiǎn)化了硬件電路,。

  1.3 SD卡電路

  SD卡有9個(gè)引腳,,支持2種可選的通信協(xié)議:SD模式和SPI模式。如前所述,,本設(shè)計(jì)采用SPI模式,。圖3中,DI,、DO,、SCLK分別對(duì)應(yīng)微控器SPI模塊的3個(gè)引腳,;CS腳是SD卡SPI模式的片選引腳,與DSP的IO口連接,,DSP 的SPISTE腳并未使用(因?yàn)樾枰獢U(kuò)展多個(gè)SPI芯片,,需要多個(gè)片選腳),對(duì)SD卡操作時(shí),,CS腳才拉低有效,,避免了與VS1003B沖突。SENS與 WP分別為SD卡的插入檢測(cè)與寫保護(hù)腳,。

SD卡電路

  1.4 彩屏與觸摸屏驅(qū)動(dòng)電路

  ILI9320 是手機(jī)上常用的彩屏控制器,,采用16 bit并行總線方式,端口被映射到DSP的IO空間,,彩屏具有4個(gè)背光LED燈(控制端為LED1~LED4),,采用三極管9012連接共陽極LEDA,使背光受控于DSP的PE3腳,,若一段時(shí)間內(nèi)未觸摸屏幕,,控制PE3腳為高,使背光熄滅,,降低系統(tǒng)功耗,。彩屏與4線電阻式觸摸屏緊貼一起,2塊屏是一個(gè)整體,,輸出軟排線中的XR,、YD、XL,、YU(參見圖4中的U3)即為4線電阻采樣端,,與TM7843(芯片U4)對(duì)應(yīng)腳連接,TM7843的DCLK,、 DIN,、DOUT、/CS腳與TMS320LF2407A的IO腳連接,,模擬SPI總線,。PENIRQ是筆落下信號(hào),程序中判斷此腳為低電平時(shí)(或采用中斷方式),,則有觸摸屏幕事件發(fā)生,,再進(jìn)一步做區(qū)域識(shí)別處理。

   2 軟件設(shè)計(jì)

 

  軟件主要分為3個(gè)任務(wù):顯示任務(wù),、觸摸識(shí)別任務(wù),、MP3播放任務(wù),由?滋C/OS操作系統(tǒng)負(fù)責(zé)調(diào)度。MP3播放任務(wù)完成了最主要的功能,,即從SD卡FAT32文件系統(tǒng)中讀取數(shù)據(jù)再送入VS1003B 解碼,。然而μC/OS系統(tǒng)只是完成了基本的任務(wù)調(diào)度及相關(guān)機(jī)制,并無其他內(nèi)嵌實(shí)用模塊,,所以基于SD卡的FAT32文件系統(tǒng)的實(shí)現(xiàn)必須設(shè)計(jì)完成,。

  FAT32 文件系統(tǒng)如圖5所示,,物理扇區(qū)0可以引導(dǎo)程序定位到正確的文件系統(tǒng)邏輯扇區(qū)0的位置,。引導(dǎo)區(qū)DBR的第一扇區(qū)包括一個(gè)引導(dǎo)程序和BPB參數(shù)塊[3]。啟動(dòng)區(qū)BPB是文件系統(tǒng)最重要的部分,,它記錄了每扇區(qū)字節(jié)數(shù),、根目錄簇號(hào)、FAT表號(hào)等重要信息,,依據(jù)它可以找到每個(gè)文件的簇號(hào),,依據(jù)文件的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),可以依次找到文件的所有存儲(chǔ)簇號(hào),。

FAT32 文件系統(tǒng)

  軟件中設(shè)計(jì)了對(duì)應(yīng)的結(jié)構(gòu)體,,描述了BPB塊結(jié)構(gòu)、目錄結(jié)構(gòu),、文件記錄體結(jié)構(gòu)等,。其中,BPB結(jié)構(gòu)如下:

struct FAT32_BPB
{
unsigned char BS_jmpBoot[3],;        //跳轉(zhuǎn)指令     offset:0
unsigned char BS_OEMName[8],;    //系統(tǒng)字符串  offset:3
unsigned char BPB_BytesPerSec[2];    //每扇區(qū)字節(jié)數(shù)offset:11
unsigned char BPB_SecPerClus[1],;    //每簇扇區(qū)數(shù)    offset:13……
unsigned char BS_FilSysType[11],;    //            offset:71
unsigned char BS_FilSysType1[8];    //串″FAT32″  offset:82
},;

  再利用SD卡硬件層API接口函數(shù)FAT32_ReadSector將BPB所在扇區(qū)讀入RAM緩沖區(qū),,利用指針指向內(nèi)部成員即可獲得以上信息,從而可以定位到文件位置并讀取數(shù)據(jù),。MP3通常只是讀取文件,,并不會(huì)進(jìn)行刪除、保存等操作,,所以為了提高效率,、精簡(jiǎn)代碼,本FAT32系統(tǒng)只實(shí)現(xiàn)了文件定位及讀取功能,。圖6為主流程圖與播放任務(wù)流程圖,。

主流程圖與播放任務(wù)流程圖

  TMS320LF2407A 具有較高的性能,資源豐富,將其應(yīng)用到MP3播放器中,,提高了整體性能,;采用觸摸屏可以隨意點(diǎn)選歌曲以及拖動(dòng)播放進(jìn)度等,使系統(tǒng)可控性提高,;彩屏使系統(tǒng)展現(xiàn)能力提高,,系統(tǒng)不僅可以播放音頻,而且能夠顯示全彩BMP圖片,、文檔文件等,,類似于小型PDA。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。