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