CC1110在低功耗無線傳感器網(wǎng)絡(luò)中的應(yīng)用研究
引言
本文引用地址:http://butianyuan.cn/article/201610/307413.htm隨著無線傳感器網(wǎng)絡(luò)應(yīng)用的日趨廣泛,越來越多的應(yīng)用領(lǐng)域要求節(jié)點模塊不僅擁有更小的體積,而且能夠持續(xù)工作更長的時間,低功耗的設(shè)計已成為無線傳感器網(wǎng)絡(luò)應(yīng)用研究的一個重要方面。
無線傳感器網(wǎng)絡(luò)低功耗設(shè)計可從三個方面進行:一是硬件設(shè)計低功耗,即通過低功耗芯片選型、低功耗電路設(shè)計技巧運用等多種手段降低系統(tǒng)功耗;二是工作模式低功耗,這是低功耗設(shè)計中最主要的手段,也是最有效的,它通過轉(zhuǎn)換節(jié)點模塊“休眠-喚醒”的工作狀態(tài)實現(xiàn)功耗控制,可以采用節(jié)點時間同步、主機模式控制等方法達到降低功耗的目的;三是軟件設(shè)計低功耗,即在無線傳感器網(wǎng)絡(luò)開發(fā)過程中,從軟件著手,通過優(yōu)化程序設(shè)計、切換芯片功耗模式、采用中斷驅(qū)動模式等手段降低系統(tǒng)功耗,從原理上講工作模式低功耗設(shè)計也是軟件設(shè)計低功耗的一種。
針對某傳感器網(wǎng)絡(luò)應(yīng)用中,由于小范圍內(nèi)包含大量聚集的傳感器節(jié)點,且數(shù)據(jù)采集時間隨機,傳統(tǒng)Mesh型(網(wǎng)狀)網(wǎng)絡(luò)拓撲結(jié)構(gòu)和基于時間同步算法的星型傳感器網(wǎng)絡(luò)難以實現(xiàn),而采用基于星型拓撲結(jié)構(gòu)和主機輪詢的網(wǎng)絡(luò)工作模式,能夠有效滿足系統(tǒng)需求,并可以實現(xiàn)低功耗的系統(tǒng)設(shè)計。具體開發(fā)中,采用無線微控制器CC1110作為主控芯片,綜合硬件設(shè)計低功耗、工作模式低功耗和軟件設(shè)計低功耗實現(xiàn)了系統(tǒng)的低功耗設(shè)計。
1 系統(tǒng)組成及硬件電路設(shè)計
圖1為基于CC1110的無線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)框圖,以節(jié)點控制器為核心,與無線節(jié)點模塊組成星型拓撲結(jié)構(gòu)的網(wǎng)絡(luò)。節(jié)點模塊以CC1110為控制核心,一方面控制傳感器進行數(shù)據(jù)采集,另一方面完成與節(jié)點控制器的無線通信,接受節(jié)點控制器的控制。節(jié)點電源模塊包含充電電路、可充電電池、多級電源芯片等,是電路低功耗設(shè)計的硬件基礎(chǔ)。
節(jié)點模塊采用電池獨立供電模式,可以利用無線充電或者太陽能充電,大大擴展了這種傳感器網(wǎng)絡(luò)的應(yīng)用范圍和場合,并且設(shè)計中采用了緊縮的電路結(jié)構(gòu)設(shè)計、小容量可充電電池以及微小封裝外圍芯片,所以整個節(jié)點模塊體積非常小。圖2為CC11l0傳感器節(jié)點模塊的電路原理圖。采用CC1110為控制核心的優(yōu)勢在于:CC1110是一款低成本SoC,內(nèi)部集成了一個增強型低功耗8051處理器內(nèi)核和一個無線收發(fā)芯片CC1100,無線通信可工作在315/433/915 MHz的ISM(工業(yè)、科學和醫(yī)學)和SRD(短距離設(shè)備)頻率波段;芯片配合少量的外圍器件,即可成為一個無線傳感器網(wǎng)絡(luò)的通信、控制核心。
圖3為電池供電模塊電路原理圖,采用RICHTECH公司的低壓差穩(wěn)壓芯片RT9161A-42CX,可輸出4.2V電壓和最大500mA電流,在驅(qū)動電流為100 mA時,典型壓降為200 mV,能夠提升無線充電和太陽能充電時的能量利用率。內(nèi)置可充電電池容量為150 mA,能夠滿足系統(tǒng)能量需求,也可以有效減小模塊的體積。
圖4為CC1110電池電壓檢測電路及供電模塊電路原理圖。電池在滿電狀態(tài)下能夠輸出4.2 V的電壓,這超出了CC1110正常工作時的最高電壓3.9 V,所以需要在電池輸出端添加一級的降壓或者穩(wěn)壓的過程??梢圆捎脙煞N方式:一是利用穩(wěn)壓二極管,這種方式簡單有效,但是會造成功率的大量浪費,特別是穩(wěn)壓二極管前端一般需要一個限流電阻,在芯片休眠狀態(tài)下,此電阻也會持續(xù)耗電,直至電池電壓降到穩(wěn)壓二極管的擊穿電壓(比如3.9 V)這樣電池從4.2 V到3.9 V的電量將被浪費;二是利用集成穩(wěn)壓芯片,應(yīng)當選用有較高轉(zhuǎn)化效率和較小自身功耗的芯片,這里選擇RICHTECH公司的RT9013A-30PB,不僅具有極低的噪聲適合RF應(yīng)用,而且靜態(tài)功耗只有25μA,可以大大減小系統(tǒng)的靜態(tài)功耗。CC 1110電池電壓檢測及供電模塊如圖4所示。圖4中的電阻分壓電路是用來檢測電池電量,接入CC1110的P0_7端口,利用內(nèi)部的模數(shù)轉(zhuǎn)換功能實現(xiàn)電池電量的監(jiān)測,因為采用了芯片內(nèi)的1.25 V基準電壓作為參考,所以外部需要準確分壓來計算電池電量,分壓電阻也可以采用非精密電阻,這需要實際測量阻值并在電壓計算中調(diào)整換算系數(shù)。
RT9013A-30PB還具有使能端口,能實現(xiàn)供電的開關(guān)控制,特別是作為傳感器電源,在傳感器沒有低功耗模式時,可由控制器直接關(guān)斷,實現(xiàn)極低的功耗。圖5為RT9013A-30PB應(yīng)用于外部傳感器控制的電路原理圖,需要注意的是,該款芯片最大能提供500 mA的電流。
通過硬件設(shè)計,包括電池充電電路、CC1110芯片供電電路、電壓檢測電路、傳感器供電電路等,構(gòu)建了系統(tǒng)低功耗的硬件基礎(chǔ)。但實際工作時,CC1110在無線網(wǎng)絡(luò)開啟情況下工作電流一般能達到16 mA以上,所以進一步降低系統(tǒng)的平均功耗需要設(shè)計系統(tǒng)的低功耗工作模式。
2 基于“喚醒-偵聽”的低功耗工作模式
CC1110具有4種低功耗模式,如表1所列。分別為PM0~PM3:在PM0模式下,CPU處于掛起狀態(tài),其他外設(shè)可處于工作狀態(tài);在PM1模式下,高速時鐘源全部關(guān)閉,CPU和外設(shè)都不工作,數(shù)字寄存器中的內(nèi)容不丟失,可以響應(yīng)外部中斷,系統(tǒng)處在低時鐘狀態(tài)工作,這時睡眠定時器工作,I/O保持配置狀態(tài);PM2模式為次低功耗模式,外部中斷有效,低速振蕩器工作,睡眠定時器工作,I/O保持配置,RAM中的內(nèi)容和大部分功能寄存器內(nèi)容保持,其他內(nèi)部電路關(guān)閉,這種模式下可用睡眠定時器喚醒系統(tǒng);PM3模式為系統(tǒng)最低功耗模式,內(nèi)部數(shù)字穩(wěn)壓模塊關(guān)閉,內(nèi)部電路全部斷電,只有復位、外部中斷有效,I/O保持配置和輸出狀態(tài),這時只能通過復位或者外部中斷喚醒系統(tǒng)。
低功耗的無線節(jié)點采用的是PM2工作模式,因為PM3模式必須通過外部干預(yù)才能夠喚醒,不符合設(shè)計要求。PM2模式的低功耗算法采用基于“喚醒-偵聽”的工作方式,CC1110開始即進入PM2睡眠工作模式,待睡眠定時器完成計數(shù)后,喚醒系統(tǒng)進入全速工作狀態(tài),開啟無線接收功能,偵聽頻道信息。如果接收到主機喚醒工作指令,那么恢復到正常工作狀態(tài),如果在設(shè)定的偵聽時間內(nèi)沒有接收到主機指令或者非本機指令,則重新進入睡眠狀態(tài),并設(shè)定睡眠定時器進入下一次的“喚醒-偵聽”循環(huán)。圖6為“喚醒-偵聽”無線節(jié)點低功耗的工作流程,其中無線節(jié)點在完成主機命令后,可在休眠指令下再次進入休眠模式。
針對上面思路設(shè)計的無線節(jié)點,在節(jié)點控制器喚醒程序設(shè)計時需要注意幾點:一是因為節(jié)點的自主喚醒時間是隨機的,所以節(jié)點控制器要在節(jié)點睡眠和喚醒時間內(nèi)連續(xù)發(fā)送喚醒命令,這樣如果節(jié)點設(shè)置較長的睡眠時間,那么可以有效降低系統(tǒng)的平均功耗,但是會增加節(jié)點控制器發(fā)送喚醒命令的時間,所以需要在功耗和性能之間權(quán)衡;二是當一個區(qū)域存在多個無線傳感器節(jié)點時,可以設(shè)置多條控制命令,例如單個節(jié)點,或全部節(jié)點喚醒,或者全部節(jié)點睡眠。
3 測試計算
圖7為節(jié)點模塊的功耗測試電路實物圖,包含了CC1110模塊、無線充電模塊、充電供電模塊以及兩路傳感器供電模塊。傳感器的供電測試采用外接負載電阻的方式模擬。
系統(tǒng)應(yīng)用中,設(shè)置節(jié)點的睡眠時間為2 s,節(jié)點喚醒時間為10 ms,節(jié)點活動時的平均電流為20 mA(開啟無線收發(fā),系統(tǒng)全速工作,不考慮傳感器功耗),睡眠狀態(tài)下測試節(jié)點的電流為0.2 mA(包含3路RT9013A-30PB以及整個CC1110模塊)??梢杂嬎愠鱿到y(tǒng)工作的平均電流為0.3 mA,則電池充滿后,可以在待機情況下使用500小時。
結(jié)語
系統(tǒng)綜合硬件電路設(shè)計和程序流程控制,提出了一種基于CC1110的無線傳感器網(wǎng)絡(luò)低功耗節(jié)點設(shè)計方法,可以為一定范圍內(nèi)多無線傳感器節(jié)點的星狀網(wǎng)絡(luò)模式提供設(shè)計參考。此外,對穩(wěn)壓芯片選擇以及功耗計算進行了分析探討。最終設(shè)計得到的節(jié)點不僅具有較長的工作時間,而且體積小、成本低,適合應(yīng)用于多種場合。
評論