點(diǎn)對(duì)多點(diǎn)的多任務(wù)無線通信
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:詳細(xì)介紹無線通信在各種通信系統(tǒng)中的應(yīng)用,單片機(jī)MCU與無線收發(fā)模塊的硬件接口設(shè)計(jì),點(diǎn)對(duì)多點(diǎn)無線通信協(xié)議的編寫,點(diǎn)對(duì)多點(diǎn)無線通信系統(tǒng)打包與解包的軟件設(shè)計(jì)。為無線通信系統(tǒng)的軟硬件設(shè)計(jì)提供了可靠的解決方案。 關(guān)鍵詞:無線通信 協(xié)議 通用串行總線 中央監(jiān)控 遠(yuǎn)程終端 引言 現(xiàn)代世界是一個(gè)高速自動(dòng)化的世界,各種各樣的設(shè)備除了可以與計(jì)算機(jī)聯(lián)機(jī)外,還可以互聯(lián)機(jī),而最簡(jiǎn)單的自動(dòng)化聯(lián)機(jī)方式就是使用串行通信。隨著時(shí)代的進(jìn)步,它并沒有被取代,后倒是逐漸被廣泛應(yīng)用。如今,在許多場(chǎng)合有線連接的方式已經(jīng)不能滿足科技的高速發(fā)展。無線技術(shù)正以一種快速的速度進(jìn)入許多產(chǎn)品,它與線相比主要有成本低,攜帶方便,省去有線布線的煩惱;特別適用于手持設(shè)備的通信、電池供電設(shè)備、遙控、遙測(cè)、小型無線網(wǎng)絡(luò)、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標(biāo)簽身份識(shí)別、非接觸RF智能卡、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、無線遙控系統(tǒng)、生物信號(hào)采集、水文氣象監(jiān)控、機(jī)器人控制、無線 232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信、無線數(shù)字語(yǔ)音、數(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)對(duì)多點(diǎn)無線通信協(xié)議的數(shù)字打包格式、解包程序以及相關(guān)軟件設(shè)計(jì)。
1 系統(tǒng)概述 1.1 鏈狀點(diǎn)對(duì)多點(diǎn)系統(tǒng) 圖1所示的系統(tǒng)是由一臺(tái)中央監(jiān)控設(shè)備CMS(Central Monitoring System)和多臺(tái)遠(yuǎn)程終端設(shè)備MRTU(Multiple Remote Termial Unit)構(gòu)成的點(diǎn)對(duì)多點(diǎn)的多任務(wù)無線通信系統(tǒng)。在中央監(jiān)控設(shè)備CMS與遠(yuǎn)程終端RTU(Remote Termial Unit)之間用多臺(tái)中轉(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ù)采集; *對(duì)時(shí)間要求不高的各種復(fù)雜無線數(shù)傳; *智能小區(qū)水、電、煤、曖氣集中抄表系統(tǒng),各種遠(yuǎn)程集中按防報(bào)警系統(tǒng)等。 (2)協(xié)議數(shù)據(jù)包格式 協(xié)議的第一件事就是能夠識(shí)別噪志和有效數(shù)據(jù)。噪聲是以隨機(jī)字節(jié)出現(xiàn)的,沒有明顯的結(jié)合方式;噪聲源可以產(chǎn)生任意字節(jié)的組合。在無線通信的過程中,最好能通過一種協(xié)議有效地抑制噪聲的產(chǎn)生。 通過測(cè)試和試驗(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é)的長(zhǎng)度; HostID為主機(jī)地址; Local為本地機(jī)地址; Destination為目標(biāo)地址; Unit為RTU地址字節(jié); Data為數(shù)據(jù)包字節(jié); Checksum為校驗(yàn)字節(jié)。 1.2 星狀點(diǎn)對(duì)多點(diǎn)通信 圖2系統(tǒng)是由一臺(tái)中央監(jiān)控設(shè)備CMS和多臺(tái)遠(yuǎn)程終端設(shè)備MRTU構(gòu)成的點(diǎn)對(duì)多點(diǎn)多任務(wù)無線通信系統(tǒng)。在中央監(jiān)控設(shè)備CMS與每一臺(tái)遠(yuǎn)程終端RTU都以雙向通信方式進(jìn)行傳遞數(shù)據(jù);特別適用于數(shù)據(jù)量大,對(duì)時(shí)間要求較高的場(chǎng)合。
(1)適用范圍 *傳輸距離較近的地方; *條件惡劣、干擾大的地方; *對(duì)時(shí)間要求高、數(shù)據(jù)量大的場(chǎng)合; *智能小區(qū)水、電、煤、曖氣集中抄表系統(tǒng),各種遠(yuǎn)程集中安防報(bào)警系統(tǒng)等; *智能家用集中控制系統(tǒng); *工業(yè)測(cè)控、工業(yè)數(shù)據(jù)采集; *醫(yī)療器械、健身器材; *數(shù)據(jù)倉(cāng)庫(kù)、智能商場(chǎng)超市導(dǎo)購(gòu); *餐飲無線點(diǎn)菜系統(tǒng); *PDA無線數(shù)傳; *水紋氣象監(jiān)控; *生物信號(hào)采集; *油田環(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é)的長(zhǎng)度; Unit為RTU地址字節(jié); Data為數(shù)據(jù)包字節(jié); Checksum為校驗(yàn)字節(jié)。 2 硬件設(shè)計(jì) 上海桑博電子科技有限公司STR-2 RF模塊的核心部分為nRF401,外加精心設(shè)計(jì)的內(nèi)置天線,具有體積小(37mm%26;#215;47mm),功耗低的特點(diǎn);傳輸距離為200m,最大傳輸速率為20kb/s;外圍接口電路簡(jiǎn)單,可直接與單片機(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)對(duì)多點(diǎn)通信系統(tǒng)為例,詳細(xì)介紹系統(tǒng)的軟件設(shè)計(jì)。 (1)主程序設(shè)計(jì) 為了避免同頻干擾的問題,系統(tǒng)采用時(shí)分TDMA(Time Diveision Multiple Access)技術(shù),把系統(tǒng)CMS與任意一臺(tái)RTU之間的通信采用時(shí)分的方式分開,CMS通過掃描的方式與各臺(tái)RTU設(shè)備進(jìn)行單臺(tái)通信,這樣系統(tǒng)中的 CMS與RTU的通信方式就成為點(diǎn)對(duì)點(diǎn)的通信方式。整個(gè)點(diǎn)對(duì)多點(diǎn)系統(tǒng)的通信就成為若干個(gè)點(diǎn)對(duì)點(diǎn)通信的組合。程序采用C51單片機(jī)語(yǔ)言編寫,其主控程序流程如圖4、圖5所示。 (2)打包與解包 協(xié)議將主要數(shù)據(jù)分割成一定格式的數(shù)據(jù),并增加一些額外的信息(用于糾錯(cuò)),這個(gè)過程叫打包;在接收端協(xié)議去掉這些額外信息,只留下初始信息,這個(gè)過程叫解包。 打包程序如解包程序見網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。 解包子程序流程如圖6所示。 結(jié)語(yǔ) 本文中的無線硬件設(shè)計(jì)、軟件設(shè)計(jì)解決方案已被多次運(yùn)用于多種產(chǎn)品、多種系統(tǒng)。目前各種產(chǎn)品、系統(tǒng)運(yùn)行穩(wěn)定,無線通信誤碼率低、可靠性高、安全性好。文中的軟、硬件設(shè)計(jì)方案,可適用于各種單片機(jī),對(duì)于無線通信技術(shù)在我國(guó)推廣和廣泛的運(yùn)用有著重要的參考價(jià)值。