




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 1 緒論緒論 1.11.1 本課題研究的目的和意義本課題研究的目的和意義 目前,無線數(shù)據(jù)通信的應(yīng)用領(lǐng)域越來越多,移動(dòng)通信技術(shù)飛速發(fā)展,越來越多的 信息采集和遠(yuǎn)程控制系統(tǒng)采用了無線傳輸技術(shù),由于無線數(shù)據(jù)通信不用布線,快速布局, 因此具有有線數(shù)據(jù)通信無法比擬的便捷性,在物體運(yùn)動(dòng)場合具有不可替代性。并且隨 著無線技術(shù)的日益發(fā)展,無線傳輸技術(shù)應(yīng)用越來越被各行各業(yè)所接受?,F(xiàn)在無線傳輸 技術(shù)已經(jīng)遠(yuǎn)遠(yuǎn)超出了廣播通信的范圍,應(yīng)用日益廣泛,如無線電導(dǎo)航,無線電定位等 許多領(lǐng)域,還有人進(jìn)行無線電力傳輸。無線傳輸在生活中的應(yīng)用也日益廣泛,車輛監(jiān) 控、遙控、遙測、小型無線網(wǎng)絡(luò)、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)
2、據(jù)采集系 統(tǒng)、水文氣象監(jiān)控、機(jī)器人控制、無線遙控門、數(shù)字音頻、數(shù)字圖像傳送等生活各個(gè) 方面1。 單片機(jī)以其高可靠性、高性價(jià)比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器 儀表、辦公自動(dòng)化等諸多領(lǐng)域得到廣泛的應(yīng)用。在一些特殊的應(yīng)用場合中,單片機(jī)之間 的遠(yuǎn)程通信不能采用有線的數(shù)據(jù)傳輸,例如采用有線的串、并行總線、I2C 總線、CAN 總線等,而是需要無線數(shù)據(jù)傳輸。目前市場上出現(xiàn)了多種無線數(shù)據(jù)傳輸模塊,如 nRF2401、nRF905、PTR4000 等。無線數(shù)據(jù)收發(fā)模塊的性能優(yōu)異,其顯著的特點(diǎn)是所需 外圍組件少,因而設(shè)計(jì)非常方便。模塊在內(nèi)部集成了高頻發(fā)射、高頻接受、PLL 合成、 FSK 調(diào)制/解調(diào)
3、、參數(shù)放大、功率放大、頻道切換等功能,是目前集成度較高的無線數(shù)據(jù) 傳輸產(chǎn)品2。無線傳輸系統(tǒng)主要以 STC89C51 單片機(jī)為控制處理核心,由它完成對數(shù)據(jù) 的存儲以及控制數(shù)據(jù)的無線傳輸。STC89C51 單片機(jī)是一種低功耗、低電壓、高性能的 8 位單片機(jī),片內(nèi)帶有一個(gè) 8KB 的可編程、可擦除、只讀存儲器3。無線收發(fā)模塊 nRF2401 性能優(yōu)異,傳輸穩(wěn)定,在業(yè)界居領(lǐng)先水平,它的顯著特點(diǎn)是所需外圍組件少, 因而設(shè)計(jì)非常方便。 應(yīng)用于單片機(jī)程序開發(fā)的語言有機(jī)器語言、匯編語言和高級語言。匯編語言和機(jī) 器語言一樣,都脫離不開具體的機(jī)器,因此這兩種語言均為“面向機(jī)器”的語言。高 級語言都是一些參照數(shù)學(xué)語
4、言而設(shè)計(jì)的近似于人們?nèi)粘S谜Z的語言。C 語言是高級語言 的一種,它不僅直觀、易學(xué)、易懂,而且通用性強(qiáng),易于移植到不同類型的機(jī)器中4。 和匯編語言相比,C 語言有很多優(yōu)勢,ANSI 標(biāo)準(zhǔn)的 C 語言是一種非常方便并獲得廣泛 應(yīng)用,在絕大部分系統(tǒng)中都能夠很容易得到的語言,如果需要,現(xiàn)有的程序還可以很 快的移植到其它處理器上。為了適應(yīng) C 語言廣泛應(yīng)用的形勢發(fā)展,掌握運(yùn)用 KEIL 編譯 器開發(fā)單片機(jī)程序設(shè)計(jì)的思想和方法是極其必要的。KEIL C51 編譯器是一個(gè)針對 C51 系列 MCU 的基于 ANSI C 標(biāo)準(zhǔn)的 C 編譯器,生成可執(zhí)行代碼快速、緊湊,在運(yùn)行效率 上可以和匯編程序相媲美 34
5、。 1.21.2 課題研究的內(nèi)容與組成課題研究的內(nèi)容與組成 本題目是設(shè)計(jì)聲音導(dǎo)引系統(tǒng)中的無線傳輸模塊。利用無線傳輸模塊設(shè)計(jì)聲音導(dǎo)引 系統(tǒng)中導(dǎo)引信息的發(fā)送和接收電路。利用 STC89C51 單片機(jī)對無線模塊進(jìn)行控制,實(shí)現(xiàn) 聲音信號的傳輸,進(jìn)而控制小車的運(yùn)動(dòng)。在本文中,主要說明了單片機(jī)和無線數(shù)據(jù)收 發(fā)模塊 nRF2401 的組合,形成單片機(jī)的無線數(shù)據(jù)傳輸系統(tǒng),與移動(dòng)小車進(jìn)行無線數(shù)據(jù)傳 輸。包括:如何針對系統(tǒng)的需求選擇合適的無線數(shù)據(jù)傳輸模塊器件,如何根據(jù)選擇的器 件設(shè)計(jì)外圍電路和單片機(jī)的接口電路,如何編寫控制無線數(shù)據(jù)傳輸器件進(jìn)行數(shù)據(jù)傳輸?shù)?單片機(jī)程序。 1.31.3 本章小結(jié)本章小結(jié) 本章簡單介紹了
6、課題研究的目的和意義,以及介紹了本次課題的主要內(nèi)容和組成。 通過本章的介紹,很清楚的了解到,無線傳輸?shù)默F(xiàn)狀,以及無線傳輸?shù)陌l(fā)展前景- 無線你的無限。下一章將對無線傳輸系統(tǒng)總體分析和論證。 2 2 短距離無線數(shù)據(jù)傳輸系統(tǒng)分析設(shè)計(jì)短距離無線數(shù)據(jù)傳輸系統(tǒng)分析設(shè)計(jì) 在聲音導(dǎo)引系統(tǒng)中無線傳輸模塊的關(guān)鍵器件是主控單片機(jī)和無線收發(fā)芯片。無線 收發(fā)芯片的種類和數(shù)量比較多,如何在設(shè)計(jì)中選擇所需要的芯片非常關(guān)鍵。我們可根 據(jù)以下標(biāo)準(zhǔn)來選擇芯片或模塊。發(fā)送和接收電路應(yīng)具有低功耗的工作模式,這樣在無 線模塊暫停工作時(shí)可以盡可能的節(jié)能。當(dāng)然數(shù)據(jù)傳輸?shù)木幋a方式,外圍組件數(shù)量,發(fā) 射功率,大小尺寸也應(yīng)在考慮的范圍之內(nèi)。同時(shí)
7、在選擇單片機(jī)時(shí)需要考慮到是否滿足 相應(yīng)射頻芯片的接口,能夠可靠穩(wěn)定的控制模塊進(jìn)行無線數(shù)據(jù)通信。 2.12.1 聲音導(dǎo)引系統(tǒng)無線傳輸總體方案聲音導(dǎo)引系統(tǒng)無線傳輸總體方案 根據(jù)對課題的分析和設(shè)計(jì)要求,本課題主要是解決主控模塊對移動(dòng)聲源在移動(dòng)過 程中的定位控制,即涉及到無線傳輸?shù)脑O(shè)計(jì)。無線傳輸模塊分為兩個(gè)部分,主控制模 塊控制發(fā)送模塊,移動(dòng)聲源上搭載的從控制模塊控制接收模塊。現(xiàn)確定以下總體工作 方案,如圖 2.1 所示。聲音接收和處理模塊將接受到的聲音信號,在主控制模塊的控 制下,通過計(jì)算分析,產(chǎn)生一個(gè)可移動(dòng)聲源離指定位置的誤差信號,然后將控制移動(dòng) 聲源的數(shù)據(jù)通過無線發(fā)送模塊發(fā)送出去。同時(shí)無線接收模
8、塊迅速接收到數(shù)據(jù),并將數(shù) 據(jù)傳輸給移動(dòng)聲源,對移動(dòng)聲源進(jìn)行實(shí)時(shí)控制5。 聲 音 處 理 模 塊 主 控 制 模 塊 移 動(dòng) 聲 源 模 塊 從 控 制 模 塊 無 線 接 收 模 塊 無 線 發(fā) 送 模 塊 圖 2.1 短距離無線傳輸示意圖 2.22.2 控制模塊的選擇方案和論證控制模塊的選擇方案和論證 對于控制系統(tǒng)的選擇應(yīng)在滿足系統(tǒng)要求的基礎(chǔ)上選擇可靠性高,性價(jià)比高的,易 于上手控制的芯片。現(xiàn)有以下方案可供選擇: 方案一:采用高性能嵌入式系統(tǒng),比如 ARM。ARM 技術(shù)具有性能高、成本低和能耗 省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP 和移動(dòng)式應(yīng)用 等。如果采用此方
9、案,可以很好的解讀數(shù)據(jù)處理和控制功能,但是對 ARM 很少接觸, 在短時(shí)間內(nèi)完成困難比較大。 方案二:采用大規(guī)模可編程邏輯器件,如 FPGA,CPLD。FPGA(FieldProgrammable Gate Array) ,即現(xiàn)場可編程門陣列,它是 在 PAL、GAL、CPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路 (ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原 有可編程器件門電路數(shù)有限的缺點(diǎn)。但 FPGA 一般來說比 ASIC(專用集成芯片)的速度 要慢,無法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。本題屬于控制類,不適合采用此 方案。 方案三
10、:采用兩片高性能單片機(jī)來實(shí)現(xiàn),單片機(jī)是一種集成在電路芯片,是采用 超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU 隨機(jī)存儲器 RAM、只讀存 儲器 ROM、多種 I/O 口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、 脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D 轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小 而完善的計(jì)算機(jī)系統(tǒng)。因曾經(jīng)對 51 系列單片機(jī)使用接觸過,對其有一定得實(shí)踐過程, 在此選用 STC89C51 單片機(jī)。一片用來處理音頻信號接收和無線傳輸芯片的發(fā)送,同時(shí) 控制車載單片機(jī),擔(dān)當(dāng)主控單片機(jī)。另一塊作為從控單片機(jī),用來控制小車運(yùn)動(dòng)和無 線傳輸芯片的接收6。 綜上所
11、述,考慮到方案的可實(shí)行性和性價(jià)比,擬采用方案三作為主控系統(tǒng),選用 STC89C51 單片機(jī),其可實(shí)現(xiàn)高速運(yùn)算,存儲空間大,價(jià)格低廉,性價(jià)比極高。 2.32.3 無線傳輸模塊的選擇方案和論證無線傳輸模塊的選擇方案和論證 現(xiàn)在市面上有很多短距離無線傳輸模塊,在此要通過具體的要求選用適宜的模塊, 應(yīng)注意低功耗處理和力求高性價(jià)比等細(xì)節(jié)。通過選用合適的無線傳輸模塊并配合外圍 電路即可實(shí)現(xiàn)聲音導(dǎo)引系統(tǒng)中的無線傳輸模塊5。但進(jìn)行無線傳輸也有很多方案可供 選擇,有比較傳統(tǒng)的無線傳輸模式,也有最近幾年剛剛發(fā)展的無線傳輸模式。無線傳 輸?shù)男盘柷Р钊f別,各個(gè)模塊包含的具體器件也不一而,但其基本模塊圖都是相似的。 方
12、案一:采用紅外線技術(shù)通信,紅外通信器件易得,價(jià)格低廉,基本上紅外線跟 藍(lán)牙同樣都是無線傳輸,但是使用的頻帶不同。紅外線的原理就是利用可視紅光光譜 之外的不可視光,就因?yàn)榧t外線也是光的一種,所以它也同樣具有光的特性,它無法穿 越不透光的物體。使用者并不需要使用執(zhí)照即可以使用紅外線。例如,低速紅外線 (Slow IR)應(yīng)用在電視遙控器上己有相當(dāng)長的一段時(shí)間了,其它像是錄像機(jī)、音響等 遙控器也是。電視遙控器將特定的訊號編碼,然后透過紅外線通訊技術(shù)將編碼送出, 而設(shè)置在電視上的紅外線接收器收到編碼之后,將其進(jìn)行譯碼而得到原來的訊號。例 如,電視端解得的訊號為加大音量,則譯碼后即進(jìn)行加大音量的動(dòng)作。低速
13、紅外線是 指其傳輸速率在每秒 115.2Kbits 者而言,它適用于傳送簡短的訊息、文字或是檔案。 有低速紅外線也有高速紅外線(Fast IR) ,它是指傳輸速率在每秒 1 或是 4Mbits 者而 言,其它更高傳輸速率則仍在發(fā)展中。對于網(wǎng)絡(luò)解決方案而言,高速紅外線可以說是 其基礎(chǔ),包括檔案傳輸、局域網(wǎng)絡(luò)連結(jié)甚至是多媒體傳輸。 但因其無法穿透墻壁傳輸,這也構(gòu)成其缺點(diǎn)之一。另一方面,紅外線也是一種低 成本的無線傳輸形式。視線紅外線以射線般的直線形態(tài)傳輸數(shù)據(jù),因?yàn)槠溥\(yùn)動(dòng)是以直 線前進(jìn),如果傳輸?shù)穆吠局袥]有任何的障礙物,則數(shù)據(jù)的傳輸可以說相當(dāng)快速且具有 效率的,因?yàn)榧t外線也是光的一種,所以它前進(jìn)的速
14、度為光速。但是就像太陽光一樣, 紅外線不能穿透墻壁或是大型物體,所以,在數(shù)據(jù)收發(fā)的兩端必須相互對準(zhǔn)(即可以 看得見對方)才能進(jìn)行通訊,這對行動(dòng)通訊可能常常移動(dòng)位置的情形而言,是非常不 利的,而且容易受到下雨、下雪或是霧氣的干擾。但必須直線收發(fā)是其致命弱點(diǎn)7。 方案二:采用無線藍(lán)牙傳輸。藍(lán)牙是一種支持設(shè)備短距離通信(一般 10m 內(nèi))的 無線電技術(shù),是為替代電纜而開發(fā)出來的。能在包括移動(dòng)電話、PDA、無線耳機(jī)、筆記 本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進(jìn)行無線信息交換。利用藍(lán)牙技術(shù),能夠有效地簡 化移動(dòng)通信終端設(shè)備之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬 道路。藍(lán)牙采用分布式網(wǎng)絡(luò)結(jié)構(gòu)以
15、及快跳頻和短包技術(shù),支持點(diǎn)對點(diǎn)及點(diǎn)對多點(diǎn)通信, 工作在全球通用的 2.4GHz ISM(即工業(yè)、科學(xué)、醫(yī)學(xué))頻段。其數(shù)據(jù)速率為 1Mbps。 采用時(shí)分雙工傳輸方案實(shí)現(xiàn)全雙工傳輸。現(xiàn)在藍(lán)牙已成為短距離無線通信的一種很熱 門的技術(shù)。該種方案傳輸性能好,能夠?qū)崿F(xiàn)中長距離的無線傳輸,不過價(jià)格昂貴,集 成度高,所需圍電路復(fù)雜,用此方案有些大材小用,且性價(jià)比低8。 方案三:采用中短距離無線射頻模塊,如 nRF2401、nRF905 系列的模塊,應(yīng)用及 編程非常簡單,傳送的效率很高。硬件電路主要涉及到無線傳輸模塊的選擇,擬采用 對比,檢測的手段,從性價(jià)比,傳輸速率,可靠性等方面進(jìn)行選擇。目前射頻無線傳 輸模
16、塊有 nRF2401、nRF905、nRF24L01、RF903 等,通過進(jìn)一步對比選用 nRF2401 無線 傳輸模塊。nRF2401 具有低功耗的工作模式,且傳輸速率能達(dá)到 1Mbps,很好的滿足本 設(shè)計(jì)的要求。同時(shí)通過編程用 51 單片機(jī) I/0 口模擬 SPI,不需要單片機(jī)真正的串口介 入,只需要 51 單片機(jī) I/O 口就可以。在目前較為流行的無線收發(fā)芯片中,無論是從使 用的方便性、傳輸速度還是輸出功率等各個(gè)方面,nRF401 均不失為一種較為理想的無 線數(shù)據(jù)傳輸芯片。Nordic 公司的 nRF2401 為無線收發(fā)一體芯片,和藍(lán)牙一樣,同樣工作 在 2.4-2.5GHz 的 ISM
17、 波段。nRF2401 外圍組件僅 10 個(gè)左右,無需變?nèi)莨艿劝嘿F的組件, 只需要便宜且易于獲得的 16MHz 晶體,收發(fā)天線合一。并且綜合功耗較小,發(fā)射功率較 高。nRF2401 的單價(jià)低于 3 美元,而且便于開發(fā),產(chǎn)品上市時(shí)間長,應(yīng)用廣泛,包括無線鼠 標(biāo)、無線鍵盤、無線操縱桿、無縫接入、無線數(shù)據(jù)傳輸、汽車應(yīng)用等。此方案相對于 藍(lán)牙傳輸電路簡單,價(jià)格低廉,相對性價(jià)比高,完全可以滿足本系統(tǒng)要求69。 綜上所述,選擇方案三采用無線收發(fā)模塊 nRF2401 傳輸,其具有高可靠性,傳輸 速度快,相比其它方案更具低功耗,性價(jià)比高,且容易上手。 2.42.4 無線傳輸系統(tǒng)軟件設(shè)計(jì)語言方案無線傳輸系統(tǒng)軟件
18、設(shè)計(jì)語言方案 方案一:采用匯編語言,匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時(shí)具有 機(jī)器語言全部優(yōu)點(diǎn)。但在編寫復(fù)雜程序時(shí),相對高級語言代碼量較大,而且匯編語言 依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間 移植。 方案二:采用 C 語言,它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可 以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫 不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上, 而且各類科研都需要用到 C 語言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。由于 C 語言允許直接訪問物理地址,可以直接對硬件進(jìn)行
19、操作,因此能夠像匯編語言一樣對 位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可用來寫系統(tǒng)軟件。 此外, C 語言生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高具有很強(qiáng)的通用性,C 語言具有強(qiáng) 大的繪圖能力,可移植性好,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此編寫系統(tǒng)軟件簡潔, 且程序設(shè)計(jì)自由度大,相對匯編語言更能明白易懂6。 綜上所述,選用方案二,用 C 語言進(jìn)行系統(tǒng)的軟件設(shè)計(jì)。 2.52.5 本章小結(jié)本章小結(jié) 本章介紹了對本次課題無線傳輸模塊各個(gè)器件以及軟件程序應(yīng)用的選擇,通過論 證各種方案的利弊和操作的簡便性以及各方案的性價(jià)比,選擇了以 STC89C51 單片機(jī)為 控制芯片,nRF2401 為無線
20、傳輸模塊的設(shè)計(jì)方案,以 C 語言編寫程序。下一章我們將要 在在方案確定的基礎(chǔ)上對硬件電路進(jìn)行設(shè)計(jì)。 3 3 基于基于 NRF2401NRF2401 無線傳輸硬件電路模塊設(shè)計(jì)無線傳輸硬件電路模塊設(shè)計(jì) 硬件電路連接實(shí)現(xiàn)單片機(jī)與 nRF2401A 芯片的接口連接。發(fā)送端與接收端硬件連接 幾乎一樣,具有通用性,可以實(shí)現(xiàn)半雙工通信。STC89C51 單片機(jī)沒有 SPI 接口,但可 以利用 I/O 口模擬 SPI 口,繼而與 nRF2401A 相連。由于 STC89C51 單片機(jī)的供電電壓 是 5V,而 nRF2401A 的供電范圍為 1.93.6V,為了使芯片正常工作,需要進(jìn)行電平轉(zhuǎn) 換和分壓處理。 3
21、.13.1 電壓轉(zhuǎn)換電路模塊設(shè)計(jì)電壓轉(zhuǎn)換電路模塊設(shè)計(jì) 由于 nRF2401 的供電電壓范圍為 1936V,超過 3.6V 將會(huì)燒毀模塊。而 STC89C51 單片機(jī)的供電電壓是 5 V,為了使芯片正常工作,需要進(jìn)行電平轉(zhuǎn)換。單電 源供電時(shí),采用 LM1117T 芯片進(jìn)行 5 v3.3 V 電平轉(zhuǎn)換。LM1117T 是一個(gè)低壓差電壓 調(diào)節(jié)器系列。其壓差在 1.2V 輸出,負(fù)載電流為 800mA 時(shí)為 1.2V。它與國家半導(dǎo)體的工 業(yè)標(biāo)準(zhǔn)器件 LM317 有相同的管腳排列。LM1117T 有 5 個(gè)固定電壓輸出 (1.8V、2.5V、2.85V、3.3V 和 5V)的型號。LM1117T 提供電流
22、限制和熱保護(hù)。電路包 含 1 個(gè)齊納調(diào)節(jié)的帶隙參考電壓以確保輸出電壓的精度在1%以內(nèi)10。 電路圖如圖 3.1 所示。輸入電壓經(jīng)過 LM1117T 芯片轉(zhuǎn)換,電壓由單片機(jī)輸出的 5V 電壓變?yōu)?3.3V 電壓,輸出端是一個(gè) 10uF 的鉭電容,用來改善瞬態(tài)響應(yīng)和穩(wěn)定性。滿 足 nRF2401A 芯片的電壓要求。 圖 3.1 電源電壓轉(zhuǎn)換原理圖 3.23.2 無線傳輸模塊無線傳輸模塊 nRF2401nRF2401 接口電路圖設(shè)計(jì)接口電路圖設(shè)計(jì) nRF2401A 是單片射頻收發(fā)芯片,工作于 2.42.5GHz ISM 頻段,芯片內(nèi)置頻率合 成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和
23、通信頻道可通過程 序進(jìn)行配置。芯片能耗非常低,以-5dBm 的功率發(fā)射時(shí),工作電流只有 10.5mA,接收 時(shí)工作電流只有 18mA,多種低功率工作模式滿足設(shè)計(jì)的要求,并且在做系統(tǒng)節(jié)能的設(shè) 計(jì)時(shí)更加方便。 3.2.1 nRF2401 芯片結(jié)構(gòu) nRF2401 內(nèi)置地址解碼器、先入先出堆棧區(qū)、解調(diào)處理器、時(shí)鐘處理器、GFSK 濾 波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,需要很少的外圍組件, 因此使用起來方便。nRF2401 的功能模塊如圖 3.2 所示。 圖 3.2 nRF2401A 功能模塊圖 3.2.2 nRF2401 引腳說明 nRF2401A 引腳功能如表 3.1 所示,通
24、過對引腳功能的了解和掌握,確定器件所能 執(zhí)行的任務(wù),并能很好的簡化硬件設(shè)計(jì)和軟件設(shè)計(jì)程序的編寫。 nRF2401 最高工作速率 1Mbps,高效 GFSK 調(diào)制,抗干擾能力強(qiáng)。125 頻道,滿足 多點(diǎn)通信和跳頻通信需要。其內(nèi)置硬件 CRC 檢錯(cuò)和點(diǎn)對多點(diǎn)通信地址控制,能更好的 檢測數(shù)據(jù)和防止誤碼率。此外在待機(jī)模式下狀態(tài)僅為 1uA ,能夠很好的節(jié)耗。內(nèi)置專 門穩(wěn)壓電路,使用各種電源包括 DC/DC 開關(guān)電源均有很好的通信效果。nRF2401 配置 外置天線,空曠地傳輸距離可達(dá) 50-100 米,具有更遠(yuǎn)的有效距離。與 51 系列單片機(jī) P0 口連接時(shí)候,需要加 10K 的上拉電阻,否則容易燒毀
25、模塊。 表 3.1 nRF2401A 引腳功能表 引腳名稱引腳功能描述 1CE 數(shù)字輸入使 NRF2401 工作于接收或發(fā)送狀態(tài) 2DR2 數(shù)字輸出頻道 2 接收數(shù)據(jù)準(zhǔn)備好 3CLK2 數(shù)字 I/O頻道 2 接收數(shù)據(jù)時(shí)鐘輸入/輸出 4DOUT2 數(shù)字輸出頻道 2 接收數(shù)據(jù) 5CS 數(shù)字輸入配置模式的片選端 6DR1 數(shù)字輸出頻道 1 接收數(shù)據(jù)準(zhǔn)備好 7CLK1 數(shù)字輸 I/O頻道 1 接收數(shù)據(jù)時(shí)鐘輸入/輸出 8DATA 數(shù)字輸 I/O頻道 2 接收/發(fā)送數(shù)據(jù)端 9DVDD 電源電源的正數(shù)字輸出 11、12XC1、 XC2模擬輸出、輸 入 晶振 1、晶振 2 13VDD_PA 電源輸出給功率放大
26、器提供 1.8V 的電壓 14、15ANT1、ANT2天線天線接口 1、天線接口 2 16VSS_PA 電源電源地 17、21、24 VDD 電源電源正端 19IREF 模擬輸入模數(shù)轉(zhuǎn)換的外部參考電壓 10、18、20、22 VSS 電源電源地 23PWR_UP 數(shù)字輸入芯片激活端 3.2.3 nRF2401 無線傳輸模塊接口 nRF2401 無線傳輸模塊使用 Nordic 公司的 nRF2401A 芯片開發(fā)而成。外置天線,具 有更小的尺寸,長度為 29mm,寬度為 16mm,電路圖如圖 3.3 所示。單片機(jī)通過 PWM_UP,CE, CS 三端設(shè)置 nRF2401 的工作模式。配置模式時(shí)單片
27、機(jī)通過 CLKI 和 DATA 端向 nRF2401 發(fā)送配置字,發(fā)送數(shù)據(jù)時(shí)通過 CLK1 和 DATA 端向 nRF2401 發(fā)送地址和數(shù) 據(jù),接收數(shù)據(jù)時(shí)通過 CLK1 和 DATA 端從 nRF2401 讀取數(shù)據(jù),DR1 是 nRF2401 通知單片機(jī) 已經(jīng)接收到數(shù)據(jù)并且可以讀取的狀態(tài)信號。CLK2、DOUT 和 DR2 端為通道二保留使用, nRF2401 可以同時(shí)接收兩路信號。 圖 3.3 nRF2401 模塊電路圖 其中無線模塊為標(biāo)準(zhǔn) DIP 插針,共 12 腳,排陣間距為 100mil,在電路設(shè)計(jì)中只 需要留出 12 針插槽,就可以很方便的插拔無線模塊。如圖 3.4 所示:11、1
28、2 腳為接地 腳,需要和母板的邏輯地連接起來,2 腳為接電壓端,需要和電壓轉(zhuǎn)換模塊輸出腳相連。 除電源 VCC 和接地端,其余腳都可以直接和普通的 5V 單片機(jī) I/O 口直接相連,無需電 平轉(zhuǎn)換212。 圖 3.4 無線模塊接口電路 3.33.3 單片機(jī)控制模塊電路設(shè)計(jì)單片機(jī)控制模塊電路設(shè)計(jì) 單片機(jī)工作的最小系統(tǒng)如圖 3.5 所示,包括電源線、地線,晶振的設(shè)計(jì)。能滿足 一般電路功能的實(shí)現(xiàn)要求11。 圖 3.5 單片機(jī)控制模塊電路 主控芯片選用的是 STC89C51 單片機(jī),STC89C51 是一款高性能、低功耗的 8Byte 微 控制器,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容的單
29、片機(jī)。具有豐富強(qiáng)大的外 部接口性能,32 可編程 I/O 線,可編程串行通道,片內(nèi)振蕩器和時(shí)鐘電路。其內(nèi)部結(jié) 構(gòu)如圖 3.6 所示。 圖 3.6 STC89C51 單片機(jī)內(nèi)部結(jié)構(gòu) STC89C51 單片機(jī)內(nèi)部主要包括累加器 ACC(有時(shí)也簡稱為 A)、程序狀態(tài)字 PSW、 地址指示器 DPTR、只讀存儲器 ROM、隨機(jī)存取存儲器 RAM、寄存器、并行 I/O 接口 P0P3、定時(shí)器/計(jì)數(shù)器以及定時(shí)控制邏輯電路等 6。其管腳圖如圖 3.7 所示。 圖 3.7 STC89C51 單片機(jī)管腳圖 STC89C51 單片機(jī) I/O 管腳功能介紹: P0 口:P0 口為一個(gè) 8 位漏級開路雙向 I/O 口
30、,每腳可吸收 8TTL 門電流。當(dāng) P0 口 的管腳第一次寫 1 時(shí),被定義為高阻輸入。P0 口與 nRF2401 接口連接時(shí)候,需要加 10K 的上拉電阻,否則容易燒毀模塊。 P1 口:P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為 低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因 此作為
31、輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P3 口:P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電 流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于 外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故11。 無線傳輸控制系統(tǒng)硬件電路圖如圖 3.8 所示,為防止 STC89C51 的 I/O 口電流過大 燒壞 nRF2401 模塊,在單片機(jī)與接口之間串聯(lián) 2K 歐姆電阻分壓,能滿足一般電路功能 的實(shí)現(xiàn)要求,如要實(shí)現(xiàn)其他功能,可在電路中擴(kuò)展。 圖 3.8 單片機(jī)控制系統(tǒng)電路圖 3.
32、43.4 本章小結(jié)本章小結(jié) 本章主要針對電路模塊設(shè)計(jì)部分進(jìn)行了具體的細(xì)化分析。分別從單片機(jī)的主模塊 設(shè)計(jì)、無線模塊設(shè)計(jì)等方面詳細(xì)的對電路部分進(jìn)行學(xué)習(xí)和對比,使得我們能夠更加清 晰的了解單片機(jī)控制無線傳輸模塊的電路和硬件部分的合理設(shè)計(jì)也要我們引起注意。 通過本章的介紹,可以了解了整個(gè)系統(tǒng)的硬件設(shè)計(jì)方案以及實(shí)現(xiàn)原理。下一章將具體 對無線傳輸系統(tǒng)軟件各部分的設(shè)計(jì)。 4 4 無線傳輸系統(tǒng)的軟件設(shè)計(jì)無線傳輸系統(tǒng)的軟件設(shè)計(jì) 系統(tǒng)軟件的設(shè)計(jì)是一個(gè)項(xiàng)目工程的精髓,好的程序設(shè)計(jì)能夠很好的彌補(bǔ)硬件的不 足,并能使系統(tǒng)的功能得到拓展。在本系統(tǒng)中,我采用的是分析,畫流程圖再編程序 的方法進(jìn)行設(shè)計(jì)。流程圖是程序的要點(diǎn),
33、能夠很好的指導(dǎo)程序的編寫,并能提高編寫 程序的效率。 4.14.1 利用利用 STC89C51STC89C51 的的 I/OI/O 口模擬口模擬 SPISPI 口口 SPI(Serial Peripheral Interface-串行外設(shè)接口)總線系統(tǒng)是一種同步串行 外設(shè)接口,它可以使 MCU 與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI 接口主 要應(yīng)用在 EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器 之間。外圍設(shè)置 FLASH RAM、網(wǎng)絡(luò)控制器、LCD 顯示驅(qū)動(dòng)器、A/D 轉(zhuǎn)換器和 MCU 等。SPI 總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍
34、器件直接接口,該接口一般使用 4 條 線:串行時(shí)鐘線(SCK) 、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線 MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線 MOSI 和低電平有效的從機(jī)選擇線 SS(有的 SPI 接口芯片帶有中斷信號線 INT 或 INT、 有的 SPI 接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線 MOSI) 。由于 SPI 系統(tǒng)總線一共只需 34 位數(shù)據(jù)線和控制即可實(shí)現(xiàn)與具有 SPI 總線接口功能的各種 I/O 器件進(jìn)行接口,而 擴(kuò)展并行總線則需要 8 根數(shù)據(jù)線、816 位地址線、23 位控制線,因此,采用 SPI 總線接口可以簡化電路設(shè)計(jì),節(jié)省很多常規(guī)電路中的接口器件和 I/O 口線,提高設(shè)計(jì) 的可靠性。
35、由此可見,在 MCS51 系列等不具有 SPI 接口的單片機(jī)組成的智能儀器和工業(yè)測控 系統(tǒng)中,當(dāng)傳輸速度要求不是太高時(shí),使用 SPI 總線可以增加應(yīng)用系統(tǒng)接口器件的種 類,提高應(yīng)用系統(tǒng)的性能15。 4.1.1 SPI 總線的組成 SPI 接口是在 CPU 和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈 沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比 I2C 總線要快,速度可達(dá)到 10Mbps。SPI 接口內(nèi)部硬件如圖 4.1 所示。SPI 接口是以主從方 式工作的,這種模式通常有一個(gè)主器件和一個(gè)或多個(gè)從器件,其接口包括以下四種信號: (1) MOSI 主
36、器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入; (2) MISO 主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出; (3) SCLK 時(shí)鐘信號,由主器件產(chǎn)生; (4) SS從器件使能信號,由主器件控制。 圖 4.1 SPI 接口內(nèi)部硬件圖 三線 SPI 組成:串行時(shí)鐘(SCLK)、串行數(shù)據(jù)輸出(SDO)、串行數(shù)據(jù)輸入(SDI)。SPI 總線可以實(shí)現(xiàn)多個(gè) SPI 設(shè)備互相連接。提供 SPI 串行時(shí)鐘的 SPI 設(shè)備為 SPI 主機(jī)或主 設(shè)備(Master),其它設(shè)備為 SPI 從機(jī)或從設(shè)備(Slave)。利用 SPI 總線可在軟件的控制 下構(gòu)成各種系統(tǒng)。如 1 個(gè)主 MCU 和幾個(gè)從 MCU、幾個(gè)從 MCU 相互連接構(gòu)成多主機(jī)
37、系統(tǒng) (分布式系統(tǒng)) 、1 個(gè)主 MCU 和 1 個(gè)或幾個(gè)從 I/O 設(shè)備所構(gòu)成的各種系統(tǒng)等。在大多數(shù) 應(yīng)用場合,可使用 1 個(gè) MCU 作為控機(jī)來控制數(shù)據(jù),并向 1 個(gè)或幾個(gè)從外圍器件傳送該 數(shù)據(jù)。從器件只有在主機(jī)發(fā)命令時(shí)才能接收或發(fā)送數(shù)據(jù)。SPI 總線接口系統(tǒng)的典型結(jié)構(gòu) 如圖 4.2 所示15。 SCK MOSI MISO MCU(主) I/O I/O I/O I/O 外圍器件 1外圍器件 2外圍器件 n SCK MOSI MISO MCU(從) CS 圖 4.2 SPI 總線接口系統(tǒng)的典型結(jié)構(gòu) 4.1.2 SPI 接口的原理和應(yīng)用 當(dāng)一個(gè)主控機(jī)通過 SPI 與幾種不同的串行 I/O 芯片
38、相連時(shí),必須使用每片的允許 控制端,這可通過 MCU 的 I/O 端口輸出線來實(shí)現(xiàn)。但應(yīng)特別注意這些串行 I/O 芯片的 輸入輸出特性:首先是輸入芯片的串行數(shù)據(jù)輸出是否有三態(tài)控制端。平時(shí)未選中芯片 時(shí),輸出端應(yīng)處于高阻態(tài)。若沒有三態(tài)控制端,則應(yīng)外加三態(tài)門。否則 MCU 的 MISO 端 只能連接 1 個(gè)輸入芯片。其次是輸出芯片的串行數(shù)據(jù)輸入是否有允許控制端。因此只 有在此芯片允許時(shí),SCK 脈沖才把串行數(shù)據(jù)移入該芯片。在禁止時(shí),SCK 對芯片無影響。 若沒有允許控制端,則應(yīng)在外圍用門電路對 SCK 進(jìn)行控制,然后再加到芯片的時(shí)鐘輸 入端。四線 SPI 模式用附加控制線,來允許從機(jī)數(shù)據(jù)的發(fā)送和接
39、收,它由主機(jī)控制。 SPI 接口是在 CPU 和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下, 數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,其工作原理圖如圖 4.3 所示。 SCKMOSIMISO 67014523 10763254 主機(jī) 從機(jī) 圖 4.3 SPI 工作原理圖 如果用通用 I/O 口模擬 SPI 總線,必須要有一個(gè)輸出口(SDO),一個(gè)輸入口(SDI), 另一個(gè)口則視實(shí)現(xiàn)的設(shè)備類型而定,如果要實(shí)現(xiàn)主從設(shè)備,則需輸入輸出口,若只實(shí) 現(xiàn)主設(shè)備,則需輸出口即可,若只實(shí)現(xiàn)從設(shè)備,則只需輸入口即可。SPI 不需要固定的 波特率,因?yàn)樗怯袝r(shí)鐘的協(xié)議。在多個(gè)從器件的系統(tǒng)中
40、,每個(gè)從器件需要獨(dú)立的使能 信號,硬件上比 I2C 系統(tǒng)要稍微復(fù)雜一些。SPI 接口在內(nèi)部硬件實(shí)際上是兩個(gè)簡單的移 位寄存器,傳輸?shù)臄?shù)據(jù)為 8 位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高 位在前,低位在后。SPI 接口工作時(shí)序如圖 4.4 所示,在 SCLK 的下降沿上數(shù)據(jù)改變,同時(shí) 一位數(shù)據(jù)被存入移位寄存器15。 圖 4.4 SPI 接口工作時(shí)序圖 4.1.3 利用 I/O 口模擬 SPI 使用 STC89C51 單片機(jī)的 I/O 口來模擬 SPI 的操作原理如圖 4.5 所示。 P2.2 2.1 CS P2.4 MOSI 射 頻 模 塊 89C52 CLK NRF2401P
41、2.5 DATA MISO MCU 單 片 機(jī) 圖 4.5 SPI 接口連接原理圖 I/O 口模擬 SPI 口流程圖如 4.6 所示。使用 P2.2、P2.5、P2.4 模擬 SPI 的 CS、DATA、CLK1。對于不同的串行接口外圍芯片,它們的時(shí)鐘時(shí)序是不同的。對于在 CLK 的上升沿輸入(接收)數(shù)據(jù)和在下降沿輸出(發(fā)送)數(shù)據(jù)的器件,將其串行時(shí)鐘輸 出口 CLK 的初始狀態(tài)設(shè)置為 0,而在接收后再置 CLK 為 1。這樣,單片機(jī)在輸出 1 位 CLK 時(shí)鐘的同時(shí),將 1 位數(shù)據(jù)通過 STC89C51 單片機(jī)的 P2.3 口輸出給無線發(fā)送模塊的 DATA 引腳(模擬 MCU 的 MOSI 線
42、) 。此后再置 CLK 為 0,模擬下 1 位數(shù)據(jù)的輸入輸出, 依此循環(huán) 8 次,即可完成 1 次單片機(jī)通過 SPI 總線向 nRF2401 傳輸 8 位數(shù)據(jù)的操作。 此函數(shù)功能是模擬 SPI 口寫一字節(jié)數(shù)據(jù)13。 NRF_CLK1=0; /時(shí)鐘初始為 0 for(i=8;i0;i-) if(c else NRF_DATA=0; NRF_CLK1=1;/ 上升沿觸發(fā) c=1; NRF_CLK1=0; 同理,無線接收模塊在接收到數(shù)據(jù)時(shí)通過 DR1 引腳通知單片機(jī)從發(fā)送模塊中取出 數(shù)據(jù)。無線接收模塊在 CLK 的上升沿輸入(接收)數(shù)據(jù)和在下降沿將接受到的數(shù)據(jù)輸 出給 STC89C51 單片機(jī)的 P
43、2.3(模擬 MCU 的 MISO 線)1 位數(shù)據(jù)。此后再置 CLK 為 0,模 擬下 1 位數(shù)據(jù)的輸入輸出,依此循環(huán) 8 次,即可完成 1 次 nRF2401 通過 SPI 總線向單 片機(jī)傳輸 8 位數(shù)據(jù)的操作15。 開始 設(shè)置時(shí)鐘信號 CLK1 輸出引 腳為低電平 設(shè)置 DATA 為 低電平 發(fā)送數(shù)據(jù)左移 1 位,i+ 設(shè)置時(shí)鐘信號 CLK1 輸出引 腳為高電平 Y N Y N 發(fā)送最高位為 1 設(shè)置 DATA 為 高電平 i7 結(jié)束 圖 4.6 I/O 模擬 SPI 接口傳輸數(shù)據(jù)流程 4.24.2 無線傳輸模塊軟件設(shè)計(jì)及實(shí)現(xiàn)無線傳輸模塊軟件設(shè)計(jì)及實(shí)現(xiàn) 4.2.1 nRF2401 的工作模
44、式轉(zhuǎn)換 nRF2401 有工作模式有四種:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式。 nRF2401 的工作模式由 PWR_UP 、CE 和 CS 三個(gè)引腳決定,如表 4.1 所示。PWR_UP 決定 是否處在關(guān)機(jī)模式, CE 決定是否允許收發(fā)信號,分別與單片機(jī)的 P2.0、P2.1 連接。掌 握其工作模式配置是編程序時(shí)各模式之間的切換的前提。nRF2401A 的收發(fā)模式有 ShockBurstTM 收發(fā)模式和直接收發(fā)模式兩種,收發(fā)模式由器件配置字決定。根據(jù)本設(shè) 計(jì)的要求和綜合考慮,本系統(tǒng)采用 ShockBurstTM 收發(fā)模式。 使 nRF2401 工作于 ShockBurstTM 收發(fā)模式,
45、系統(tǒng)的程序編制會(huì)簡單,并且穩(wěn)定性 也會(huì)更高。在 Shockburst TM 模式下,nRF2401 使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)低速 從微控制器送入,以高速(1Mbps 或者 250kbps)發(fā)射數(shù)據(jù),這樣可以盡可能的節(jié)能, 低耗,并且使用 STC89C51 也能實(shí)現(xiàn)高速的發(fā)射速率。而且,與射頻協(xié)議相關(guān)的所有高 速信號處理都在片內(nèi)進(jìn)行,這種做法有三大好處:節(jié)能;低的系統(tǒng)費(fèi)用(低速微處理器 也能進(jìn)行高速射頻發(fā)射);數(shù)據(jù)在空中停留時(shí)間短,抗干擾性高。nRF2401A 的 ShockBurstTM 技術(shù)同時(shí)也減小了整個(gè)系統(tǒng)的平均工作電流。單片機(jī)對 nRf2401 的編程 包括對 nRF2401 進(jìn)
46、行配置、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等子程序。 表 4.1 nRF2401A 工作模式設(shè)置 工作模式 PWR_UP CECS 收發(fā)模式 110 配置模式 10 1 空閑模式 100 關(guān)機(jī)模式 0 對 nRF2401 工作模式的轉(zhuǎn)換是通過對 PWR_UP 、CE 和 CS 的設(shè)定來完成的1216。 例如使 nRF2401 切換到發(fā)送模式,程序如下:首先使三個(gè)引腳分別為 1、0、1 使器件 工作在配置模式,然后延時(shí),再使其配置為發(fā)送模式。 NRF_PWR=1; NRF_CE=0; NRF_CS=1; / 101 使器件切換到配置模式 NRF_Delay(); NRF_DATA=0;/ RXEN=0: 發(fā)送模
47、式 NRF_CLK1=1; NRF_CLK1=0; NRF_CE=1; NRF_CS=0; NRF_Delay(); 4.2.2 Shockburst TM 模式下數(shù)據(jù)幀格式 nRF2401 內(nèi)置 CRC 糾檢錯(cuò)硬件電路和協(xié)議,發(fā)射數(shù)據(jù)時(shí)自動(dòng)加上處理字頭和 CRC 碼, 接收數(shù)據(jù)時(shí)自動(dòng)把字頭和 CRC 碼移去。每個(gè)芯片可通過軟件設(shè)置最多 40 bit 地址,而 且只有收到與本機(jī)地址一致時(shí)才會(huì)接收數(shù)據(jù)。nRF2401 在突發(fā)傳遞模式下的幀格式見圖 4.7 所示。 REAMBLE ADDRESSPAYLOADCRC 圖 4.7 nRF2401 的幀格式 REAMBLE 為數(shù)據(jù)包頭,可設(shè)為 4 bi
48、t 或 8 bit。它的值與 ADDRESS 第 1 位有關(guān)。 當(dāng) ADDRESS 第 1 位為 0 時(shí),包頭取值為,反之則為。一幀數(shù)據(jù)從 ADDRESS 到 CRC 最 多包含 256 bit。ADDRESS 為接收方通道硬件地址段,可設(shè)定為 840 bit,只有符合 本機(jī)硬件地址的數(shù)據(jù)幀才會(huì)被接收。CRC 為數(shù)據(jù)校驗(yàn)段,可設(shè)定 8 bit 或 16 bit 校 驗(yàn)位。PLYLOAD 段為待發(fā)送數(shù)據(jù)段, 長度為幀長度減去 ADDRESS 段和 CRC 段的長度。 發(fā)送數(shù)據(jù)時(shí),控制器將數(shù)據(jù)寫入 nRF2401,控制其將數(shù)據(jù)按幀格式打包無線發(fā)送;接收 數(shù)據(jù)時(shí),nRF2401 一旦檢測到符合本機(jī)硬
49、件地址的數(shù)據(jù)幀, 便將數(shù)據(jù)幀解包,DR 信 號置 1 請求控制器讀取數(shù)據(jù)12。 4.2.3 nRF2401 的配置模式流程 nRF2401 上電以后首先必須通過 STC89C51 對其進(jìn)行配置,單片機(jī)首先將 nRF2401 設(shè)為配置模式,nRF2401 的所有配置工作都是通過 CS、CLK1 和 DATA 三個(gè)引腳完成,把 其配置為 ShockBurstTM 收發(fā)模式需要 15 字節(jié)的配置字。nRF2401 配置字各個(gè)位如表 5.1 所示: 表 4.2 nRF2401 配置字 位位數(shù)名字 功能 143:12024TEST 保留 119:112 8DATA2_W 接收頻道 2 有效數(shù)據(jù)的長度 1
50、11:104 8DATA1_W 接收頻道 1 有效數(shù)據(jù)的長度 103:64 40ADDR2 接收頻道 2 的地址,最高為 5 字節(jié) 63:24 40ADDR1 接收頻道 1 的地址,最高為 5 字節(jié) 23:186ADDR_W 接收頻道地址位數(shù) 171CRC_L 8 或 16 位 CRC Shockburst TM 配置 161CRC_EN 使能 CRC 檢驗(yàn) 151RX2_EN 使能第二頻道 141CM 通信方式設(shè)置 131RFDR_SB 發(fā)送數(shù)據(jù)速率 12:103XO_F 晶振頻率 9:82RF_PWR 發(fā)射輸出源 7:17RF_CH 頻道設(shè)置 常用器件配 置 01RXEN 接收或發(fā)送操作
51、(1) ShockBurstTM 的配置 ShockBurstTM 的配置字使 nRF2401 能夠處理射頻協(xié)議,在配置完成后,在 nRF2401 工作的過程中,只需改變其最低一個(gè)字節(jié)中的內(nèi)容,就可以實(shí)現(xiàn)接收模式和發(fā) 送模式之間切換13。ShockBurstTM 的配置字分為以下四個(gè)部分: 數(shù)據(jù)寬度:聲明射頻數(shù)據(jù)包中數(shù)據(jù)占用的位數(shù)。這使得 nRF2401 能夠區(qū)分接 收數(shù)據(jù)包中的數(shù)據(jù)和 CRC 校驗(yàn)碼,下面程序是對頻道 1 單個(gè)數(shù)據(jù)包的大小小 于 32 字節(jié); #define DATA1_W 0 x20 地址寬度:聲明射頻數(shù)據(jù)包中地址占用的位數(shù)。這使得 nRF2401 能夠區(qū)分地 址和數(shù)據(jù);
52、#define ADDR_W0 x10 地址:接收數(shù)據(jù)的地址,對信道 1 的地址的配置如下; #define ADDR1_4 0 x00 #define ADDR1_3 0 xcc #define ADDR1_2 0 xcc #define ADDR1_1 0 xcc #define ADDR1_0 0 xcc CRC:使 nRF2401 能夠生成 CRC 校驗(yàn)碼和解碼。當(dāng)使用 nRF2401 片內(nèi)的 CRC 技 術(shù)時(shí),首先在配置字中 CRC 校驗(yàn)被使能,對CRC_EN 設(shè)置為 0 x1 即使能。對 CRC_L 設(shè)置為 0 x1 即 16 位校驗(yàn)。發(fā)送和接收應(yīng)使用相同的協(xié)議。 #define
53、CRC_EN 0 x1 #define CRC_L 0 x1 ShockBurstTM 配置時(shí)序圖如 4.8 所示。在 CLK1 的上升沿開始最高位(MSB)移入 nRF2401 模塊,全部配置 15 字節(jié)配置數(shù)據(jù)均移入后,由單片機(jī)將 CS、CE 設(shè)為工作模式, 此時(shí) nRF2401 將刷新內(nèi)部配置并使得新配置立即生效。即新的配置字在 CS 的下降沿后 開始生效。上電后第一次配置時(shí)必須將 15 字節(jié)配置字全部移入。在配置模式下,要保 證 PWR_UP 引腳為高電平,CE 引腳為低電平。在掉電和待機(jī)模式工作后,配置內(nèi)容仍然 生效。配置數(shù)據(jù)只有當(dāng)電源撤銷后才會(huì)丟失12。 圖 4.8 nRF2401
54、A 配置模式時(shí)序圖 (2)器件的配置 對器件的配置時(shí)保證器件按設(shè)計(jì)思想進(jìn)行的基本要求,對 nRF2401 基本工作方式 的配置如下面函數(shù)所示。傳輸速率有兩種選擇 250Kbps 和 1Mbps,250Kbps 比 1Mbps 傳 輸?shù)倪h(yuǎn),本設(shè)計(jì)為了使模塊能夠?qū)崟r(shí)快速而且不影響傳輸質(zhì)量,在多次試驗(yàn)后選擇了 1Mbps。信號發(fā)射功率選擇如表 4.3 所示,選擇為 0dBm。晶振頻率配置表如圖 4.4 所示, 選擇為 16MHz2。 #define RX2_EN0 x0 /雙頻道功能 0:禁用 1:啟用 #define CM 0 x1 /ShockBurstTM 模式 #define RFDR_SB
55、0 x1 / 1Mbps #define XO_F0 x3 /晶振頻率 16MHz #define RF_PWR 0 x3 /發(fā)射功率 0dbm #define RF_CH0 x20/ 信道頻率 #define RXEN0 x1 / 接收使能 表 4.3 信號發(fā)射功率選擇 D9D8 功率dBm 0 0 -20 0 1 -10 1 0 -5 1 1 0 表 4.4 晶振頻率配置 D12D11D10 晶振頻率MHz 0004 0018 01012 01 1 16 10020 4.2.4 nRF2401 發(fā)送模式流程 圖 4.9 為發(fā)送端時(shí)序,圖 4.10 為發(fā)送模塊發(fā)射流程圖, ShockBurs
56、tTM 發(fā)射流程 如下:需要用到的接口引腳為 CE、CLK1、DATA。 (1)單片機(jī)首先通過配置模式將 nRF2401 設(shè)為發(fā)射模式。 (2)單片機(jī)設(shè)定 CE=1,nRF2401 進(jìn)入工作模式。 (3)單片機(jī)將接收節(jié)點(diǎn)的地址和數(shù)據(jù)順序通過 CLK1、DATA 送入 nRF2401。 (4)CE=0,nRF2401 啟動(dòng)內(nèi)部處理并將數(shù)據(jù)發(fā)送出去。 (5)nRF2401A 進(jìn)行 ShockBurstTM 發(fā)射,依次: 給射頻前端供電; 射頻數(shù)據(jù)打包(加字頭、CRC 校驗(yàn)碼); 高速發(fā)射數(shù)據(jù)包; (6)全部數(shù)據(jù)發(fā)送完后,nRF2401 進(jìn)入空閑模式,等待下一數(shù)據(jù)的發(fā)送,此時(shí)為 低功耗。 圖 4.9
57、 nRF2401 發(fā)送模式時(shí)序圖 Y 配置 nRF2401 數(shù)據(jù)打包 (地址碼+數(shù)據(jù)) 置 CE 為高 串行裝載數(shù)據(jù) CE 置低 nRF2401 自動(dòng)加數(shù)據(jù) 頭,并以 1 Mbps 的 速率向外發(fā)送數(shù)據(jù) 發(fā)送完畢 N 結(jié)束 開始 進(jìn)入空閑模式 圖 4.10 nRF2401 發(fā)送模式流程圖 nRF2401A 空閑模式是為了減小平均工作電流而設(shè)計(jì),其最大的優(yōu)點(diǎn)是,實(shí)現(xiàn)節(jié)能 的同時(shí),縮短芯片的起動(dòng)時(shí)間,能很好的滿足低功耗的要求。在空閑模式下,部分片 內(nèi)晶振仍在工作,此時(shí)的工作電流跟外部晶振的頻率有關(guān),如外部晶振為 4MHz 時(shí)工作 電流為 12u A,外部晶振為 16MHz 時(shí)工作電流為 32uA。
58、在空閑模式下,配置字的內(nèi)容 保持在 nRF2401A 片內(nèi)。 4.2.5 nRF2401 接收模式流程 接收模塊需要與發(fā)射模塊地址一致才會(huì)接收數(shù)據(jù),在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和 CRC 校驗(yàn)碼移去,DR1 引腳是數(shù)據(jù)接收完畢信號端,當(dāng)有數(shù)據(jù)需要接收時(shí) DR1 為高,單 片機(jī)讀取數(shù)據(jù)后 DR1 變低。單片機(jī)中斷時(shí)低電平觸發(fā),而 nRF2401 的中斷信號 DR1 是 高電平,因此在 DR1 端加了反相器。 nRF2401A 接收時(shí)序圖如圖 4.11 所示,4.12 為接收流程圖。ShockBurstTM 接收流 程:需要的接口引腳 CE、DR1、CLK1 和 DATA。 (1)單片機(jī)首先通過配置模
59、式將 nRF2401 設(shè)為接收模式。 (2)單片機(jī)設(shè)定 CE=1,200us 后,nRF2401 進(jìn)入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來; (3)當(dāng) nRF2401 接收到數(shù)據(jù)與設(shè)置的本機(jī)地址一致且 CRC 校驗(yàn)正確時(shí),通過 DR1 輸出高電平(DR1 可由單片機(jī)查詢或觸發(fā)單片機(jī)中斷) 。nRF2401A 自動(dòng)把字 頭、地址和 CRC 校驗(yàn)位移去; (4)單片機(jī)通過 CLK1、DATA 讀取接收到的數(shù)據(jù)當(dāng)單片機(jī)讀出最后 1 字?jǐn)?shù)據(jù)后, DR1 變?yōu)榈停藭r(shí),如果 CE 為高,則等待下一個(gè)數(shù)據(jù)包,如果 CE 為低,開 始其它工作流程12。 圖 4.11 nRF2401 接收模式時(shí)序圖 Y Y Y N Y
60、 N 配置 nRF2401 nRF2401 接收 到數(shù)據(jù) nRF2401 判斷 地址是否正確 DR1 被 nRF2401 置高, 引發(fā)單片機(jī)中斷 單片機(jī)從 nRF2401 的 FIFO 中串行接收數(shù)據(jù), FIFO 讀空后 DR1 變低 接收數(shù)據(jù) CRC 正確? N 開始 聲源到達(dá) 終點(diǎn)? 結(jié)束 N 圖 4.12 nRF2401A 接收模式流程圖 4.34.3 本章小結(jié)本章小結(jié) 這一章我們主要介紹了實(shí)現(xiàn)各個(gè)模塊的程序流程,可以得知,通過合理的流程設(shè) 計(jì)和分析,我們可以很清晰明了的將所要解決的問題快速實(shí)現(xiàn)。而且我們可以從這個(gè) 問題總結(jié)出,要解決問題可以先對它的框架做出一個(gè)總體設(shè)計(jì),然后根據(jù)一個(gè)合理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 香椿種植轉(zhuǎn)讓合同范本
- 南昌購房合同范本
- 余泥外運(yùn)合同范本
- 衛(wèi)星定位合同范本
- 合同范本從里
- 不良資產(chǎn)合同范本
- 小型裝修合同范本
- 北京地暖合同范本
- 包工頭和工人簽合同范本
- 合同范本快速打字
- 日本商務(wù)禮儀課件
- 公務(wù)用車申請表
- 中國民間傳說:田螺姑娘
- 淺談鋼琴即興伴奏在教學(xué)中應(yīng)用現(xiàn)狀及提高方法 論文
- 身體功能訓(xùn)練
- 部編人教版四年級語文下冊《全冊全套》課件ppt
- 英文版-你來比劃我來猜游戲
- 皖2015s209 混凝土砌塊式排水檢查井
- 五年級道德與法治下冊 (我參與我奉獻(xiàn))新課件
- 診所負(fù)責(zé)人聘用合同
- 單層工業(yè)廠房排架結(jié)構(gòu)設(shè)計(jì)正文
評論
0/150
提交評論