一種單片機(jī)智能多接口的全硬件音頻系統(tǒng)解決方案
在傳統(tǒng)的硬件體系結(jié)構(gòu)中,接口被看作是相應(yīng)外部設(shè)備的一部分,每個接口一般都只能連接到同一種設(shè)備上。雖然通過所謂“菊花鏈”(daisyohain)方式可以把若干同種設(shè)備連接到同一接口上,卻不能將不同種類的設(shè)備混合連接到同一接口上,由于目前USB接口的設(shè)備越來越豐富,種類越來越多,為了滿足這樣的需求,這里給出一種USB 2.O接口的解決方案,通過USB接口讀取各種USB設(shè)備;通過SD卡接口,讀取各種主流存儲卡。該方案支持常用的USB存儲設(shè)備(包括U盤/USB硬盤/USB閃存盤/USB讀卡器)和SD卡(包括標(biāo)準(zhǔn)容量SD卡和高容量HC-SD卡以及協(xié)議兼容的MMC卡和TF卡)。
本文提出了一種智能多接口的全硬件音頻系統(tǒng)的解決方案,使音頻系統(tǒng)的擴(kuò)展性進(jìn)一步增強(qiáng),原則上來說可以連接目前大多數(shù)主流存儲設(shè)備,實(shí)現(xiàn)了一臺設(shè)備多種用途的擴(kuò)展。能夠進(jìn)一步把現(xiàn)有資源的利用率提高,具有一定的經(jīng)濟(jì)和社會效益,并且采用全硬件解碼和單片機(jī)降頻工作等功耗控制方式,使整個系統(tǒng)的功耗降低至傳統(tǒng)類似設(shè)備的50%左右,符合我國節(jié)能環(huán)保的主題。
l 硬件系統(tǒng)設(shè)計
1.1 芯片概述
ATmegal28是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmegal28的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。AVR內(nèi)核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與算術(shù)邏輯運(yùn)算單元(ALU)相連接,使得1條指令可以在1個時鐘周期內(nèi)同時訪問2個獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。
CH376S是文件管理控制芯片,用于單片機(jī)系統(tǒng)讀寫U盤或者SD卡中的文件。CH376S支持USB設(shè)備方式和USB主機(jī)方式,并且內(nèi)置了USB通信協(xié)議的基本固件。處理Mass-Storage海量存儲設(shè)備的專用通信協(xié)議的固件;SD卡的通訊接口固件和FATl6,F(xiàn)AT32以及FATl2文件系統(tǒng)的管理固件支持常用的USB存儲設(shè)備和SD卡。
VSl053B是1個單芯片Ogg Vorbis/MP3/AAC/WMA/MIDI音頻解碼器和IMA ADPCM/user-loadableOgg Vorbis音頻編碼器,支持CD級的音頻回放和錄制,芯片內(nèi)部包含1個高性能、低功耗的DSP處理器內(nèi)核VS_DSP,內(nèi)含16 KB的指令RAM和0.5 KB的數(shù)據(jù)RAM。VSl053B內(nèi)部有1個串行控制和數(shù)據(jù)輸入/輸出接口、8個GPIO接口、高性能可變采樣率的DAC和ADC、立體聲音頻輸入接口和立體聲音頻輸出接口。PL2303用于實(shí)現(xiàn)USB與標(biāo)準(zhǔn)RS 232串行端口之間的轉(zhuǎn)換,2個獨(dú)立的大型緩沖用于2種總線的連接,大型數(shù)據(jù)緩沖器用于USB的批量數(shù)據(jù)傳輸,自動握手模式可用于串行通信,因而可以達(dá)到遠(yuǎn)大于標(biāo)準(zhǔn)UART控制器的波特率。PL2303支持USB電源管理和遠(yuǎn)程喚醒協(xié)議。該設(shè)計中,PL2303芯片主要應(yīng)用在將主控單元的下載線與供電模塊合二為一,大大簡化了系統(tǒng)的設(shè)計復(fù)雜度,NOKlA 5llO液晶顯示器為傳統(tǒng)的點(diǎn)陣式液晶顯示器,不內(nèi)置英文及漢字字庫,因此在NOKIA 5llO液晶顯示的過程中,需要單片機(jī)把從存儲器中讀取到的ASCII碼值轉(zhuǎn)換成對應(yīng)的英文及漢字點(diǎn)陣信息,然后通過串口把點(diǎn)陣信息傳輸?shù)揭壕э@示器中進(jìn)行顯示。
1.2 硬件設(shè)計框圖
該硬件系統(tǒng)主要由主控模塊、智能擴(kuò)展接口、音頻編解碼模塊、液晶顯示模塊、鍵盤LED指示模塊、JTAG/ISP/RS 232下載接口構(gòu)成,邏輯連接圖如圖1所示。
1.3 接口設(shè)計方案
1.3.1 VSl053B及鍵盤和液晶顯示接口設(shè)計
KEYl~KEY7為系統(tǒng)的鍵盤控制單元對應(yīng)功能如表1所示。LEDl~LED7對應(yīng)按鍵指示燈,如按鍵KEYl被按下,則LEDl燈亮。外圍接口如圖2所示。
1.3.2 USB主控設(shè)備接口設(shè)計
USB主控設(shè)備的接口設(shè)計如圖3所示。
系統(tǒng)軟件設(shè)計主要包括主程序、中斷控制子程序、鍵盤掃描子程序、LCD控制子程序、外圍模塊控制程序。主程序運(yùn)行流程如圖4所示,軟件系統(tǒng)流程圖如圖5所示。
2 軟件系統(tǒng)設(shè)計
整個設(shè)計運(yùn)行如圖6、圖7所示。
3 結(jié)語
通過該設(shè)計,進(jìn)一步增強(qiáng)了單片機(jī)在智能多接口設(shè)計中的控制功能,以及在多中斷情況下的處理方式。在單片機(jī)應(yīng)用系統(tǒng)中,通常需要人機(jī)對話的功能,并且能夠隨時輸入數(shù)據(jù),以及發(fā)出各種相應(yīng)的控制命令,最后通過輸出接口將運(yùn)行結(jié)果輸出到LCD顯示器中。由于該設(shè)計的LCD顯示器屬于傳統(tǒng)液晶顯示器,不內(nèi)置任何字庫,因此必須通過單片機(jī)讀取SD卡Fat文件系統(tǒng)中的漢字點(diǎn)陣信息,將ASCII轉(zhuǎn)換成對應(yīng)的點(diǎn)陣信息,然后進(jìn)行顯示,這也進(jìn)一步增加了系統(tǒng)控制的難度。
由于該系統(tǒng)能夠?qū)ΜF(xiàn)有資源進(jìn)行二次利用,采用智能接口的方案能夠靈活地對各種存儲設(shè)備進(jìn)行讀取和寫入,進(jìn)一步提高了資源的利用率,因此該系統(tǒng)具有一定的社會價值和發(fā)展前景。
評論