基于CC1110的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
CC1110芯片只要極少數(shù)外圍元件就能夠搭建穩(wěn)定可靠且功耗低的SoC,大大簡(jiǎn)化了RF電路的設(shè)計(jì)過(guò)程。設(shè)計(jì)的傳感器節(jié)點(diǎn)工作在433 MHz頻段。圖2是CC1110的參考設(shè)計(jì),主要由CC1110芯片、射頻匹配電路和其他外圍元件組成。
RF匹配電路用來(lái)匹配芯片輸入、輸出阻抗,使其輸入、輸出阻抗為50 Ω,同時(shí),為芯片內(nèi)部的PA(功率放大器)及LNA(低噪聲放大器)提供直流偏置。阻抗匹配電路采用BALUN電路,由L232、L242、C234和C241組成。CC1110的RF信號(hào)采用差分方式,在433 MHz頻段,其最佳差分阻抗為116+j41 Ω。
RF部分電路設(shè)計(jì)參考圖2的典型設(shè)計(jì),但對(duì)電路進(jìn)行了少量修改,加入PA。根據(jù)實(shí)際應(yīng)用環(huán)境需要,節(jié)點(diǎn)可以工作在有PA、無(wú)PA兩種狀態(tài),比如Coordi-nator、Range Extender兩節(jié)點(diǎn)可以工作在加PA的方式下(一般采用市電供電),實(shí)現(xiàn)遠(yuǎn)距離傳輸。設(shè)計(jì)的傳感器節(jié)點(diǎn)實(shí)物圖如圖3所示。
節(jié)點(diǎn)的傳感器模塊采用瑞士SENSIRION公司的基于Sensirion技術(shù)的全校準(zhǔn)數(shù)字式溫濕度傳感器SHT71。在一個(gè)芯片上,集成了溫濕度傳感器、信號(hào)放大調(diào)整器、A/D轉(zhuǎn)換器和總線接口,可以提供-40℃~120℃范圍內(nèi)分辨率為14 bit的溫度測(cè)量以及0~100%范圍內(nèi)分辨率為12 bit的濕度測(cè)量。SHT71采用串行接口與CC1110相連,它的串行時(shí)鐘輸入線SCK和串行數(shù)據(jù)線DATA直接與CC1110的GPIO口線相連,電路連接示意圖如圖4所示。
3節(jié)點(diǎn)軟件設(shè)計(jì)
節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括溫濕度采集部分和無(wú)線數(shù)據(jù)通信部分。
3.1溫濕度采集
溫濕度傳感器SHT71通過(guò)SCK與CC1110保持同步,通過(guò)DATA線收發(fā)通信協(xié)議命令和數(shù)據(jù)。其控制流如下:CC1110發(fā)送一組“啟動(dòng)傳輸”時(shí)序進(jìn)行數(shù)據(jù)傳輸初始化,然后發(fā)送一組測(cè)量命令,釋放DATA線,等待SHT71下拉DATA線至低電平,表示測(cè)量結(jié)束,同時(shí)接收數(shù)據(jù)。CC1110收到測(cè)量值后,可根據(jù)如下公式計(jì)算出溫度T和相對(duì)濕度H:
式中:系數(shù)d1、d2、c1、c2和c3可以查閱相關(guān)手冊(cè)。
3.2無(wú)線數(shù)據(jù)通信
下面以節(jié)點(diǎn)間點(diǎn)對(duì)點(diǎn)通信為例,介紹無(wú)線傳感器節(jié)點(diǎn)間通信實(shí)現(xiàn)方法及通信過(guò)程。CC1110的MAC幀結(jié)構(gòu)簡(jiǎn)單,剔除物理層的前導(dǎo)碼和同步字,只包含一個(gè)可選的長(zhǎng)度字節(jié)n、一個(gè)可選的地址字節(jié),用戶數(shù)據(jù)和兩個(gè)可選的CRC字節(jié),如圖5所示。
為了方便通信過(guò)程中的數(shù)據(jù)處理,軟件上定義了如下數(shù)據(jù)收發(fā)處理結(jié)構(gòu):
其中,標(biāo)志位flags占1個(gè)字節(jié),用于表示當(dāng)前數(shù)據(jù)幀的類型。flags字節(jié)中的flags字節(jié)的第0位為1時(shí),表示目標(biāo)節(jié)點(diǎn)在收到該數(shù)據(jù)幀后不要ACK;第1位為1時(shí),表示目標(biāo)節(jié)點(diǎn)在收到該數(shù)據(jù)幀后要ACK;第2位為1時(shí)表示該幀是ACK幀;第3位為1時(shí),表示該幀是超時(shí)重傳幀;最高位為1時(shí),表示該幀是數(shù)據(jù)序列中的一幀。
接著闡述傳感器節(jié)點(diǎn)的通信射頻設(shè)置。節(jié)點(diǎn)工作時(shí)使用的晶振頻率為26 MHz,RF初始化時(shí),設(shè)置寄存器FREQ2、FREQ1和FREQ0,配置RF的物理層最低信道的工作頻率;通過(guò)寄存器CHANNR的CHAN位域來(lái)設(shè)置通信信道;設(shè)置寄存器MDMCFG0的CHANSPC_M位域及寄存器MDMCFG1的CHANSPC_E位域來(lái)設(shè)置信道間隔。具體的載波頻率fc可以用下式表示:
式中:fref為26 MHz,最大信道間隔為405 kHz。當(dāng)然,可以通過(guò)TI公司的軟件SmartRF Studio來(lái)計(jì)算這些寄存器設(shè)置值。
評(píng)論