ADI實驗室電路:低功耗、長距離ISM無線測量節(jié)點
電路功能與優(yōu)勢
理想情況下,無線測量節(jié)點具有低功耗、長距離特點,易于與不同傳感器接口。通過配合使用ADI公司的三款器件,可以實現(xiàn)平均電流消耗《70 μA、距離接近1 km(無障礙)、數(shù)據(jù)速率達到每分鐘一次傳輸?shù)闹悄軠y量節(jié)點,同時維持16位ADC性能(見圖1),使電路適合電池供電和自動化、遠程檢測等應用。
系統(tǒng)內(nèi)包含的低功耗溫度測量節(jié)點每分鐘喚醒一次,測量溫度并將結(jié)果以10 kbps速率發(fā)送到基節(jié)點,然后返回睡眠狀態(tài)。基節(jié)點不斷接收來自測量節(jié)點的數(shù)據(jù)包,并通過UART將信息發(fā)送到PC,以便在“超級終端”內(nèi)顯示。
ADuC7060精密模擬微控制器采用低功耗ARM7內(nèi)核,擁有多種精密模擬功能。由于內(nèi)置片上多路復用器、數(shù)字可編程增益放大器(PGA)、基準電壓源、可編程電流源和24位Σ-Δ型ADC,該器件幾乎可直接連接任何溫度和橋式傳感器。本例中選擇的是4線式Pt100(100 Ω鉑RTD)溫度傳感器。有關(guān)測量電路的詳情請參閱應用筆記應用筆記 AN-0970
本應用選擇的無線頻段是低于1GHz的免執(zhí)照ISM(工業(yè)、科研和醫(yī)用)頻段。 ADF7021 收發(fā)器支持431 MHz至478 MHz及862 MHz至956 MHz范圍內(nèi)的頻段,因此是必然選擇。該低功耗收發(fā)器所需的外部元件極少,可以輕松連接ADuC7060精密模擬微控制器,性能卓越。
ADP121 穩(wěn)壓器利用兩節(jié)1.5 V電池提供2.5 V電源電壓。該穩(wěn)壓器的極低靜態(tài)電流(無負載時為11 μA)對盡可能延長電池壽命至關(guān)重要。
圖1. 低功耗遠程ISM無線測量節(jié)點(簡化示意圖:未顯示去耦和所有連接)
電路描述
連接 ADF7020 ISM收發(fā)器和ADuC7060精密微控制器的是兩條總線。兩者均為串行雙向總線:其中一條總線負責配置收發(fā)器,需要四個微處理器端口;另一條總線是數(shù)據(jù)總線,用于在控制器與收發(fā)器之間傳輸數(shù)據(jù),該總線至少需要三個微處理器端口。在該應用中,使用的是兩個端口,而非具有兩個中斷的單個雙向端口。這樣雖然簡化了軟件,但必須使用額外的二極管和電阻器,以分離輸入和輸出數(shù)據(jù)流。兩個肖特基二極管的并聯(lián)組合確保了低于200 mV的邏輯低電平。在相同封裝中BAT54C有兩個二極管(連接引腳1和引腳2從而得到并聯(lián)配置)。ADuC7060上的所有數(shù)字端口均具有可編程上拉電阻;但也需要外部上拉電阻。對于10 kbps的數(shù)據(jù)速率,4.7 kΩ的電阻效果不錯。
電路汲取的總電流取決于三個因素:個別元件在睡眠和活動模式中的要求、系統(tǒng)活動的時間以及收發(fā)器本身活動的時間。
第一個因素通過選擇低功耗元件來解決,例如ADuC7060和ADF7020。第二個因素即最大程度地減少系統(tǒng)活動,可通過讓系統(tǒng)盡可能長地處于非活動狀態(tài)來實現(xiàn)??梢钥紤]在整數(shù)與浮點算法間進行折衷,許多情況下整數(shù)就足夠了,其執(zhí)行時間更短,因此更省電。最后一個因素即縮短傳送時間,可部分通過使用開銷最小的協(xié)議實現(xiàn),但更主要的是使用ADF7020,該器件具有極高的接收器靈敏度和出色的帶外抑制性能,最大程度地提高數(shù)據(jù)包含有正確數(shù)據(jù)的概率。
代碼說明-概述
系統(tǒng)大部分時間處于深度睡眠模式中,功耗為50 μA至60 μA(取決于環(huán)境溫度)。定時器2每秒將系統(tǒng)喚醒一次。每60秒執(zhí)行一次ADC測量,將結(jié)果線性化并發(fā)送出去。定時器2可將系統(tǒng)從深度睡眠中喚醒;其他三個定時器無此功能。定時器2是16位器件,表示它采用32 kHz時鐘運行時每秒喚醒一次(睡眠模式內(nèi))。啟動ADC后,系統(tǒng)進入暫停模式(參見ADuC7060數(shù)據(jù)手冊)。這也是一個低功耗模式,盡管未低至深度睡眠水平。完成后ADC將系統(tǒng)喚醒。根據(jù)ADC結(jié)果計算溫度值,將數(shù)據(jù)打包后發(fā)送。
打包其實就是將適當數(shù)據(jù)放置在緩沖器內(nèi)。此時數(shù)據(jù)包含一個4字節(jié)浮點溫度值和一個2字節(jié)CRC(循環(huán)冗余校驗)。在更復雜的系統(tǒng)中,該數(shù)據(jù)之前還會添加節(jié)點地址標頭、接收信號強度和其他信息。在將該緩沖數(shù)據(jù)發(fā)送至ADF7020收發(fā)器前,先發(fā)送一個8字節(jié)前導碼(用于幫助同步接收節(jié)點)和一個3字節(jié)同步字。后者是一個唯一的3字節(jié)數(shù)字,接收節(jié)點在接收數(shù)據(jù)包前會進行匹配檢查。
接收端上的硬件非常相似;配置一個ADF7020收發(fā)器隨時接收唯一的同步字。收到同步字后便接收數(shù)據(jù)包。數(shù)據(jù)通過UART發(fā)送至PC。
圖2中顯示的是測量節(jié)點和基礎接收節(jié)點主環(huán)路的流程圖。
圖2. 測量和接收節(jié)點主環(huán)路流程圖
代碼說明-ADF7020驅(qū)動器
ADF7020支持多種調(diào)制方案。本例中使用GFSK(高斯頻移鍵控),該方案的優(yōu)點是頻譜效率極佳。在此模式中,ADF7020在發(fā)送和接收時均產(chǎn)生數(shù)據(jù)時鐘。時鐘上升沿(DATA CLK)產(chǎn)生一個中斷,使ADuC7060按圖3所示將數(shù)據(jù)逐位地放置在輸出端口上。輸出所有數(shù)據(jù)后,芯片選擇解除,ADuC7060重新進入深度睡眠模式。
在接收端上,ADF7020在接收到匹配的同步字后產(chǎn)生一個中斷(INT/LOCK端口在九個時鐘周期內(nèi)保持高電平)。
該信號通知ADuC7060處理器準備接收數(shù)據(jù)包。從數(shù)據(jù)包接收的每一位均在ADuC7060內(nèi)產(chǎn)生一個中斷。在中斷服務程序(ISR)中,讀取位流并存儲在緩沖器內(nèi)。接收到數(shù)據(jù)包內(nèi)的所有字節(jié)后,設置一個標志,指示新數(shù)據(jù)包已經(jīng)收到。主環(huán)路現(xiàn)在可通過校驗和確認數(shù)據(jù)包的有效性。然后處理正確和完整的數(shù)據(jù)包。本例中通過UART將以上信息發(fā)送至PC進行顯示。如圖4所示,同一ISR既可接收來自ADF7020收發(fā)器的數(shù)據(jù),也可向其發(fā)送數(shù)據(jù)。
圖3. 數(shù)據(jù)I/O時序
圖4. 處理接收和發(fā)送數(shù)據(jù)的中斷服務程序
常見變化
根據(jù)所需頻率,可使用許多其他產(chǎn)品來代替ADF7020。例如,對于2.4 GHz頻段, ADF7242 是很好的選擇。