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