基于USB主機(jī)和ZigBee的無(wú)線音響系統(tǒng)
3.2 主控制器與ZigBee 無(wú)線網(wǎng)絡(luò)部分
本系統(tǒng)采用MSP430F1611 構(gòu)成控制模塊,采用CC2430 為核心的無(wú)線收發(fā)模塊,核心芯片之間采用SPI 方式通訊,MSP430F1611 采用主模式,CC2430采用從模式。
MSP430 系列單片機(jī)是美國(guó)TI 公司推出的超低功耗16 位混合信號(hào)處理器,具有精簡(jiǎn)指令集結(jié)構(gòu)(RISC)以及豐富的尋址方式;擁有高性能模擬技術(shù)及豐富的片上外圍模塊;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器可參加多種運(yùn)算;在8MHz 晶振工作時(shí),指令速度可達(dá)8MIPS.這些特點(diǎn)即保證了可編制出高效率的源程序,又為系統(tǒng)的單片解決方案提供了極大的方便[3].
CC2430 的選擇性和敏感性指數(shù)超過(guò)了IEEE802.15.4 標(biāo)準(zhǔn)的要求,可確保短距離通信的有效性和可靠性。利用此芯片開(kāi)發(fā)的無(wú)線通信設(shè)備支持?jǐn)?shù)據(jù)傳輸率高達(dá)250Kbps,可以實(shí)現(xiàn)多點(diǎn)對(duì)多點(diǎn)的快速組網(wǎng)。更重要的是,CC2430 只需極少外部元器件,性能穩(wěn)定且功耗極低。
MSP430 在低功耗節(jié)能方面表現(xiàn)突出,ZigBee 的特色之一也是低功耗,選用這兩種芯片,可以保證二者在功耗方面的一致性,有利于系統(tǒng)應(yīng)用,同時(shí)也能保證工作的穩(wěn)定性。
在電路設(shè)計(jì)中,利用MSP430 的P3 口接收CH375 讀取的U 盤(pán)數(shù)據(jù),并通過(guò)DMA 方式將數(shù)據(jù)傳送給USART1,后者將數(shù)字音頻信號(hào)以SPI 方式傳送給ZigBee 主節(jié)點(diǎn)。
3.3 音頻解碼部分
在接收端,ZigBee分節(jié)點(diǎn)接收到數(shù)字信號(hào)后,以SPI方式將數(shù)據(jù)串行傳輸給解碼芯片VS1003,此時(shí)CC2420為主模式,VS1003為從模式。
VS1003是由荷蘭VLSI公司出品的一款單芯片的MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個(gè)高性能低功耗的DSP處理器核VS_DSP,5K的指令RAM,0.5K的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口, 4個(gè)通用IO口,一個(gè)UART口;同時(shí)片內(nèi)帶有一個(gè)可變采樣率的ADC、一個(gè)立體聲DAC以及音頻耳機(jī)放大器。
VS1003通過(guò)一個(gè)串行接口來(lái)接收輸入的比特流,比特流被解碼后通過(guò)一個(gè)數(shù)字控制器到達(dá)一個(gè)18位過(guò)采樣多位ε-ΔDAC.通過(guò)串行總線控制解碼器。
除了基本的解碼,在用戶RAM中它還可以做其他特殊應(yīng)用,例如DSP音效處理。
VS1003與單片機(jī)連接的引腳主要有7個(gè),分別為SO、SI、SCLK、/XCS、/XRESET、DREQ、/XDCS.
只有保證它們與單片機(jī)正確可靠的連接,才能對(duì)VS1003 進(jìn)行有效的操作與控制[4] .CC2430 與VS1003的連接關(guān)系如圖3所示。
圖3 CC2430 與音頻解碼芯片連接電路圖。
4 協(xié)議的實(shí)現(xiàn)
4.1 USB 協(xié)議
USB 設(shè)備就是能夠通過(guò)USB 來(lái)發(fā)送和接收數(shù)據(jù),從而實(shí)現(xiàn)一定功能的實(shí)體。每個(gè)USB 設(shè)備都具有表明自身能力和所需資源的描述符。在設(shè)備第一次連接到主機(jī)上之后,首先要接受主機(jī)枚舉,提供描述符。在得到主機(jī)的允許之后,設(shè)備就可以分得的USB 帶寬,進(jìn)行數(shù)據(jù)傳輸了。
系統(tǒng)通過(guò)簡(jiǎn)單的數(shù)據(jù)線上的電平變化檢測(cè)到USB設(shè)備的接入與移出,接著主機(jī)和外設(shè)就按照事先約定的順序執(zhí)行一系列的信息交換,也就是主機(jī)復(fù)位設(shè)備->主機(jī)給設(shè)備供電->設(shè)備通過(guò)缺省的地址0 與主機(jī)通信->主機(jī)給設(shè)備分配地址->主機(jī)請(qǐng)求設(shè)備的一系列功能和設(shè)備描述符…,因此,在程序中,通過(guò)順序的編程和中斷的調(diào)度,就可以完成主機(jī)系統(tǒng)的標(biāo)準(zhǔn)的USB 活動(dòng)。以上是主機(jī)軟件的第一部分,主要實(shí)現(xiàn)對(duì)外設(shè)的配置,讀取外設(shè)的信息,從而判斷該設(shè)備屬于USB 的哪一類(lèi),并確定下一步選用哪個(gè)特定的程序加以支持。
單片機(jī)系統(tǒng)中,限于系統(tǒng)的性能和要求,只需要支持某幾個(gè)特定的類(lèi)就可以了。本系統(tǒng)是一個(gè)在USBFlash 存儲(chǔ)器中的應(yīng)用,這個(gè)USB 主機(jī)需要支持的就是USB 的Mass Storage 類(lèi),那么程序就要實(shí)現(xiàn)USB的Mass Storage 類(lèi)所規(guī)定的各種命令。主機(jī)的程序流程如圖4 所示。
圖4 USB 主機(jī)的軟件流程。
整個(gè)主機(jī)協(xié)議的實(shí)現(xiàn)主要可以分為以下三點(diǎn):
?、賳纹瑱C(jī)與接口芯片通信的實(shí)現(xiàn)。②主機(jī)最底層數(shù)據(jù)包發(fā)送的實(shí)現(xiàn)。③請(qǐng)求命令的實(shí)現(xiàn)。1,2,3,層層遞進(jìn),一級(jí)比一級(jí)高級(jí)。
評(píng)論