《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP的觸摸式MP3的設(shè)計
基于DSP的觸摸式MP3的設(shè)計
來源:電子技術(shù)應(yīng)用2010年第7期
王 賓,楊 岸
安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南232001
摘要: 介紹了利用數(shù)字信號處理芯片TMS320LF2407A實現(xiàn)觸摸式MP3播放器設(shè)計的方案。采用芯片VS1003B進行MP3的解碼,減輕了系統(tǒng)的負(fù)擔(dān)。采用ILI9320為驅(qū)動器的真彩彩屏,并采用TM7843為控制器的4線電阻式觸摸屏作為人機交互平臺,實現(xiàn)了MP3等文件的播放、歌詞的同步顯示以及彩圖顯示等功能,相關(guān)文件存儲在SD卡中。
關(guān)鍵詞: DSP TMS320LF2407A VS1003B MP3 觸摸屏
中圖分類號: TP29
文獻標(biāo)識碼: B
文章編號: 0258-7998(2010)07-0081-03
The design of MP3 player with touchable style based on DSP
WANG Bin,YANG An
Department of Electric Engineering, Anhui University of Science and Technology,Huainan 232001,China
Abstract: This article introduced a method to achieve the MP3 player with touch style based on DSP chip named TMS320LF2407A. It lightened the system that VS1003B was used to decode MP3. As interface, the colorful screen drove by ILI9320 and the touchable screen drove by TM7843 were adopted. The system realized that MP3 files could be played with the lyric displayed synchronously and colorful picture could be displayed and so on. All the files were stored in SD card.
Key words : TMS320LF2407A;VS1003B;MP3;touchable screen;ILI9320

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

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

1.2 VS1003B解碼芯片
    VS1003B是由荷蘭VLSI公司出品的一款單芯片的MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個高性能低功耗的DSP處理器核VS_DSP,5 KB的指令RAM,0.5 KB的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,4個通用IO口,一個UART口;同時片內(nèi)帶有一個可變采樣率的ADC、一個立體聲DAC以及音頻耳機放大器。
    如圖2所示,VS1003B各部分的供電電壓不同,AVDD(模擬電路電壓)與IOVDD(IO電壓)須用3.3 V供電,CVDD(數(shù)字電路電壓)必須用2.5 V供電;VS1003與DSP連接的引腳主要有7個,分別為DREQ、SO、SI、SCLK、XRESET、XCS、XDCS。只有保證它們與DSP正確可靠的連接,才能對VS1003進行有效的操作與控制;操作時,只有當(dāng)DREQ為高(準(zhǔn)備好)時才能讀寫VS1003B,它具有2個讀寫端口,即命令端口和數(shù)據(jù)端口,分別由XCS(命令片選)與XDCS(數(shù)據(jù)片選)決定,由DSP的IO口控制。SO、SI、SCLK是SPI接口,與DSP的SPI總線對接。圖2的左側(cè)與右側(cè)原理圖分別為MIC音頻模擬信號輸入電路與音頻輸出電路,由于內(nèi)部具有耳機驅(qū)動器,VS1003B輸出信號不需經(jīng)過任何功放電路,簡化了硬件電路。

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

1.4 彩屏與觸摸屏驅(qū)動電路
    ILI9320是手機上常用的彩屏控制器,采用16 bit并行總線方式,端口被映射到DSP的IO空間,彩屏具有4個背光LED燈(控制端為LED1~LED4),采用三極管9012連接共陽極LEDA,使背光受控于DSP的PE3腳,若一段時間內(nèi)未觸摸屏幕,控制PE3腳為高,使背光熄滅,降低系統(tǒng)功耗。彩屏與4線電阻式觸摸屏緊貼一起,2塊屏是一個整體,輸出軟排線中的XR、YD、XL、YU(參見圖4中的U3)即為4線電阻采樣端,與TM7843(芯片U4)對應(yīng)腳連接,TM7843的DCLK、DIN、DOUT、/CS腳與TMS320LF2407A的IO腳連接,模擬SPI總線。PENIRQ是筆落下信號,程序中判斷此腳為低電平時(或采用中斷方式),則有觸摸屏幕事件發(fā)生,再進一步做區(qū)域識別處理。
2 軟件設(shè)計
    軟件主要分為3個任務(wù):顯示任務(wù)、觸摸識別任務(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)機制,并無其他內(nèi)嵌實用模塊,所以基于SD卡的FAT32文件系統(tǒng)的實現(xiàn)必須設(shè)計完成。
    FAT32文件系統(tǒng)如圖5所示,物理扇區(qū)0可以引導(dǎo)程序定位到正確的文件系統(tǒng)邏輯扇區(qū)0的位置。引導(dǎo)區(qū)DBR的第一扇區(qū)包括一個引導(dǎo)程序和BPB參數(shù)塊[3]。啟動區(qū)BPB是文件系統(tǒng)最重要的部分,它記錄了每扇區(qū)字節(jié)數(shù)、根目錄簇號、FAT表號等重要信息,依據(jù)它可以找到每個文件的簇號,依據(jù)文件的鏈?zhǔn)酱鎯Y(jié)構(gòu),可以依次找到文件的所有存儲簇號。

    軟件中設(shè)計了對應(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通常只是讀取文件,并不會進行刪除、保存等操作,所以為了提高效率、精簡代碼,本FAT32系統(tǒng)只實現(xiàn)了文件定位及讀取功能。圖6為主流程圖與播放任務(wù)流程圖。

    TMS320LF2407A具有較高的性能,資源豐富,將其應(yīng)用到MP3播放器中,提高了整體性能;采用觸摸屏可以隨意點選歌曲以及拖動播放進度等,使系統(tǒng)可控性提高;彩屏使系統(tǒng)展現(xiàn)能力提高,系統(tǒng)不僅可以播放音頻,而且能夠顯示全彩BMP圖片、文檔文件等,類似于小型PDA。
參考文獻
[1] 劉毅.基于TMS320VC5509實現(xiàn)MP3解碼[J].電子技術(shù)應(yīng)用,2006(11).
[2] 聶虹.SPI模式下MMC卡的讀寫機制[J].單片機與嵌入式系統(tǒng)應(yīng)用,2007(7).
[3] 付秀泉.基于MSP430F1611和SD卡的心電數(shù)據(jù)存儲系統(tǒng)的低功耗設(shè)計[J].電子技術(shù)應(yīng)用,2009(4).
[4] 李宏佳.基于ARM和SD卡的嵌入式文件系統(tǒng)研究與設(shè)計[J].電子設(shè)計應(yīng)用,2007(7).

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