為低功耗應用選擇正確的µC外圍器件
發布時間:2010-07-13 來源:21IC
中心議題:
在現實世界中,Power(權力)就意味著金錢-越大越好;而對於µC外圍器件來說則正好相反。隨著消費市場的不斷發展,終端應用產品的體積不斷縮小,Power(功率)越小越好。便攜性和低功耗成為最優先考慮的事情,並促成處理器內核電壓降至1.8v的行業動向,也就不足為奇了。盡管與3.3v和5v型號相比,這些低功耗器件消耗的能量確實要低得多,但是低功耗處理器並非都一樣。設計出色的低功耗應用需要同時考慮終端應用的需求和各種可用的µC特性。
設計人員可能會提出以下問題:是shi否fou能neng夠gou重zhong新xin充chong電dian?尺chi寸cun能neng夠gou做zuo到dao多duo小xiao?典dian型xing的de工gong作zuo時shi間jian是shi多duo少shao?速su度du必bi須xu多duo快kuai?要yao連lian接jie哪na種zhong類lei型xing的de外wai圍wei器qi件jian?這zhe些xie答da案an將jiang最zui終zhong為wei確que立li設she計ji標biao準zhun和he功gong率lv要yao求qiu積ji累lei原yuan始shi資zi料liao。

圖1:典型µC環境中的器件
處理功率
首先應該考慮CPU的處理功率,一般來說,CPU是功耗最高的外圍器件。處理器全速運行時,耗電量非常大,因此CPU處於待機或關閉狀態的時間越多,電池壽命越長。例如,4位處理器比32位處理器的功率消耗低;而處於休眠或停機狀態的任何位數的處理器均比工作中的處理器的功耗要低。因此,如果32位處理器執行功能所耗的時間僅為4位處理器的1/10,那麼,它在整個係統生命周期內要少消耗9/10的功率。因此,大多數製造商建議以較高的頻率運行CPU,迅速完成任務,並立即返回到功耗最低的休眠狀態。總之,在選擇處理器速度時,要考慮能夠迅速處理預期工作量並盡可能長時間地處於休眠狀態。
其次應考慮大多數便攜式應用的中斷服務例程(ISR)。ISR會定期喚醒處理器執行預排程序的或用戶啟動的任務,然後讓處理器返回到休眠狀態。進入和退出ISR所用的CPU時鍾周期越少越好。事實上,許多ISR(例如端口I/O)有多個標誌,這些標誌可能會觸發同一中斷。采用程序計數器相對尋址方式的處理器會大大縮短識別和處理適當中斷源所需的必要周期-尤其是在鍵盤掃描應用中。如果ISR編寫得好,通過限製喚醒CPU、執行任務和返回休眠狀態所需的程序分支,可以確保處理時間最短。采用中斷向量表的處理器中,程序計數器加載ISR地址,這種處理器有助於減少額外的程序分支,並降低功耗。自動上下文保存以及算術邏輯單元(ALU)標誌和功率模式的恢複功能也可以促進節能。[page]
此外,由於在低速或時鍾停止的環境中,動態內核處理器不能保持數據的完整性,因而應盡可能使用靜態內核處理器。
工作模式
休眠和“低功耗”模式也是必須考慮的重要問題。通過減慢喚醒時間實現低功耗狀態(或關閉對喚醒器件非常重要的功能)會增加功耗,而不是降低功耗。
大多數低功耗器件的休眠或空閑模式會關閉處理器和時鍾,通常流耗低於一微安。然後,需要I/O中斷把處理器從休眠模式喚醒。使用32kHz時鍾驅動定時器或實時時鍾能以更靈活的方式喚醒處理器。基於32kHz振蕩器的功耗不像“深度睡眠”模式那樣低,但它能以幾微安的電流提供時鍾功能。由於許多便攜式應用需要實時時鍾功能,這種改進可以讓係統選用多種不同的外圍器件。
需要注意的一點是,如果處理器必須使用RESET信號從停機狀態喚醒,它必須運行所有硬件初始化程序。事實上,即使處理器SRAM中的內容沒有改變且仍然能夠尋址中斷,它也將不得不重新初始化處理器外圍器件,這將消耗能量。
振蕩器
在通過複位喚醒時,由於穩定振蕩器晶體所花費的時間不同,內部振蕩器能比外部振蕩器多執行將近1,000條指令。例如,使用外部振蕩器的100MIP機器啟動、穩定和處理指令需要的時間為1毫秒。與此相比,同一台機器僅需要1微秒時間就可以使內部振蕩器全速工作。讓外部振蕩器穩定的時間裏,內部振蕩器可以完成加電,執行1000條指令,然後恢複斷電狀態。這一時間通常已足夠找到中斷地址,並恢複斷電狀態。那麼,為什麼要考慮使用外部振蕩器呢?外部振蕩器通常在整個工作溫度範圍內更準確。事實上,在低功耗應用中,嵌(qian)入(ru)式(shi)程(cheng)序(xu)裝(zhuang)置(zhi)經(jing)常(chang)習(xi)慣(guan)對(dui)照(zhao)外(wai)部(bu)振(zhen)蕩(dang)器(qi)校(xiao)準(zhun)內(nei)部(bu)振(zhen)蕩(dang)器(qi)。這(zhe)是(shi)因(yin)為(wei)驅(qu)動(dong)外(wai)部(bu)振(zhen)蕩(dang)器(qi)並(bing)使(shi)其(qi)達(da)到(dao)速(su)度(du)所(suo)需(xu)的(de)電(dian)路(lu)比(bi)內(nei)部(bu)振(zhen)蕩(dang)器(qi)消(xiao)耗(hao)的(de)功(gong)率(lv)更(geng)大(da)。
選擇內部振蕩器時應慎重。雖然某些內部振蕩器可以在數微秒內喚醒處理器,但是,必須在經過數毫秒,當外部晶體達到穩定之後,才能以更高的速度運行,然後CPU時鍾才能切換到更高的頻率。例如,如果一個100MIP的處理器有一個20kHz的內部時鍾,該時鍾與外部振蕩器的1MHz時鍾同時啟動,內部振蕩器將仍然能夠執行999條指令,而更高速度的處理器用同樣的時間隻能執行20條指令。
定時器
利用好定時器有助於在處理器保持待機狀態的情況下實現係統處理功能。由於定時器功耗非常小,因此這有助於大大降低功耗。應該使用實時時鍾模塊接受32kHz計時器定時器輸入和設置不同時間間隔的“警報”或中斷,在無需處理器幹預的情況下,使計時器計數增加。同樣,應該使用影子寄存器更新和比較來自ISR的值。一旦寄存器讀到有效的預編程值,即觸發ISR,使處理器脫離休眠或待機狀態,而不需要CPU尋找ISR地址、更新周期或比較值。
管理開銷
管理開銷係統監視程序、監管工作有助於防範不安全的狀況,有關器件包括電壓監控器和看門狗定時器。由於數字電路依賴觸發器或從負到正(或相反亦然)狀態的轉換,因此,即使工作電壓有稍小的下降,也可能會意外觸發RESET條件,從而造成係統無法工作。電力減弱保護作為電壓監控的一部分,一般用於確保電壓瞬變不會強製處理器進入和退出RESET狀態。
隻要有可能,在電壓監控解決方案中應采用不可屏蔽的中斷(NMI)來識別電壓瞬變。這種方法讓用戶能隨心所欲地設定電壓觸發的門限電平,無需係統複位條件,其功耗一般比模擬-數字轉換器(ADC)通道更低。
看門狗定時器監視故障情況。雖然在典型的嵌入式應用中,內嵌的係統程序器往往禁用看門狗定時器,但是在低功耗係統中,在電源電壓不穩定的情況下,看門狗定時器是一種有用的工具。看門狗定時器會執行預先設定功能,例如在符合某些條件時,比如電壓過低或有內存問題時,向處理器發出RESET指令。所選擇的處理器應該能夠生成已知的ISR,使處理器無需執行RESET而恢複聯機狀態;因為執行RESET,必須啟動外圍設備,因而會消耗更多的處理器功率。
UART通信
將一個數字時鍾與另一個數字時鍾精確到秒地同步是不可能的,因為每個時鍾均與其內部晶體同步。在MCU驅動的係統中,低功耗模式下使用的32kHz實時時鍾晶體與用於生成UART波特率的普通38.4kHz頻率之間會出現類似的同步問題。因為實時時鍾的32,768頻率使15位寄存器每秒溢出一次,所以非常適合時間保持(time-keeping)應用。比較而言,在UART中使用相同的頻率,則在典型的10位(起始位、8位數據和1個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由於32,768Hz時鍾必須除以3.4,才能得到9,600波特率。由於沒有3.4這一選擇,因此必須選擇除以3或除以4(參見圖2)。
將一個數字時鍾與另一個數字時鍾精確到秒地同步是不可能的,因為每個時鍾均與其內部晶體同步。在MCU驅動的係統中,低功耗模式下使用的32kHz實時時鍾晶體與用於生成UART波特率的普通38.4kHz頻率之間會出現類似的同步問題。因為實時時鍾的32,768頻率使15位寄存器每秒溢出一次,所以非常適合時間保持(time-keeping)應用。比較而言,在UART中使用相同的頻率,則在典型的10位(起始位、8位數據和1個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由於32,768Hz時鍾必須除以3.4,才能得到9,600波特率。由於沒有3.4這一選擇,因此必須選擇除以3或除以4(參見圖2)。

圖2:9600波特傳輸時32Khz驅動UARTRx錯誤
[page]
UART數據用10,922波特或8,192波特的UART接收。由於UART在傳輸中間點對數據進行采樣以補償抖動,因此該點已經被選擇為接收UART的采樣點。在沒有行抖動的理想情況下,10,922波特UART對第三數據位的開始兩次讀數都會是錯誤的而8,192波特的UART由於會完全遺漏第三位,很快就將出錯。由於低功耗應用的理想時鍾是低功耗實時時鍾模式,這使得在低功耗環境中處理很困難。解決這一問題的最好辦法就是將µC與調製技術結合使用,用32kHz振蕩器提供非常精確的2,400波特,並完全能支持9,600波特(參見圖3)。

圖3:在9600波特傳輸時采用時鍾調製的32Khz驅動UART
通過混合兩個時鍾除數解決錯誤,總體積累的錯誤消失,數據接收正確。這種方法對於9,600波特或以下的UART通信很有效。對於高速通信,幾個µC監視UARTRx行的邊緣躍遷並觸發ISR啟動內部高速振蕩器,驅動CPU並處理中斷。這使µCUART能夠接收高速數據,而不必在UART空閑期間保持一個啟動的高速時鍾。如果使用外部振蕩器或內部振蕩器頻率太低,則由於啟動高速振蕩器需要一定的時間,第一次傳輸將失效。為克服這一限製和效率損失,設計人員應該考慮使用能夠喚醒並及時從32kHz或停機模式激活的處理器,從正在傳輸的UART恢複首次傳輸的數據。例如,係統時鍾需要在25µs內啟動,才能拾取起始位的中間點,從而正確接收19,200位的傳輸。
許多低功耗應用通過UART將µC連接到RS-485傳感器網絡。支持尋址和多處理器(9位)模式的UART非常適合於這種網絡。當第9位為1(代表是一個地址)時,這些UART會生成一個ISR,讓處理器能夠在其它傳感器通過係統發送數據時保持休眠狀態。某些µC會更進一步,在UART中加入地址匹配,僅在第9位是1且地址與在剩餘8位中收到的數據匹配時才喚醒係統。
模擬器件
模擬器件是最早的操作器件。模擬器件已經發展數十年,它是穩定電源、為高速晶體電路提供過濾和穩定性的必要器件,對監控來自自然界的輸入信號也必不可少。
在待機模式下,模擬器件實際上不消耗功率。模擬-數字轉換器(ADC)斷電快,在待機模式下,甚至可以被視為一種低功耗應用。
一旦加電,缺點即暴露無遺。一般來說,模擬器件在工作時需要的電流很大。例如,ADC工作時需要的電流達數百微安。另外,模擬器件(例如內部基準時鍾)會使啟動時間增加幾毫秒,因為穩定模擬器件需要相對較大的外部電容。另一種經常被集成的器件-集成溫度傳感器-通常是隨溫度改變的二極管電路,也需要相當大的電流。
在低功耗應用中有幾個需要考慮的標準。如果ADC有內部振蕩器,就沒有必要對其它係統振蕩器加電來進行轉換。在這種情況下,處理器保持斷電狀態,隻有轉換完成時起,才需要開始工作。像CPU一樣,我們可以通過縮短執行時間來降低功耗。ADC轉換的速度越快,器件進入待機模式的速度越快。對於內部基準時鍾也是這樣。基準時鍾啟動和穩定得越快,轉換完成和模擬係統斷電的速度也越快。如果隻是偶爾使用ADC,某些處理器允許采樣時鍾斷電,讓跟蹤電路保持加電。這樣ADC就能夠進入較淺的休眠模式。這種功能的負麵影響是,在進行轉換前,需要花較長時間來讓采樣和保持電路達到穩定。
轉換完成之後,有幾個µC集成了直接內存訪問(DMA)或先入先出(FIFO)緩衝存儲器,能夠將多個轉換存儲在RAM中,而無需喚醒處理器。在一定數量的轉換到達之前,處理器會保持待機狀態,而不是在每個轉換後喚醒處理器來將數據移入RAM,這樣就可以降低功耗。
許多低功耗µC內置內部模擬比較器,可以執行簡單的模擬任務。有些製造商的比較器允許編程,可以通過延長響應時間降低功耗。
總之,µC外圍設備的選擇是由終端應用最終決定的,因此我們應從全麵評估係統功能及其功率要求著手。許多處理器製造商宣稱其器件具備低功耗工作能力,但是不同的應用對“低功耗”一詞有不同的定義。是需要大量集成的速度更高的處理器,還是需要具有極深度睡眠模式的速度更低的處理器,更多地取決於內嵌係統的要求,而不是內嵌處理器所謂的“低功耗”工作能力。
- 低功耗產品的設計重點
- 係統時鍾與整機功耗的聯係
- 選擇模擬器件的要點
- 選擇能夠迅速處理預期工作量並盡可能長時間地處於休眠狀態處理器
- 利用好定時器有助於處理器保持待機狀態
- 模擬器件在不工作時,斷開電源
在現實世界中,Power(權力)就意味著金錢-越大越好;而對於µC外圍器件來說則正好相反。隨著消費市場的不斷發展,終端應用產品的體積不斷縮小,Power(功率)越小越好。便攜性和低功耗成為最優先考慮的事情,並促成處理器內核電壓降至1.8v的行業動向,也就不足為奇了。盡管與3.3v和5v型號相比,這些低功耗器件消耗的能量確實要低得多,但是低功耗處理器並非都一樣。設計出色的低功耗應用需要同時考慮終端應用的需求和各種可用的µC特性。
設計人員可能會提出以下問題:是shi否fou能neng夠gou重zhong新xin充chong電dian?尺chi寸cun能neng夠gou做zuo到dao多duo小xiao?典dian型xing的de工gong作zuo時shi間jian是shi多duo少shao?速su度du必bi須xu多duo快kuai?要yao連lian接jie哪na種zhong類lei型xing的de外wai圍wei器qi件jian?這zhe些xie答da案an將jiang最zui終zhong為wei確que立li設she計ji標biao準zhun和he功gong率lv要yao求qiu積ji累lei原yuan始shi資zi料liao。

圖1:典型µC環境中的器件
處理功率
首先應該考慮CPU的處理功率,一般來說,CPU是功耗最高的外圍器件。處理器全速運行時,耗電量非常大,因此CPU處於待機或關閉狀態的時間越多,電池壽命越長。例如,4位處理器比32位處理器的功率消耗低;而處於休眠或停機狀態的任何位數的處理器均比工作中的處理器的功耗要低。因此,如果32位處理器執行功能所耗的時間僅為4位處理器的1/10,那麼,它在整個係統生命周期內要少消耗9/10的功率。因此,大多數製造商建議以較高的頻率運行CPU,迅速完成任務,並立即返回到功耗最低的休眠狀態。總之,在選擇處理器速度時,要考慮能夠迅速處理預期工作量並盡可能長時間地處於休眠狀態。
其次應考慮大多數便攜式應用的中斷服務例程(ISR)。ISR會定期喚醒處理器執行預排程序的或用戶啟動的任務,然後讓處理器返回到休眠狀態。進入和退出ISR所用的CPU時鍾周期越少越好。事實上,許多ISR(例如端口I/O)有多個標誌,這些標誌可能會觸發同一中斷。采用程序計數器相對尋址方式的處理器會大大縮短識別和處理適當中斷源所需的必要周期-尤其是在鍵盤掃描應用中。如果ISR編寫得好,通過限製喚醒CPU、執行任務和返回休眠狀態所需的程序分支,可以確保處理時間最短。采用中斷向量表的處理器中,程序計數器加載ISR地址,這種處理器有助於減少額外的程序分支,並降低功耗。自動上下文保存以及算術邏輯單元(ALU)標誌和功率模式的恢複功能也可以促進節能。[page]
此外,由於在低速或時鍾停止的環境中,動態內核處理器不能保持數據的完整性,因而應盡可能使用靜態內核處理器。
工作模式
休眠和“低功耗”模式也是必須考慮的重要問題。通過減慢喚醒時間實現低功耗狀態(或關閉對喚醒器件非常重要的功能)會增加功耗,而不是降低功耗。
大多數低功耗器件的休眠或空閑模式會關閉處理器和時鍾,通常流耗低於一微安。然後,需要I/O中斷把處理器從休眠模式喚醒。使用32kHz時鍾驅動定時器或實時時鍾能以更靈活的方式喚醒處理器。基於32kHz振蕩器的功耗不像“深度睡眠”模式那樣低,但它能以幾微安的電流提供時鍾功能。由於許多便攜式應用需要實時時鍾功能,這種改進可以讓係統選用多種不同的外圍器件。
需要注意的一點是,如果處理器必須使用RESET信號從停機狀態喚醒,它必須運行所有硬件初始化程序。事實上,即使處理器SRAM中的內容沒有改變且仍然能夠尋址中斷,它也將不得不重新初始化處理器外圍器件,這將消耗能量。
振蕩器
在通過複位喚醒時,由於穩定振蕩器晶體所花費的時間不同,內部振蕩器能比外部振蕩器多執行將近1,000條指令。例如,使用外部振蕩器的100MIP機器啟動、穩定和處理指令需要的時間為1毫秒。與此相比,同一台機器僅需要1微秒時間就可以使內部振蕩器全速工作。讓外部振蕩器穩定的時間裏,內部振蕩器可以完成加電,執行1000條指令,然後恢複斷電狀態。這一時間通常已足夠找到中斷地址,並恢複斷電狀態。那麼,為什麼要考慮使用外部振蕩器呢?外部振蕩器通常在整個工作溫度範圍內更準確。事實上,在低功耗應用中,嵌(qian)入(ru)式(shi)程(cheng)序(xu)裝(zhuang)置(zhi)經(jing)常(chang)習(xi)慣(guan)對(dui)照(zhao)外(wai)部(bu)振(zhen)蕩(dang)器(qi)校(xiao)準(zhun)內(nei)部(bu)振(zhen)蕩(dang)器(qi)。這(zhe)是(shi)因(yin)為(wei)驅(qu)動(dong)外(wai)部(bu)振(zhen)蕩(dang)器(qi)並(bing)使(shi)其(qi)達(da)到(dao)速(su)度(du)所(suo)需(xu)的(de)電(dian)路(lu)比(bi)內(nei)部(bu)振(zhen)蕩(dang)器(qi)消(xiao)耗(hao)的(de)功(gong)率(lv)更(geng)大(da)。
選擇內部振蕩器時應慎重。雖然某些內部振蕩器可以在數微秒內喚醒處理器,但是,必須在經過數毫秒,當外部晶體達到穩定之後,才能以更高的速度運行,然後CPU時鍾才能切換到更高的頻率。例如,如果一個100MIP的處理器有一個20kHz的內部時鍾,該時鍾與外部振蕩器的1MHz時鍾同時啟動,內部振蕩器將仍然能夠執行999條指令,而更高速度的處理器用同樣的時間隻能執行20條指令。
定時器
利用好定時器有助於在處理器保持待機狀態的情況下實現係統處理功能。由於定時器功耗非常小,因此這有助於大大降低功耗。應該使用實時時鍾模塊接受32kHz計時器定時器輸入和設置不同時間間隔的“警報”或中斷,在無需處理器幹預的情況下,使計時器計數增加。同樣,應該使用影子寄存器更新和比較來自ISR的值。一旦寄存器讀到有效的預編程值,即觸發ISR,使處理器脫離休眠或待機狀態,而不需要CPU尋找ISR地址、更新周期或比較值。
管理開銷
管理開銷係統監視程序、監管工作有助於防範不安全的狀況,有關器件包括電壓監控器和看門狗定時器。由於數字電路依賴觸發器或從負到正(或相反亦然)狀態的轉換,因此,即使工作電壓有稍小的下降,也可能會意外觸發RESET條件,從而造成係統無法工作。電力減弱保護作為電壓監控的一部分,一般用於確保電壓瞬變不會強製處理器進入和退出RESET狀態。
隻要有可能,在電壓監控解決方案中應采用不可屏蔽的中斷(NMI)來識別電壓瞬變。這種方法讓用戶能隨心所欲地設定電壓觸發的門限電平,無需係統複位條件,其功耗一般比模擬-數字轉換器(ADC)通道更低。
看門狗定時器監視故障情況。雖然在典型的嵌入式應用中,內嵌的係統程序器往往禁用看門狗定時器,但是在低功耗係統中,在電源電壓不穩定的情況下,看門狗定時器是一種有用的工具。看門狗定時器會執行預先設定功能,例如在符合某些條件時,比如電壓過低或有內存問題時,向處理器發出RESET指令。所選擇的處理器應該能夠生成已知的ISR,使處理器無需執行RESET而恢複聯機狀態;因為執行RESET,必須啟動外圍設備,因而會消耗更多的處理器功率。
UART通信
將一個數字時鍾與另一個數字時鍾精確到秒地同步是不可能的,因為每個時鍾均與其內部晶體同步。在MCU驅動的係統中,低功耗模式下使用的32kHz實時時鍾晶體與用於生成UART波特率的普通38.4kHz頻率之間會出現類似的同步問題。因為實時時鍾的32,768頻率使15位寄存器每秒溢出一次,所以非常適合時間保持(time-keeping)應用。比較而言,在UART中使用相同的頻率,則在典型的10位(起始位、8位數據和1個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由於32,768Hz時鍾必須除以3.4,才能得到9,600波特率。由於沒有3.4這一選擇,因此必須選擇除以3或除以4(參見圖2)。
將一個數字時鍾與另一個數字時鍾精確到秒地同步是不可能的,因為每個時鍾均與其內部晶體同步。在MCU驅動的係統中,低功耗模式下使用的32kHz實時時鍾晶體與用於生成UART波特率的普通38.4kHz頻率之間會出現類似的同步問題。因為實時時鍾的32,768頻率使15位寄存器每秒溢出一次,所以非常適合時間保持(time-keeping)應用。比較而言,在UART中使用相同的頻率,則在典型的10位(起始位、8位數據和1個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由於32,768Hz時鍾必須除以3.4,才能得到9,600波特率。由於沒有3.4這一選擇,因此必須選擇除以3或除以4(參見圖2)。

圖2:9600波特傳輸時32Khz驅動UARTRx錯誤
[page]
UART數據用10,922波特或8,192波特的UART接收。由於UART在傳輸中間點對數據進行采樣以補償抖動,因此該點已經被選擇為接收UART的采樣點。在沒有行抖動的理想情況下,10,922波特UART對第三數據位的開始兩次讀數都會是錯誤的而8,192波特的UART由於會完全遺漏第三位,很快就將出錯。由於低功耗應用的理想時鍾是低功耗實時時鍾模式,這使得在低功耗環境中處理很困難。解決這一問題的最好辦法就是將µC與調製技術結合使用,用32kHz振蕩器提供非常精確的2,400波特,並完全能支持9,600波特(參見圖3)。

圖3:在9600波特傳輸時采用時鍾調製的32Khz驅動UART
通過混合兩個時鍾除數解決錯誤,總體積累的錯誤消失,數據接收正確。這種方法對於9,600波特或以下的UART通信很有效。對於高速通信,幾個µC監視UARTRx行的邊緣躍遷並觸發ISR啟動內部高速振蕩器,驅動CPU並處理中斷。這使µCUART能夠接收高速數據,而不必在UART空閑期間保持一個啟動的高速時鍾。如果使用外部振蕩器或內部振蕩器頻率太低,則由於啟動高速振蕩器需要一定的時間,第一次傳輸將失效。為克服這一限製和效率損失,設計人員應該考慮使用能夠喚醒並及時從32kHz或停機模式激活的處理器,從正在傳輸的UART恢複首次傳輸的數據。例如,係統時鍾需要在25µs內啟動,才能拾取起始位的中間點,從而正確接收19,200位的傳輸。
許多低功耗應用通過UART將µC連接到RS-485傳感器網絡。支持尋址和多處理器(9位)模式的UART非常適合於這種網絡。當第9位為1(代表是一個地址)時,這些UART會生成一個ISR,讓處理器能夠在其它傳感器通過係統發送數據時保持休眠狀態。某些µC會更進一步,在UART中加入地址匹配,僅在第9位是1且地址與在剩餘8位中收到的數據匹配時才喚醒係統。
模擬器件
模擬器件是最早的操作器件。模擬器件已經發展數十年,它是穩定電源、為高速晶體電路提供過濾和穩定性的必要器件,對監控來自自然界的輸入信號也必不可少。
在待機模式下,模擬器件實際上不消耗功率。模擬-數字轉換器(ADC)斷電快,在待機模式下,甚至可以被視為一種低功耗應用。
一旦加電,缺點即暴露無遺。一般來說,模擬器件在工作時需要的電流很大。例如,ADC工作時需要的電流達數百微安。另外,模擬器件(例如內部基準時鍾)會使啟動時間增加幾毫秒,因為穩定模擬器件需要相對較大的外部電容。另一種經常被集成的器件-集成溫度傳感器-通常是隨溫度改變的二極管電路,也需要相當大的電流。
在低功耗應用中有幾個需要考慮的標準。如果ADC有內部振蕩器,就沒有必要對其它係統振蕩器加電來進行轉換。在這種情況下,處理器保持斷電狀態,隻有轉換完成時起,才需要開始工作。像CPU一樣,我們可以通過縮短執行時間來降低功耗。ADC轉換的速度越快,器件進入待機模式的速度越快。對於內部基準時鍾也是這樣。基準時鍾啟動和穩定得越快,轉換完成和模擬係統斷電的速度也越快。如果隻是偶爾使用ADC,某些處理器允許采樣時鍾斷電,讓跟蹤電路保持加電。這樣ADC就能夠進入較淺的休眠模式。這種功能的負麵影響是,在進行轉換前,需要花較長時間來讓采樣和保持電路達到穩定。
轉換完成之後,有幾個µC集成了直接內存訪問(DMA)或先入先出(FIFO)緩衝存儲器,能夠將多個轉換存儲在RAM中,而無需喚醒處理器。在一定數量的轉換到達之前,處理器會保持待機狀態,而不是在每個轉換後喚醒處理器來將數據移入RAM,這樣就可以降低功耗。
許多低功耗µC內置內部模擬比較器,可以執行簡單的模擬任務。有些製造商的比較器允許編程,可以通過延長響應時間降低功耗。
總之,µC外圍設備的選擇是由終端應用最終決定的,因此我們應從全麵評估係統功能及其功率要求著手。許多處理器製造商宣稱其器件具備低功耗工作能力,但是不同的應用對“低功耗”一詞有不同的定義。是需要大量集成的速度更高的處理器,還是需要具有極深度睡眠模式的速度更低的處理器,更多地取決於內嵌係統的要求,而不是內嵌處理器所謂的“低功耗”工作能力。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 數字化的線性穩壓器
- 安森美:用全光譜“智慧之眼”定義下一代工業機器人
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光



