低功耗無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的實(shí)現過(guò)程探討
背景 全球對綠色科技和能源使用效率的需求推動(dòng)著(zhù)新一代超低功耗無(wú)線(xiàn)網(wǎng)絡(luò )的發(fā)展。這種新一代網(wǎng)絡(luò )正在不斷發(fā)展以用于工業(yè)和控制應用中基于傳感器的遠程系統;此外它也促使更多應用更好地使用無(wú)需任何網(wǎng)絡(luò )電纜或電源線(xiàn)的真正無(wú)線(xiàn)解決方案。 用于監視和控制的基于傳感器網(wǎng)絡(luò )并非新概念,現有技術(shù)可實(shí)現有線(xiàn)和專(zhuān)有無(wú)線(xiàn)系統。由于有線(xiàn)方案廉價(jià)又簡(jiǎn)便,因而得以廣泛使用;無(wú)線(xiàn)方案,與之相對,僅限用于一些特定的應用。 如今,采用僅需極少功耗的設計,可使開(kāi)發(fā)這些類(lèi)型的無(wú)線(xiàn)系統成為可能。新一代無(wú)線(xiàn)網(wǎng)絡(luò )可依靠其電池工作更長(cháng)時(shí)間,并且在應用的生命周期中僅需很少或者根本無(wú)需維護。未來(lái),能量收集甚至可以提供所需能源,而不再需要電池。 本文將著(zhù)重介紹新一代嵌入式單片機所具有的各種超低功耗控制功能,以及工程師如何利用這些功能延長(cháng)無(wú)線(xiàn)傳感器節點(diǎn)中電池的預期壽命。 功耗管理功能 那么,什么是低功耗呢?在繼續之前,讓我們首先討論一些術(shù)語(yǔ)。能量與所做功的總量相關(guān),而功率測量的是做功的速率(單位時(shí)間使用的能量)。在電學(xué)中,能量 = 功率×時(shí)間,功率 =電壓×電流。因而,我們所要關(guān)注的關(guān)鍵系統參數為電壓、電流和時(shí)間。具體來(lái)說(shuō),就是我的應用在多大電壓下運行,要消耗多少電流,以及要運行多久? 從單片機的角度來(lái)研究這一問(wèn)題,我們首先需要探討新型單片機的各種功耗模式。 功耗模式 根據處理需求,應用具有一組顯著(zhù)不同的預設工作模式。嵌入式單片機可利用其眾多外設中的一個(gè)來(lái)采樣來(lái)自周?chē)h(huán)境的信號。在外設收集到一定數量的采樣之前,單片機可能無(wú)其他事要做。那么單片機可能會(huì )在每次數據采樣之間休眠或進(jìn)入超低功耗待機模式。一旦應用程序讀到了足夠多的數據采樣,單片機即可輕松切換至全速運行模式,此時(shí)單片機被喚醒并以最大工作速度運行。 單片機通常會(huì )接收到某種類(lèi)型的喚醒事件,才會(huì )從各種低功耗模式退出。喚醒事件可由諸如I/O引腳電平翻轉等外部激勵信號或諸如定時(shí)器外設產(chǎn)生的中斷事件等內部處理器活動(dòng)觸發(fā)。單片機所支持的具體功耗模式有所不同,但通常各種功耗模式總有一些共同點(diǎn)。典型的功耗模式如下: ●始終運行模式 ●休眠或待機模式,此時(shí)保持對存儲器供電 ●深睡或深度休眠模式,此時(shí)存儲器斷電,以最大程度節省功耗 . 始終運行模式 始終運行模式嵌入式系統由持續供電且處于運行狀態(tài)的器件構成。這些系統的平均功耗需求極有可能在亞毫安范圍內,從而直接限制了單片機所能達到的處理性能。幸運的是,新一代嵌入式單片機具有動(dòng)態(tài)控制其時(shí)鐘切換頻率的功能,因為在無(wú)需較高計算能力的情況下,有助于減少工作電流消耗。 待機模式 在待機模式下,系統工作或處于低功耗非活動(dòng)模式。在這些系統中,工作和待機電流消耗都非常重要。在大多數待機模式系統中,由于保持對單片機存儲器通電,雖然電流消耗顯著(zhù)減少,但仍可保持所有的內部狀態(tài)及存儲器內容。此外,可在數秒內喚醒單片機。通常,此類(lèi)系統在大 多數時(shí)間處于低功耗模式,但仍需具備快速啟動(dòng)能力來(lái)捕捉外部或對時(shí)間要求極高的事件。保持對存儲器的供電有助于保持軟件參數完整性以及應用程序軟件的當前狀態(tài)。從功耗模式退出的典型啟動(dòng)時(shí)間通常在 5 -10 μs范圍內。 深度休眠模式 在深度休眠或深睡模式系統中,系統全速運行或處于可大幅節省功耗的深度休眠模式。由于該模式通過(guò)完全關(guān)斷嵌入式單片機內核(包括片上存儲器)來(lái)最大程度節省能耗,因而尤為引人注目。由于在該模式下存儲器斷電,因此必須在進(jìn)入深度休眠模式前將關(guān)鍵信息寫(xiě)入非易失性存儲器。該模式使單片機的功耗降至絕對最小值,有時(shí)低至 20 nA.此外,喚醒單片機后需重新初始化所有存儲器參數,這樣會(huì )延長(cháng)喚醒反應總時(shí)間。從該模式退出的典型啟動(dòng)時(shí)間通常在 200 - 300 μs范圍內。 在這些超低功耗模式系統中,電池的壽命通常由電路中其他元件消耗的電流決定。因此,應注意不僅要關(guān)注單片機消耗的電流,而且要關(guān)注 PCB(印刷電路板)上其他元件消耗的電流。例如,可能的話(huà),設計人員可使用陶瓷電容來(lái)替代鉭電容,因為后者的漏電流通常較高。設計人員還可以決定在應用處于低功耗狀態(tài)下給哪些其他電路供電。 利用功耗模式的優(yōu)勢 接下來(lái),考慮一種具有代表性的情形,在這種情況下,選擇不同單片機功耗模式對系統所用總功率有巨大影響。以基本遠程溫度傳感器為例,該應用收集較長(cháng)時(shí)間段內的數據,可能運用較為成熟的噪聲濾波算法對數據進(jìn)行處理,然后將單片機重新置于待機模式,直到需要更多采樣測量為止。它還采用無(wú)線(xiàn)射頻(RF)傳輸方式將溫度信息報告給中央控制臺。 對溫度進(jìn)行采樣需要使用MCU的片上模數轉換器(ADC),并且僅需適當的處理能力。 在噪聲濾波階段,單片機必須采用處理能力較高的模式來(lái)計算高級濾波算法,并盡快將結果存回存儲器。因此,單片機運行并消耗功率的總時(shí)間縮短了。 每隔一段預定的時(shí)間間隔,單片機就會(huì )組合所有的采樣結果并采用RF收發(fā)器設備發(fā)送至中央控制臺。需要精確時(shí)序來(lái)確保無(wú)線(xiàn)傳感器在預先分配的時(shí)隙內發(fā)送這一信息,從而允許同一系統中的多個(gè)無(wú)線(xiàn)傳感器節點(diǎn)協(xié)同工作。 我們如何管理喚醒處理器的頻率呢?通過(guò)配合使用定時(shí)器外設和集成32 kHz振蕩器電路,單片機能很精確地每秒產(chǎn)生一次中斷,從而保證喚醒時(shí)間準確。此中斷事件還可以使單片機按預定的時(shí)間表向采樣緩沖區填充溫度數據。 單片機填充完溫度采樣緩沖區后,它將切換至處理器速度較高的模式,完成較為成熟的噪聲濾波算法計算,然后盡快返回休眠模式,以縮短工作時(shí)間。單片機采用同樣的實(shí)時(shí)時(shí)鐘功能來(lái)決定將捕捉到的采樣數據發(fā)送回中央控制臺的時(shí)間。確定單片機的最佳功耗模式以使總電流消耗最低取決于多個(gè)因素,下文將對此進(jìn)行討論。 在低功耗應用中優(yōu)化功耗 要使總功耗最低,僅選擇單片機功耗最低的模式是不夠的。我們還必須確定單片機需要完成的每個(gè)任務(wù)的工作量--例如,采樣外部溫度傳感器。一旦確定每個(gè)任務(wù)的性能需求,我們還必須確定每個(gè)任務(wù)的最佳能源利用率。對于前面提到的公式:能量 = 時(shí)間 × 電壓 × 電流,由于系統總體需求和實(shí)際電源決定電壓值,因此我們通常無(wú)法改變公式中的電壓,這樣我們只能操作兩個(gè)參數,時(shí)間和電流。我們需要權衡單片機的工作時(shí)間和電流消耗。下面將探討在執行上述分析時(shí)要切記的一些特定于單片機的參數。 處理器喚醒 將單片機置于低功耗模式后,有一些外部源可將其喚醒。喚醒事件可通過(guò)USB事件、實(shí)時(shí)時(shí)鐘事件,甚至是I/O引腳上的外部觸發(fā)信號發(fā)生。單片機從低功耗休眠模式喚醒并開(kāi)始執行代碼的時(shí)間非常重要。通常,我們努力使這個(gè)時(shí)間盡可能短,這也是我們之所以要在休眠和深度休眠工作模式之間選擇的原因。若每秒喚醒一次單片機,由于從休眠模式喚醒時(shí),單片機可在10 μs內開(kāi)始執行代碼,而無(wú)需首先初始化任何軟件存儲單元,因而該模式可能是最佳選擇。若單片機處于低功耗狀態(tài)的時(shí)間較長(cháng)--例如,數分鐘甚至數小時(shí)才喚醒一次,則深度休眠模式可能是最佳選擇。關(guān)鍵是要使單片機的總電流消耗最小。如果單片機處于低功耗關(guān)斷模式的時(shí)間較長(cháng),那么 300 μs的喚醒時(shí)間與數分鐘或數小時(shí)的深度休眠時(shí)間相比就微不足道了。
評論