新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 為低功耗應用選擇正確的uC外圍器件

為低功耗應用選擇正確的uC外圍器件

作者: 時間:2013-12-13 來源:網(wǎng)絡 收藏

  看門狗定時器監(jiān)視故障情況。雖然在典型的嵌入式應用中,內(nèi)嵌的系統(tǒng)程序器往往禁用看門狗定時器,但是在系統(tǒng)中,在電源電壓不穩(wěn)定的情況下,看門狗定時器是一種有用的工具??撮T狗定時器會執(zhí)行預先設定功能,例如在符合某些條件時,比如電壓過低或有內(nèi)存問題時,向處理器發(fā)出 RESET 指令。所選擇的處理器應該能夠生成已知的 ISR,使處理器無需執(zhí)行 RESET 而恢復聯(lián)機狀態(tài);因為執(zhí)行 RESET,必須啟動外圍設備,因而會消耗更多的處理器功率。

  
UART 通信

  將一個數(shù)字時鐘與另一個數(shù)字時鐘精確到秒地同步是不可能的,因為每個時鐘均與其內(nèi)部晶體同步。在 MCU 驅動的系統(tǒng)中,模式下使用的 32kHz 實時時鐘晶體與用于生成UART 波特率的普通 38.4kHz 頻率之間會出現(xiàn)類似的同步問題。因為實時時鐘的 32,768 頻率使 15 位寄存器每秒溢出一次,所以非常適合時間保持(TIme-keeping) 應用。比較而言,在UART 中使用相同的頻率,則在典型的 10 位(起始位、8 位數(shù)據(jù)和 1 個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由于 32,768Hz 時鐘必須除以 3.4,才能得到 9,600 波特率。由于沒有 3.4 這一選擇,因此必須選擇除以 3 或除以 4(參見圖2)。

  將一個數(shù)字時鐘與另一個數(shù)字時鐘精確到秒地同步是不可能的,因為每個時鐘均與其內(nèi)部晶體同步。在 MCU 驅動的系統(tǒng)中,模式下使用的 32kHz 實時時鐘晶體與用于生成UART 波特率的普通 38.4kHz 頻率之間會出現(xiàn)類似的同步問題。因為實時時鐘的 32,768 頻率使 15 位寄存器每秒溢出一次,所以非常適合時間保持(time-keeping) 應用。比較而言,在UART 中使用相同的頻率,則在典型的 10 位(起始位、8 位數(shù)據(jù)和 1 個奇偶校驗位)傳輸中保證至少有一位讀取不正確。這是由于 32,768Hz 時鐘必須除以 3.4,才能得到 9,600 波特率。由于沒有 3.4 這一選擇,因此必須選擇除以 3 或除以 4(參見圖2)。

為低功耗應用選擇正確的uC外圍器件
圖 2:9600 波特傳輸時 32Khz 驅動 UART Rx 錯誤

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

為低功耗應用選擇正確的uC外圍器件
圖 3:在 9600 波特傳輸時采用時鐘調制的 32Khz 驅動 UART

  通過混合兩個時鐘除數(shù)解決錯誤,總體積累的錯誤消失,數(shù)據(jù)接收正確。這種方法對于9,600 波特或以下的 UART 通信很有效。對于高速通信,幾個 μC 監(jiān)視 UART Rx 行的邊緣躍遷并觸發(fā) ISR 啟動內(nèi)部高速振蕩器,驅動 CPU 并處理中斷。這使 μC UART 能夠接收高速數(shù)據(jù),而不必在 UART 空閑期間保持一個啟動的高速時鐘。如果使用外部振蕩器或內(nèi)部振蕩器頻率太低,則由于啟動高速振蕩器需要一定的時間,第一次傳輸將失效。為克服這一限制和效率損失,設計人員應該考慮使用能夠喚醒并及時從 32kHz 或停機模式激活的處理器,從正在傳輸?shù)?UART 恢復首次傳輸?shù)臄?shù)據(jù)。例如,系統(tǒng)時鐘需要在 25μs 內(nèi)啟動,才能拾取起始位的中間點,從而正確接收 19,200 位的傳輸。


許多低功耗應用通過 UART 將 μC 連接到 RS-485 傳感器網(wǎng)絡。支持尋址和多處理器(9 位)模式的 UART 非常適合于這種網(wǎng)絡。當?shù)?9 位為 1(代表是一個地址)時,這些 UART 會生成一個 ISR,讓處理器能夠在其它傳感器通過系統(tǒng)發(fā)送數(shù)據(jù)時保持狀態(tài)。某些 μC 會更進一步,在 UART 中加入地址匹配,僅在第 9 位是 1 且地址與在剩余 8 位中收到的數(shù)據(jù)匹配時才喚醒系統(tǒng)。

  
模擬器件

  模擬器件模擬器件是最早的操作器件。模擬器件已經(jīng)發(fā)展數(shù)十年,它是穩(wěn)定電源、為高速晶體電路提供過濾和穩(wěn)定性的必要器件,對監(jiān)控來自自然界的輸入信號也必不可少。

  模擬器件模擬器件是最早的操作器件。模擬器件已經(jīng)發(fā)展數(shù)十年,它是穩(wěn)定電源、為高速晶體電路提供過濾和穩(wěn)定性的必要器件,對監(jiān)控來自自然界的輸入信號也必不可少。

  在待機模式下,模擬器件實際上不消耗功率。模擬-數(shù)字轉換器 (ADC) 斷電快,在待機模式下,甚至可以被視為一種低功耗應用。

  一旦加電,缺點即暴露無遺。一般來說,模擬器件在工作時需要的電流很大。例如,ADC 工作時需要的電流達數(shù)百微安。另外,模擬器件(例如內(nèi)部基準時鐘)會使啟動時間增加幾毫秒,因為穩(wěn)定模擬器件需要相對較大的外部電容。另一種經(jīng)常被集成的器件-集成溫度傳感器-通常是隨溫度改變的二極管電路,也需要相當大的電流。

  在低功耗應用中有幾個需要考慮的標準。如果 ADC 有內(nèi)部振蕩器,就沒有必要對其它系統(tǒng)振蕩器加電來進行轉換。在這種情況下,處理器保持斷電狀態(tài),只有轉換完成時起,才需要開始工作。像 CPU 一樣,我們可以通過縮短執(zhí)行時間來降低功耗。ADC 轉換的速度越快,器件進入待機模式的速度越快。對于內(nèi)部基準時鐘也是這樣。基準時鐘啟動和穩(wěn)定得越快,轉換完成和模擬系統(tǒng)斷電的速度也越快。如果只是偶爾使用 ADC,某些處理器允許采樣時鐘斷電,讓跟蹤電路保持加電。這樣 ADC 就能夠進入較淺的模式。這種功能的負面影響是,在進行轉換前,需要花較長時間來讓采樣和保持電路達到穩(wěn)定。

  轉換完成之后,有幾個 μC 集成了直接內(nèi)存訪問 (DMA) 或先入先出 (FIFO) 緩沖存儲器,能夠將多個轉換存儲在RAM 中,而無需喚醒處理器。在一定數(shù)量的轉換到達之前,處理器會保持待機狀態(tài),而不是在每個轉換后喚醒處理器來將數(shù)據(jù)移入 RAM,這樣就可以降低功耗。

  許多低功耗 μC 內(nèi)置內(nèi)部模擬比較器,可以執(zhí)行簡單的模擬任務。有些制造商的比較器允許編程,可以通過延長響應時間降低功耗。

  
起始點

  總之,μC 外圍設備的選擇是由終端應用最終決定的,因此我們應從全面評估系統(tǒng)功能及其功率要求著手。許多處理器制造商宣稱其器件具備低功耗工作能力,但是不同的應用對“低功耗”一詞有不同的定義。是需要大量集成的速度更高的處理器,還是需要具有極深度睡眠模式的速度更低的處理器,更多地取決于內(nèi)嵌系統(tǒng)的要求,而不是內(nèi)嵌處理器所謂的“低功耗”工作能力。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉