版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE一種簡易的無線通信系統(tǒng)設(shè)計(jì)PAGEPAGE42一種簡易的無線通信系統(tǒng)設(shè)計(jì)摘要:隨著單片機(jī)功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的控制,擴(kuò)展為控制處理、數(shù)據(jù)處理以及數(shù)字信號處理(DSP,DigitalSignalProcessing)等領(lǐng)域。本設(shè)計(jì)是基于單片機(jī)控制的短距離無線語音通信系統(tǒng),具有抗干擾性能強(qiáng),可靠性高,安全性好,受地理?xiàng)l件限制少,安裝靈活等優(yōu)點(diǎn),在許多領(lǐng)域有著廣泛的應(yīng)用前景。本系統(tǒng)采用凌陽SPEC061A單片機(jī)的語音功能,借助nRF2401A的無線收發(fā)模塊,實(shí)現(xiàn)簡易的雙向無線語音傳輸功能。關(guān)鍵詞:凌陽SPEC061A;nRF2401AAbstract:Alongwiththedevelopmentofsingle-chipfunctionintegration,anditsapplicationfieldalsograduallyfromthetraditionalcontrol,expandedtocontrolProcessing,dataProcessingandDigitalSignalProcessing(DSP,DigitalSignalallow),etc.Thisdesignisbasedonsingle-chipmicrocomputercontrolshort-rangewirelessvoicecommunicationsystem,hasthestronganti-jammingperformance,highreliability,goodsafety,lessinfluencedbygeographicrestrictions,installation,flexible,andotheradvantagesinmanyfieldshaswideapplicationprospects.ThesystemUSEStheSPEC061AMCUspeechfunctionofsunplus,bynRF2401Awirelesstransceivermodule,achievesimpletwo-wayradiovoicetransmissionfunction.Keywords:LingYangSPEC061A;RF2401A;Microcontroller;wirelessvoicetransmission目錄1.緒論 31.1引言 31.2內(nèi)容編排 42.設(shè)計(jì)任務(wù)要求 52.1設(shè)計(jì)任務(wù) 52.2畢業(yè)設(shè)計(jì)要求 53.設(shè)計(jì)方案介紹 63.1方案簡介 63.2SPEC061A單片機(jī)介紹 73.2.1資料介紹 73.2.2結(jié)構(gòu)介紹 83.2.3小結(jié): 103.3NRF2401無線模塊介紹 113.3.1資料簡介 113.3.2應(yīng)用電路簡介 133.3.3小結(jié): 134.硬件設(shè)計(jì)與實(shí)現(xiàn) 144.1單片機(jī)硬件設(shè)計(jì) 144.1.1系統(tǒng)總體框圖 144.1.2系統(tǒng)工作原理 154.1.3連接結(jié)構(gòu)框圖 164.1.4SPCE061A周圍電路模塊選擇 174.2nRF2401模塊硬件設(shè)計(jì) 214.2.1nRF2401A及其外圍電路 214.3小結(jié): 225.系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) 235.1軟件總體設(shè)計(jì) 235.1.1主程序 235.2子程序設(shè)計(jì) 255.2.1錄音子程序 255.2.2放音子程序 265.3初始化 265.3.1初始化程序 275.4數(shù)據(jù)發(fā)送程序 295.5數(shù)據(jù)接收程序 325.5其他程序 335.6系統(tǒng)編程簡介 345.6.1系統(tǒng)軟件要求: 346.總結(jié) 387致謝 398.參考文獻(xiàn) 409.附錄 411.緒論1.1引言通信,也就是人與人之間的信息交流,縱觀歷史從最初的只有面對面的交流才能達(dá)到信息交流的目的發(fā)展到現(xiàn)在,我們的通信技術(shù),是古人所不敢想象的,從古到今,我們?nèi)祟愅瓿闪艘粓雎L的通信革命,打破了傳統(tǒng)信息交流的各種約束,不受時(shí)空等各種客觀因素的限制??萍嫉陌l(fā)展,各種技術(shù)的涌現(xiàn),為的是服務(wù)人類,讓人類能夠最方便舒適的達(dá)到想要實(shí)現(xiàn)目的。近年來,隨著無線通信技術(shù)的迅猛發(fā)展,無線技術(shù)在人類生活中有著廣泛的應(yīng)用,無線數(shù)據(jù)傳輸在人類社會隨處可見。無線傳輸技術(shù)方面的不斷發(fā)展,使得各種各樣高速,方便的無線通信產(chǎn)品涌現(xiàn)在我們眼前。人類在物質(zhì)和精神方面的追求是無窮無盡的,所以對知識技術(shù)的追求也是五窮無盡的,我認(rèn)為將來大部分通信將通過無線技術(shù)來實(shí)現(xiàn),不久的將來有線通信將成為歷史。就通信技術(shù)而言,建立一個(gè)通信系統(tǒng)需要考慮很多因素,要因地制宜,考慮多方面的技術(shù)才決定采取怎樣的核心技術(shù),無線通信技術(shù)還處于一個(gè)剛起步的狀況,要取代有線通信技術(shù)的主導(dǎo)地位還是有很長的路要走,相信不久的將來,無線技術(shù)將會處于通信技術(shù)的主導(dǎo)地位,配合有線通信的輔佐,人類之間的交流將更方便,不受時(shí)間,地點(diǎn)等各種客觀因素的約束。本設(shè)計(jì)是基于單片機(jī)控制的短距離無線通信系統(tǒng),采用凌陽SPEC061A單片機(jī)的語音功能,借助于nRF2401A無線收發(fā)芯片,實(shí)現(xiàn)簡易的雙向無線語音傳輸功能。本通信系統(tǒng)立足于實(shí)現(xiàn)短距離信息交流,能夠?qū)崿F(xiàn)約50m以內(nèi)既無線語音通信,體積小巧,信號穩(wěn)定,為人類在一定范圍內(nèi)進(jìn)行語音交流提供了很大的方便。1.2內(nèi)容編排一.緒論主要講述個(gè)人對無線技術(shù)的一些觀點(diǎn),以及系統(tǒng)的基本描述。二.設(shè)計(jì)任務(wù)要求主要介紹畢業(yè)設(shè)計(jì)的題目以及學(xué)校所下達(dá)的要求目標(biāo)。三.設(shè)計(jì)方案介紹主要講述了系統(tǒng)器材的選擇,以及系統(tǒng)可行性的分析。四.系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)本設(shè)計(jì)論文的核心內(nèi)容,講述整個(gè)系統(tǒng)的總體原理框圖,以及各部分模塊的原理電路圖分析。五.系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)主要講述系統(tǒng)各部分的編程以及軟件實(shí)現(xiàn)。六.總結(jié)七.致謝八.參考文獻(xiàn)九.附錄2.設(shè)計(jì)任務(wù)要求2.1設(shè)計(jì)任務(wù)運(yùn)用所學(xué)的專業(yè)知識,設(shè)計(jì)一種簡易的無線通信系統(tǒng)2.2畢業(yè)設(shè)計(jì)要求該系統(tǒng),包括一臺主機(jī)、一臺或一臺以上從機(jī),采用無線模塊發(fā)射和接收,適合會場或教室等小范圍內(nèi)使用,選擇合適的收發(fā)模塊和微處理芯片。要求系統(tǒng)功耗低、輻射小、使用簡單、便于安裝等。具體工作包括:選擇合適的收發(fā)模塊和微處理芯片并指出其特性。闡明總體的設(shè)計(jì)思路及系統(tǒng)工作原理。設(shè)計(jì)系統(tǒng)主要工作程序和各模塊程序。繪出系統(tǒng)的電路圖、注明主要元件的規(guī)格、型號和數(shù)據(jù)。完成電路裝配、調(diào)試和優(yōu)化改進(jìn)。寫入程序運(yùn)行、調(diào)試,能演示。最終提交:1,畢業(yè)設(shè)計(jì)說明書;2,控制模塊電路板實(shí)物;3,電路原理圖;4,系統(tǒng)驅(qū)動程序。3.設(shè)計(jì)方案介紹3.1方案簡介隨著單片微型計(jì)算機(jī)技術(shù)的成熟與發(fā)展,單片機(jī)的應(yīng)用在人類生活中隨處可見,為人類物質(zhì)生活提供了很大的方便。經(jīng)過相關(guān)資料的查閱,了解到凌陽SPEC061A單片機(jī)具有相當(dāng)多的功能,用它和nRF2401來做無線語音通信是絕對可行的,在此設(shè)計(jì)過后,還可以用它來實(shí)現(xiàn)其它自己感興趣的設(shè)計(jì)。總體設(shè)計(jì)思路如圖3-1所示:圖3-1設(shè)計(jì)思路我認(rèn)為一個(gè)方案的決定基于兩點(diǎn),方案的可行性和個(gè)人興趣愛好,經(jīng)過資料的搜尋后決定用凌陽SPEC061A+nRF2401這一組合,用此組合來實(shí)現(xiàn)無線語音通信的確有點(diǎn)大材小用,我認(rèn)為,要是僅僅為了畢業(yè)設(shè)計(jì)而設(shè)計(jì)是浪費(fèi)時(shí)間的,畢業(yè)設(shè)計(jì)是對學(xué)生四年學(xué)習(xí)的一個(gè)綜合應(yīng)用的考核。在做畢業(yè)設(shè)計(jì)的過程中,我們通過它來考察自己學(xué)得怎么樣,盡自己的能力做到認(rèn)真負(fù)責(zé),在這過程中,一定可以收獲很多。重要的是在這個(gè)學(xué)校下達(dá)的最后一個(gè)學(xué)習(xí)任務(wù)中,我們能夠發(fā)揮自己的能力愛好,把畢業(yè)設(shè)計(jì)應(yīng)用在我們感興趣的方面。3.2SPEC061A單片機(jī)介紹3.2.1資料介紹SPCE061A是凌陽說明科技推出的一款16位結(jié)構(gòu)的微控制器。SPCE061A里面只內(nèi)嵌32K字的閃存(FLASH)。具有較高的處理速度使μ’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。SPCE061A微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品中的一種最經(jīng)濟(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)用。SPEC061A單片機(jī)如圖3-2所示:圖3-2SPEC061A單片機(jī)3.2.2結(jié)構(gòu)介紹Spec061A單片機(jī)引腳功能介紹:內(nèi)部結(jié)構(gòu)如圖3-3所示:圖3-3nRF2401內(nèi)部結(jié)構(gòu)SPEC061A可應(yīng)用于許多電子產(chǎn)業(yè)的控制方面,例如家庭生活中的電視機(jī),洗衣機(jī),冷氣,暖氣等家居電器。該單片機(jī)在通信系統(tǒng)方面的應(yīng)用尤為出色,它的語音功能,應(yīng)有到多種通信設(shè)備中,例如樓宇的語音對講系統(tǒng),家庭生活中的語音存儲式電話。在拓展功能方面,SPEC061A在智能互動玩具以及有聲教材方面的應(yīng)用受到業(yè)界廣泛的關(guān)注。3.2.3小結(jié):決定設(shè)計(jì)方案前花了很長一段時(shí)間來選擇單片機(jī)芯片,大學(xué)修讀期間,沒有學(xué)習(xí)單片機(jī)這門課程,多單片機(jī)的掌握不深,進(jìn)行設(shè)計(jì)時(shí),只能通過上網(wǎng)搜集資料和咨詢同學(xué)來了解這方面的知識,凌陽SPEC061A功能的全面,且操作簡便,容易上手,所以最后選擇了它。3.3NRF2401無線模塊介紹3.3.1資料簡介nRF2401如圖3-4所示,是單片射頻收發(fā)芯片,工作在2.4~2.5GHzISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和傳輸頻率可以通過程序編寫進(jìn)行修改調(diào)整。芯片的功耗不高,以-5dBm的功率發(fā)射數(shù)據(jù)時(shí),工作電流只有10.5mA,接收數(shù)據(jù)時(shí),工作電流只有18mA,該芯片具有多種低功率工作模式,設(shè)計(jì)節(jié)能且方便。其DuoCeiverTM技術(shù)使nRF2401可以使用同一個(gè)天線,同時(shí)接收兩個(gè)不同頻率的數(shù)據(jù)。nRF2401適用于多種無線通信的場合,例如如無線數(shù)據(jù)傳輸系統(tǒng)、無線鼠標(biāo)、遙控開鎖、遙控玩具等。圖3-4nRF2401nRF2401內(nèi)置地址解碼器、先入先出堆棧區(qū)、解調(diào)處理器、時(shí)鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,應(yīng)用電路只需要很少的外圍元件,因此使用起來非常方便。nRF2401的引腳如圖3-5所示:圖3-5nRF2401引腳nRF2401的功能模塊如圖3-6所示:圖3-6nRF2401功能模塊3.3.2應(yīng)用電路簡介nRF2401連接上十四個(gè)外圍元件便可以構(gòu)成簡易的應(yīng)用系統(tǒng),具有基本無線收發(fā)功能。nRF2401應(yīng)用電路工作電壓一般在3V,組合方便,目前市面上很多低功耗微控制器都可以對它進(jìn)行控制。使用不同的天線,可以達(dá)到不同的效果,為了節(jié)能,我們不斷調(diào)試,找到最大的收發(fā)距離,此過程中,電感電容的選擇,需要經(jīng)過多次的測試,并且電路仿真來。nRF2401的典型應(yīng)用電路如圖3-6所示:圖3-7nRF2401典型應(yīng)用電路3.3.3小結(jié):4.硬件設(shè)計(jì)與實(shí)現(xiàn)4.1單片機(jī)硬件設(shè)計(jì)4.1.1系統(tǒng)總體框圖如圖4-1所示,系統(tǒng)主要由兩片spec061A和nRF無線模塊構(gòu)成,圖4-1系統(tǒng)總框圖硬件部分,采用SPCE061A外圍接入的ADC模塊,借助其MIC接口將語音信號轉(zhuǎn)換為數(shù)字信號,按照選定的格式編碼,最后通過nRF2401無線收發(fā)芯片將編碼數(shù)據(jù)進(jìn)行傳輸;另一端也是通過無線模塊,對來發(fā)射端的編碼數(shù)據(jù)進(jìn)行接收,并開始解碼,解碼后的信號通過SPCE061A外圍接入的DAC模塊,把數(shù)字信號再次轉(zhuǎn)換為模擬信號后輸出。nRF2401無線模塊與單片機(jī)SPCE061A連接好后,在單片機(jī)周圍電路連接上接上數(shù)模轉(zhuǎn)換模塊以及數(shù)字模塊,數(shù)字模塊負(fù)責(zé)為單片機(jī)通過ICE接口寫入編程指令,數(shù)模轉(zhuǎn)換模塊負(fù)責(zé)語音的輸入與輸出。4.1.2系統(tǒng)工作原理系統(tǒng)硬件連接無誤后,整個(gè)系統(tǒng)的運(yùn)作流程是語音信號通過數(shù)模轉(zhuǎn)換模塊寫入單片機(jī),單片機(jī)通過nRF模塊把轉(zhuǎn)換后的數(shù)字信號無線傳到另一個(gè)nRF模塊,然后單片機(jī)對信號進(jìn)行處理,最后通過數(shù)模轉(zhuǎn)換把數(shù)字信號經(jīng)過放大轉(zhuǎn)換然后輸出。SPCE061A與無線模塊連接要用的的重要接口有:IOB1:串行接口的數(shù)據(jù)傳送管腳。IOB2:外部中斷源EXT1。IOB3:外部中斷源EXT2。IOB4:外部中斷源EXT1的反饋管腳。IOB5:外部中斷源EXT2的反饋管腳。DAC1:數(shù)據(jù)輸出管腳。DAC2:數(shù)據(jù)輸出管腳。上圖中各模塊都是通過上述接口與單片機(jī)進(jìn)行數(shù)據(jù)連接傳輸,具體連接電路在各模塊電路圖中有標(biāo)示。系統(tǒng)工作原理流程如圖4-2所示:圖4-2系統(tǒng)工作原理流程本系統(tǒng)是雙向語音數(shù)據(jù)傳輸?shù)脑O(shè)計(jì),左右兩邊硬件連接以及軟件編程均一致,固系統(tǒng)流程可逆,以達(dá)到使用者雙方語音的交流的最終目的。4.1.3連接結(jié)構(gòu)框圖SPCE061A與無線模塊連接如圖4-3所示:圖4-3SPCE061A與無線模塊連接框圖上圖僅為SPCE061A與無線模塊連接的意會框圖,下文將會詳細(xì)介紹電路圖,為了方便,設(shè)計(jì)了SPCE061A與無線模塊連接相匹配的引腳的轉(zhuǎn)換電路,具體如圖4-4所示:圖4-4引腳的轉(zhuǎn)換電路J1是nRF2401的控制端口和通道1的收發(fā)通道,J2為留端口,是通道2的接收通道。J1接口是10針的插孔,排列分部與SPCE061A中的I/O端口排列次序相同,可以與SPCE061A的I/O端口直接相連使用。J2端口先保留,當(dāng)兩個(gè)通道都進(jìn)行數(shù)據(jù)接收時(shí),把單片機(jī)的I/O接口與S2接口中相應(yīng)的三條信號引腳相連就可以了。4.1.4SPCE061A周圍電路模塊選擇SPCE061A最小系統(tǒng)如圖4-5所示[9]:圖4-5SPCE061A最小系統(tǒng)結(jié)合課題,對單片機(jī)SPCE061A的電路設(shè)計(jì),不需要焊接出61板的全部電路,經(jīng)過分析,只需在基于單片機(jī)SPCE061A的最小系統(tǒng)電路基礎(chǔ)上加上幾個(gè)模塊,就可以實(shí)現(xiàn)無線語音傳輸?shù)男Ч旅鎸@些模塊進(jìn)行一些介紹。單片機(jī)設(shè)計(jì)電路個(gè)模塊布局如圖4-6所示:圖4-6模塊布局?jǐn)?shù)字模塊和數(shù)模轉(zhuǎn)換與單片連接的接口過多,在上圖中難以標(biāo)示,將在下一小節(jié)模塊介紹電路圖中會一紅色字體標(biāo)出。4.1.4.1時(shí)鐘輔助時(shí)鐘模塊(鎖相環(huán)振蕩器,系統(tǒng)時(shí)鐘,實(shí)時(shí)時(shí)鐘)原理框圖如圖4-7所示:圖4-7系統(tǒng)時(shí)鐘(1)鎖相環(huán)(PLL,PhaseLockLoop)振蕩器:PLL的作用是為系統(tǒng)提供一個(gè)實(shí)時(shí)時(shí)鐘的基頻(32768Hz),然后將基頻進(jìn)行倍頻處理,調(diào)整到49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。系統(tǒng)默認(rèn)的PLL自激振蕩頻率為24.576MHz,電路如圖4-8所示,時(shí)鐘模塊電路與單片機(jī)的vcp,vss接口連接。圖4-8鎖相環(huán)PLL(2)系統(tǒng)時(shí)鐘:系統(tǒng)時(shí)鐘的信號源為PLL振蕩器。系統(tǒng)時(shí)鐘頻率(Fosc)和CPU時(shí)鐘頻率(CPUCLK)通過對P_SystemClock(寫)($7013H)單元編程來進(jìn)行控制。默認(rèn)的Fosc、CPUCLK分別是24.576MHz和Fosc/8。用戶通過對P_SystemClock單元編程來定義系統(tǒng)時(shí)鐘和CPU時(shí)鐘頻率。當(dāng)系統(tǒng)被喚醒后,最初時(shí)刻的CPUCLK頻率也為Fosc/8,之后逐級調(diào)整到用戶設(shè)定的CPUCLK頻率。這樣,就可避免系統(tǒng)在喚醒初始時(shí)刻讀ROM出現(xiàn)錯(cuò)誤。(3)實(shí)時(shí)時(shí)鐘:SPCE061A對32768Hz實(shí)時(shí)時(shí)鐘源的分頻處理,為系統(tǒng)提供了多種實(shí)時(shí)時(shí)鐘的中斷源信號。例如,用來作為喚醒源的中斷源IRQ5_2Hz,意思是系統(tǒng)每隔0.5秒被喚醒一次,可以作為一個(gè)精確的計(jì)時(shí)基準(zhǔn)。該凌陽單片機(jī)芯片可以實(shí)現(xiàn)RTC振蕩器兩種模式,自動和強(qiáng)振。當(dāng)系統(tǒng)處于強(qiáng)振模式時(shí),RTC振蕩器的運(yùn)行一直處于高耗能的狀態(tài)。當(dāng)系統(tǒng)處于自動弱振模式時(shí),上電復(fù)位的前七點(diǎn)五秒內(nèi)處于強(qiáng)振模式,然后系統(tǒng)自動轉(zhuǎn)為弱振模式來達(dá)到功耗降低的效果。4.1.4.2數(shù)模轉(zhuǎn)換輔助數(shù)模轉(zhuǎn)換輔助模塊電路如圖4-9所示:圖4-9數(shù)模轉(zhuǎn)換輔助模塊此模塊用來實(shí)現(xiàn)語音的輸入輸出,SPCE061A擁有有8個(gè)10位模-數(shù)轉(zhuǎn)換通道,其中7個(gè)通道用來進(jìn)行將模擬量信號(例如電壓信號)轉(zhuǎn)換成數(shù)字量信號,信號通過引線(IOA[0~6])直接輸入。另有一個(gè)通道專門作為語音輸入通道,通過外接的數(shù)模轉(zhuǎn)換模塊中的麥克風(fēng)原件(MIC_IN)接口輸入。外接此模塊電路是為了更好的實(shí)現(xiàn)模擬信號與數(shù)字信號之間互相變換的編碼功能。SPCE061A外接此電路,達(dá)到為語音輸出提供了兩個(gè)10位數(shù)/模轉(zhuǎn)換子系統(tǒng)的目的,即DAC1和DAC2。通過AUD1和AUD2管腳來對應(yīng)輸出,DAC1、DAC2轉(zhuǎn)換輸出的模擬量電流信號。4.1.4數(shù)字模塊也就是PROBE/下載線的電路。其中PROBE就是在線調(diào)試器主要是為凌陽十六位單片機(jī)(包括SPCE061A)提供在線編程、仿真和調(diào)試使用的工具。該調(diào)試器一端接在PC機(jī)的并口上,另一端接在開發(fā)系統(tǒng)的ICE端口上(J4口)。在Spec061A單片機(jī)的集成開發(fā)環(huán)境上就可以實(shí)現(xiàn)在線編程、仿真和調(diào)試。數(shù)字部分電路原理如圖4-10所示:圖4-10數(shù)字部分電路ICE基本運(yùn)作方式是通過控制clock及通過ICE喂入指令方式,來控制CPU的運(yùn)行及緩存器資料和內(nèi)存資料的存取,因此必須透過控制緩存器值的設(shè)定來控制目前CPU的動作.每個(gè)相連接的不同ICE模塊都擁有自己獨(dú)特的3-bitID,當(dāng)PC在傳送control信號時(shí)都會先傳送該3-bitID,只有ICE本身的ID和control信號的ID相同時(shí)才會執(zhí)行該命令或回傳資料。單片機(jī)上的74HC244主要在我們選用下載線的時(shí)候起作用,主要是奇緩存的作用和完成SDA是作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。4.2nRF2401模塊硬件設(shè)計(jì)4.2.1nRF2401A及其外圍電路nRF2401A及其外圍電路,包括有nRF2401A芯片部分、穩(wěn)壓部分、晶振部分、天線部分。電壓VDD經(jīng)電容C1、C2、C3處理后,為芯片提供合適的工作電壓;晶振部分包括Y1、C9、C10,晶振Y1允許值為:4MHz、8MHz、12MHz、16MHz,當(dāng)如果需要1Mbps的通信速率,就必須選擇16MHz晶振。天線部分包括電感L1、L2,用來將nRF2401A芯片ANT1、ANT2管腳產(chǎn)生的2.4G電平信號轉(zhuǎn)換為電磁波信號,或者是將電磁波信號轉(zhuǎn)換為電平信號輸入芯片的ANT1、ANT2管腳。結(jié)構(gòu)示意如圖4-11所示:圖4-11nRF2401結(jié)構(gòu)框圖本系統(tǒng)應(yīng)用時(shí),十針插孔J1和Spec061A的I/O端口對應(yīng)連接。當(dāng)需要兩個(gè)通道接收時(shí),可以將預(yù)留端口J2引出,接到單片機(jī)對應(yīng)的I/O接口上就可以了。無線收發(fā)電路包括主芯片nRF2401A及其外圍電路、接口電路、指示電路,如圖4-12所示,圖4-12nRF2401及其外圍電路為方便與SPCE061A進(jìn)行功能連接,設(shè)計(jì)了兩個(gè)接口J1、J2,J1是nRF2401的控制端口和通道1的收發(fā)通道,J2為留端口,是通道2的接收通道。J1接口是10針的插孔,排列分部與SPCE061A中的I/O端口排列次序相同,可以與SPCE061A的I/O端口直接相連使用。J2端口先保留,當(dāng)兩個(gè)通道都進(jìn)行數(shù)據(jù)接收時(shí),把單片機(jī)的I/O接口與S2接口中相應(yīng)的三條信號引腳相連就可以了。同時(shí),在電路板上添加了工作指示小元件,系統(tǒng)上電后D1將會被點(diǎn)亮。接口電路如圖4-13所示:圖4-13接口電路4.3小結(jié):5.系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)5.1軟件總體設(shè)計(jì)程序系統(tǒng)運(yùn)行后一開始處于等待狀態(tài),在等待狀態(tài)下,不斷掃描按鍵并且判斷是否接收到數(shù)據(jù)。如果檢測到按鍵按下,就進(jìn)入錄音狀態(tài),進(jìn)行錄音并將壓縮后的數(shù)據(jù)進(jìn)行發(fā)送;另一端在接收到數(shù)據(jù)后進(jìn)入放音狀態(tài),接收數(shù)據(jù)并對其進(jìn)行解碼。如果想停止錄放音,可以通過釋放按鍵來退出錄音狀態(tài),停止錄音和數(shù)據(jù)發(fā)送;另一端若在一定的時(shí)間內(nèi)接收不到數(shù)據(jù)即退出放音狀態(tài)。狀態(tài)切換如圖5-1:圖5-1狀態(tài)切換框圖5.1.1主程序主程序流程:系統(tǒng)首先初始化nRF2401A為接收狀態(tài),之后進(jìn)入主循環(huán),在主循環(huán)中掃描KEY1鍵和播放允許標(biāo)志PlayFlag,如果檢測到KEY1鍵按下則進(jìn)入錄音裝態(tài),如果檢測到PlayFlag=0xFF則進(jìn)入放音狀態(tài)。如果KEY1鍵釋放則退出錄音狀態(tài),如果檢測到PlayFlag=0x00則退出放音狀態(tài)。主程序流程如圖5-2,圖5-2主程序流程中斷服務(wù)程序:中斷服務(wù)包括IRQ4_1KHz中斷和FIQ_TMA中斷。IRQ4_1KHz中斷用來接收數(shù)據(jù),每次系統(tǒng)進(jìn)入中斷,判斷無線模塊是否有數(shù)據(jù)請求(接收到數(shù)據(jù)),如果有數(shù)據(jù)請求的話,便從nRF2401A中讀出數(shù)據(jù),同時(shí)置位語音播放的允許標(biāo)志PlayFlag,如果連續(xù)一段時(shí)間內(nèi)(0.1S)沒有接收到數(shù)據(jù),便清除語音播放允許標(biāo)志PlayFlag。程序流程如下圖5-3所示。圖5-3IRQ4_1KHz中斷FIQ_TMA中斷用來錄放音。在錄音或者放音的時(shí)候,每次進(jìn)入中斷便調(diào)用DVR1600的中斷服務(wù)函數(shù)。程序流程如圖5-4所示:圖5-4FIQ_TMA中斷5.2子程序設(shè)計(jì)5.2.1錄音子程序在檢測到KEY1鍵按下后系統(tǒng)進(jìn)入錄音子程序。進(jìn)入程序后首先禁止1KHz中斷,屏蔽所有來自nRF2401A的數(shù)據(jù)請求,并切換nRF2401A的工作方式為接收;之后作初始化工作,初始化編碼隊(duì)列和設(shè)置編碼格式等;如果按鍵KEY1都處于閉合狀態(tài),程序?qū)粩嗟剡M(jìn)行編碼操作,每產(chǎn)生一楨編碼的數(shù)據(jù)后便將數(shù)據(jù)寫入nRF2401A,再進(jìn)行無線發(fā)送。一旦KEY1鍵釋放,系統(tǒng)停止錄音,并自行切換nRF2401A的工作方式為接收,同時(shí)允許1KHz中斷。程序流程如下圖所示:圖5-5錄音子程序5.2.2放音子程序在檢測到語音播放允許標(biāo)志PlayFlag值變?yōu)?xFF后,系統(tǒng)進(jìn)入放音子程序。初始化編碼隊(duì)列,并且開始語音播放;如果PlayFlag的值一直是0xFF,程序?qū)恢边M(jìn)行DVR解碼操作。一旦PlayFlag的值不為0xFF,系統(tǒng)停止放音。程序流程如下圖5-6所示:圖5-6放音子程序5.3初始化初始化函數(shù)voidnRF2401_Initial(void)的程序包括端口初始化和向芯片寫入控制字操作,初始化流程如圖5-7所示:圖5-7初始化流程5.3.1初始化程序SPCE061A單片機(jī)的初始化:初始化I/O將會把nRF2401A模塊用到的所有接口初始化為對應(yīng)的輸入輸出屬性;設(shè)置系統(tǒng)時(shí)鐘為49MHz,用來提高通信的速度,及延時(shí)的準(zhǔn)確性。nRF2401A初始化:對nRF2401A的初始化包括nRF2401A的上電和向nRF2401A寫入控制字。nRF2401A上電也就是將芯片的PWR_UP管腳設(shè)置為高電平,上電以后便可以對nRF2401A進(jìn)行控制和讀寫操作。nRF2401A一共有18Byte(144bit)的命令字,下面逐位介紹其作用。bit143~bit120:測試保留區(qū)測試保留區(qū)用戶不需設(shè)置。bit119~bit112:通道2接收數(shù)據(jù)長度(bit)通道2接收數(shù)據(jù)的長度Data2_W,用于接收。如果通道2接收到一幀數(shù)據(jù),在去掉地址和校驗(yàn)位后,其數(shù)據(jù)長度和bit119~bit112值一致,則認(rèn)為通道2接收到一幀數(shù)據(jù),置位DR2,否則丟棄。bit111~bit104:通道1接收數(shù)據(jù)長度(bit)通道1接收數(shù)據(jù)的長度Data1_W,用于接收。如果通道1接收到一幀數(shù)據(jù),去掉地址和校驗(yàn)位后,其數(shù)據(jù)長度和bit111~bit104值一致,則認(rèn)為通道1接收到一幀數(shù)據(jù),置位DR1,否則丟棄。通道1和通道2的數(shù)據(jù)長度受nRF2401A幀數(shù)據(jù)總長度限制,幀數(shù)據(jù)總長度為256bit,每一幀的數(shù)據(jù)長度Data_W<=256–Addr_W–CRC。bit103~bit64:通道2地址通道2的地址Addr_2,用于接收。設(shè)置本機(jī)地址,通信過程中,發(fā)射端通過配置該地址發(fā)送數(shù)據(jù)才能與之通信。bit63~bit24:通道1地址通道1的地址Addr_1,用于接收。設(shè)置本機(jī)地址,通信過程中,發(fā)射端通過配置該地址發(fā)送數(shù)據(jù)才能與之通信。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的地址為00000105bit17:CRC校驗(yàn)位選擇選擇CRC校驗(yàn)位數(shù),用于收發(fā)。如果該位為“0”,則CRC校驗(yàn)為8位;如果該位為“1”,則CRC校驗(yàn)為16位;bit16:CRC校驗(yàn)使能使能CRC校驗(yàn),用于收發(fā)。如果該位為“0”,則不進(jìn)行CRC校驗(yàn);如果該位為“1”,則進(jìn)行CRC校驗(yàn)。bit15:通道2接收使能通道2的接收允許,用于接收。如果該位為“0”,則僅有通道1可以接收;如果該位為“1”,則通道1和通道2均可接收。注意通道1通道2同時(shí)接收時(shí),通道2的接收頻率比通道1的收發(fā)頻率高8MHz。bit14:收發(fā)模式選擇該位決定nRF2401A的收發(fā)方式,用于收發(fā)。如果該位為“0”,nRF2401A工作在Direct模式(直接收發(fā)模式);如果該位為“1”,nRF2401A工作在ShockBurst模式。Direct模式在此不作詳細(xì)介紹,用戶如果使用,可以參考芯片的數(shù)據(jù)手冊;ShockBurst收發(fā)操作會在后面重點(diǎn)介紹。bit13:RF波特率選擇nRF2401A通信的波特率選擇位,用于收發(fā)。如果該位為“0”,則選擇250Kbps波特率;如果該位為“1”,則選擇1Mbps波特率。前者的通信誤碼率較低,如果速度沒有嚴(yán)格要求,通常選擇bit12~bit10:芯片外晶振選擇nRF2401A的外晶振選擇,nRF2401A支持5種不同頻率的晶振,隨著外晶振頻率的不同,bit12~bit10值也不同,系統(tǒng)選用16M晶振,bit12~bit10值為011bit9~bit8:RF發(fā)射功率選擇nRF2401A發(fā)射功率選擇,用于發(fā)射。nRF2401A有4種不同的發(fā)射功率,通常我們選擇最大發(fā)射功率0dBm,取bit9~bit8值為11。5.4數(shù)據(jù)發(fā)送程序nRF2401A采用ShockBurst的方式發(fā)送數(shù)據(jù)。單片機(jī)向nRF2401A傳送數(shù)據(jù)的函數(shù)有下列4個(gè):(1)voidnRF2401_SendByte(unsignedintTxData),用于發(fā)送一個(gè)字節(jié)數(shù)據(jù);(2)voidnRF2401_SendWord(unsignedintTxData),用于發(fā)送一個(gè)字?jǐn)?shù)據(jù);(3)voidnRF2401_SendBuffer_Byte(unsignedintTxData[],unsignedintDataByte),用于發(fā)送一個(gè)字節(jié)數(shù)組;(4)voidnRF2401_SendBuffer_Word(unsignedintTxData[],unsignedintDataWord),用于發(fā)送一個(gè)字?jǐn)?shù)組。以上幾個(gè)函數(shù)的流程都是一樣的,只是發(fā)送數(shù)據(jù)的長度不同。發(fā)送數(shù)據(jù)流程時(shí),單片機(jī)向nRf寫入接受機(jī)的地址,然后在寫入目標(biāo)數(shù)據(jù),延時(shí)然后再進(jìn)行發(fā)送。具體流程如圖5-8:圖5-8發(fā)送流程單片機(jī)向nRF2401A發(fā)送數(shù)據(jù)的時(shí)序如圖5-9所示:圖5-9發(fā)送數(shù)據(jù)時(shí)序MSB發(fā)送到LSB數(shù)據(jù)的格式如圖5-10:圖5-10數(shù)據(jù)格式其中An~A0為接收機(jī)地址,不會超過40位,通過更換地址,可以向多個(gè)nRF2401A模塊發(fā)送數(shù)據(jù);Dk~D0為待發(fā)送的數(shù)據(jù)。以上數(shù)據(jù)是由單片機(jī)發(fā)送到nRF2401A之后,nRF2401A將會進(jìn)行打包并發(fā)射,打包后的數(shù)據(jù)格式如圖5-11:圖5-11數(shù)據(jù)格式其中Pre為8位的校驗(yàn)頭,CRC為8位或16位的校驗(yàn)尾,在ShockBurst模式下由nRF2401A自動添加。需要注意的是:1、Address、Data、CRC的位數(shù)之和不超過256;2、Address長度必須和目標(biāo)接接收通道的地址一致(數(shù)據(jù)和長度);3、Data長度必須和目標(biāo)接接收通道的接收數(shù)據(jù)寬度一致。4、發(fā)射端和接收端的RF頻率須一致,如兩端均采用通道1,則二者控制字的bit7~bit1一致,如接收端采用通道2,則發(fā)射端bit7~bit1值比接收端bit7~bit1值大8。函數(shù)的使用:voidnRF2401_SetAddress(unsignedintAddress[],unsignedintAddrByte):設(shè)置目標(biāo)nRF2401A的地址,發(fā)送端在發(fā)送數(shù)據(jù)前調(diào)用,只需要一次即可。其中Address[]數(shù)組為目標(biāo)nRF2401A地址,AddrByte為有效地址的字節(jié)數(shù)。voidnRF2401_SendByte(unsignedintTxData):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字節(jié)數(shù)據(jù)TxData);voidnRF2401_SendWord(unsignedintTxData):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字?jǐn)?shù)據(jù)TxData);voidnRF2401_SendBuffer_Byte(unsignedintTxData[],unsignedintDataByte):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字節(jié)數(shù)組TxData[]),其中DataByte為數(shù)組元素個(gè)數(shù);voidnRF2401_SendBuffer_Word(unsignedintTxData[],unsignedintDataWord):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字?jǐn)?shù)組TxData),其中DataWord為數(shù)組元素個(gè)數(shù)。5.5數(shù)據(jù)接收程序當(dāng)接收端成功接收到數(shù)據(jù)后,系統(tǒng)將會置位對應(yīng)的數(shù)據(jù)請求管腳DR1/DR2,單片機(jī)通過查詢該管腳狀態(tài),或者通過中斷方式接收數(shù)據(jù),nRF2401A讀取數(shù)據(jù)的函數(shù)有兩個(gè):(1)voidnRF2401_ReceiveByte(unsignedintRxData[]),以Byte格式從nRF2401A讀取數(shù)據(jù);(2)voidnRF2401_ReceiveWord(unsignedintRxData[]),以Word格式從nRF2401A讀取數(shù)據(jù)。以上兩個(gè)函數(shù)的操作流程是一樣的,只是存儲的數(shù)據(jù)格式不同單片機(jī)讀取數(shù)據(jù)流程圖如圖5-12:圖5-12讀取數(shù)據(jù)流程單片機(jī)從nRF2401A讀取數(shù)據(jù)的時(shí)序如圖5-13圖5-13讀取數(shù)據(jù)時(shí)序函數(shù)的使用:voidnRF2401_ReceiveByte(unsignedintRxData[]):以Byte格式從nRF2401A讀取數(shù)據(jù),接收數(shù)據(jù)存儲在數(shù)組RxData[]中。voidnRF2401_ReceiveWord(unsignedintRxData[]):以Word格式從nRF2401A讀取數(shù)據(jù),接收數(shù)據(jù)存儲在數(shù)組RxData[]中。5.5其他程序其他程序如下:voidnRF2401_ON():nRF2401A上電操作,在初始化nRF2401A之前執(zhí)行該操作;voidnRF2401_OFF():nRF2401A掉電操作,在需要重新初始化nRF2401A時(shí)執(zhí)行該操作;voidnRF2401_Mode(unsignedintuiMode):nRF2401A收/發(fā)模式切換,uiMode=0,設(shè)置nRF2401A為接收;uiMode=1,設(shè)置nRF2401A為發(fā)送;unsignedintnRF2401_RxStatus():判斷nRF2401A是否有數(shù)據(jù)接收,如果已經(jīng)接收到數(shù)據(jù),返回值為“1”,如果沒有接收到數(shù)據(jù),返回值為“0”。5.6系統(tǒng)編程簡介系統(tǒng)為兩部分,兩部分的硬件連接是一樣的,都是spec061a與nRF模塊的結(jié)合,系統(tǒng)編程主要是為了實(shí)現(xiàn)系統(tǒng)兩部分之間的雙向無線數(shù)據(jù)交流。為了方便陳述,把系統(tǒng)分為1機(jī)和2機(jī)。1機(jī)發(fā)送數(shù)據(jù)時(shí),2機(jī)接收;2機(jī)發(fā)送數(shù)據(jù)時(shí),1機(jī)接收;1機(jī)向2機(jī)發(fā)送一個(gè)數(shù)據(jù)之后進(jìn)入接收狀態(tài),2機(jī)接收到數(shù)據(jù)后返回1機(jī),1機(jī)接收到數(shù)據(jù)后進(jìn)入Sleep。5.6.1系統(tǒng)軟件要求:地址:32bit地址(1機(jī)和2機(jī)接收端地址一樣:0x00000001)碼率:250Kbps數(shù)據(jù):每幀1Byte頻率:2.40GHz通道:通道1CRC:16位5.6.1.2系統(tǒng)編程簡易分析發(fā)送的控制字:bit17~bit16:11,16位CRCbit15:0,單通道(通道1接收,通道2不接收)bit14:1,ShockBurst模式bit13:0,波特率250Kbpsbit12~bit10:011,16M晶振bit9~bit8:11,發(fā)射功率0dBmbit7~bit1:0000000(0x0),收發(fā)頻率2.4GHzbit0:0,發(fā)送模式。A套作為接收的控制字:bit111~bit104:00001000(0x08),接收數(shù)據(jù)寬度1Bytebit63~bit24:0000000000000000000000000000000000000001(0x0000000001),通道1地址bit23~bit18:100000(0x20),通道1地址有效位32位,故通道1地址為(0x0000001)bit17~bit16:11,16位CRCbit15:0,單通道(通道1接收,通道2不接收)bit14:1,ShockBurst模式bit13:0,波特率250Kbpsbit12~bit10:011,16M晶振bit7~bit1:0000000(0x0),收發(fā)頻率2.4GHzbit0:1,接收模式。綜合上述情況,初始化命令字InitData[15]={0x00,//通道二接收數(shù)據(jù)寬度0x08,//通道一接收數(shù)據(jù)寬度0x00,//通道二地址0x00,//通道二地址0x00,//通道二地址0x00,//通道二地址0x00,//通道二地址0x00,//通道一地址0x00,//通道一地址0x00,//通道一地址0x00,//通道一地址0x01,//通道一地址0x83,//接收地址寬度(32位)//b17~b16:CRC模式選擇(16bit)0x4F,//b15:接收通道選擇,通道1接收//b14:收發(fā)模式(ShockBurst模式)//b13:波特率選擇(250Kbps)//b12~b10:晶振選擇(16M)0x64//b7~b1:收發(fā)頻率(2.45GHz)//b0:收發(fā)控制(接收/發(fā)送)}只需要在程序中切換控制字bit0的值,即可切換nRF2401A無線模塊的收發(fā),該切換操作由函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)健康與員工績效關(guān)聯(lián)研究
- 漳州2025年福建漳州市詔安縣招聘公辦學(xué)校編外特崗高中教師27人筆試歷年參考題庫附帶答案詳解
- 河南2025年河南大學(xué)專職輔導(dǎo)員(博士)招聘12人筆試歷年參考題庫附帶答案詳解
- 杭州浙江杭州市勝利筧成幼兒園編外招聘筆試歷年參考題庫附帶答案詳解
- 揚(yáng)州江蘇揚(yáng)州市江都中醫(yī)院招聘備案制專業(yè)技術(shù)人員5人筆試歷年參考題庫附帶答案詳解
- 廣西2025年廣西農(nóng)業(yè)科學(xué)院經(jīng)濟(jì)作物研究所招聘筆試歷年參考題庫附帶答案詳解
- 宿州2025年安徽宿州十一中教育集團(tuán)教師招聘22名筆試歷年參考題庫附帶答案詳解
- 寧德2025年福建寧德市周寧縣教育局招聘緊缺急需及高層次人才11人筆試歷年參考題庫附帶答案詳解
- 吉林2025年吉林省檢察機(jī)關(guān)從吉林司法警官職業(yè)學(xué)院中招聘聘用制文職人員12人筆試歷年參考題庫附帶答案詳解
- 南通江蘇南通市海門區(qū)工商業(yè)聯(lián)合會招聘政府購買服務(wù)人員筆試歷年參考題庫附帶答案詳解
- T/CHES 42-2020水質(zhì)涕滅威、克百威和甲萘威的測定液相色譜法
- 人防車位管理合同協(xié)議書
- DB37-T2119-2025轉(zhuǎn)爐煤氣干法電除塵系統(tǒng)安全技術(shù)要求
- 《金融大數(shù)據(jù)分析》-課件 第3章 線性回歸
- 廣東省佛山市2024-2025學(xué)年高二上學(xué)期期末考試 語文 含解析
- 中藥材及中藥飲片知識培訓(xùn)
- 2024年臺州三門農(nóng)商銀行招聘筆試真題
- 高一政治必修1、必修2基礎(chǔ)知識必背資料
- DB4114T 105-2019 黃河故道地區(qū)蘋果化學(xué)疏花疏果技術(shù)規(guī)程
- 如何高效向GPT提問
- JT-T-969-2015路面裂縫貼縫膠
評論
0/150
提交評論