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