點(diǎn)對多點(diǎn)的多任務(wù)無線通信
關(guān)鍵詞:無線通信 協(xié)議 通用串行總線 中央監(jiān)控 遠(yuǎn)程終端
引言
現(xiàn)代世界是一個(gè)高速自動化的世界,各種各樣的設(shè)備除了可以與計(jì)算機(jī)聯(lián)機(jī)外,還可以互聯(lián)機(jī),而最簡單的自動化聯(lián)機(jī)方式就是使用串行通信。隨著時(shí)代的進(jìn)步,它并沒有被取代,后倒是逐漸被廣泛應(yīng)用。如今,在許多場合有線連接的方式已經(jīng)不能滿足科技的高速發(fā)展。無線技術(shù)正以一種快速的速度進(jìn)入許多產(chǎn)品,它與線相比主要有成本低,攜帶方便,省去有線布線的煩惱;特別適用于手持設(shè)備的通信、電池供電設(shè)備、遙控、遙測、小型無線網(wǎng)絡(luò)、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標(biāo)簽身份識別、非接觸RF智能卡、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、無線遙控系統(tǒng)、生物信號采集、水文氣象監(jiān)控、機(jī)器人控制、無線232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信、無線數(shù)字語音、數(shù)字圖像傳輸、智能小區(qū)不停車收費(fèi)、銀行智能回單系統(tǒng)等。在如此多的無線系統(tǒng)應(yīng)用中,無線通信的協(xié)議自然顯得特別重要。無線通信協(xié)議的好壞直接關(guān)系到系統(tǒng)的安全性、誤碼率以及系統(tǒng)運(yùn)行的速度。本文以上海桑博科技有限公司的STR-2無線收發(fā)模塊為例,詳細(xì)介紹無線收發(fā)模塊與各種單片機(jī)的硬件接口設(shè)計(jì),點(diǎn)對多點(diǎn)無線通信協(xié)議的數(shù)字打包格式、解包程序以及相關(guān)軟件設(shè)計(jì)。
1 系統(tǒng)概述
1.1 鏈狀點(diǎn)對多點(diǎn)系統(tǒng)
圖1所示的系統(tǒng)是由一臺中央監(jiān)控設(shè)備CMS(Central Monitoring System)和多臺遠(yuǎn)程終端設(shè)備MRTU(Multiple Remote Termial Unit)構(gòu)成的點(diǎn)對多點(diǎn)的多任務(wù)無線通信系統(tǒng)。在中央監(jiān)控設(shè)備CMS與遠(yuǎn)程終端RTU(Remote Termial Unit)之間用多臺中轉(zhuǎn)設(shè)備Tran作為中轉(zhuǎn)站,以便起到暫存數(shù)據(jù)和延伸距離的作用。中轉(zhuǎn)站之間,以單向通信方式進(jìn)行傳遞數(shù)據(jù)。
(1)適用范圍
*傳輸距離遠(yuǎn)的多點(diǎn)多任務(wù)數(shù)據(jù)采集;
*條件惡劣、干擾大、多點(diǎn)多任務(wù)數(shù)據(jù)采集;
*對時(shí)間要求不高的各種復(fù)雜無線數(shù)傳;
*智能小區(qū)水、電、煤、曖氣集中抄表系統(tǒng),各種遠(yuǎn)程集中按防報(bào)警系統(tǒng)等。
(2)協(xié)議數(shù)據(jù)包格式
協(xié)議的第一件事就是能夠識別噪志和有效數(shù)據(jù)。噪聲是以隨機(jī)字節(jié)出現(xiàn)的,沒有明顯的結(jié)合方式;噪聲源可以產(chǎn)生任意字節(jié)的組合。在無線通信的過程中,最好能通過一種協(xié)議有效地抑制噪聲的產(chǎn)生。
通過測試和試驗(yàn)發(fā)現(xiàn),0xFF后跟0xAA、0x55在噪聲中不容易發(fā)生。傳輸協(xié)議應(yīng)該在數(shù)據(jù)包前加開始字節(jié),0xFF后跟0xAA、0x55發(fā)送協(xié)議的開始應(yīng)該是一個(gè)任意內(nèi)容的字節(jié)(這是因?yàn)榈谝粋€(gè)字節(jié)的數(shù)據(jù)在發(fā)送時(shí)容易丟失),然后是0xFF后跟一個(gè)0xAA、0x55;接收協(xié)議規(guī)定只接收以0xFF后跟0xAA、0x55開始的包,于是就可以很方便地把以上系統(tǒng)的數(shù)據(jù)包格式定為:
Lead1 | Lead2 | Lead2 | Header | Length | HostID | Loca | Destination |
Unit | Data1 | Data2 | … | Datan | Checksum |
Lead為引導(dǎo)字節(jié)
Leader1=0xFF;
Leader2=0xAA;
Leader2=0x55;
Header為數(shù)據(jù)包的命令字節(jié),由此確定數(shù)據(jù)包的類型;
Length為數(shù)據(jù)包包含的Length字節(jié)之后的所有字節(jié)的長度;
HostID為主機(jī)地址;
Local為本地機(jī)地址;
Destination為目標(biāo)地址;
Unit為RTU地址字節(jié);
Data為數(shù)據(jù)包字節(jié);
Checksum為校驗(yàn)字節(jié)。
1.2 星狀點(diǎn)對多點(diǎn)通信
圖2系統(tǒng)是由一臺中央監(jiān)控設(shè)備CMS和多臺遠(yuǎn)程終端設(shè)備MRTU構(gòu)成的點(diǎn)對多點(diǎn)多任務(wù)無線通信系統(tǒng)。在中央監(jiān)控設(shè)備CMS與每一臺遠(yuǎn)程終端RTU都以雙向通信方式進(jìn)行傳遞數(shù)據(jù);特別適用于數(shù)據(jù)量大,對時(shí)間要求較高的場合。
(1)適用范圍
*傳輸距離較近的地方;
*條件惡劣、干擾大的地方;
*對時(shí)間要求高、數(shù)據(jù)量大的場合;
*智能小區(qū)水、電、煤、曖氣集中抄表系統(tǒng),各種遠(yuǎn)程集中安防報(bào)警系統(tǒng)等;
*智能家用集中控制系統(tǒng);
*工業(yè)測控、工業(yè)數(shù)據(jù)采集;
*醫(yī)療器械、健身器材;
*數(shù)據(jù)倉庫、智能商場超市導(dǎo)購;
*餐飲無線點(diǎn)菜系統(tǒng);
*PDA無線數(shù)傳;
*水紋氣象監(jiān)控;
*生物信號采集;
*油田環(huán)境監(jiān)控;
*銀行智能回單系統(tǒng)等。
(2)協(xié)議數(shù)據(jù)包格式
根據(jù)圖2可以把系統(tǒng)的數(shù)據(jù)包格式定為:
Lead1 | Lead2 | Lead2 | Header | Length | Unit |
Data1 | Data2 | … | Datan | Checksum |
Lead為引導(dǎo)字節(jié)
Leader1=0xFF;
Leader2=0xAA;
Leader2=0x55;
Header為數(shù)據(jù)包的命令字節(jié),由此確定數(shù)據(jù)包的類型;
Length為數(shù)據(jù)包包含的Length字節(jié)之后的所有字節(jié)的長度;
Unit為RTU地址字節(jié);
Data為數(shù)據(jù)包字節(jié);
Checksum為校驗(yàn)字節(jié)。
2 硬件設(shè)計(jì)
上海桑博電子科技有限公司STR-2 RF模塊的核心部分為nRF401,外加精心設(shè)計(jì)的內(nèi)置天線,具有體積?。?7mm47mm),功耗低的特點(diǎn);傳輸距離為200m,最大傳輸速率為20kb/s;外圍接口電路簡單,可直接與單片機(jī)的通用串行口(UART)口連接。圖3所示為硬件框圖。
STR-2 RF引腳功能如下:
VCC――正電源,接2.7~5.25V;
CS――頻道選擇,CS=0為選擇工作頻道1(即433.92MHz),CS=1為選擇工作頻道2(即433.33MHz);
DOUT――數(shù)據(jù)輸出,連接MCU串口RXD;
DIN――數(shù)據(jù)輸入,連接MCU串口TXD;
GND――電源地;
PWR――節(jié)能控制,PWR=1為正常工作狀態(tài),PWR=0為低功耗狀態(tài);
TXN――發(fā)射接收控制,TXN=1時(shí)模塊為發(fā)射狀態(tài),TXN=0時(shí)模塊為接收狀態(tài);
3 軟件設(shè)計(jì)
在系統(tǒng)中,所有STR-2 RF模塊均采用433.92MHz作為系統(tǒng)工作頻率。下面以星狀點(diǎn)對多點(diǎn)通信系統(tǒng)為例,詳細(xì)介紹系統(tǒng)的軟件設(shè)計(jì)。
(1)主程序設(shè)計(jì)
為了避免同頻干擾的問題,系統(tǒng)采用時(shí)分TDMA(Time Diveision Multiple Access)技術(shù),把系統(tǒng)CMS與任意一臺RTU之間的通信采用時(shí)分的方式分開,CMS通過掃描的方式與各臺RTU設(shè)備進(jìn)行單臺通信,這樣系統(tǒng)中的CMS與RTU的通信方式就成為點(diǎn)對點(diǎn)的通信方式。整個(gè)點(diǎn)對多點(diǎn)系統(tǒng)的通信就成為若干個(gè)點(diǎn)對點(diǎn)通信的組合。程序采用C51單片機(jī)語言編寫,其主控程序流程如圖4、圖5所示。
(2)打包與解包
協(xié)議將主要數(shù)據(jù)分割成一定格式的數(shù)據(jù),并增加一些額外的信息(用于糾錯(cuò)),這個(gè)過程叫打包;在接收端協(xié)議去掉這些額外信息,只留下初始信息,這個(gè)過程叫解包。
打包程序如解包程序見網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。
解包子程序流程如圖6所示。
結(jié)語
本文中的無線硬件設(shè)計(jì)、軟件設(shè)計(jì)解決方案已被多次運(yùn)用于多種產(chǎn)品、多種系統(tǒng)。目前各種產(chǎn)品、系統(tǒng)運(yùn)行穩(wěn)定,無線通信誤碼率低、可靠性高、安全性好。文中的軟、硬件設(shè)計(jì)方案,可適用于各種單片機(jī),對于無線通信技術(shù)在我國推廣和廣泛的運(yùn)用有著重要的參考價(jià)值。
評論