一種基于nRF2401的無(wú)線語(yǔ)音通信的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0引言
短距離無(wú)線語(yǔ)音通信的應(yīng)用之一是無(wú)線對(duì)講機(jī),這種通信方式一般是同頻單工,給通話帶來(lái)了一定程度的不便,于是許多替代的技術(shù)便應(yīng)運(yùn)而生。
本文介紹的這種系統(tǒng),利用AVR單片機(jī)實(shí)現(xiàn)語(yǔ)音信號(hào)的編解碼,利用大容量Flash存儲(chǔ)芯片實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的存儲(chǔ),利用nRF2401無(wú)線收發(fā)芯片實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的無(wú)線傳輸和具體接收方的選擇,具有實(shí)時(shí)半雙工通信、可加密、錄音回放的特點(diǎn),并且能夠方便地應(yīng)用到短距離無(wú)線通信產(chǎn)品中。
1硬件設(shè)計(jì)
1.1系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1所示。
1.2單片機(jī)及周邊電路
MCU采用ATmega16。ATmega16是ATMEL公司生產(chǎn)的基于增強(qiáng)的AVR RISC(精簡(jiǎn)指令集計(jì)算機(jī))結(jié)構(gòu)的低功耗8位CMOS微處理器。它具有16 kB系統(tǒng)內(nèi)可編程Flash存儲(chǔ)器,512 B的EEPROM,1 kB的SRAM,內(nèi)置8路10位具有可選差分輸入級(jí)可編程增益的A/D轉(zhuǎn)換器,一個(gè)SPI串行端口,以及6個(gè)可以用于軟件進(jìn)行選擇的省電模式。
MCU負(fù)責(zé)輸入語(yǔ)音信號(hào)的A/D采樣、CVSD(連續(xù)可變斜率增量調(diào)制)編碼和解碼、無(wú)線收發(fā)芯片的控制、D/A轉(zhuǎn)換等。MCU及外圍電路見圖2。
1.2.1語(yǔ)音放大電路
本系統(tǒng)采用兩級(jí)高輸入阻抗的反向放大器將從傳聲器獲得的微弱語(yǔ)音信號(hào)放大,兩級(jí)的增益分別為Av1=-R30/R29≈-4.17,Av2=-Ra6/R3z≈-2.56,總的最大增益為Avmax=Av1Av2≈10.7,電路如圖3所示。
1.2.2 Flash存儲(chǔ)芯片
Flash存儲(chǔ)芯片采用AT45DB161D,它是一種工作電壓可低至2.7V并具有串行接口的快閃存儲(chǔ)器,其主存儲(chǔ)區(qū)容量為16 Mbit,分為4 096頁(yè),每頁(yè)512 B或528 B。還帶有2個(gè)512 B/528 B的SRAM數(shù)據(jù)緩存,這樣主設(shè)備就可通過(guò)SPI接口向AT45DB161D高速寫入數(shù)據(jù)流。該芯片非常適用于存儲(chǔ)圖像、數(shù)據(jù)和數(shù)字聲音。它與MCU的接口電路見圖4。
1.2.3 D/A轉(zhuǎn)換電路
D/A轉(zhuǎn)換芯片采用TLC5615,它是帶緩沖基準(zhǔn)輸入(高阻抗)的10位電壓輸出D/A轉(zhuǎn)換器,具有基準(zhǔn)電壓2倍的輸出電壓范圍,3線串行接口,對(duì)于滿度輸入階越跳變,該D/A轉(zhuǎn)換器建立時(shí)間為12.5μs,即更新速率為80 kHz。它與MCU的接口電路見圖5。
1.2.4音頻濾波電路
采用2階高、低通濾波器構(gòu)成300 Hz~3.4 kHz帶通濾波器,其中高通濾波器采用2階壓控電壓源高通濾波,其傳遞函數(shù)為:
低通濾波器采用2階壓控電壓源低通濾波,其傳遞函數(shù)為:
式中:ωn=1/(RC),為特征角頻率;Q=1/(3-AVF),為等效品質(zhì)因數(shù)。
電路如圖6所示。
1.2.5輸出放大電路
經(jīng)帶通濾波器輸出的聲音回放信號(hào)幅度為0~5V,可用耳機(jī)直接收聽。但考慮到實(shí)際中會(huì)使用揚(yáng)聲器外放,故在本系統(tǒng)中增加外放功能。該電路增益為50~200,連續(xù)可調(diào),最大不失真輸出功率325 mW。輸出端接C5、R4串接電路,以校正揚(yáng)聲器的頻率特性,防止高頻自激。腳7接220μF去藕電容,以消除低頻自激。為便于該功放在高增益情況下工作,將LM386不使用的輸入腳2對(duì)地短路。電路見圖7。
1.3 nRF2401芯片
nRF2401是單片射頻收發(fā)芯片,工作于2.4 GHz~2.5 GHz的ISM(工業(yè)、科學(xué)和醫(yī)療)頻段,芯片的輸出功率和通信頻道可以通過(guò)程序進(jìn)行配置。芯片功耗非常低,以-5 dBm功率發(fā)射時(shí),工作電流只有10.5 mA,接收時(shí)工作電流只有18 mA,很適合本系統(tǒng)中的無(wú)線語(yǔ)音傳輸系統(tǒng)。
1.3.1工作模式
nRF2401有4種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式,由PWR_UP,CE,CS這3個(gè)引腳決定,如表1所示。
nRF2401的收發(fā)模式有突發(fā)(ShockBurstTM)模式和直接收發(fā)模式兩種,由器件配置字決定。nRF2401一般工作于突發(fā)模式,這種做法有三大好處:減小系統(tǒng)的平均工作電流;低的系統(tǒng)費(fèi)用(低速微處理器也能進(jìn)行高速射頻發(fā)射);數(shù)據(jù)在空中停留時(shí)間短,抗干擾性高。所以以下著重介紹突發(fā)模式。
在突發(fā)模式下,使用片內(nèi)的先人先出堆棧區(qū),數(shù)據(jù)低速?gòu)奈⒖刂破魉腿耄咚?1 Mbit/s)發(fā)射,與射頻協(xié)議相關(guān)的所有高速信號(hào)處理都在片內(nèi)進(jìn)行。把nRF2401配置為突發(fā)模式需15字節(jié)配置字,配置完成后,在nRF2401工作過(guò)程中只需改變其最低一個(gè)字節(jié)中的內(nèi)容,就可實(shí)現(xiàn)接收模式和發(fā)送模式間的切換。
1.3.2 nRF2401接口電路
本系統(tǒng)中nRF2401由ATmega16單片機(jī)控制,其接口電路示意圖如圖8所示。
2軟件設(shè)計(jì)
軟件的主要功能如下:首先判斷收發(fā)狀態(tài),在發(fā)送模式下,單片機(jī)內(nèi)部將接收數(shù)據(jù)進(jìn)行CVSD編碼后發(fā)送至無(wú)線收發(fā)芯片;在接收模式下,單片機(jī)接收傳人的數(shù)據(jù),并進(jìn)行CVSD解碼,然后將數(shù)據(jù)送給D/A轉(zhuǎn)換器,直至所有數(shù)據(jù)發(fā)送完畢。軟件流程見如圖9。
3結(jié)束語(yǔ)
本系統(tǒng)經(jīng)調(diào)試,音質(zhì)良好,有效通信距離可達(dá)到100 m,采樣率為8 kHz時(shí)語(yǔ)音存儲(chǔ)時(shí)間可達(dá)到約4min,可以方便地應(yīng)用于無(wú)線教學(xué)系統(tǒng)等場(chǎng)合。