1 基于IA4421的控制器模塊低功耗設計 1.1 便攜式模塊節點硬件低功耗設計 (1)處理器選擇 ATmega324p為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案: ①TQFP(薄塑封四角扁平封裝),體積小,集成度高; ②6個可通過軟件進行選擇的省電模式; ③最高達到20MIPs的吞吐率(在20 MHz下)。 (2)接口電路低功耗設計 接口電路的低功耗設計,往往是容易被忽略的一個環節。在這個環節里,首先要選擇低功耗的外圍芯片,然后根本的方法是使接口電路的常態處于低功耗狀態。另外,還要考慮以下兩個因素: ①上拉電阻/下拉電阻的選取。在能夠正常驅動后級的情況下,盡可能選取更大的阻值。另外,當信號在多數情況下為低時,也可以考慮用下拉電阻,以降低功耗。 ②對懸空腳的處理。CMOS懸空的輸入端的輸入阻抗極高,很可能感應一些電荷導致器件被高壓擊穿,而且還會使輸入端信號電平隨機變化,導致CPU在休眠時不斷地被喚醒,從而無法進入休眠狀態,或導致其他莫名其妙的故障。所以正確的方法是,將未使用到的輸入端連接到電源VCC或地。 (3)通信芯片選型 IA4421是Integration Associates公司推出的射頻收發一體芯片,工作在433/868/915 MHz頻段。芯片的工作電壓為2.2~5.4 V,采用低功耗模式,待機電流為0.3μA,采用FSK調制模式,發射功率為5~8 dBm,接收靈敏度為-109dBm。 IA4421具有高數據傳輸速率,數字信號的傳輸速率可達115.2 kbps,模擬信號的傳輸速率可達256 kbps。 1.2 便攜式控制器低功耗軟件設計 (1)各種功耗模式轉換 便攜式控制器在硬件上由ATmega324p、IA4421和三星公司的LCD以及外圍電路組成。把便攜式控制器作為一個整體,定義了4種不同的工作模式,如表1所列。不同的工作模式,由便攜式控制器上相關功能芯片的工作模式組合而定。 ![]() ①ATmega 324p選擇Power-save模式的理由:在Pow-er-save睡眠模式下,除了Power-down模式下的所有功能外,Timer/Counter2可以正常工作,所以在Power_save睡眠模式下,系統的實時時鐘系統可以正常運行,這也給系統功耗測試中的定時無線收發提供了條件。 ②基于功耗模式轉換的無線收發工作過程:當便攜式控制器沒有接收和發送任務時,進入睡眠模式,即LCD關閉,ATmega324p處于Power-save模式,IA4421處于SLEEP模式。在實際應用中,便攜式控制器處于睡眠模式的時間應該最長。 如果用戶有傳輸數據的要求,便攜式控制器可以通過按鍵、異步定時器2(實時時鐘)以及接收到主機的信號后產生的外部中斷信號(INT2)喚醒控制器,進行發送和接收的相關操作。任務完成后,再次進入睡眠模式。 (2)低功耗鍵盤軟件設計 ATmega 324p的PortA、PortB、PortC、PortD共有32個I/O口,每個I/O口都是一個外部中斷源。當端口上檢測到有電平跳變時,就可以產生一個外部中斷(PCINT)。這個功能使得控制器的外部中斷口數量不再受到限制。3×3鍵盤的6個接口分別接在普通的I/O口上就能實現中斷按鍵。中斷按鍵在本系統中有如下優點: ①中斷按鍵程序不需要控制器一直處于掃描運行狀態,比用Polling方式下的鍵盤掃描程序大大地降低了功耗。 ②中斷按鍵程序能夠通過按鍵產生中斷來喚醒控制器,在不影響系統功能的前提下,方便系統進行各種模式之間的轉換。詳細的鍵盤系統軟件設計流程如圖1所示。 ![]() 2 低功耗實驗與結果分析 2.1 ATmega324p小系統的功耗實驗 ATmega324p小系統包括ATmega324p單片機、三星公司的S6B0741 LCD模塊以及供電電源(5 V、2.5 A電源適配器),在最小系統的功耗實驗系統中沒有加入無線通信芯片部分。 (1)電流消耗理論值 ATmega324p工作在8 MHz頻率以及LCD(S680741)工作在開啟顯示(背光關閉)、睡眠模式和關閉LCD(S680741)時的電流消耗理論值如表2所列。 ![]() (2)最小系統在不同工作模式下實際電流值的測定在系統中下載C程序,分別測量系統在不同的組合模式下的電流消耗。測試環境為實驗室內,溫度20℃左右;使用萬用表和100 Ω電阻,ICCAVR開發環境,STK500下載器下載。 在便攜式控制器的總電源接口上串聯一個100 Ω的電阻,在不同的系統模式下分別測量電阻上的電壓值,然后計算電流值。測試值與理論值的對比結果如表3所列。 ![]() (3)實驗結果分析 ①LCD模塊中主要包括控制芯片和LCM(顯示器)。理論值中,LCD(S6B0741)的電流理論值并不包括LCM(顯示器)所消耗的電流。當 LCD開啟,ATmega324p在Idle模式和正常工作模式時,理論值和實際測量值之間都大約相差3 mA。可以得出,3 mA的電流就是LCM(顯示器)大約消耗的電流。 ②實際測量的電流值比理論值要大,這樣的能耗差異主要是消耗在便攜式控制器模塊中外圍電路上。外圍電路中各個電子元器件的理論消耗電流值很難查到,在計算的時候沒有加入。 ③雖然測量的方法很簡單,測量的只是系統電流的靜態值,但是這個測量的電流值可以大體上反映出系統在不同的工作狀態下的功耗趨勢,對系統的低功耗研究有一定的意義和應用價值。 ④在各種工作模式下的實際測試結果對比中可以看出,最小系統的最小能耗和最大能耗之間相差大約10 mA。所以,在低功耗設計中,不同功能要求下不同工作模式的轉換是非常有意義的。 ⑤LCD模塊的背光打開和背光關閉消耗的電流差值在6 mA左右,可見LCD的背光在系統中是耗能很大的器件。所以,從節約能耗的角度考慮,一般正常情況下不開啟LCD背光。 2.2 便攜式控制器低功耗測試實驗 為了驗證便攜式控制器的耗電性能,在采取了上述軟硬件低功耗措施后,對便攜式模塊的功耗性能做了下述實驗。驗證結果表明,所設計的模塊在功耗方面基本滿足了系統的應用要求。 (1)實驗內容 ①用ATmega324.p的定時器2進行定時收發,每隔2.5小時發送接收1次數據,1天發送9次數據。 ②在沒有發送接收任務的時段,ATmega324p處于低功耗的睡眠狀態Power-save,關閉LCD模塊,IA4421工作在睡眠模式。從上面的小系統功耗實驗中看出,這樣的工作狀態下整個便攜式模塊的耗能最低。測試的軟件流程如圖2所示。 ![]() ③IA4421的無線通信參數為:工作頻段433 MHz,數據傳輸率9.6 kbps,相對發射功率0 dBm,接收靈敏度-109 dBm。這樣的參數選擇,在滿足系統收發功能正常的情況下,盡量地使用低頻段、低傳輸率,為了滿足較遠距離傳輸并盡量地降低發送接收的功耗。 ④用3節7號的南孚堿性高能電池供電,測試開始時電池電壓為4.86 V。 (2)實驗結果與意義 測試系統是針對便攜式控制器與主機之間的點對點通信設計的。實驗結果如表4所列。 ![]() 每2.5小時進行1次通信,這個通信頻率對用戶使用本系統的頻率進行了較好的模擬。實驗結果可以看出,電池的壽命大概在5個半月,并且是在每天通信10次的基礎上測試得到的結果。這個電池壽命的指標基本達到了系統設計的要求,也證明了上述的軟硬件措施是得當有效的。 3 結 論 本文詳細分析了低功耗的軟硬件設計方法,在不同工作任務下選取不同的工作模式對降低功耗具有重要的意義。在使用了得當的軟硬件措施后,所設計的便攜式控制器模塊的電池壽命達到了半年左右,滿足了無線傳感器網絡系統的應用需要。文中的低功耗設計方法和思想對實際產品的開發具有一定的參考價值。 作 者:云南大學 張科帆 王曦鋒 張淑華 黎英 來源:《單片機與嵌入式系統應用》 2009(9) |