引言
無線數據通信技術被越來越多地使用到嵌入式系統中,在簡化布線的同時,也使數據交換變得更加便捷。本文介紹一種適用于遠程計數無線傳輸的測試系統,該系統主要由德州儀器(TI)公司的CC1100射頻收發器和飛利浦(Philips)公司的微處理器P89LPC922構成。
1 硬件設計
(1)總體方案設計
本設計由1個主機和1~32臺終端從機組成。從機通過內部傳感器計數后將數據以無線方式傳送給主機,主機負責整個系統的調度、顯示、配置。
(2)微控制器P89LPC922
P89LPC922芯片具有8 KB Flash程序存儲器、1 KB可擦除扇區和64字節可擦除頁,可擦除單個字節,指令執行時間只需2~4個時鐘周期,指令執行速率6倍于標準80C51器件,有可配置的片內振蕩器和 RC振蕩器、增強型UART,具有波特率發生器及自動地址識別和通用的中斷功能。
(3)射頻芯片CC1100
CC1100的主要特點有:體積小(20引腳,QLP 4 mm×4 mm),工作頻率為300~1000 MHz,接收靈敏度高(1.2 kb/s下110 dBm),數據傳輸率最大可達500 kb/s,功耗低(RX中15.6 mA,2.4 kb/s,433 MHz),在所有頻段輸出功率高達+10 dBm;SPI接口,支持ASK、OOK、2-FSK、GF-SK和MSK調制模式,具有無線喚醒(WOR)功能等。
由于高頻收發信號會對MCU部分產生干擾,所以無線通信部分應單獨做1塊PCB板,并外加屏蔽。P89LPC922和CC1100的連接如圖1所示。
2 軟件設計
(1)數據包格式
CC1100數據包格式包含以下幾部分:前導、同步詞匯、可控數據包長度、可選地址字節、有效載荷、可選的2字節CRC。它支持恒定長度和可變長度數據包協議,其數據長度可達255字節,對于更長的數據包,必須使用無限長度數據包協議。本系統采用可變長度數據包格式。
(2)狀態及寄存器設置
CC1100有一個內置的狀態機,用來在不同的操作狀態(模式)之間切換。狀態的變化要么通過命令濾波,要么通過內部事件(如TX FIFO下溢)改變。當前狀態可從狀態寄存器MARCSTATE獲得。CC1100的寄存器比較多,可根據需要配置,有一部分需由軟件SmartRF Studio給出。
CC1100的3個數字輸出引腳SO(GDO1)、GDO0、GDO2也可以通過IOCFGX寄存器配置成所需的功能接口。設計中,GDO0 IOCFGO=Ox06,引腳會在收發到同步詞匯的時候置成高電平,當數據包傳輸結束時變成低電平。此外,當收發FIFO溢出時也將變成低電平。 GDO2IOCFG2=Ox0B,引腳輸出一連續時鐘,可以用來檢測CC1100是否工作。
(3)收發數據
CC1100上電后,需要依次對芯片進行復位、寄存器設置、功率設置等。收發數據可以通過GPO0引腳產生中斷,然后依據不同的情況處理。程序如下:
3 通信協議
在大多數主從式結構通信中,一般主機和從機之間的通信都是采用查詢方式進行,然而當從機數量較多時,效率并不高。因此,設計一種快速實用的通信模式就很有必要。時分多址(time division multiple access)是把時間分割成互不重疊的時段(幀),再將幀分割成互不重疊的時隙(信道),與用戶具有一一對應關系;依據時隙區分來自不同地址的用戶信號,從而完成多址連接。時分多址簡稱TDMA。
根據上述定義,在設計中主機采用定時發送命令的方式,每個從機則分配1個時間段用于和主機通信。時間段的選擇要根據從機的數量、同步的時間,以及通信速率來決定。具體約定如下:
主機定時向終端從機發送命令,命令中包含下次同步的時間以及其他所需信息,命令周期可以自行定義,這里命令周期為1 s。
從機接收到主機命令后首先同步自己的時鐘,然后再做出相應的動作。
①對于無應答的命令,從機立刻進入休眠狀態,只在下一個接收主機命令時刻到來之前,提前2 ms退出休眠。
②對于有應答的命令,從機則在接收到主機命令之后延時(N×30)ms應答主機,在沒有應答之前,從機也先進入休眠,只是在應答時刻到來之前,提前2ms 醒來,準備應答。從機應答時間為1~25 ms,剩余的5 ms是為了把一個時間段和另一個時間段分開(即保護時間)。當應答結束后延時2 ms進入休眠。
③當從機未能和主機同步時,應開啟CC1100電磁波激活功能,搜尋主機信息。
其中N為從機地址號,設置范圍1~32,具體通信協議如圖2所示。
結語
本文介紹的無線數據通信方案,適用于工業信號監控、無線儀器儀表測試、樓宇智能系統等,性價比高,所提出的通信協議具有較強的實時性、可靠性。現場工作表明,在計數測試系統中,距離100 m內未發生通信錯誤的情況,滿足了測試要求。
責任編輯:gt
-
微控制器
+關注
關注
48文章
7336瀏覽量
150105 -
傳感器
+關注
關注
2541文章
49961瀏覽量
747506 -
測試系統
+關注
關注
6文章
791瀏覽量
61959
發布評論請先 登錄
相關推薦
評論