<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ATmega8的無線擴(kuò)音系統(tǒng)設(shè)計(jì)

          基于ATmega8的無線擴(kuò)音系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2015-01-26 來源:網(wǎng)絡(luò) 收藏

            1.4 電源穩(wěn)壓

          本文引用地址:http://www.ex-cimer.com/article/268651.htm

            LDO選用PAM3101,為正向線性穩(wěn)壓器系列,其特色是低靜態(tài)電流和低壓降,是電池供電應(yīng)用的理想選擇。小體積SOT--23和SOT-89封裝對于便攜式和發(fā)射設(shè)備具有吸引力。熱關(guān)閉和電流限制可防止器件在極端的工作環(huán)境下失效。

            2 系統(tǒng)接口設(shè)計(jì)

            2.1 發(fā)射端系統(tǒng)接口

            如圖3所示,通過SPI與NRF24L01連接。在對NRF24L01初始化之前,必須對IO口進(jìn)行初始化,方向寄存器DDR設(shè)置如圖上的箭頭所示。工作頻率為16 MHz,故通過設(shè)置SPCR、SPSR寄存器讓SPI工作于時(shí)鐘加倍模式,可使SPI時(shí)鐘頻率達(dá)8 MHz。內(nèi)部A/D工作時(shí)鐘通過64分頻后為250 kHz;單次轉(zhuǎn)換周期為52μs;在連續(xù)轉(zhuǎn)換模式下,采樣頻率約為20 kHz、8 bit精度。每次完成轉(zhuǎn)換后將觸發(fā)ADC中斷。電源部分作為電路的重要組成部分,其性能好壞直接影響輸出音質(zhì)。由于發(fā)射端RF模塊工作于發(fā)射狀態(tài)時(shí)瞬間電流較大,如果模擬器件和RF模塊使用同一LDO,則輸出音頻會受到嚴(yán)重干擾,故模擬器件和數(shù)字器件各自使用獨(dú)立LDO,力求將影響減到最小。

            

           

            2.2 接收端系統(tǒng)接口

            如圖4所示,與NRF24L01連接方式與發(fā)射端相同,IO方向設(shè)置也與其相同。為了防止NRF24L01返回ACK時(shí)造成的電源波動(dòng),模擬器件和數(shù)字器件都各自使用獨(dú)立LDO。由于ATmega8的IO口較少,內(nèi)部數(shù)個(gè)硬件接口使用同一個(gè)IO,導(dǎo)致接口沖突。SPI的MOSI和Timer2的OC2共用PB3,SS與Timer1的OC1B共用PB2,最后只有16 bit的Timer1OC1A可使用。通過修改TCCR1A寄存器讓Timer1工作在8bit PWM模式,工作頻率為62.5 kHz。修改OCR1則可以改變OC1B上輸出的PWM占空比。Timer2在比較匹配模式下工作,每隔52μs中斷一次,并修改緩沖區(qū)的數(shù)據(jù)送至Timer1,讓其改變PWM占空比,經(jīng)過低通濾波器濾去PWM高頻成分后,最終得到音頻信號。

            

           

            3 主控軟件流程

            3.1 發(fā)射端軟件流程

            上電復(fù)位后,首先會對SPI接口進(jìn)行初始化,再進(jìn)行IO設(shè)置。接著再對外設(shè)NRF24L01和Timer0初始化。完成對NRF24L01的初始化后,緊接著就是對接收機(jī)的搜索。流程圖內(nèi)附有簡略算法。與接收機(jī)建立握手后就開始對A/D初始化,并開始對音頻信號進(jìn)行采樣,將數(shù)據(jù)保存至A、B兩個(gè)緩沖區(qū),一旦A緩沖區(qū)溢出后新采樣的數(shù)據(jù)就傳輸至B緩沖區(qū),并將A緩沖區(qū)的數(shù)據(jù)打包發(fā)送。緊接著進(jìn)入接收模式并等待接收端返回ACK。與此同時(shí)采集的數(shù)據(jù)將保存到B緩沖區(qū)內(nèi)。當(dāng)收到ACK后將進(jìn)入下一個(gè)循環(huán)周期。如果10 min內(nèi)不斷發(fā)送數(shù)據(jù)且沒有收到ACK則認(rèn)為和接收端的連接已經(jīng)中斷,這時(shí)將進(jìn)入待機(jī)狀態(tài)。定時(shí)器每10 ms觸發(fā)中斷,對當(dāng)前連接狀態(tài)通過紅綠LED進(jìn)行顯示。正常狀態(tài)時(shí)綠色LED長亮,一旦出現(xiàn)丟包現(xiàn)象則只有紅LED長亮,用于告知發(fā)射端和接受端的距離過遠(yuǎn)或信號受到障礙物阻擋、干擾。

            3.2 接收端軟件流程

            接收端的軟件實(shí)現(xiàn)流程為發(fā)射端的逆過程。首先對ATmage8的IO、SPI、定時(shí)器、NRF24L01進(jìn)行初始化,其設(shè)置與發(fā)射端一致。接著設(shè)置NRF24L01為接受狀態(tài),將搜索發(fā)射端握手信號和空閑頻道,如果搜索不到握手信號時(shí)將在空閑頻道上等待發(fā)射主動(dòng)搜索到該頻道。完成信號握手后接收端將會一直等待發(fā)射端發(fā)送數(shù)據(jù)包,并把數(shù)據(jù)包內(nèi)的數(shù)據(jù)移至緩沖區(qū),10 min后收不到數(shù)據(jù)包則進(jìn)入待機(jī)狀態(tài)。Timer2工作

            于比較匹配模式,一旦TNCT2等于OCR2時(shí),會對TNCT2硬件清零,從而產(chǎn)生一個(gè)周期為52μs的比較匹配中斷,并利用這個(gè)中斷去從緩沖區(qū)讀取音頻數(shù)據(jù)至Timer1用于輸出PWM占空比。與此同時(shí),timer也將產(chǎn)生一個(gè)10 ms的中斷用于LED顯示連接狀態(tài),實(shí)現(xiàn)原理與發(fā)射端的一致。

            4 性能測試

            無線智能跳頻數(shù)碼擴(kuò)音器實(shí)現(xiàn)射頻頻率在2.4~2.5 CHz的數(shù)碼傳輸。在無遮擋直線傳輸?shù)臈l件下,有效距離達(dá)60 m。收、發(fā)機(jī)可自動(dòng)應(yīng)答和重發(fā)。頻響為100 Hz~10 kHz。信噪比>45 dB。在125個(gè)可選工作頻道中自動(dòng)跳頻,頻道切換時(shí)間極短。發(fā)射器工作狀態(tài)電流最大為12 mA,靜待狀態(tài)電流最大為0.06 mA,輸出功率5 W,數(shù)據(jù)速率為2 Mbit·s-1。

            5 結(jié)束語

            無線智能跳頻數(shù)碼擴(kuò)音器設(shè)計(jì)方案,是利用ATmega8 MCU和射頻收發(fā)器件,以及智能跳頻詢址技術(shù)進(jìn)行開發(fā)的,在可選工作頻道中自動(dòng)跳頻,頻道切換時(shí)間極短。在無障礙物的直線傳輸條件下實(shí)現(xiàn)輸出功率為5 W、發(fā)射和接收有效距離在60 m以內(nèi)。ATmega8 MCU的應(yīng)用雖然降低了該擴(kuò)音器的成本,但ATmega8 MCU的性能限制,使擴(kuò)音效果存在音頻爆音現(xiàn)象。處理的方法有不少,其中可采用窄帶高頻及中頻選頻濾波,外加噪聲數(shù)碼抑制電路,有效避免脈沖雜音,多種增強(qiáng)主音源,最大限度抑制了背景噪音,提高了傳音質(zhì)量。

          pa相關(guān)文章:pa是什么


          低通濾波器相關(guān)文章:低通濾波器原理


          燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: ATmega8 MCU nRF24L01

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();