基于nRF24E1無(wú)線耳麥的設(shè)計(jì)與實(shí)現(xiàn)
摘要: 介紹了一種基于nRF24E1的應(yīng)用于家用電視及個(gè)人電腦的無(wú)線耳麥,詳細(xì)闡述了無(wú)線耳麥的硬件設(shè)計(jì)方法,說(shuō)明了語(yǔ)音發(fā)送和接收的工作原理,并給出了軟件設(shè)計(jì)的主要工作流程。
本文引用地址:http://m.butianyuan.cn/article/164986.htm0 前言
當(dāng)前,隨著Interne t和個(gè)人電腦的普及,人們通常使用有線的耳麥進(jìn)行語(yǔ)音聊天。由于有線耳麥的局限性,使人們必須坐在電腦前才能語(yǔ)音聊天。
如果時(shí)間久了,會(huì)造成電腦對(duì)人體的輻射,從而影響人的健康; 在家用電視方面,人們通常使用電視內(nèi)置喇叭來(lái)聽(tīng)電視傳來(lái)的聲音,這樣有時(shí)候會(huì)給家庭其他成員的工作與休息造成一定的影響。
基于這些問(wèn)題,本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于nRF24E1的無(wú)線耳麥。本設(shè)計(jì)具有抗干擾能力強(qiáng)、保密性好、音質(zhì)好、成本較低等優(yōu)點(diǎn)。其室內(nèi)傳輸距離在30米左右,從而減少電腦對(duì)人體的輻射,并且不影響家庭其他成員的休息與工作。
該無(wú)線耳麥?zhǔn)褂卯?dāng)前最先進(jìn)的無(wú)線收發(fā)芯片nRF24E1, 它可以在世界公用的ISM 頻段2. 4G ~2. 5GHZ內(nèi)實(shí)現(xiàn)語(yǔ)音的無(wú)線通信。
1 nRF24E1介紹
nRF24E1芯片是北歐集成電路公司NORD IC推出的一款帶2. 4GHz無(wú)線收發(fā)器nRF2401和增強(qiáng)型8051內(nèi)核的無(wú)線收發(fā)模塊。該芯片的通道運(yùn)算時(shí)間小于200us, 數(shù)據(jù)速率為1Mbps, 不需要外接SAW濾波器,是目前世界首推的全球通用的低成本射頻系統(tǒng)級(jí)芯片。內(nèi)部嵌有與8051 兼容的微處理器和10位9輸入的模/數(shù)轉(zhuǎn)換器,可以在1. 9V~ 3. 6V 之間的電壓下穩(wěn)定工作; 另外還嵌有電壓調(diào)整器和VDD 電壓監(jiān)視器。無(wú)線收發(fā)部分有與nRF2401同樣的功能,該功能由內(nèi)部并行口和內(nèi)部SPI啟動(dòng),每一個(gè)待發(fā)信號(hào)對(duì)于處理器來(lái)講都可以作為中斷進(jìn)行編程,或者通過(guò)GPIO 端口傳送給微處理器。nRF24E1芯片可以在世界公用的ISM (工業(yè)、科學(xué)和醫(yī)學(xué))頻段2. 4 ~ 2. 5GHz內(nèi)實(shí)現(xiàn)無(wú)線通訊。其收發(fā)部分包含有分頻器、放大器、調(diào)節(jié)器和兩個(gè)收發(fā)單元,輸出能量、頻段和其它射頻參數(shù)可通過(guò)射頻寄存器方便地編程調(diào)節(jié)。在發(fā)送模式下,電流消耗只有10. 5mA; 在接收模式下,電流消耗也只有18mA, 所以功耗相當(dāng)?shù)汀?/p>
2 無(wú)線耳麥的硬件結(jié)構(gòu)設(shè)計(jì)
無(wú)線耳麥主要由插頭部分和耳麥部分組成。插頭部分主要由兩個(gè)插頭和nRF24E 1組成。這兩個(gè)插頭,分別是麥克風(fēng)插頭和耳機(jī)插頭,它們分別插在電腦的麥克風(fēng)插孔和耳機(jī)插孔或家用電視的耳機(jī)插孔; 耳麥部分主要由麥克風(fēng)、耳機(jī)和nRF24E1組成。其硬件結(jié)構(gòu)框圖如圖1所示。無(wú)線耳麥通過(guò)無(wú)線語(yǔ)音收發(fā)芯片nRF24E1實(shí)現(xiàn)語(yǔ)音的雙向通信。
無(wú)線耳麥可以把人說(shuō)話的聲音經(jīng)麥克風(fēng)送進(jìn)電腦;也可以把電腦或者電視的聲音送到無(wú)線耳麥的耳機(jī)里。無(wú)論是把語(yǔ)音送到電腦或者電視里,還是把語(yǔ)音送到耳機(jī)里,單向語(yǔ)音傳送的工作原理是一致的。
圖1 無(wú)線耳麥的硬件結(jié)構(gòu)框圖
nRF24E1芯片內(nèi)嵌有9通道的10位ADC( Analog to D ig ital Converter, 模數(shù)轉(zhuǎn)換器) , 它的采樣頻每個(gè)RF(R adio Frequency, 射頻)數(shù)據(jù)包含有24個(gè)字節(jié)或3m s的音頻采樣信號(hào)。
無(wú)線耳麥把人聲送進(jìn)電腦或者電視的發(fā)送和接收過(guò)程如圖2所示:
在發(fā)送端,ADC 對(duì)麥克風(fēng)送過(guò)來(lái)的模擬音頻信號(hào)進(jìn)行A /D轉(zhuǎn)換; 采集到的數(shù)字音頻信號(hào),在不夠一個(gè)RF數(shù)據(jù)包之前,存儲(chǔ)在微控制器8051內(nèi)開(kāi)辟的發(fā)送緩沖區(qū)( TxBu f) 中; 采樣數(shù)據(jù)滿包后,8051一邊存儲(chǔ)下一個(gè)數(shù)據(jù)包,一邊把已滿的數(shù)據(jù)包轉(zhuǎn)移到RF前端nRF2401, 經(jīng)nRF2401把數(shù)據(jù)包發(fā)射出去。
發(fā)送端的電路圖3 如圖所示。在麥克風(fēng)和nRF2401的ADC模塊之間,需要有前置濾波放大電路。它對(duì)麥克風(fēng)拾到的模擬音頻信號(hào)進(jìn)行濾波放大。放大后的模擬音頻信號(hào)被送到ADC中。
圖2 單向的語(yǔ)音發(fā)送及接收過(guò)程
圖3 語(yǔ)音的發(fā)送電路圖
在接收端,當(dāng)RF前端nRF2401收到1個(gè)有效的數(shù)據(jù)包,并且微控制器收到1個(gè)RF接收中斷的時(shí)候,接收到的數(shù)據(jù)包中的有效數(shù)據(jù)部分可用RF前端的FIFO 分離出來(lái); 然后,把分離出的有效數(shù)據(jù)部分存儲(chǔ)到8051內(nèi)的接收緩沖區(qū)( RxBuf); 存在接收緩沖區(qū)的語(yǔ)音信號(hào)以PWM 信號(hào)的形式輸出;PWM輸出通過(guò)8位PWM 引擎來(lái)驅(qū)動(dòng),不需要微控制器分擔(dān)處理任務(wù); 最后語(yǔ)音信號(hào)經(jīng)PWM 信號(hào)送出去。
接收端的電路圖如4圖所示。nRF24E1芯片提供一個(gè)PWM輸出口。nRF24E1的PWM 輸出信號(hào),通過(guò)一級(jí)放大,就可以得到所需的音頻模擬信號(hào)。
圖4 語(yǔ)音的接收電路圖
3 系統(tǒng)軟件設(shè)計(jì)
無(wú)線耳麥的功能是實(shí)現(xiàn)語(yǔ)音的雙向通信。它的兩個(gè)部分: 插頭部分和耳麥部分的工作流程基本是一致的。其工作流程如下:
1. 系統(tǒng)上電,打開(kāi)系統(tǒng);2. 進(jìn)行初始化。對(duì)8051的定時(shí)器time2、PWM輸出端口、ADC 轉(zhuǎn)換器、RADIO、SPI接口和無(wú)線收發(fā)模塊nRF2401進(jìn)行初始化;3. 判斷是否要發(fā)送語(yǔ)音信號(hào),如果有則發(fā)送,然后進(jìn)入步驟4;4. 如果沒(méi)有語(yǔ)音發(fā)送,則判斷是否要接收語(yǔ)音信號(hào)。如果有,則接收,然后進(jìn)行步驟3;5. 如果沒(méi)有語(yǔ)音接收,則重新進(jìn)行步驟3。
其相應(yīng)的流程圖如5圖所示:
圖5 插頭部分和耳麥部分的工作流程圖
評(píng)論