基于ATmega8的低成本無線智能跳頻數(shù)碼擴音系統(tǒng)設(shè)計
無線擴音系統(tǒng)的廣泛應(yīng)用,解決了實際工程中的布線和移動使用的難題。無線傳輸方式也從傳統(tǒng)的U段、V段無線擴音發(fā)展到今天的紅外線、藍牙和2.4 GHz頻段的無線數(shù)字傳輸方式。傳統(tǒng)的模擬信號無線擴音設(shè)備發(fā)射器的使用會受到同頻、鄰頻或外界電波干擾,擴音的回輸較大,而且高頻電波輻射大,擴音回輸會對人的耳膜造成一定的傷害。音頻在數(shù)字信號傳輸過程中受干擾的可能性小、抗干擾能力強。數(shù)字無線擴音系統(tǒng)可廣泛應(yīng)用于教學(xué)、會場、現(xiàn)代辦公、家居生活等領(lǐng)域。
工作于2.4 GHz的ISM。頻段有4億個可用地址碼,可通過跳頻詢址技術(shù)保證在同一場所同時使用而不串頻。發(fā)射信號的頻帶寬度大于所傳信息必需的最小帶寬,而頻帶的展寬是通過擴展功能實現(xiàn),與所傳信息數(shù)據(jù)無關(guān),并只有發(fā)射器和接收器知道,在接收端則用相同的擴頻碼進行相關(guān)解調(diào)來解擴及恢復(fù)所傳信息數(shù)據(jù)。數(shù)據(jù)被所有的跳頻點所攜帶,如果噪音沒有影響到所有的跳頻點,信息就可以被修復(fù),一定條件下可以有多個系統(tǒng)在同一頻率范圍內(nèi)共存。文中介紹使用ATmega8 MCU和nRF24L01射頻收發(fā)器件進行開發(fā)的無線智能跳頻數(shù)碼擴音器設(shè)計方案。利用智能跳頻詢址技術(shù),使發(fā)射機可更迅速地自動被接收機識別,任意發(fā)射機可以匹配任意接收機,匹配后自動鎖定直至發(fā)射機關(guān)閉或者離開無線電覆蓋范圍。在無障礙物的直線傳輸條件下輸出功率為5 W、發(fā)射和接收有效距離≤60 m。
1 系統(tǒng)分析與設(shè)計
系統(tǒng)由MCU、發(fā)射和接收系統(tǒng)構(gòu)成。音頻信號由發(fā)射端的前端信號處理電路放大后送往MCU內(nèi)部A/D進行采樣,MCU將采樣所得數(shù)據(jù)打包通過RF模塊發(fā)送出去。接收端MCU從RF模塊讀取數(shù)據(jù)包,并將其送至MCU內(nèi)部的TIMER1進行PWM調(diào)制,然后輸出至外部低通濾波器,最后還原得到相應(yīng)的音頻信號。系統(tǒng)原理如圖1所示。
1.1 主控MCU模塊
MCU選用AVR系列的ATmega8,其是基于增強AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega8的數(shù)據(jù)吞吐率達1 MIPS/MHz,16 MHz時性能達16 MIPS,因此可緩減系統(tǒng)在功耗和處理速度之間的矛盾。工作電壓2.7~5.5 V,內(nèi)部集成8路10位ADC、SPI串行接口、16位帶PWM調(diào)制輸出的定時器、512 Byte的EEPROM。其內(nèi)部資源能滿足發(fā)射端和接收端MCU的要求
1.2 RF模塊
nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4~2.5 cHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進行配置??蛇M行地址及CRC檢驗功能。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時,工作電流9 mA;接收時,工作電流12.3 mA,多種低功率工作模式使節(jié)能設(shè)計更方便。收發(fā)雙方傳輸信號的載波按照預(yù)定規(guī)律進行離散變化,以避開干擾、完成傳輸??傊?,跳頻技術(shù)FHSS不是抑制干擾而是容忍干擾。由于載波頻率是跳變,具有抗高頻及部分帶寬干擾的能力,當(dāng)跳變的頻率數(shù)目足夠多和跳頻帶寬足夠?qū)挄r,其抗干擾能力較強。利用載波頻率的快速跳變,具有頻率分集的作用,從而使系統(tǒng)具有抗多徑衰落的能力。利用跳頻圖案的正交性可構(gòu)成跳頻碼分多址系統(tǒng),共享頻譜資源,并具有承受過載的能力。
1.3 音頻放大
如圖2所示,該電路U5A、R8、C17、R7、R14、R9、R16、R13負責(zé)麥克風(fēng)輸入信號的放大,放大倍數(shù)為10倍。其中R8給麥克風(fēng)提供直流偏置,經(jīng)過C17耦合至運放U5A。R7、R14、R9用于給運放提供一個虛擬地。如果有3.5 mm的音頻信號接頭插入J5時,后續(xù)電路會斷開和前級放大的連接,從而實現(xiàn)MIC聲音和外部音頻輸入的切換。U5B、R11、R15、R17、R19、C21負責(zé)輸入MIC和外部音頻信號的放大,放大倍數(shù)為5倍,原理與前級放大相似。運放選用LMV358,LMV358是一款Rail to Rail雙運放,工作電壓在2.7~5 V,增益帶寬乘積為1 MHz,工作電流140μA,適合電池供電。
1.4電源穩(wěn)壓
LDO選用PAM3101,為正向線性穩(wěn)壓器系列,其特色是低靜態(tài)電流和低壓降,是電池供電應(yīng)用的理想選擇。小體積SOT--23和SOT-89封裝對于便攜式和發(fā)射設(shè)備具有吸引力。熱關(guān)閉和電流限制可防止器件在極端的工作環(huán)境下失效。
2 系統(tǒng)接口設(shè)計
2.1 發(fā)射端系統(tǒng)接口
如圖3所示,ATmega8通過SPI與NRF24L01連接。在對NRF24L01初始化之前,必須對IO口進行初始化,方向寄存器DDR設(shè)置如圖上的箭頭所示。ATmega8工作頻率為16 MHz,故通過設(shè)置SPCR、SPSR寄存器讓SPI工作于時鐘加倍模式,可使SPI時鐘頻率達8 MHz。內(nèi)部A/D工作時鐘通過64分頻后為250 kHz;單次轉(zhuǎn)換周期為52μs;在連續(xù)轉(zhuǎn)換模式下,采樣頻率約為20 kHz、8 bit精度。每次完成轉(zhuǎn)換后將觸發(fā)ADC中斷。電源部分作為電路的重要組成部分,其性能好壞直接影響輸出音質(zhì)。由于發(fā)射端RF模塊工作于發(fā)射狀態(tài)時瞬間電流較大,如果模擬器件和RF模塊使用同一LDO,則輸出音頻會受到嚴(yán)重干擾,故模擬器件和數(shù)字器件各自使用獨立LDO,力求將影響減到最小。
2.2 接收端系統(tǒng)接口
如圖4所示,ATmega8與NRF24L01連接方式與發(fā)射端相同,IO方向設(shè)置也與其相同。為了防止NRF24L01返回ACK時造成的電源波動,模擬器件和數(shù)字器件都各自使用獨立LDO。由于ATmega8的IO口較少,內(nèi)部數(shù)個硬件接口使用同一個IO,導(dǎo)致接口沖突。SPI的MOSI和Timer2的OC2共用PB3,SS與Timer1的OC1B共用PB2,最后只有16 bit的Timer1OC1A可使用。通過修改TCCR1A寄存器讓Timer1工作在8bitPWM模式,工作頻率為62.5 kHz。修改OCR1則可以改變OC1B上輸出的PWM占空比。Timer2在比較匹配模式下工作,每隔52μs中斷一次,并修改緩沖區(qū)的數(shù)據(jù)送至Timer1,讓其改變PWM占空比,經(jīng)過低通濾波器濾去PWM高頻成分后,最終得到音頻信號。
3 主控軟件流程
3.1 發(fā)射端軟件流程
MCU上電復(fù)位后,首先會對SPI接口進行初始化,再進行IO設(shè)置。接著再對外設(shè)NRF24L01和Timer0初始化。完成對NRF24L01的初始化后,緊接著就是對接收機的搜索。流程圖內(nèi)附有簡略算法。與接收機建立握手后就開始對A/D初始化,并開始對音頻信號進行采樣,將數(shù)據(jù)保存至A、B兩個緩沖區(qū),一旦A緩沖區(qū)溢出后新采樣的數(shù)據(jù)就傳輸至B緩沖區(qū),并將A緩沖區(qū)的數(shù)據(jù)打包發(fā)送。緊接著進入接收模式并等待接收端返回ACK。與此同時采集的數(shù)據(jù)將保存到B緩沖區(qū)內(nèi)。當(dāng)收到ACK后將進入下一個循環(huán)周期。如果10 min內(nèi)不斷發(fā)送數(shù)據(jù)且沒有收到ACK則認為和接收端的連接已經(jīng)中斷,這時將進入待機狀態(tài)。定時器每10 ms觸發(fā)中斷,對當(dāng)前連接狀態(tài)通過紅綠LED進行顯示。正常狀態(tài)時綠色LED長亮,一旦出現(xiàn)丟包現(xiàn)象則只有紅LED長亮,用于告知發(fā)射端和接受端的距離過遠或信號受到障礙物阻擋、干擾。
3.2 接收端軟件流程
接收端的軟件實現(xiàn)流程為發(fā)射端的逆過程。首先對ATmage8的IO、SPI、定時器、NRF24L01進行初始化,其設(shè)置與發(fā)射端一致。接著設(shè)置NRF24L01為接受狀態(tài),MCU將搜索發(fā)射端握手信號和空閑頻道,如果搜索不到握手信號時將在空閑頻道上等待發(fā)射主動搜索到該頻道。完成信號握手后接收端將會一直等待發(fā)射端發(fā)送數(shù)據(jù)包,并把數(shù)據(jù)包內(nèi)的數(shù)據(jù)移至緩沖區(qū),10 min后收不到數(shù)據(jù)包則進入待機狀態(tài)。Timer2工作
于比較匹配模式,一旦TNCT2等于OCR2時,MCU會對TNCT2硬件清零,從而產(chǎn)生一個周期為52μs的比較匹配中斷,并利用這個中斷去從緩沖區(qū)讀取音頻數(shù)據(jù)至Timer1用于輸出PWM占空比。與此同時,timer也將產(chǎn)生一個10 ms的中斷用于LED顯示連接狀態(tài),實現(xiàn)原理與發(fā)射端的一致。
4 性能測試
無線智能跳頻數(shù)碼擴音器實現(xiàn)射頻頻率在2.4~2.5 CHz的數(shù)碼傳輸。在無遮擋直線傳輸?shù)臈l件下,有效距離達60 m。收、發(fā)機可自動應(yīng)答和重發(fā)。頻響為100 Hz~10 kHz。信噪比>45 dB。在125個可選工作頻道中自動跳頻,頻道切換時間極短。發(fā)射器工作狀態(tài)電流最大為12 mA,靜待狀態(tài)電流最大為0.06 mA,輸出功率5 W,數(shù)據(jù)速率為2 Mbit·s-1。
5 結(jié)束語
無線智能跳頻數(shù)碼擴音器設(shè)計方案,是利用ATmega8 MCU和nRF24L01射頻收發(fā)器件,以及智能跳頻詢址技術(shù)進行開發(fā)的,在可選工作頻道中自動跳頻,頻道切換時間極短。在無障礙物的直線傳輸條件下實現(xiàn)輸出功率為5 W、發(fā)射和接收有效距離在60 m以內(nèi)。ATmega8 MCU的應(yīng)用雖然降低了該擴音器的成本,但ATmega8 MCU的性能限制,使擴音效果存在音頻爆音現(xiàn)象。處理的方法有不少,其中可采用窄帶高頻及中頻選頻濾波,外加噪聲數(shù)碼抑制電路,有效避免脈沖雜音,多種增強主音源,最大限度抑制了背景噪音,提高了傳音質(zhì)量。