
(2)主控模塊與A/D模塊之間采用SPI串行同步通信。SPI的主要初始控制字配置如下:首先開啟SPI使能和關閉SPI中斷使能,工作模式選擇主機模式,數(shù)據(jù)次序設為MSB首先發(fā)送,主機SCK速率設為fosc/2(fosc為系統(tǒng)主時鐘)。在進行數(shù)據(jù)傳輸時,BCLK信號作為串行時鐘來決定串行傳輸速率。在ADCLRC信號的同步下,音頻數(shù)據(jù)由ADCDAT傳入主控模塊進行壓縮編碼處理。
(3)主控模塊與RF模塊之間采用USART串行異步通信。USART主要初始控制字配置如下:開啟發(fā)送使能,同時關閉接收使能,工作模式選擇異步奇校驗操作模式,波特率設置為1Mbps,數(shù)據(jù)為8位,停止位為2位。在向RF模塊發(fā)送數(shù)據(jù)時,為保證和接收子系統(tǒng)同步,以ADCLRC信號作為同步信號。
(4) 接收子系統(tǒng)與發(fā)送子系統(tǒng)硬件的連接。除了兩個數(shù)據(jù)傳送端口外,其他連接基本一致。將ATmega48的PB4、PD1與ADCDAT、DATA斷開,且將PB3(MOSI)與WM8731的DACDAT相連,同時將PB3設置為輸出端口。另外,將PD0(RXD)與nRF2401的DATA相連,同時將PD0設置為輸入端口。此外,在USART初始設置上要開啟接收使能而關閉發(fā)送使能即可。
3 主控模塊的軟件流程
由于nRF2401的數(shù)據(jù)傳輸率為1Mbps,而從WM8739對模擬信號抽樣量化后的數(shù)據(jù)長度為16bit,左右聲道的采樣率均為44.1kHz,若不對數(shù)據(jù)進行編碼壓縮,則需要1.41Mbps(16bit×44.1kHz×2)的數(shù)據(jù)傳輸帶寬,顯然超出了RF模塊的數(shù)據(jù)傳輸能力。為了充分利用線路資源,而又不希望明顯降低音頻信號的質量,就要對數(shù)據(jù)作進一步壓縮,本文采用自適應差分脈沖編碼調(diào)制ADPCM (Adaptive Difference Pulse Code Modulation)的壓縮算法。
ADPCM是利用樣本與樣本之間的高度相關性和量化階自適應來壓縮數(shù)據(jù)的一種波形編碼技術,它綜合了APCM的自適應特性和DPCM系統(tǒng)的差分特性,是一種性能較好的波形編碼。ADPCM的核心思想是:利用自適應改變量化階的大小,即使用小的量化階去編碼小的差值,使用大的量化階去編碼大的差值;使用過去的樣本值估算下一個輸入樣本的預測值,使實際樣本值和預測值之間的差值總是最小。ADPCM記錄的量化值不是每個采樣點的幅值,而是該點的幅值與前一個采樣點幅值之差。這樣16bit的數(shù)據(jù)經(jīng)ADPCM編碼之后只需4bit表示其差值,數(shù)據(jù)壓縮比為4:1。接收端的譯碼器使用與發(fā)送端相同的算法,利用傳送來的信號確定量化器和逆量化器中的量化階大小,并且用它來計算下一個接收信號的預測值。ADPCM算法實現(xiàn)框圖如圖3所示。

為了保證數(shù)據(jù)傳輸?shù)挠行,以及避免其他同頻率信號的干擾,定義了如表1所示的傳輸數(shù)據(jù)的幀結構。

數(shù)據(jù)幀的總長度為64B,其中幀頭為1B,用于射頻芯片進行幀同步的前導碼,3B,用于USART進行幀同步的同步碼,3B作為地址碼。另外為了保證接收端解碼后的數(shù)據(jù)的連續(xù)性,整個程序流程將引入“雙緩存區(qū)結構”即存儲區(qū)和發(fā)送區(qū),在發(fā)送一幀數(shù)據(jù)(位于發(fā)送區(qū))的同時,要完成對當前幀數(shù)據(jù)的壓縮編碼及存儲(存于存儲區(qū)),在存儲區(qū)放滿之后要將該存儲區(qū)則變?yōu)榘l(fā)送區(qū),而原來的發(fā)送區(qū)變?yōu)樾碌拇鎯^(qū)。在一幀的結尾還要產(chǎn)生一個CRC循環(huán)校驗碼,便于在接收端判斷傳送數(shù)據(jù)是否正確有效。接收端收到數(shù)據(jù)時,要先通過地址碼判斷數(shù)據(jù)是否有效,其余過程為發(fā)送端的逆過程。發(fā)送子系統(tǒng)程序流程如圖4所示。

為避免在2.4GHz公共頻段上容易出現(xiàn)的對音質的干擾,本系統(tǒng)提供了頻點選擇功能,有125個頻點可選。如果系統(tǒng)在工作過程中,發(fā)現(xiàn)有較強的噪音出現(xiàn),即在當前頻點存在干擾影響輸出音質時,可選擇新的工作頻點,以保持產(chǎn)品良好的使用效果。
4 實驗結果與結論
本系統(tǒng)的設計充分利用了ATmega48豐富的片上外設,方便地實現(xiàn)了對語音芯片WM8739/8731和單片無線收發(fā)芯片nRF2401的連接。本系統(tǒng)應用于點對點的無線數(shù)據(jù)傳輸中,系統(tǒng)工作于ISM頻段,有125個可選頻點,44.1Kbps數(shù)字音頻采樣率,16bit樣本量化級,20Hz~20kHz頻率響應,音頻輸出達到CD音質效果,有效傳輸距離達到100m,有障礙物情況下能達到40m。
本系統(tǒng)為無線傳輸系統(tǒng)提供了一種比較實用且經(jīng)濟的解決方案,可以廣泛地應用于無線耳機、話筒,小范圍內(nèi)的廣播、家庭影院的后置音箱、多功能會議廳、多房間無線音響系統(tǒng),無線教室教學系統(tǒng)等場合。
參考文獻
[1] 胡應宏,曾慶喜,楊英杰. 基于TMS32OC55O9 DSP的無線語音傳輸采集傳輸系統(tǒng)[J]. 東北電力大學學報,2006,26(2):65-68.
[2] WOLFSON Corp. Portable internet audio CODEC with headphone driver and programmable sample rates WM8731/WM8731L Rev. 4.0. http://www.wolfsonmicro.com.2005.
[3] Nordic Corp. Single chip 2.4GHz radio transceiver nRF2401A Rev. 1.0,http://www.nordicsemi.no.2004.
[4] Atmel Corp. 8-bit AVR microcontroller with 8K Bytes in-system programmable flash ATmega48/V Rev. 2545G-AVR-06/06,http://www.atmel.com.2006.





