毛片视频免费观看-毛片视频在线免费观看-毛片手机在线视频免费观看-毛片特级-中文亚洲字幕-中文一级片

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

2008-08-11 來(lái)源:科技信息 字號(hào):

1. 引言

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

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

2. 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)硬件設(shè)計(jì)包括無(wú)線(xiàn)通訊模塊和通訊控制部分。

2.1 基于nRF401 的無(wú)線(xiàn)通訊模塊設(shè)計(jì)

nRF401是Nordic公司研制的單片UHF無(wú)線(xiàn)收發(fā)芯片,工作在433MHz ISM頻段。在接收模式中,nRF401被配置成傳統(tǒng)的外差式接收機(jī),所接收的射頻調(diào)制的數(shù)字信號(hào)被低噪聲放大器放大,經(jīng)混頻器變換成中頻,放大、濾波后進(jìn)入解調(diào)器。解調(diào)后變換成數(shù)字信號(hào)輸出(DOUT端)。在發(fā)射模式中,數(shù)字信號(hào)經(jīng)DIN端輸入,經(jīng)鎖相環(huán)和壓控振蕩器處理后進(jìn)入功率放大器射頻輸出。在本系統(tǒng)設(shè)計(jì)中,為了避免干擾,將基于nRF401的無(wú)線(xiàn)收發(fā)部分做在一塊單獨(dú)的PCB板上,引出通訊控制接口(J1),組成獨(dú)立的無(wú)線(xiàn)收發(fā)模塊。

基于nRF401 的無(wú)線(xiàn)通訊系統(tǒng)模塊電路

2.2 基于AT89C2051 的控制系統(tǒng)設(shè)計(jì)

控制部分包括兩片AT89C2051,控制芯片A 負(fù)責(zé)處理無(wú)線(xiàn)收發(fā)模塊數(shù)據(jù)信息,并與控制芯片B 通過(guò)P1 口以中斷1 方式進(jìn)行數(shù)據(jù)交流。控制芯片B 負(fù)責(zé)處理來(lái)自串口的信息,并與控制芯片A 進(jìn)行數(shù)據(jù)交流。由于兩片AT89C2051 以中斷方式并行傳輸模式傳輸數(shù)據(jù),其數(shù)據(jù)交換時(shí)間遠(yuǎn)小于單片機(jī)串口通訊時(shí)間,因此不會(huì)影響整個(gè)系統(tǒng)的半雙工通訊時(shí)間。為了滿(mǎn)足各種要求,串口通過(guò)跳線(xiàn)被設(shè)計(jì)成232 模式、485 模式和UART 模式。

基于AT89C2051 的控制系統(tǒng)設(shè)計(jì)

3. 系統(tǒng)軟件設(shè)計(jì)

3.1 通訊協(xié)議

在無(wú)線(xiàn)通信的過(guò)程中,由于外部環(huán)境的干擾,通常誤碼率比較高,即使發(fā)射方不發(fā)送數(shù)據(jù),接收方仍會(huì)經(jīng)常接收到由于外部干擾而產(chǎn)生的雜亂數(shù)據(jù),為了在接收的過(guò)程中區(qū)分接收到的數(shù)據(jù)是否為有效數(shù)據(jù),必須有一定的通信協(xié)議。在傳輸數(shù)據(jù)量不大時(shí),為有效處理信息,本系統(tǒng)設(shè)計(jì)以下通訊協(xié)議:

1) 無(wú)線(xiàn)收發(fā)數(shù)據(jù)幀由3個(gè)字節(jié)組成,即8bit的標(biāo)識(shí)位(0xab),8bit的數(shù)據(jù)位,8bit的校驗(yàn)位。

2) 無(wú)線(xiàn)收發(fā)數(shù)據(jù)幀格式

byte1 高四位為1010(0xa),低四位為數(shù)據(jù)的高四位

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
1 0 1 0 D7 D6 D5 D4

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

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
1 0 1 1 D3 D2 D1 D0

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

3.2 程序流程

對(duì)于控制芯片A,接收無(wú)線(xiàn)收發(fā)模塊數(shù)據(jù)為串行中斷方式,接收控制芯片B 數(shù)據(jù)為外中斷1 方式。主程序運(yùn)行過(guò)程中始終處于檢測(cè)系統(tǒng)狀態(tài)字循環(huán)方式,當(dāng)發(fā)送緩沖區(qū)有數(shù)據(jù)(來(lái)自控制芯片B)時(shí),主程序調(diào)用串行發(fā)送程序?qū)?shù)據(jù)經(jīng)串口、無(wú)線(xiàn)收發(fā)模塊發(fā)送出去;當(dāng)接收緩沖區(qū)有數(shù)據(jù)(來(lái)自無(wú)線(xiàn)收發(fā)模塊)時(shí),主程序調(diào)用并行發(fā)送程序?qū)?shù)據(jù)經(jīng)P1 口發(fā)送到控制芯片B。在設(shè)計(jì)應(yīng)將發(fā)送緩沖區(qū)和接收緩沖區(qū)設(shè)置為多字節(jié),用來(lái)堆積不能及時(shí)轉(zhuǎn)移的數(shù)據(jù)。控制芯片B 的程序流程與控制芯片A 流程相似,只是在接收串口數(shù)據(jù)時(shí),控制芯片A 程序?qū)?shù)據(jù)幀的校驗(yàn)方式不同。

圖4 為程序流程圖,其中UART()定義為串行中斷服務(wù)程序;Int1()定義為外部中斷1 中斷服務(wù)程序;TranByte 定義為發(fā)送緩存區(qū);RecByte 定義為接收緩存區(qū);Recsum 定義為接收緩存區(qū)計(jì)數(shù);Transum 定義為發(fā)送緩存區(qū)計(jì)數(shù);delay 定義為延時(shí)子程序;flag 定義為系統(tǒng)狀態(tài)控制字,其中flag.7 定義為接收緩存區(qū)狀態(tài)標(biāo)志;flag.6 定義為發(fā)送緩存區(qū)狀態(tài)標(biāo)志。

程序流程

 4. 在自主移動(dòng)機(jī)器人系統(tǒng)中的應(yīng)用

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

無(wú)線(xiàn)通訊系統(tǒng)

 5. 結(jié)論

本文給出了一種基于nRF401 的無(wú)線(xiàn)通訊系統(tǒng)設(shè)計(jì),該系統(tǒng)具有硬件電路簡(jiǎn)單、成本低廉、編程方便、可靠性高的特點(diǎn)。可以方便地應(yīng)用于各種總線(xiàn)結(jié)構(gòu)的系統(tǒng)中,作為其無(wú)線(xiàn)通訊部分,實(shí)現(xiàn)無(wú)線(xiàn)數(shù)據(jù)的雙向傳輸。無(wú)線(xiàn)通訊系統(tǒng)傳輸?shù)陌踩院涂煽啃砸蕾?lài)于良好軟件設(shè)計(jì),由于外界干擾,無(wú)線(xiàn)通訊系統(tǒng)很容易收到誤碼,無(wú)線(xiàn)通訊程序設(shè)計(jì)中采用的短幀結(jié)構(gòu)、三字節(jié)校驗(yàn)法,實(shí)踐證明對(duì)過(guò)濾誤碼是很有效的。另外測(cè)試表明在最高通訊速率范圍內(nèi),適當(dāng)提高通訊速率可以減少誤碼率。

作者:李欣 王耀賓 楊華

主站蜘蛛池模板: 国内第一永久免费福利视频 | 日本韩国欧美在线观看 | 亚洲一区二区视频在线观看 | 色综合在 | 午夜成本人动漫在线观看 | 免费精品国产自产拍观看 | 亚洲第一黄色网址 | 九九手机视频 | 酒色成人网 | 亚洲欧美日韩国产综合高清 | 欧美黑人性视频 | 欧美视频在线一区二区三区 | 国产中文字幕一区 | 亚洲成人一级 | 中文毛片无遮挡高清免费 | 国产乱码精品一区二区三上 | 日本亚洲中午字幕乱码 | 91视频这里只有精品 | 欧美日韩国产最新一区二区 | 黄页在线免费看 | 一区二区三区精品国产欧美 | 亚洲国产最新在线一区二区 | 国内久久久 | 久热精品视频 | 免费一级在线 | 欧美极品一区 | 欧美乱妇高清正版在线观看 | 俄罗斯xx | 国产片自拍 | 亚洲狠狠婷婷综合久久蜜桃 | 青青草原1769久久免费播放 | 亚洲第一黄色网址 | 国产亚洲一区在线 | 国产一卡二卡三卡四卡 | 狠狠干97| 91精品国产综合久久久久 | 自拍偷拍欧美亚洲 | 一级成人毛片 | 国精产品一区 | 99热精品免费 | 日本一二区在线观看 |