<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于nRF401 的無(wú)線(xiàn)通訊系統及應用

基于nRF401 的無(wú)線(xiàn)通訊系統及應用

作者: 時(shí)間:2008-04-24 來(lái)源:網(wǎng)絡(luò ) 收藏

1. 引言
在儀器儀表及測控技術(shù)中,數據通信以其節省傳輸線(xiàn)、使用方便等優(yōu)點(diǎn)被廣泛關(guān)注。中短距離(小于500 米)的通信在自動(dòng)測試系統、抄表、計算機遙測遙控系統、車(chē)輛監控系統和小區管理等實(shí)際中有廣泛的市場(chǎng)。在眾多的無(wú)線(xiàn)收發(fā)芯片中,以其成本低、可靠性高、外圍設計簡(jiǎn)單廣受歡迎,然而由于通信空間的復雜性,無(wú)線(xiàn)很容易收到誤碼,即使在發(fā)送端不發(fā)送數據的情況下,接收端也仍然會(huì )接收到大量的干擾數據。在一個(gè)中等規模的系統設計中,CPU 要進(jìn)行多種操作,如外部存儲器的訪(fǎng)問(wèn),傳感器數據的處理等,因此無(wú)線(xiàn)通訊干擾信息較多時(shí),特別是在中斷通訊模式下,頻繁的中斷將嚴重影響主程序的運行,另外由于對 的操作除了控制輸入輸出外,還需要對的收發(fā)狀態(tài)、運行模式切換,因此對于一個(gè)總線(xiàn)結構的系統(如485 通訊模式),無(wú)線(xiàn)通訊部分也作為一個(gè)獨立ID 模塊時(shí),傳統的設計處理遇到了困難。因此需要設置一個(gè)中間處理環(huán)節,既能有效過(guò)濾信息又不影響通訊速率。

為解決上述問(wèn)題,本設計nRF401 作為無(wú)線(xiàn)收發(fā)芯片,使用兩片AT89C2051 作為控制芯片,設計出一套無(wú)線(xiàn)。其中一片AT89C2051(定義為控制芯片A)控制nRF401,AT89C2051 的IO 接口與串口配合控制nRF401 實(shí)現異步通訊;另一片AT89C2051(定義為控制芯片B)既能滿(mǎn)足總線(xiàn)串口的要求,又能解決控制芯片A 由于頻繁串行中斷而不能及時(shí)響應總線(xiàn)的問(wèn)題,起到分擔任務(wù)、隔離干擾、串口擴展的作用。采用兩片2051單片機設計方法,與采用一片雙串口單片機設計相比,能降低成本、提高芯片利用率、隔離干擾。實(shí)踐表明該系統結構簡(jiǎn)單、抗干擾能力強,能很好解決短距離系統之間的無(wú)線(xiàn)通信問(wèn)題。

2. 系統硬件設計
系統硬件設計包括無(wú)線(xiàn)通訊模塊和通訊控制部分。
2.1 nRF401 的無(wú)線(xiàn)通訊模塊設計
nRF401是Nordic公司研制的單片UHF無(wú)線(xiàn)收發(fā)芯片,工作在433MHz ISM頻段。在接收模式中,nRF401被配置成傳統的外差式接收機,所接收的射頻調制的數字信號被低噪聲放大器放大,經(jīng)混頻器變換成中頻,放大、濾波后進(jìn)入解調器。解調后變換成數字信號輸出(DOUT端)。在發(fā)射模式中,數字信號經(jīng)DIN端輸入,經(jīng)鎖相環(huán)和壓控振蕩器處理后進(jìn)入功率放大器射頻輸出。在本系統設計中,為了避免干擾,將nRF401的無(wú)線(xiàn)收發(fā)部分做在一塊單獨的PCB板上,引出通訊控制接口(J1),組成獨立的無(wú)線(xiàn)收發(fā)模塊。
基于nRF401 的無(wú)線(xiàn)通訊系統模塊電路
2.2 基于A(yíng)T89C2051 的控制系統設計
控制部分包括兩片AT89C2051,控制芯片A 負責處理無(wú)線(xiàn)收發(fā)模塊數據信息,并與控制芯片B 通過(guò)P1 口以中斷1 方式進(jìn)行數據交流??刂菩酒珺 負責處理來(lái)自串口的信息,并與控制芯片A 進(jìn)行數據交流。由于兩片AT89C2051 以中斷方式并行傳輸模式傳輸數據,其數據交換時(shí)間遠小于單片機串口通訊時(shí)間,因此不會(huì )影響整個(gè)系統的半雙工通訊時(shí)間。為了滿(mǎn)足各種要求,串口通過(guò)跳線(xiàn)被設計成232 模式、485 模式和UART 模式。

3. 系統軟件設計
3.1 通訊協(xié)議
在無(wú)線(xiàn)通信的過(guò)程中,由于外部環(huán)境的干擾,通常誤碼率比較高,即使發(fā)射方不發(fā)送數據,接收方仍會(huì )經(jīng)常接收到由于外部干擾而產(chǎn)生的雜亂數據,為了在接收的過(guò)程中區分接收到的數據是否為有效數據,必須有一定的通信協(xié)議。在傳輸數據量不大時(shí),為有效處理信息,本系統設計以下通訊協(xié)議:
1)無(wú)線(xiàn)收發(fā)數據幀由3個(gè)字節組成,即8bit的標識位(0xab),8bit的數據位,8bit的校驗位。
2)無(wú)線(xiàn)收發(fā)數據幀格式
byte1 高四位為1010(0xa),低四位為數據的高四位

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
1010D7D6D5D4

Byte2 高四位為1011(0xb),低四位為數據的低四位

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
1011D3D2D1D0

Byte3 為byte1與byte2的異或值。
3 內部單片機之間傳輸的數據不包括標識字節和校驗字節。
4 系統與外部串行通訊時(shí),采用另外的通訊協(xié)議(如ModBus協(xié)議)。
5 外部輸入采用中斷方式,內部循環(huán)采用查詢(xún)方式。
6 程序設計中,外部中斷優(yōu)先,以及時(shí)接收外部數據信息。
7 執行某一中斷時(shí),不響應其他中斷。
8 無(wú)線(xiàn)通訊模塊平時(shí)處于接收狀態(tài)。

3.2 程序流程
對于控制芯片A,接收無(wú)線(xiàn)收發(fā)模塊數據為串行中斷方式,接收控制芯片B 數據為外中斷1 方式。主程序運行過(guò)程中始終處于檢測系統狀態(tài)字循環(huán)方式,當發(fā)送緩沖區有數據(來(lái)自控制芯片B)時(shí),主程序調用串行發(fā)送程序將數據經(jīng)串口、無(wú)線(xiàn)收發(fā)模塊發(fā)送出去;當接收緩沖區有數據(來(lái)自無(wú)線(xiàn)收發(fā)模塊)時(shí),主程序調用并行發(fā)送程序將數據經(jīng)P1 口發(fā)送到控制芯片B。在設計應將發(fā)送緩沖區和接收緩沖區設置為多字節,用來(lái)堆積不能及時(shí)轉移的數據??刂菩酒珺 的程序流程與控制芯片A 流程相似,只是在接收串口數據時(shí),控制芯片A 程序對數據幀的校驗方式不同。
圖4 為程序流程圖,其中UART()定義為串行中斷服務(wù)程序;Int1()定義為外部中斷1 中斷服務(wù)程序;TranByte 定義為發(fā)送緩存區;RecByte 定義為接收緩存區;Recsum 定義為接收緩存區計數;Transum 定義為發(fā)送緩存區計數;delay 定義為延時(shí)子程序;flag 定義為系統狀態(tài)控制字,其中flag.7 定義為接收緩存區狀態(tài)標志;flag.6 定義為發(fā)送緩存區狀態(tài)標志。

4. 在自主移動(dòng)機器人系統中的
在自主移動(dòng)機器人系統中,可靠穩定的對機器人與上位機、機器人與機器人之間的信息交換是十分重要的?;趎RF401 的無(wú)線(xiàn)通訊系統可以作為中小型自主移動(dòng)機器人的無(wú)線(xiàn)通訊部分,在中,將該系統通過(guò)跳線(xiàn)設置為RS232 模式與計算機串口相連,另一套系統設置為UART 模式與機器人其它部分組成多機通訊系統,這樣便構建了一個(gè)機器人與上位機的一套無(wú)線(xiàn)通訊系統。

5. 結論
本文給出了一種基于nRF401 的無(wú)線(xiàn)通訊系統設計,該系統具有硬件電路簡(jiǎn)單、成本低廉、編程方便、可靠性高的特點(diǎn)??梢苑奖愕貞糜诟鞣N總線(xiàn)結構的系統中,作為其無(wú)線(xiàn)通訊部分,實(shí)現無(wú)線(xiàn)數據的雙向傳輸。無(wú)線(xiàn)通訊系統傳輸的安全性和可靠性依賴(lài)于良好軟件設計,由于外界干擾,無(wú)線(xiàn)通訊系統很容易收到誤碼,無(wú)線(xiàn)通訊程序設計中采用的短幀結構、三字節校驗法,實(shí)踐證明對過(guò)濾誤碼是很有效的。另外測試表明在最高通訊速率范圍內,適當提高通訊速率可以減少誤碼率。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>