無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)(論文)說明書題目:無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)系別:電子工程系專業(yè):電子信息工程學(xué)生姓名:學(xué)號(hào):指導(dǎo)教師:職稱:√題目類型:理論研究實(shí)驗(yàn)研究工程設(shè)計(jì)工程技術(shù)研究軟件開發(fā)√2008年6摘要隨著嵌入式系統(tǒng)和無線網(wǎng)絡(luò)開展,兩者已能緊密結(jié)合在一起。而且隨著無線應(yīng)用領(lǐng)域擴(kuò)大,工作在ISM〔工業(yè)、科學(xué)和醫(yī)學(xué)〕標(biāo)準(zhǔn)2.4GHz自由免費(fèi)頻段,已成為研究焦點(diǎn)。例如Wi-Fi、BlueTooth、Zigbee等無線傳輸協(xié)議都是應(yīng)用在2.4GHz頻段上,并以其數(shù)據(jù)率高、節(jié)點(diǎn)分布廣等特點(diǎn)廣泛應(yīng)用于科研、家庭、軍事等各個(gè)領(lǐng)域。本設(shè)計(jì)利用了SPCE061A的語音處理功能,把SPCE061A作為主控制器,借助于NordicnRF2401無線收發(fā)芯片,實(shí)現(xiàn)簡(jiǎn)單的雙向無線語音傳輸功能。具體實(shí)現(xiàn)方法是:通過其中一套61板和無線模塊〔A套〕實(shí)現(xiàn)錄音功能并將壓縮后的語音資源通過無線模塊發(fā)射;然后另外一套61板和無線模塊〔B套〕接收A套發(fā)送的語音資源數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行解碼播放。兩塊板子均能實(shí)現(xiàn)語音的發(fā)送和接收。本文以無線語音傳輸系統(tǒng)的設(shè)計(jì)為主線,包括無線收發(fā)芯片的介紹、無線收發(fā)模塊的設(shè)計(jì)以及語音數(shù)據(jù)的處理等,分為6個(gè)局部。其中,第1局部為背景情況和芯片介紹,第2局部主要介紹對(duì)總的設(shè)計(jì)方案的選定,第3局部主要介紹無線語音傳輸系統(tǒng)的總體設(shè)計(jì),第4局部對(duì)無線語音傳輸系統(tǒng)的硬件設(shè)計(jì)進(jìn)行了詳細(xì)的介紹,第5局部描述了無線語音傳輸系統(tǒng)的軟件設(shè)計(jì),第6局部表達(dá)系統(tǒng)軟硬件的調(diào)試,對(duì)在調(diào)試過程中遇到的問題及其解決方法也作了討論。關(guān)鍵詞:無線傳輸;nRF2401;SPCE061AAbstractWithembeddedsystemsandwirelessnetworkdeveloping,thetwohavebeenworkingcloselytogether.Moreover,astheexpansionofwirelessapplications,workedintheISM(industrial,scientificandmedical)standard2.4GHzbandfree,hasbecomeafocusofstudy.SuchasWi-Fi,BlueTooth,Zigbeeandotherwirelesstransmissionprotocolsareusedin2.4GHzband,andbecauseitshighdatarate,nodesandothercharacteristicsofwidelydistributedareusedinscientificresearch,family,militaryandotherfields.ThedesignusetheSPCE061Aofvoiceprocessingfunctions,SPCE061Aasthemaincontroller,thehelpofNordicnRF2401radiotransceiverchip,toachieveasimpletwo-waywirelessvoicetransmissionfunctions.Specificmethodis:theadoptionofasetof61panelsandwirelessmodule(Aset)toachieverecordingofthevoicecompressionandresourcesthroughthewirelessmodulelaunchandthenanothersetof61panelsandwirelessmodule(Bsets)ApackagesenttoreceiveThevoicedataresources,dataanddecodebroadcast.2voiceoftheboardcansendandreceive.Inthispaper,wirelessvoicetransmissionsystemtothedesignofthemainline,includingwirelesstransceiverchips,wirelesstransceivermoduledesignandvoicedataprocessing,dividedintosixparts.Thefirstpartofthebackgroundandchips,Part2introducesthegeneraldesignplanselected,Part3introduceswirelessvoicetransmissionsystemdesign,Part4ofthewirelessvoicetransmissionsystemhardwaredesignCarriedoutadetailed,Section5,describesthewirelessvoicetransmissionsystemsoftwaredesign,describedinsection6ofthesystemhardwareandsoftwaredebugging,intheprocessofdebuggingtheproblemsencounteredandtheirsolutionsarediscussed.Keywords:Wirelesstransmission;nRF2401;SPCE061A目錄TOC\o"1-4"\h\z\u引言 11課題背景和芯片介紹 21.1課題背景 21.2芯片資料 21.2.1SPCE061A簡(jiǎn)介 21.2.2SPCE061A性能簡(jiǎn)介 31.2.3SPCE061A應(yīng)用領(lǐng)域 32.1nRF2401A無線收發(fā)芯片 4芯片特性 42.1.2nRF2401主要性能指標(biāo) 52.1.3nRF2401工作模式控制 52.1.4激活狀態(tài)的模式 52.1.5雙超外差接收模式 72.1.6結(jié)構(gòu)配置模式 82.1.7待機(jī)模式 82.1.8低功耗模式 82.1.9配置字描述 82.1.10天線輸出 92.1.11應(yīng)用領(lǐng)域 92 設(shè)計(jì)任務(wù)與總體設(shè)計(jì)分析 92.1設(shè)計(jì)要求 10技術(shù)指標(biāo): 102.2方案論證 102.2.1無線收發(fā)模塊 10 主控制模塊 102.3總體設(shè)計(jì) 113系統(tǒng)總體方案介紹 113.1硬件局部 113.2軟件局部 114系統(tǒng)硬件設(shè)計(jì) 124.1硬件框圖 124.2無線收發(fā)模塊電路 124.2.1nRF2401及其外圍電路 124.2.2指示電路 134.2.3接口電路 134.3 61板結(jié)構(gòu) 144.3.1SPCE061A最小系統(tǒng) 144.3.2電源電路 154.3.3音頻電路 154.3.4ICE接口電路 164.4電源電路 164.4.1整流電路 164.4.2濾波電路 174.2.3穩(wěn)壓電路 175系統(tǒng)軟件設(shè)計(jì) 175.1軟件總體設(shè)計(jì) 175.2子程序設(shè)計(jì) 195.2.1初始化程序 195.2.2錄音子程序 235.2.3放音子程序 235開發(fā)流程及開發(fā)環(huán)境 245.1開發(fā)流程 245.2開發(fā)環(huán)境 246調(diào)試 246.1調(diào)試方法 246.2硬件調(diào)試 246.2.1PCB設(shè)計(jì)應(yīng)注意的問題 246.2.1nRF2401模塊的制作 256.2.261板的檢測(cè) 266.3軟件調(diào)試 277結(jié)論 27謝辭 28主要參考文獻(xiàn) 29附錄 30附錄一:系統(tǒng)原理圖 30附錄二:系統(tǒng)PCB圖 31附錄三:系統(tǒng)源程序 32引言隨著社會(huì)的開展和進(jìn)步,人類活動(dòng)越來越依賴于通信技術(shù)提供的效勞,以無線通信技術(shù)以其快捷方便,可以移動(dòng)等特性,受到人們的高度關(guān)注,得以快速開展。本文針對(duì)無線通信進(jìn)行研究,設(shè)計(jì)了一個(gè)以無線收發(fā)芯片為核心、利用凌陽板進(jìn)行語音壓縮以實(shí)現(xiàn)簡(jiǎn)單的語音傳輸,本設(shè)計(jì)能在20米以內(nèi)進(jìn)行語音的傳送。nRF2401A是Nordic公司生產(chǎn)的無線收發(fā)芯片。該芯片需要極少的外圍器件,即可實(shí)現(xiàn)高速的無線數(shù)據(jù)傳輸。SPCE061A是凌陽科技的一款16位微控制器,內(nèi)嵌32K的閃存〔FLASH〕。SPCE061A為語音產(chǎn)品而集成了ADC、DAC、AGC等,還具有n項(xiàng)內(nèi)積運(yùn)算指令,較高的處理速度使u’nSP能夠非常容易快速地處理復(fù)雜的數(shù)字信號(hào),是語音應(yīng)用領(lǐng)域的一種最經(jīng)濟(jì)選擇。SPCE061A精簡(jiǎn)開發(fā)板〔以下簡(jiǎn)稱61板〕配有在線調(diào)試功能;結(jié)合集成開發(fā)環(huán)境不需外界任何仿真、調(diào)試器即可以完成在線編程、仿真、調(diào)試功能。本方案直接使用了61板,利用SPCE061A的語音處理功能,借助于nRF2401A無線收發(fā)芯片,實(shí)現(xiàn)簡(jiǎn)易的雙向無線語音傳輸功能。1課題背景和芯片介紹1.1課題背景近年來,隨著無線通信和計(jì)算機(jī)通信在全球的迅猛開展,采用無線手段提供數(shù)據(jù)傳輸?shù)臉I(yè)務(wù)越來越多,無線通信技術(shù)在特殊的工作環(huán)境中有許多優(yōu)點(diǎn):對(duì)于分散、移動(dòng)的控制對(duì)象可以方便的實(shí)現(xiàn)相互間的數(shù)據(jù)通信;對(duì)于物理布線困難的地方,采用無線通信技術(shù)可以節(jié)省大量財(cái)力;對(duì)于需要組網(wǎng)的以太網(wǎng)、令牌網(wǎng)等有線通信系統(tǒng),選擇無線通信技術(shù)可以防止大量的布線工作,同時(shí)也防止了有線網(wǎng)由于線路故障而導(dǎo)致系統(tǒng)癱瘓的弊病。以上這些優(yōu)點(diǎn)使得無線通信除了彌補(bǔ)有線手段的缺乏外,還為數(shù)據(jù)通信用戶提供了更加方便更高層次的效勞,即移動(dòng)中不間斷的數(shù)據(jù)通信。雖然目前無線通信在整個(gè)數(shù)據(jù)通信中所占的比例還比擬小,但它的開展勢(shì)頭很強(qiáng)。是人們普遍看好的下一個(gè)通信技術(shù)熱點(diǎn)。1.2芯片資料SPCE061A簡(jiǎn)介SPCE061A是凌陽科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),使用它可以非常方便實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)處理,包括根本的加減運(yùn)算和復(fù)雜的乘積運(yùn)算處理,該芯片擁有8路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,另外7路可作為普通的AD轉(zhuǎn)換通道。另外凌陽十六位單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實(shí)現(xiàn)C語言與凌陽匯編語言的互相調(diào)用,并且,提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會(huì)很容易完成語音錄放,這些都為軟件開發(fā)提供了方便的條件。SPCE061A單片機(jī)內(nèi)部結(jié)構(gòu)框圖如下列圖1.1所示:圖1.1SPCE061A單片機(jī)的內(nèi)部結(jié)構(gòu)框圖SPCE061A片內(nèi)還集成了一個(gè)ICE〔在線仿真電路〕接口,使得對(duì)該芯片的編程、仿真都變得非常方便,而ICE接口不占用芯片上的硬件資源,結(jié)合凌陽科技提供的集成開發(fā)環(huán)境〔μ’nSPIDE〕用戶可以利用它對(duì)芯片進(jìn)行真實(shí)的仿真;而程序的下載〔燒寫〕也是通過該接口進(jìn)行下載。SPCE061A性能簡(jiǎn)介16位μ’nSP微處理器工作電壓〔CPU〕VDD為3.0~3.6V,〔I/O〕VDDH為3.0~5.5VCPU時(shí)鐘:0.32~49.152MHz內(nèi)置2K字SRAM內(nèi)置32K字FLASH可編程音頻處理晶體振蕩器系統(tǒng)處于備用狀態(tài)下〔時(shí)鐘處于停止?fàn)顟B(tài)〕,耗電僅為2uA/3.6V2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器〔可自動(dòng)預(yù)置初始計(jì)數(shù)值〕2個(gè)10位DAC〔數(shù)/模轉(zhuǎn)換〕輸出通道32位通用可編程輸入/輸出通道14個(gè)中斷源可來自定時(shí)器A/B、時(shí)基、2個(gè)外部時(shí)鐘源輸入和鍵喚醒具備觸鍵喚醒的功能使用凌陽音頻編碼SACM_S480可以播放壓縮的語音資源鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào)32768Hz實(shí)時(shí)時(shí)鐘7通道10位電壓模/數(shù)轉(zhuǎn)換器〔ADC〕和單通道聲音模/數(shù)轉(zhuǎn)換器聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器,并具有自動(dòng)增益控制〔AGC〕功能具備串行設(shè)備接口具備低電壓復(fù)位功能和低電壓檢測(cè)功能內(nèi)置在線仿真電路接口具有WatchDog功能SPCE061A應(yīng)用領(lǐng)域SPCE061A單片機(jī)應(yīng)用廣泛,主要應(yīng)用于:家用控制器,即冰箱、空調(diào)及洗衣機(jī)等儀器儀表,即數(shù)字儀表〔有語音提示功能〕電表、水表、天然氣表和暖氣表工業(yè)控制智能型家居控制器通信產(chǎn)品,即多功能錄音、自動(dòng)總機(jī)、語音信息和數(shù)字錄音系統(tǒng)產(chǎn)品醫(yī)療設(shè)備和保健器材〔電子血壓計(jì)、紅外線體溫監(jiān)測(cè)儀等〕體育健身產(chǎn)品〔跑步機(jī)等〕電子書籍〔兒童電子故事書類〕、電子教學(xué)設(shè)備等語音識(shí)別類產(chǎn)品聲控遙控器和智能語音互動(dòng)玩具等2.1nRF2401A無線收發(fā)芯片nRF2401是單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過程序進(jìn)行配置。芯片能耗非常低,以-5dBm的功率發(fā)射時(shí),工作電流只有10.5mA,接收時(shí)工作電流只有18mA,多種低功率工作模式,節(jié)能設(shè)計(jì)更方便。其DuoCeiverTM技術(shù)使nRF2401可以使用同一天線,同時(shí)接收兩個(gè)不同頻道的數(shù)據(jù)。nRF2401適用于多種無線通信的場(chǎng)合,如無線數(shù)據(jù)傳輸系統(tǒng)、無線鼠標(biāo)、遙控開鎖、遙控玩具等。nRF2401需要很少的外圍元件,因此使用起來非常方便。QFN24引腳封裝,外形尺寸只有5×5mm。芯片管腳圖如下列圖2.1所示:圖2.1nRF2401管腳圖芯片特性單芯片無線收發(fā)GFSK調(diào)制模式收發(fā)載波頻率:2.4GHz~2.5GHz數(shù)據(jù)傳輸率:0~1Mbps極少外圍器件125階可調(diào)收發(fā)頻率〔梯度1MHz〕地址比擬和CRC校驗(yàn)DuoCeiver?技術(shù),支持雙通道接收ShockBurst?技術(shù),低功耗,緩解CPU發(fā)送壓力寬電壓范圍:1.9V~3.6V超低功耗:發(fā)送10.5mA,-5dBm;接收18mAnRF2401主要性能指標(biāo)nRF2401的主要性能指標(biāo)如下表2.1所列表2.1nRF2401的最大額定值參數(shù)數(shù)值電源電壓VDD-0.3~+3.6V地VSS0V輸入電壓VI-0.3V~VDD+0.3V輸出電壓VO-0.3V~VDD+0.3V功率消耗PD〔TA=85℃〕90mW工作溫度-40~+85儲(chǔ)存溫度-40~+125nRF2401工作模式控制nRF2401的工作模式有四種:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式。nRF2401的工作模式由PWR_UP、CE、TX_EN和CS三個(gè)引腳決定,詳見表2.2:表2.2nRF2401工作模式工作模式PWR_UPCECS收發(fā)狀態(tài)〔RX/TX〕110配置模式101空閑模式100關(guān)機(jī)模式0XX激活狀態(tài)的模式激活狀態(tài)的模式有兩種:突發(fā)爆發(fā)模式〔shockburstmode〕和直接模式〔directmode〕。器件在這兩種模式中的功能取決于結(jié)構(gòu)配置命令字?!?〕ShockBurstShockBurst技術(shù)利用在芯片上的FIFO,用低速數(shù)據(jù)速率紀(jì)錄數(shù)據(jù),用高速數(shù)據(jù)速率發(fā)射數(shù)據(jù),以節(jié)省電源消耗。當(dāng)nRF2401工作在ShockBurst模式,且在2.4GHz頻帶時(shí),能夠到達(dá)非常高的數(shù)據(jù)速率,而且不需要價(jià)格昂貴的、高速微控制器來進(jìn)行數(shù)據(jù)處理。在nRF2401芯片上有與高速信號(hào)處理相關(guān)的RF協(xié)議。使用nRF2401可以大大降低電流消耗,降低系統(tǒng)本錢〔可以使用價(jià)格廉價(jià)的微控制器〕。由于只需要短的發(fā)射時(shí)間,所以可以減少在“空中〔on-air〕”碰撞的危險(xiǎn)。nRF2401可以使用三線串行接口編程,數(shù)據(jù)傳輸速率由微控制器決定。在數(shù)字傳輸速率較低且在RF連接中需要較高傳輸速率的情況下,ShockBurst模式可以大大降低電源消耗?!?〕ShockBurst原理當(dāng)nRF2401配置在ShockBurst模式時(shí),TX和RX操作的管理〔僅以10Kb/s為例〕,是用MCU裝入數(shù)據(jù),并用ShockBurst技術(shù)發(fā)射數(shù)據(jù),其示意圖如圖2.2。ShockBurst1Mb/sShockBurst1Mb/s圖2.2ShockBurst技術(shù)發(fā)射示意圖〔3〕nRF2401在ShockBurst模式發(fā)射MCU接口引腳端:CE、CLK1和DATA。eq\o\ac(○,1)當(dāng)MCU有數(shù)據(jù)發(fā)送,設(shè)置CE為高電平;激活nRF2401,處理數(shù)據(jù)。eq\o\ac(○,2)接收點(diǎn)的地址和有效數(shù)據(jù)被裝入nRF2401。利用協(xié)議或者M(jìn)CU設(shè)置速率≤1Mb/s。eq\o\ac(○,3)MCU設(shè)置CE為低電平,激活nRF2401ShcokBurst模式,發(fā)射數(shù)據(jù)。eq\o\ac(○,4)在nRF2401ShockBurst模式:RF前端電源導(dǎo)通;RF信息包是完整的〔包含有報(bào)頭和CRC計(jì)算〕;數(shù)據(jù)被高速發(fā)射〔250Kb/s或者1Mb/s〕;當(dāng)數(shù)據(jù)發(fā)射完畢,nRF2401返回待機(jī)模式?!?〕nRF2401在ShockBurst模式接收MCU接口引腳端:CE、CLK1、DATA和DR1。eq\o\ac(○,1)當(dāng)nRF2401配置為ShockBurst模式接收時(shí),正確的地址和RF信息包大小被設(shè)置。eq\o\ac(○,2)設(shè)置CE為高電平,激活RX。eq\o\ac(○,3)在200μs后,nRF2401準(zhǔn)備接收數(shù)據(jù)。eq\o\ac(○,4)當(dāng)接收到有效的數(shù)據(jù)包〔正確的地址和CRC檢測(cè)〕時(shí),nRF2401將轉(zhuǎn)移數(shù)據(jù)包的報(bào)頭、地址和CRC位。eq\o\ac(○,5)nRF2401通報(bào)微處理器,設(shè)置DR1引腳端為高電平。eq\o\ac(○,6)微處理器MCU可以〔或者不可以〕設(shè)置CE為低電平,不使能RF前端電路〔低功耗模式〕。eq\o\ac(○,7)微處理器用適當(dāng)?shù)乃俾省踩?0Kb/s〕輸出有效數(shù)據(jù)。eq\o\ac(○,8)當(dāng)所有的有效數(shù)據(jù)被重新獲得,nRF2401使得DR1變成低電平。如果CE一直保持高電平,nRF2401準(zhǔn)備接收新的數(shù)據(jù);如果CE設(shè)置為低電平,一個(gè)新的時(shí)序列將重新開始?!?〕直接模式在直接模式,nRF2401的工作就像是一個(gè)傳統(tǒng)的射頻器件,數(shù)據(jù)速率必須設(shè)置在一個(gè)低的數(shù)據(jù)速率。eq\o\ac(○,1)直接模式發(fā)射MCU借口引腳端:CE和DATA。當(dāng)微處理器MCU有數(shù)據(jù)傳送時(shí),CE被設(shè)為高電平;在nRF2401的RF前端有效,在200ms的處理時(shí)間之后,數(shù)據(jù)將直接調(diào)制載波;所有的射頻協(xié)議必須在微處理器的硬件里執(zhí)行。eq\o\ac(○,2)直接模式接收MCU接口引腳端:CE、CLK1和DATA。一旦nRF2401被配置后加電〔CE為高電平〕,nRF2401工作在直接接收模式,開始接收數(shù)據(jù)。CLK1開始有效,nRF2401試圖鎖定輸入的數(shù)據(jù)。一旦有效的報(bào)頭到達(dá),CLK1和DATA將鎖定輸入的信號(hào),RF信息包將以與發(fā)射相同的速率呈現(xiàn)在DATA引腳端上。解調(diào)器去恢復(fù)時(shí)鐘,報(bào)頭必須是8位高/低電平,如果第1位是低電平,起始位必須為低電平。在這個(gè)模式中,沒有準(zhǔn)備好的信號(hào)、地址和檢驗(yàn)必須在微處理器中處理。雙超外差接收模式在突然爆發(fā)模式〔shockburstmode〕和直接模式〔directmode〕中,nRF2401可以配置成雙超外差接收模式,以最大的數(shù)據(jù)速率同時(shí)接收2個(gè)并行、獨(dú)立的頻率通道的信號(hào)。圖中有2個(gè)射頻輸入——FRF1和FRF2,有2個(gè)數(shù)據(jù)輸出——DATA〔FRF1〕和DATA〔FRF2〕,接收的數(shù)據(jù)通過時(shí)鐘恢復(fù)和數(shù)據(jù)限幅〔clockrecovery,dataslicer〕,經(jīng)過地址和CRC檢驗(yàn)〔ADDR,CRCcheck〕后輸出。如下列圖2.3所示:時(shí)鐘恢復(fù)和數(shù)據(jù)限幅時(shí)鐘恢復(fù)和數(shù)據(jù)限幅ADDR和CRC校驗(yàn)時(shí)鐘恢復(fù)和數(shù)據(jù)限幅ADDR和CRC校驗(yàn)FRF1FRF2=FRF1+8MHzDR1CLK1DATADR2CLK2DOUT2數(shù)據(jù)〔FRF1數(shù)據(jù)〔FRF2〕圖2.3nRF2401雙超外差接收模式的頻率和數(shù)據(jù)通道在這種模式下:〔1〕nRF2401能夠通過一個(gè)天線通道,接收從2個(gè)發(fā)射器發(fā)送的1Mb/s數(shù)據(jù),頻率間隔為8MHz;〔2〕2個(gè)數(shù)據(jù)通道的輸出被送到2個(gè)獨(dú)立的微處理器的接口上;〔3〕數(shù)據(jù)通道1接口:CLK1、DATA和DR1;〔4〕數(shù)據(jù)通道2接口:CLK2、DOUT2和DR2。DR1和DR2僅僅在突然爆發(fā)模式中有用。nRF2401雙超外差接收模式提供了2個(gè)獨(dú)立的數(shù)據(jù)通道,可以取代需要2個(gè)獨(dú)立接收的系統(tǒng),應(yīng)用實(shí)例如圖2.4所示。nRF2401nRF2401TX/RXnRF2401TX/RXnRF2401TX/RX圖2.4nRF2401雙超外差接收模式結(jié)構(gòu)配置模式在結(jié)構(gòu)配置模式中,一個(gè)結(jié)構(gòu)配置字最多可到達(dá)15字節(jié),結(jié)構(gòu)配置字通過一個(gè)簡(jiǎn)單的三線接口〔CS、CLK1和DATA〕被下載到nRF2401中。待機(jī)模式待機(jī)模式用來在保持最小啟動(dòng)時(shí)間時(shí),減少平均的電流消耗。在這個(gè)模式,晶體振蕩器的一局部有效,電流消耗與晶振的頻率有關(guān)。例如:在4KHz時(shí)為12uA;在16MHz為32uA。低功耗模式在低功耗模式,nRF2401不使能,具有最小的電流消耗1uA,其結(jié)構(gòu)配置字的內(nèi)容被保持。配置字描述配置字的讀取在CLK1的正邊沿時(shí),從MSB〔最高位〕開始。新的配置從CS的下降沿開始。假設(shè)nRF2401子系統(tǒng)需要配置為ShockBurst方式,兩個(gè)接收頻道,那么在VDD〔芯片電源〕上電后,只需120位的配置字。在協(xié)議、工作方式和接收頻道都配置好后,只需要1位〔RXEN〕來切換是接收或發(fā)射。在配置字被讀取的過程中,MSB〔最高位〕最先被讀到存放器中。默認(rèn)配置字為:h8E08.1C20.2000.0000.00E7.0000.E721.0F04,共18字節(jié),可根據(jù)需要進(jìn)行取舍。ShockBurst數(shù)據(jù)包的總位數(shù)最多不能超過256位,可通過式〔1〕計(jì)算有效數(shù)據(jù)的最大位數(shù)。DATAx_W(bits)=256-ADDR_W-CRC(1)其中:ADDR_W為配置字中B[32:18]所設(shè)置的接收地址的長(zhǎng)度,8位~40位;CRC為配置字B[17]所設(shè)置的校驗(yàn)字,8位或16位。4位或8位前綴是自動(dòng)加進(jìn)去的,不占用數(shù)據(jù)包的位數(shù)。由式〔1〕可知,要想在每個(gè)數(shù)據(jù)包中得到更長(zhǎng)的有效數(shù)據(jù),可減少地址和CRC校驗(yàn)位?!?〕收發(fā)常用的配置在兩個(gè)接收頻道的方式下,nRF24E1同時(shí)接收來自兩個(gè)不同頻率頻道的數(shù)據(jù)。第一個(gè)頻道的頻率在配置字B[7-1]中設(shè)置,第二個(gè)頻道通常比第一個(gè)頻道的頻率高8MHz。RX2_EN(B[15])為第二個(gè)頻道的使能位:RX2_EN=0時(shí),第二個(gè)頻道不工作;RX2_EN=1時(shí),第二個(gè)頻道使能。RFDR_SB為收發(fā)速率設(shè)置位:RFDR_SB(B[13])=0時(shí),收發(fā)速率為250kbps;RFDR_SB=1時(shí),收發(fā)速率為1Mbps。16MHz晶振時(shí),250kbps的收發(fā)靈敏度比1Mbps的高10dB。XO_F(B[12-10])為晶振選擇位。RF_PWR(B[9-8])設(shè)置nRF24E1射頻輸出功率。RF_CH#(B[7-1])設(shè)置nRF24E1的工作頻率,可通過式〔2〕計(jì)算發(fā)射頻率和頻道1的接收頻率,通過式〔3〕計(jì)算頻道2的接收頻率。RXEN為收發(fā)切換位。ChannelRF=2400MHz+RF_CH#×1.0MHz(2)ChannelRF=2400MHz+RF_CH#×1.0MHz+8MHz(3)天線輸出ANT1和ANT2〔天線1和天線2〕引腳端提供一個(gè)平衡的RF輸出給天線。ANT1和ANT2引腳端必須有一個(gè)DC通道到VDD,可以通過一個(gè)RF扼流圈或者經(jīng)過偶極天線的中心點(diǎn)到VDD。在ANT1和ANT2引腳端的輸出阻抗為200~700Ω。在負(fù)載阻抗為400Ω時(shí),可以獲得最大輸出功率0dBm。較低的負(fù)載阻抗可以通過一個(gè)匹配網(wǎng)絡(luò)與ANT1和ANT2引腳端連接。應(yīng)用領(lǐng)域無線數(shù)據(jù)采集小型無線網(wǎng)絡(luò)無線抄表門禁系統(tǒng)小區(qū)傳呼監(jiān)控系統(tǒng)非接觸RF智能卡無線遙控?zé)o線音頻/視頻數(shù)據(jù)傳輸設(shè)計(jì)任務(wù)與總體設(shè)計(jì)分析利用無線模塊,結(jié)合SPCE061A開發(fā)板,實(shí)現(xiàn)語音的雙向無線收發(fā)。2.1設(shè)計(jì)要求〔1〕通過其中一套61板和無線模塊〔A套〕實(shí)現(xiàn)錄音功能并將壓縮后的語音資源過無線模塊發(fā)射;〔2〕通過另外一套61板和無線模塊〔B套〕接收A套發(fā)送的語音資源數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行解碼播放;〔3〕A套和B套均可以實(shí)現(xiàn)獨(dú)立的數(shù)據(jù)收發(fā)和錄放音功能;〔4〕通過一定的協(xié)議實(shí)現(xiàn)A套和B套的半雙工通信。技術(shù)指標(biāo):〔1〕傳輸有效距離20m以上;〔2〕錄放音采用10Kbps以上的數(shù)據(jù)壓縮格式。2.2方案論證無線收發(fā)模塊方案一:用射頻收發(fā)芯片nRF401組成無線收發(fā)模塊。nRF401是接收發(fā)射合一的芯片,即可以接收數(shù)據(jù)也可以發(fā)射數(shù)據(jù),工作方式為半雙工。因此該電路即是發(fā)射電路也是接收電路。他的最高發(fā)送速率為20Kbps,最大發(fā)射功率+10dBm。約有10個(gè)外圍元件,采用低本錢的4M晶振。但是此型號(hào)的芯片工作頻段只在433MHz頻段,范圍小,而且頻道數(shù)少,只有2個(gè)頻道,所以不采用這種方案。方案二:用無線收發(fā)芯片nRF2401nRF2401也是接收發(fā)射合一的芯片,它的最高速率為1Mbps,最大發(fā)射功率0dBm。此芯片所有高頻元件包括電感、振蕩器等已經(jīng)全部集成在芯片內(nèi)部,使得產(chǎn)品一致性良好,性能穩(wěn)定且不受外界影響,而且內(nèi)置點(diǎn)對(duì)多點(diǎn)通信控制和硬件糾檢錯(cuò)。nRF2401是世界領(lǐng)先的2.4GHz的單片無線收發(fā)芯片,有125個(gè)頻道,本次設(shè)計(jì)采用此方案。主控制模塊方案一:用MSP430F1121做主控制器MSP430F1121是TI公司生產(chǎn)的超低功耗微控制器,具有16位RISC結(jié)構(gòu),16位CPU存放器和常數(shù)存放器,4KBROM,256BFLASH,256BRAM,指令周期時(shí)間125ns,超低工作電壓(1.8V-3.6V),超低功率消耗(1.3uA-160uA),具有5種省電模式,可串行在線編程,程序代碼由加密熔絲保護(hù)。但是此芯片內(nèi)存小,閃存少,從而影響編解碼的速度,所以不采用此方案。方案二:用SPCE061A做主控制器SPCE061A是凌陽科技的一款16位微控制器,內(nèi)嵌32K的閃存〔FLASH〕。SPCE061A為語音產(chǎn)品而集成了ADC、DAC、AGC等,還具有n項(xiàng)內(nèi)積運(yùn)算指令,較高的處理速度使u’nSP能夠非常容易快速地處理復(fù)雜的數(shù)字信號(hào),是語音應(yīng)用領(lǐng)域的一種最經(jīng)濟(jì)選擇,因此本次設(shè)計(jì)選用此方案。2.3總體設(shè)計(jì)本設(shè)計(jì)采用SPCE061A單片機(jī)作為主控制器,通過無線收發(fā)模塊收發(fā)數(shù)據(jù),實(shí)現(xiàn)語音的采集——傳輸——播放。3系統(tǒng)總體方案介紹系統(tǒng)由兩套61板和nRF2401無線模塊構(gòu)成,為便于描述,命名為A套和B套。兩套的硬件結(jié)構(gòu)和軟件設(shè)計(jì)是完全一致的。3.1硬件局部硬件局部,采用SPCE061A自帶的ADC,通過其MIC通道將語音轉(zhuǎn)換為數(shù)字量;按照一定的格式編碼后通過nRF2401無線模塊將編碼數(shù)據(jù)發(fā)送出去;另一端通過無線模塊接收到來自發(fā)射端的編碼數(shù)據(jù),并對(duì)之進(jìn)行解碼,解碼后的數(shù)據(jù)通過SPCE061A自帶的DAC輸出,實(shí)現(xiàn)聲音的復(fù)原。整個(gè)系統(tǒng)框圖如下列圖3.1所示:圖3.1系統(tǒng)框圖3.2軟件局部軟件局部:為了便于分析,將系統(tǒng)分為3種工作狀態(tài):等待狀態(tài)、錄音狀態(tài)、放音狀態(tài)。程序運(yùn)行后,A套和B套均處于等待狀態(tài),在等待狀態(tài)下可以通過按鍵進(jìn)入錄音狀態(tài);進(jìn)入錄音狀態(tài)后進(jìn)行錄音并將壓縮后的數(shù)據(jù)發(fā)送;另一端在接收到數(shù)據(jù)后進(jìn)入放音狀態(tài),接收數(shù)據(jù)并進(jìn)行解碼。通過改變按鍵的狀態(tài)可退出錄音狀態(tài),停止錄音和數(shù)據(jù)發(fā)送;另一端在一定時(shí)間內(nèi)接收不到數(shù)據(jù)即退出放音狀態(tài)。3種狀態(tài)間的切換關(guān)系如下:3種狀態(tài)間的切換關(guān)系如下列圖3.2所示:圖3.2系統(tǒng)狀態(tài)切換圖4系統(tǒng)硬件設(shè)計(jì)系統(tǒng)的硬件分為兩大局部,61板和無線收發(fā)模塊局部,下面重點(diǎn)介紹這兩個(gè)模塊。4.1硬件框圖系統(tǒng)的硬件框圖如圖4.1所示:圖4.1系統(tǒng)硬件框圖4.2無線收發(fā)模塊電路無線收發(fā)電路包括主芯片nRF2401及其外圍電路、接口電路、指示電路。nRF2401及其外圍電路nRF2401A及其外圍電路包括nRF2401A芯片、穩(wěn)壓局部、晶振局部、天線局部。電壓VDD經(jīng)電容C1、C2、C3處理后為芯片提供工作電壓;晶振局部包括Y1、C9、C10,晶振Y1允許值為:4MHz、8MHz、12MHz、16MHz,如果需要1Mbps的通信速率,那么必須選擇16MHz晶振。天線局部包括電感L1、L2,用來將nRF2401A芯片ANT1、ANT2管腳產(chǎn)生的2.4G電平信號(hào)轉(zhuǎn)換為電磁波信號(hào),或者將電磁波信號(hào)轉(zhuǎn)換為電平信號(hào)輸入芯片的ANT1、ANT2管腳。nRF2401及其外圍電路如下列圖4.2所示:圖4.2無線收發(fā)模塊電路指示電路電路板上提供了一個(gè)電源指示燈,其電路如圖4.3。圖4.3指示電路接口電路為方便與61板的連接,模組提供了兩個(gè)接口J1、J2,其中J1為nRF2401A的控制端口和通道1的收發(fā)通道,J2為預(yù)留端口,是通道2的接收通道。J1接口為10Pin的插孔,其布局和61板的I/O端口布局一致,可以直接插接到61板的I/O端口使用。J2預(yù)留,如果需要采用雙通道接收時(shí),可以將J2對(duì)應(yīng)的3根信號(hào)線引出,接到單片機(jī)的I/O上即可。接口電路如下列圖4.4所示:圖4.4接口電路對(duì)應(yīng)的I/O連接和功能描述如表4.1所示。表4.1芯片管腳連接及功能描述2401管腳作用描述PWR_UPnRF2401A芯片上電CEnRF2401A使能CSnRF2401A片選DR1通道1數(shù)據(jù)請(qǐng)求CLK1通道1時(shí)鐘DATA1通道1數(shù)據(jù)DR2通道2數(shù)據(jù)請(qǐng)求CLK2通道2時(shí)鐘DATA2通道2數(shù)據(jù)61板結(jié)構(gòu)61板除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、音頻電路〔含MIC輸入局部和DAC音頻輸出局部〕、復(fù)位電路等,采用電池供電,方便隨身攜帶。61板上有調(diào)試器接口〔Probe接口〕以及下載線〔EZ_Probe〕接口,分別可接凌陽科技的在線調(diào)試器、簡(jiǎn)易下載線,配合unSPIDE,可方便地在板上實(shí)現(xiàn)程序的下載、在線仿真調(diào)試。61板的實(shí)物圖如下列圖4.5所示:。圖4.561板實(shí)物圖SPCE061A最小系統(tǒng)SPCE061A最小系統(tǒng)中,包括SPCE061A芯片及其外圍的根本模塊,其中外圍的根本模塊有:晶振輸入模塊〔OSC〕、鎖相環(huán)外圍電路〔PLL〕、復(fù)位電路〔RESET〕、指示燈〔LED〕電路等。電源電路電源局部的電路,由電池盒提供的4.5V直流電壓經(jīng)過SPY0029后產(chǎn)生3.3V給整個(gè)系統(tǒng)供電。SPY0029是凌陽公司設(shè)計(jì)的電壓調(diào)整IC,采用CMOS工藝,具有靜態(tài)電流低、驅(qū)動(dòng)能力強(qiáng)、線性調(diào)整出色等特點(diǎn)。圖中的VDDH3為SPCE061A的I/O電平參考,如果該點(diǎn)接SPCE061A〔PLCC84封裝,下面的介紹中當(dāng)出現(xiàn)SPCE061A的引腳描述時(shí),均指此封裝的芯片〕的51腳,可使I/O輸出高電平為3.3V;VDDP為PLL鎖相環(huán)電源,接SPCE061A的7腳;VDD和VDDA分別為數(shù)字電源與模擬電源,分別接SPCE061A的15腳和36腳;AVSS1是模擬地,接SPCE061A的24腳;VSS是數(shù)字地,接SPCE061A的38腳;AVSS2接音頻輸出電路的AVSS2。電源局部的電路如下列圖4.6所示:圖4.6電源電路音頻電路音頻電路由音頻輸出和音頻輸入兩局部組成。圖4.7是音頻輸出電路圖。SPCE061A內(nèi)置2路10位精度的DAC,只需要外接功放電路即可完成語音的播放。圖中的SPY0030是凌陽的一款音頻放大芯片,可以工作在2.4~6V范圍內(nèi),最大輸出功率可達(dá)700mW。音頻電路如下列圖4.7所示:圖4.7音頻電路SPCE061A芯片中已經(jīng)集成了音頻輸入專用ADC以及AGC放大電路,因此芯片外部的電路比擬簡(jiǎn)單。ICE接口電路SPCE061A芯片內(nèi)部集成了ICE〔在線仿真〕接口,PC機(jī)通過Probe〔在線調(diào)試器〕或EZ_Probe〔簡(jiǎn)易下載線〕與61板相連,就可以方便地完成程序的下載、調(diào)試等。61板為Probe和EZ_Probe各自提供了一組接口,可通過S5跳線來選擇使用的接口類型。ICE接口局部電路如下列圖4.8所示。圖4.8ICE接口電路4.4電源電路根據(jù)設(shè)計(jì)任務(wù)的要求,這次畢業(yè)設(shè)計(jì)還需做兩塊一樣的供電為5.0V的直流電源。單相交流電經(jīng)過電源變壓器、整流電路、濾波電路和穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)壓的直流電壓,其方框圖如圖6.1所示,下面就個(gè)局部作用加以簡(jiǎn)單介紹?!?20v~220v50Hz+U—穩(wěn)壓電路濾波電路整流電路電源變壓器+U—穩(wěn)壓電路濾波電路整流電路電源變壓器圖4.9直流電源方框圖整流電路變壓器副邊電壓通過整流電路由交流電壓轉(zhuǎn)換為直流電壓,即將正弦波電壓轉(zhuǎn)換為單一方向的脈動(dòng)電壓。這次設(shè)計(jì)采用單相橋式整流電路,單相橋式整流電路由四只二級(jí)管組成,其構(gòu)成原那么就是保證在變壓器副邊電壓的整個(gè)周期內(nèi),負(fù)載上的電壓和電流方向始終不變。整流電路如下列圖4.10所示:圖4.10整流電路濾波電路為了減小電壓的脈動(dòng),需通過低通濾波電路濾波,使輸出電壓平滑。直流電源中濾波電路的顯著特點(diǎn)是:均采用無源電路;理想情況下,在濾波后只保存直流成分,而濾去所有交流成分;能夠輸出較大電流。穩(wěn)壓電路交流電壓通過整流、濾波后雖然變?yōu)榻涣鞣至枯^小的直流電壓,但是當(dāng)電網(wǎng)電壓波動(dòng)或者負(fù)載變化時(shí),其平均值也將隨之變化。穩(wěn)壓電路的功能是使輸出直流電壓根本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得足夠高的穩(wěn)定性。穩(wěn)壓電路如下列圖4.11所示:圖4.11穩(wěn)壓電路5系統(tǒng)軟件設(shè)計(jì)5.1軟件總體設(shè)計(jì)程序的思想:系統(tǒng)運(yùn)行后處于等待狀態(tài),在等待狀態(tài)下不斷掃描按鍵并判斷是否接收到數(shù)據(jù)。如果檢測(cè)到按鍵按下那么進(jìn)入錄音狀態(tài),進(jìn)行錄音并將壓縮后的數(shù)據(jù)發(fā)送;另一端在接收到數(shù)據(jù)后進(jìn)入放音狀態(tài),接收數(shù)據(jù)并進(jìn)行解碼。如果想要停止錄放音,可以通過釋放按鍵退出錄音狀態(tài),停止錄音和數(shù)據(jù)發(fā)送;另一端在一定的時(shí)間內(nèi)接收不到數(shù)據(jù)即退出放音狀態(tài)。系統(tǒng)狀態(tài)切換圖如下列圖5.1所示:無數(shù)據(jù)接收無數(shù)據(jù)接收KEY釋放接收到數(shù)據(jù)等待狀態(tài)放音狀態(tài)錄音狀態(tài)KEY按下圖5.1系統(tǒng)狀態(tài)切換圖主程序流程:系統(tǒng)首先初始化nRF2401A為接收狀態(tài),之后進(jìn)入主循環(huán),在主循環(huán)中掃描KEY1鍵和播放允許標(biāo)志PlayFlag,如果檢測(cè)到KEY1鍵按下那么進(jìn)入錄音裝態(tài),如果檢測(cè)到PlayFlag=0xFF那么進(jìn)入放音狀態(tài)。如果KEY1鍵釋放那么退出錄音狀態(tài),如果檢測(cè)到PlayFlag=0x00那么退出放音狀態(tài)。系統(tǒng)主程序如下列圖5.2所示:接收、放音錄音、發(fā)送播放?nRF初始化開始NNYY接收、放音錄音、發(fā)送播放?nRF初始化開始NNYY圖5.2系統(tǒng)主程序流程圖中斷效勞程序:中斷效勞包括IRQ4_1KHz中斷和FIQ_TMA中斷。IRQ4_1KHz中斷用來接收數(shù)據(jù),每次進(jìn)入中斷,判斷無線模塊是否有數(shù)據(jù)請(qǐng)求〔接收到數(shù)據(jù)〕,如果有數(shù)據(jù)請(qǐng)求,那么從nRF2401A中讀出數(shù)據(jù),同時(shí)置位語音播放允許標(biāo)志PlayFlag,如果連續(xù)一段時(shí)間內(nèi)〔0.1S〕沒有接收到數(shù)據(jù),那么去除語音播放允許標(biāo)志PlayFlag。程序流程如圖5.3所示。1KHz中斷Cnt>100?計(jì)數(shù)器Cnt加1PlayFlag=0x00清零計(jì)數(shù)器CntPlayFlag=0xFF清零計(jì)數(shù)器CntNYN1KHz中斷Cnt>100?計(jì)數(shù)器Cnt加1PlayFlag=0x00清零計(jì)數(shù)器CntPlayFlag=0xFF清零計(jì)數(shù)器CntNYNNNYY滿?讀nRF2401讀nRF2401Y填補(bǔ)緩沖區(qū)填補(bǔ)緩沖區(qū)返回返回圖5.31KHz中斷程序流程圖FIQ_TMA中斷用來錄放音。在錄音或者放音時(shí),每次進(jìn)入中斷那么調(diào)用DVR1600的中斷效勞函數(shù)。調(diào)DVR1600中斷效勞函數(shù)返回TMA中斷調(diào)DVR1600中斷效勞函數(shù)返回TMA中斷圖5.4FIQ_TMA中斷流程圖5.2子程序設(shè)計(jì)初始化程序初始化函數(shù)voidnRF2401_Initial(void)程序包括端口初始化和向芯片寫控制字操作,初始化流程如圖5.5所示:初始化I/O初始化I/O設(shè)置系統(tǒng)時(shí)鐘49MnRF2401上電向nRF2401寫控制字進(jìn)入程序退出初始化圖5.5初始化程序流程序〔1〕SPCE061A單片機(jī)的初始化:初始化I/O將會(huì)把nRF2401模組用到的所有接口初始化為對(duì)應(yīng)的輸入輸出屬性;設(shè)置系統(tǒng)時(shí)鐘為49MHz,以提高通信的速度,及延時(shí)的準(zhǔn)確性。〔2〕nRF2401A初始化:對(duì)nRF2401的初始化包括nRF2401上電和向nRF2401寫控制字。nRF2401上電是將芯片的PWR_UP管腳設(shè)置為高電平,上電以后才可以對(duì)nRF2401進(jìn)行控制和讀寫操作。nRF2401共有18Byte〔144bit〕的命令字,下面逐位介紹其作用。eq\o\ac(○,1)bit143~bit120:測(cè)試保存區(qū)測(cè)試保存區(qū),用戶不需設(shè)置。eq\o\ac(○,2)bit119~bit112:通道2接收數(shù)據(jù)長(zhǎng)度〔bit〕通道2接收數(shù)據(jù)的長(zhǎng)度Data2_W,用于接收。如果通道2接收到一幀數(shù)據(jù),在去掉地址和校驗(yàn)位后,其數(shù)據(jù)長(zhǎng)度和bit119~bit112值一致,那么認(rèn)為通道2接收到一幀數(shù)據(jù),置位DR2,否那么丟棄。eq\o\ac(○,3)bit111~bit104:通道1接收數(shù)據(jù)長(zhǎng)度〔bit〕通道1接收數(shù)據(jù)的長(zhǎng)度Data1_W,用于接收。如果通道1接收到一幀數(shù)據(jù),去掉地址和校驗(yàn)位后,其數(shù)據(jù)長(zhǎng)度和bit111~bit104值一致,那么認(rèn)為通道1接收到一幀數(shù)據(jù),置位DR1,否那么丟棄。通道1和通道2的數(shù)據(jù)長(zhǎng)度受nRF2401A幀數(shù)據(jù)總長(zhǎng)度限制,幀數(shù)據(jù)總長(zhǎng)度為256bit,每一幀的數(shù)據(jù)長(zhǎng)度Data_W<=256–Addr_W–CRC。eq\o\ac(○,4)bit103~bit64:通道2地址通道2的地址Addr_2,用于接收。設(shè)置本機(jī)地址,通信過程中,發(fā)射端通過配置該地址發(fā)送數(shù)據(jù)才能與之通信。eq\o\ac(○,5)bit63~bit24:通道1地址通道1的地址Addr_1,用于接收。設(shè)置本機(jī)地址,通信過程中,發(fā)射端通過配置該地址發(fā)送數(shù)據(jù)才能與之通信。eq\o\ac(○,6)bit23~bit18:通道地址有效位數(shù)通道1和通道2的地址有效位數(shù),用于接收。結(jié)合bit63~bit24和bit103~bit64選定通道的接收地址。其值不超過40。如果bit63~bit24的值為0000000105,bit23~bit18的值為8,那么通道1的地址為05;如果bit63~bit24的值為0000000105,bit23~bit18的值為32,那么通道1的地址為00000105eq\o\ac(○,7)bit17:CRC校驗(yàn)位選擇選擇CRC校驗(yàn)位數(shù),用于收發(fā)。如果該位為“0”,那么CRC校驗(yàn)為8位;如果該位為“1”,那么CRC校驗(yàn)為16位;eq\o\ac(○,8)bit16:CRC校驗(yàn)使能使能CRC校驗(yàn),用于收發(fā)。如果該位為“0”,那么不進(jìn)行CRC校驗(yàn);如果該位為“1”,那么進(jìn)行CRC校驗(yàn)。eq\o\ac(○,9)bit15:通道2接收使能通道2的接收允許,用于接收。如果該位為“0”,那么僅有通道1可以接收;如果該位為“1”,那么通道1和通道2均可接收。注意通道1通道2同時(shí)接收時(shí),通道2的接收頻率比通道1的收發(fā)頻率高8MHz。eq\o\ac(○,10)bit14:收發(fā)模式選擇該位決定nRF2401A的收發(fā)方式,用于收發(fā)。如果該位為“0”,nRF2401工作在Direct模式〔直接收發(fā)模式〕;如果該位為“1”,nRF2401工作在ShockBurst模式。eq\o\ac(○,11)bit13:RF波特率選擇nRF2401通信的波特率選擇位,用于收發(fā)。如果該位為“0”,那么選擇250Kbps波特率;如果該位為“1”,那么選擇1Mbps波特率。前者的通信誤碼率較低,如果速度沒有嚴(yán)格要求,通常選擇eq\o\ac(○,12)bit12~bit10:芯片外晶振選擇nRF2401的外晶振選擇,nRF2401支持5種不同頻率的晶振,隨著外晶振頻率的不同,bit12~bit10值也不同,其對(duì)應(yīng)關(guān)系如下表5.1所示:表5.1晶振設(shè)置對(duì)照表bit12~bit10晶振頻率〔MHz〕00040018010120111610020模組選用16M晶振,所以bit12~bit10值為011。eq\o\ac(○,13)bit9~bit8:RF發(fā)射功率選擇nRF2401發(fā)射功率選擇,用于發(fā)射。nRF2401有4種不同的發(fā)射功率,與bit9~bit8的對(duì)應(yīng)關(guān)系如下:表5.2發(fā)射功率對(duì)照表bit9~bit8發(fā)射功率〔dBm〕00-2001-1010-5110通常我們選擇最大發(fā)射功率0dBm,取bit9~bit8值為11。eq\o\ac(○,14)bit7~bit1:RF頻率選擇nRF2401的收發(fā)頻率選擇,用于收發(fā)。如果bit7~bit1的值為n,通道1的收發(fā)頻率為〔2400+n〕MHz;通道2的接收頻率為〔2400+n+8〕MHz。在通信時(shí),只有發(fā)射端和接收端的頻率一致,發(fā)射端的信號(hào)才可能被接收。eq\o\ac(○,15)bit0:芯片收發(fā)切換nRF2401收發(fā)選擇位。如果該位為“0”,那么芯片工作于發(fā)送狀態(tài);如果該位為“1向nRF2401寫控制字操作須嚴(yán)格按照?qǐng)D5.6的時(shí)序進(jìn)行:圖5.6nRF2401寫控制字時(shí)序圖PWR_UP為高、CE為低時(shí),置位CS,芯片處于命令字寫入狀態(tài),通過通道1向芯片的控制字緩沖區(qū)寫入命令字,按照由高位到低位的順序,命令字全部寫入后,將CS置低,nRF24101A芯片將會(huì)根據(jù)命令字配置相應(yīng)的內(nèi)部模塊。在第一次配置操作結(jié)束后,只有最后兩個(gè)字節(jié)的命令字可以被更改,前16個(gè)字節(jié)的修改無效,如果需要修改前16個(gè)字節(jié)的命令字〔如通道接收地址,接收數(shù)據(jù)長(zhǎng)度等〕,那么需要掉電〔PWR_UP置低〕后重新上電〔PWR_UP置高〕,才能對(duì)芯片進(jìn)行徹底初始化操作。需要注意的地方:1、并不是18個(gè)Byte的命令字全部需要寫入,通常我們只需要寫后15個(gè)Byte即可;2、15個(gè)Byte的命令字在nRF2401.C文件中通過InitData[15]定義,用戶需根據(jù)自己的通信格式對(duì)之進(jìn)行修改;3、bit15~bit0可以根據(jù)需要反復(fù)修改,但是bit144~bit16只有上電后的第一次初始化有效。放音子程序在檢測(cè)到語音播放允許標(biāo)志PlayFlag值變?yōu)?xFF后,進(jìn)入放音子程序。初始化編碼隊(duì)列并開始語音播放;如果PlayFlag的值一直為0xFF,程序?qū)?huì)一直進(jìn)行DVR解碼操作。一旦PlayFlag的值不為0xFF,停止放音。程序流程如圖5.7所示:DVR停止DVR解碼PlayFlag=0xFF?放音初始化YNDVR停止DVR解碼PlayFlag=0xFF?放音初始化YN圖5.7放音子程序錄音子程序在檢測(cè)到KEY1鍵按下后進(jìn)入錄音子程序。進(jìn)入程序后首先禁止1KHz中斷,屏蔽來自nRF2401的數(shù)據(jù)接收,并切換nRF2401工作方式為發(fā)送;之后作初始化工作,初始化編碼隊(duì)列,設(shè)置編碼格式等;如果按鍵KEY1一直處于閉合狀態(tài),程序?qū)?huì)不斷地進(jìn)行編碼操作,每產(chǎn)生一幀編碼數(shù)據(jù)后將數(shù)據(jù)寫入nRF2401,進(jìn)行無線發(fā)送。一旦KEY1鍵釋放,停止錄音,并切換nRF2401工作方式為接收,同時(shí)允許1KHz中斷。程序流程如圖5.8所示:允許1KHz中斷DVR停止讀取資源數(shù)據(jù)并發(fā)送DVR編碼KEY1按下?錄音初始化禁止1KHz中斷NNY允許1KHz中斷DVR停止讀取資源數(shù)據(jù)并發(fā)送DVR編碼KEY1按下?錄音初始化禁止1KHz中斷NNY圖5.8錄音子程序5開發(fā)流程及開發(fā)環(huán)境5.1開發(fā)流程第一步:硬件連接:eq\o\ac(○,1)電源連接,可接三節(jié)電池,也可以直接接5V的穩(wěn)壓源;eq\o\ac(○,2)在線調(diào)試器〔PROBE〕的連接,一端接PC機(jī)并口,一端接61板的5pin接口J4,跳線要連接S5的1與2;如果使用EZ_PROBE,請(qǐng)將一端接PC機(jī)并口,一端接61板的5pin接口J11,跳線要連接S5的2與3。eq\o\ac(○,3)喇叭連接,直接接61板的J3。第二步:翻開IDE,在安裝路徑下(/example/61_Exa)找到Record工程文件〔record.spj〕并翻開;第三步:下載程序,檢查PROBE是否連接好,程序放在在主菜單build-StartDebug-Download下;如果使用EZ_PROBE,操作同上,只是注意在IDE下選擇EZ_PROBE模式。5.2開發(fā)環(huán)境61板的開發(fā)是通過下載線〔EZ_PROBE〕或在線調(diào)試器〔PROBE〕實(shí)現(xiàn)的。用它可以替代在單片機(jī)應(yīng)用工程的開發(fā)過程中常用的兩件工具——硬件在線實(shí)時(shí)仿真器和程序燒寫器。他們都利用了SPCE061A芯片內(nèi)置的在線仿真電路ICE〔In-CircuitEmulator〕和凌陽公司的在線串行編程技術(shù)。EZ_PROBE和PROBE均工作于凌陽IDE集成開發(fā)環(huán)境軟件包下,他們對(duì)應(yīng)的5芯的仿真頭分別連接到61板的緩沖電路輸入管腳和SPCE061A芯片相應(yīng)管腳上,實(shí)現(xiàn)在目標(biāo)電路板上的CPU〔SPCE061A〕調(diào)試、運(yùn)行用戶編制的程序;另一頭是標(biāo)準(zhǔn)25針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與上位機(jī)通訊,在計(jì)算機(jī)IDE集成開發(fā)環(huán)境軟件包下,完成在線調(diào)試功能。EZ_PROBE和PROBE不同的是在IDE集成開發(fā)環(huán)境下需要選擇當(dāng)前是使用哪一種方式進(jìn)行調(diào)試,其中PROBE共有三種選擇方式:采用自動(dòng)方式調(diào)試可選Auto;采用PROBE調(diào)試可選PRINTER_PROBE;采用EZ_PROBE調(diào)試可選EZ_PROBE即可。6調(diào)試6.1調(diào)試方法首先檢測(cè)61板是否能正常工作,并且檢查無線收發(fā)模塊是否有短路現(xiàn)象,然后在兩塊板子都檢測(cè)成功的條件下把無線模塊接到61板上進(jìn)行軟件的調(diào)試。6.2硬件調(diào)試6.2.1PCB設(shè)計(jì)應(yīng)注意的問題一個(gè)好的印制電路板(PCB)設(shè)計(jì)對(duì)于獲得好的RF性能是必需的,本系統(tǒng)用雙層板來設(shè)計(jì)。由于nRF2401外圍元件少,是目前集成度最高的RF收發(fā)芯片并集成了基帶處理,設(shè)計(jì)比擬方便,但是實(shí)際由于高頻電路的特性,工作頻率較高(UHF),且nRF2401PCB設(shè)計(jì)是混合信號(hào)電路設(shè)計(jì),盡管nRF2401已經(jīng)大大簡(jiǎn)化了射頻電路設(shè)計(jì)及要求,設(shè)計(jì)時(shí)仍然需要十分的注意。一般來說有以下原那么需要遵循:

(1)布線時(shí)不能只考慮線能否布通,如果PCB布線布局不合理,可能會(huì)大大影響性能和通信距離,這是RF電路設(shè)計(jì)的特點(diǎn)決定的。因此將PCB分為射頻電路和控制電路兩局部布置。PCB使用雙面板,分為元件面和底面。底面有一個(gè)連續(xù)的接地面,元件面的接地面保證元件充分接地,大量的通孔鏈接元件面的接地面和底面的接地面。

(2)適宜的零件布局。射頻電路的元件面以nRF2401為中心,各元件緊靠其周圍,盡可能減少分布參數(shù)的影響。需要說明的是VCO電感的布局是非常重要的,一個(gè)經(jīng)過優(yōu)化的VCO電感布局將可以給PLL環(huán)路濾波器提供一個(gè)適宜的電壓。匹配網(wǎng)絡(luò)的元器件最好靠近nRF2401的ANT1和ANT2,以減小雜散電感和雜散電容。

(3)將PCB分區(qū)為獨(dú)立的模擬局部和數(shù)字局部。在電路板的所有層中,數(shù)字信號(hào)只能在電路板的數(shù)字局部布線,模擬信號(hào)只能在電路板的模擬局部布線,并且模擬電源和數(shù)字電源要分割。nRF2401的直流供電必需在離VDD腳盡可能近的地方用高性能的RF電容去藕。如果一個(gè)小電容再并上一個(gè)較大的電容效果會(huì)更好(2.2uF)。射頻局部的電源和數(shù)字電路局部的電源別離,nRF2401的VSS端直接連接到接地面。

(4)射頻電路的電源使用高性能的射頻電容去耦,去耦電容盡可能靠近nRF2401的VDD端,一般還在較大容量的外表貼裝電容旁并聯(lián)一個(gè)小數(shù)值的電容。nRF2401的電源必需經(jīng)過很好的濾波,并且與數(shù)字電路供電別離。

(5)布線時(shí),電源線和地線要盡量粗。除減小壓降外,更重要的是降低耦合噪聲。從單片機(jī)引入的晶體走線不能離數(shù)據(jù)線或者控制線太近。注意電源的濾波和電源線的走線。不能將數(shù)字信號(hào)或控制信號(hào)引入到PLL回路濾波器元件上。布線時(shí)盡量減少回路環(huán)的面積,以降低感應(yīng)噪聲。(6)采用正確的布線規(guī)那么。在PCB板上應(yīng)該防止長(zhǎng)的電源走線,所有元件地線,VDD連接線,VDD去藕電容必需離nRF2401盡可能近,如果PCB設(shè)計(jì)的頂層有鋪銅,VSS腳必需連接到鋪銅面,如果PCB的設(shè)計(jì)的底層有鋪銅,與VSS的焊盤有一個(gè)過孔相連會(huì)獲得更好的性能。所有開關(guān)數(shù)字信號(hào)和控制信號(hào)都不能經(jīng)過PLL環(huán)路濾波器元件和VCO電感附近。

(7)充分考慮電源對(duì)nRF2401的影響。電源做得好,整個(gè)電路的抗干擾就解決了一大半。RF電路對(duì)電源噪聲很敏感,要給RF電源加濾波電路,以減小電源噪聲對(duì)RF電路的干擾。比方,可以利用磁珠和電容組成П型濾波電路,當(dāng)然條件要求不高時(shí)也可用電感代替磁珠。nRF2401模塊的制作由于這塊板子是雙面板,所以在轉(zhuǎn)印上也有點(diǎn)困難,首先先要把底層或者頂層印上,然后再根據(jù)所印上的圖打三個(gè)孔,再轉(zhuǎn)印另一面時(shí)必須對(duì)準(zhǔn)那三個(gè)孔,這樣轉(zhuǎn)印出來的板子才不會(huì)出錯(cuò)。由于本人第一次做雙面板,所以在第一次轉(zhuǎn)印時(shí)孔打歪了,沒有能很好的對(duì)上,這樣有可能會(huì)對(duì)整塊板子的通信產(chǎn)生影響,所以再重新做了一塊。在本次制作的過程中比擬困難的是貼片的焊接,我的這塊板子比擬小,而且步線的要求也比擬嚴(yán)格,所以線條比擬密集,在焊接上也出現(xiàn)了一定的困難,必須小心的對(duì)準(zhǔn)銅,先焊接好一個(gè)腳固定好,然后再焊另一邊,在焊接時(shí)要保證焊得比擬飽滿,這樣防止虛焊。最難焊的是nRF2401這塊芯片,因?yàn)榇诵酒墓苣_根本看不見,在第一次焊時(shí)焊歪了,由于管腳線也比擬密集,焊錫拖到了其他的線上,造成板子的短路。然后在請(qǐng)教過導(dǎo)師后終于把芯片焊接上去,在焊此芯片前首先在芯片的管腳線周圍涂上松香,然后在管腳線上附上焊錫,再用鑷子夾著芯片對(duì)準(zhǔn)管腳輕輕壓到板子上,然后用噴槍穩(wěn)固好。6.2.261板的檢測(cè)〔1〕主要測(cè)試局部eq\o\ac(○,1)I/O口〔A口作為輸入,B口作為輸出〕;eq\o\ac(○,2)睡眠功能〔進(jìn)入睡眠狀態(tài),綠色指示燈點(diǎn)亮〕;eq\o\ac(○,3)A/D轉(zhuǎn)換輸入〔B口的低7位作為模擬電壓源輸出,對(duì)應(yīng)A口的7個(gè)通道采樣轉(zhuǎn)換〕;eq\o\ac(○,4)MIC輸入及語音輸出〔同時(shí)實(shí)現(xiàn)A/D和D/A轉(zhuǎn)換功能〕?!?〕61板自檢的具體操作步驟第一步:連接電源,可以連接電池盒〔3節(jié)〕,也可以直接接5V的穩(wěn)壓源;現(xiàn)象:當(dāng)電源接通時(shí),紅色的發(fā)光二極管會(huì)點(diǎn)亮。同時(shí)會(huì)有語音提示:“歡送進(jìn)入自檢模式”,此時(shí)因?yàn)檫€沒有連線,所以會(huì)聽到:“I/O測(cè)試失敗”的警告,進(jìn)行第二步的操作;第二步:用排線分別將IOA口的低8位和IOB口的低8位相連,IOA口的高8位和IOB口的高8位相連,然后按下RESET復(fù)位鍵;現(xiàn)象:當(dāng)按下RESET復(fù)位鍵后,程序重新開始執(zhí)行,語音提示“歡送進(jìn)入自檢模式”,當(dāng)聽到語音提示“I/O測(cè)試成功”后,進(jìn)行第三步操作;第三步:按K1鍵進(jìn)行睡眠功能測(cè)試;現(xiàn)象:如果測(cè)試成功,會(huì)看到綠色的發(fā)光二極管閃亮一下,并有語音提示“睡眠測(cè)試成功”,否那么提示“睡眠測(cè)試失敗”,然后進(jìn)行第四步操作;第四步:按下K2鍵進(jìn)行A/D轉(zhuǎn)換的測(cè)試;現(xiàn)象:語音提示:“A/D測(cè)試成功”,否那么提示“A/D測(cè)試失敗”,進(jìn)入最后一步操作;第五步:拔掉第一步測(cè)試時(shí)的排線,并按下K3鍵測(cè)試MIC輸入及D/A轉(zhuǎn)換輸出是否正常;〔注:在按下K3鍵后,喇叭會(huì)發(fā)出嘯叫聲,用手按在MIC上可消除嘯叫聲。〕現(xiàn)象:可以在MIC上輕輕的拍幾下,同時(shí)聽是否有聲音輸出,如果有,那么說明MIC輸入和D/A轉(zhuǎn)換輸出局部正常?!陨喜僮鳎挥挟?dāng)I/O測(cè)試成功后,按鍵才會(huì)有效。6.3軟件調(diào)試無線傳輸模組接口包括:一排10Pin接口J1、一排3Pin的預(yù)留接口J2,J1為芯片的控制和通道1的收發(fā)通道,J2為通道2的預(yù)留接口,通常我們僅使用J1接口。直接將J1接口和61板相插接即可使用。〔特別提示:請(qǐng)將61板的J5跳線跳至3V端〕第一步:在斷電條件下,將一個(gè)無線傳輸模組插接到61板的J6上,將61板I/O電平選擇跳線J5跳至3V端,按照同樣的方法將另一個(gè)無線模組插接到另一塊61板上;第二步:正確連接Probe并翻開電源;第三步:翻開無線模塊文件〔\\nRF2401無線傳輸模塊\DemoCode\Demo\Send\Send.spj〕,重新進(jìn)行編譯鏈接并下載程序至其中一個(gè)61板〔A板〕;然后再把同樣的程序下載到另一塊61板〔B板〕。第四步:運(yùn)行程序,按A板KEY1~KEY3任意鍵;B板會(huì)播報(bào)A板所按下的按鍵號(hào)。燒入程序后,開始調(diào)試板子是否能正常運(yùn)行。先按下一塊板子的KEY1鍵,對(duì)著61板的MIC講話,第一次測(cè)試時(shí)在接收端沒有播放語音出來,經(jīng)過單步運(yùn)行程序后,發(fā)現(xiàn)發(fā)送端發(fā)送的地址與接收斷的通道地址沒有一致,經(jīng)過修改好,通信正常。7結(jié)論本次課題要求做一個(gè)無線語音傳輸系統(tǒng),這課題更偏向于通信方面的知識(shí),隨著現(xiàn)代社會(huì)的不斷進(jìn)步,通信方面的技術(shù)更是日新月異,對(duì)于這個(gè)通信技術(shù)越來越成熟越來越興旺的社會(huì),這次的課題讓我對(duì)于通信方面的認(rèn)識(shí)有了較深入的了解。這次設(shè)計(jì)是基于SPCE061A的無線語音傳輸系統(tǒng),它借助于nRF2401A芯片的穩(wěn)定傳輸性能,更好的發(fā)揮了SPCE061A單片機(jī)的語音特色。本方案還具有一定的擴(kuò)展性,可將通信過程中的聲音存儲(chǔ)起來并實(shí)現(xiàn)回放,但由于時(shí)間有限,沒有深入去了解。不過本次設(shè)計(jì)已經(jīng)完成根本功能,并且運(yùn)作穩(wěn)定。在這次的畢業(yè)設(shè)計(jì)中,經(jīng)過自己獨(dú)立完成電路設(shè)計(jì),制作電路板的整個(gè)課程設(shè)計(jì)過程,提高了理論水平和實(shí)際的動(dòng)手能力;在調(diào)試過程中,提高了分析問題和解決問題的能力。這次課程設(shè)計(jì)把我們學(xué)到的知識(shí)應(yīng)用到實(shí)際當(dāng)中,理論與實(shí)際相結(jié)合,讓我們真正體會(huì)到了學(xué)習(xí)的樂趣,增強(qiáng)了學(xué)習(xí)興趣,加強(qiáng)了我們對(duì)學(xué)習(xí)的欲望,和對(duì)知識(shí)的探索精神,對(duì)調(diào)試和做電路板的過程中也鍛煉了不達(dá)目的決不放棄的毅力。謝辭本課題在選題及研究過程中得到郝建衛(wèi)老師和易藝?yán)蠋煹南ば闹笇?dǎo)。并且易老師還屢次詢問研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。易老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人,雖歷時(shí)四載,卻給以終生受益無窮之道。對(duì)易老師的感謝之情是無法用言語表達(dá)的。感謝李長(zhǎng)俊老師、李飛老師、杰穎老師和這四年里各個(gè)科目的指導(dǎo)老師等對(duì)我的教育培養(yǎng)。他們細(xì)心指導(dǎo)我的學(xué)習(xí)與研究,在此,我要向諸位老師深深地鞠上一躬。在此,我還要感謝在一起愉快的度過大學(xué)生活的7#107的各位舍友,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入畢業(yè)設(shè)計(jì)到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們!主要參考文獻(xiàn)[1](美)ChariesH.Roth,Jr.著.FundamentalsofLogicDesign[M].北京:機(jī)械工業(yè)出版社,2003[2]謝自美等編著.電子線路設(shè)計(jì).實(shí)驗(yàn).測(cè)試〔第二版〕[M].武漢:華中科技大學(xué)出版社,2002[3]江國(guó)強(qiáng)編著.現(xiàn)代數(shù)字邏輯電路[M].北京:電子工業(yè)出版社,2002[4]李晶皎編著.嵌入式語音技術(shù)及凌陽16位單片機(jī)應(yīng)用[M].北京:北京航空航天大學(xué),2003[5]雷思孝等編著.單片機(jī)原理及實(shí)用技術(shù)—凌陽16位單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2005[6]羅亞非編著.凌陽16位單片機(jī)應(yīng)用根底[M].北京:北京航天航空大學(xué)出版社,2003[7]張培仁等編著.十六位單片機(jī)微處理器原理及應(yīng)用.北京:清華大學(xué)出版社,2003.[8]江國(guó)強(qiáng)編著.EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2004[9]清華大學(xué)通信教材編寫小組.數(shù)據(jù)傳輸原理.北京:人民郵電出版社,1995[10]童詩白等編著.模擬電子技術(shù)根底[M].北京:高等教育出版社,2004[11]GuidetotheExpressionofUncertaintyinMeasurementCorrectedandReprinted.1995.ISO(Geneve,Swizerland).附錄附錄一:系統(tǒng)原理圖㈠nRF2401模塊原理圖㈡電源原理圖附錄二:系統(tǒng)PCB圖㈠芯片PCB圖㈡電源PCB附錄三:系統(tǒng)源程序1、主程序#include"SPCE061A.h"#include"DVR1600.h"#include"Queue.h"#include"nRF2401.h"unsignedintSourceBuf[14]; //資源緩沖數(shù)組,用于收發(fā)unsignedintAddress[5]={0x00,0x00,0x00,0x01}; //目標(biāo)地址,用于發(fā)送unsignedintPlayFlag=0; //播放標(biāo)志unsignedintCnt=0; //等待時(shí)間intmain(void){ unsignedinti; nRF2401_Initial(); //nRF2401初始化 nRF2401_SetAddress(Address,4); //設(shè)置目標(biāo)nRF2401地址 nRF2401_Mode(0); //nRF2401工作方式,接收 *P_INT_Mask|=C_IRQ4_1KHz; //翻開1KHz中斷,接收資源 __asm("intfiq,irq"); while(1) { *P_Watchdog_Clear=0x01;//去除Watchdog if((*P_IOA_Data&0x0001)==1) //Key1按下,錄音并發(fā)送 { *P_INT_Mask&=~C_IRQ4_1KHz; //關(guān)閉1KHz中斷,禁止接收語音資源 nRF2401_Mode(1); //nRF2401工作方式,發(fā)送 Queue_Init(); //初始化編解碼隊(duì)列 SACM_DVR1600_Initial(); //DVR初始化 SACM_DVR1600_Rec(0,1); //錄音〔12k編碼〕 while((*P_IOA_Data&0x0001)!=0) //Key1一直按下 { *P_Watchdog_Clear=0x01; SACM_DVR1600_ServiceLoop(); //編碼 if(Queue_Test()!=0xffff) //有數(shù)據(jù)? { for(i=0;i<L_Fram;i++) { SourceBuf[i]=Queue_Read(); //讀取編碼數(shù)據(jù) } nRF2401_SendBuffer_Word(SourceBuf,L_Fram); //發(fā)送數(shù)據(jù) } } SACM_DVR1600_Stop(); //Key1釋放,停止錄音 nRF2401_Mode(0); //nRF2401工作方式,接收 *P_INT_Mask|=C_IRQ4_1KHz; //翻開1KHz中斷,接收語音資源 } if(PlayFlag==0xff) //接收到數(shù)據(jù) { Queue_Init(); //初始化編解碼隊(duì)列 SACM_DVR1600_Initial(); //DVR初始化 //放音,雙聲道,淡入淡出SACM_DVR1600_Play(0,DAC_1+DAC_2,RAMP_UP_DN); while(PlayFlag==0xff) { SACM_DVR1600_ServiceLoop(); //解碼 *P_Watchdog_Clear=0x01; } SACM_DVR1600_Stop(); //DVR停止 } }}2、1KHz中斷,用于接收語音資源數(shù)據(jù)voidIRQ4()__attribute((ISR));voidIRQ4(){ inti; if((nRF2401_RxStatus())==1) //有數(shù)據(jù)請(qǐng)求 { PlayFlag=0xff; //置位語音播放標(biāo)志 Cnt=0; nRF2401_ReceiveWord(SourceBuf); //讀取資源 { if(Queue_Test()>=L_Fram) //資源緩沖不滿 { for(i=0;i<L_Fram;i++) { Queue_Write(SourceBuf[i]); //填補(bǔ)緩沖 } } } } else { Cnt++; if(Cnt>=100) //0.1s沒有數(shù)據(jù),結(jié)束語音播放 { PlayFlag=0x00; Cnt=0; } } *P_INT_Clear=C_IRQ4_1KHz; }3、芯片驅(qū)動(dòng)程序#include"spce061a.h"#define PWR 0x0001 //IOB0#defineCE 0x0002 //IOB1#defineCS 0x0004 //IOB2#defineDR1 0x0008 //IOB3#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論