新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機實現(xiàn)短距離無線通信

基于51單片機實現(xiàn)短距離無線通信

作者: 時間:2011-12-07 來源:網(wǎng)絡(luò) 收藏

4.1 PTR2000模塊程序設(shè)計

和PC機端軟件配合設(shè)置PTR2000的狀態(tài)(發(fā)射或接收),選擇固定的通信頻道1(CS=0),并讓PTR2000模塊一直處于正常工作狀態(tài)(PWM=1)。過程如下:
(1)發(fā)送在發(fā)送數(shù)據(jù)之前,應(yīng)將PTR2000模塊置于發(fā)射模式,即TXEN=1。然后等待至少5 ms后(接收到發(fā)射的切換時間)才可發(fā)射數(shù)據(jù)。發(fā)送結(jié)束后,應(yīng)將模塊置于接收狀態(tài),即TXEN=0。
(2)接收應(yīng)將PTR2000置于接收模式,即TXEN=0。不發(fā)送的絕大部分時間都處于接收狀態(tài)。當(dāng)端發(fā)送時,PC機端應(yīng)為接收;當(dāng)PC機端發(fā)送時,單片機端應(yīng)為接收。

4.2 串行協(xié)議設(shè)計

中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設(shè)計對保證通信的可靠性十分重要。協(xié)議的設(shè)計主要是幀結(jié)構(gòu)的設(shè)計,在該無線通信系統(tǒng)中,存在指令幀和數(shù)據(jù)幀。數(shù)據(jù)幀的內(nèi)容包括起始字節(jié)、數(shù)據(jù)長度字節(jié)、數(shù)據(jù)字節(jié)、結(jié)束字節(jié)和校驗和字節(jié),如表2所示。

108.jpg

起始字節(jié)定義為“$”字符,其數(shù)值為0x24;結(jié)束字節(jié)定義為“*”字符,其數(shù)值為0x2A。

采用校驗和的方法進行幀的校驗,將所有字節(jié)相加,然后將結(jié)果截短到所需的位長。發(fā)送端對待發(fā)送的數(shù)據(jù)進行校驗和計算,將校驗和值放在數(shù)據(jù)后一起發(fā)送;在接收端,對接收到的數(shù)據(jù)進行校驗和計算,然后與收到的校驗和字節(jié)比較,進行誤碼判斷。

對于單片機,指令幀主要有3種:PC機發(fā)送給單片機的請求發(fā)送指令、錯誤/超時重發(fā)指令、單片機發(fā)給PC機的發(fā)送完畢指令。在該系統(tǒng)設(shè)計中指令幀采用數(shù)據(jù)幀的格式,將其中的。數(shù)據(jù)字節(jié)固定為一個字節(jié),根據(jù)定義的字節(jié)判斷數(shù)據(jù)狀態(tài)。

4.3 程序流程

單片機開始需將無線數(shù)據(jù)傳輸模塊PTR2000設(shè)置處于接收狀態(tài),通過串口中斷識別由PC機通過無線信道傳輸來的指令,根據(jù)接收指令的內(nèi)容采集數(shù)據(jù)并啟動發(fā)送。發(fā)送前需將PTR2000模塊設(shè)置為發(fā)射狀態(tài),且等待5 ms才可發(fā)送,發(fā)送完畢后,向PC機端發(fā)送“發(fā)送結(jié)束指令”,并將PTR2000模塊重設(shè)為接收狀態(tài)。圖4為系統(tǒng)軟件設(shè)計流程圖。

109.jpg

5 結(jié)束語

單片機無線通信系統(tǒng)設(shè)計PTR2000無線數(shù)據(jù)傳輸解決方案,可小于300 m的通信,通過實驗驗證該無線數(shù)據(jù)傳輸系統(tǒng)運行良好,單片機控制得相當(dāng)準(zhǔn)確。在應(yīng)用時將系統(tǒng)作為一個模塊可方便地移植,以便構(gòu)建更為復(fù)雜的無線通信網(wǎng)絡(luò),可應(yīng)用于小型無線網(wǎng)絡(luò)、無線抄表、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、安全防火系統(tǒng)等領(lǐng)域,具有一定實用價值。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉