目前,市場(chǎng)上涌現出越來(lái)越多的物聯(lián)網(wǎng)(IoT)恒溫器產(chǎn)品。本文闡述如何使用微控制器(MCU)打造IoT恒溫器,并以愛(ài)特梅爾(Atmel)SMARTSAML22MCU為例,同時(shí)也介紹此MCU作為段式液晶顯示器(LCD)控制器平臺實(shí)現恒溫器應用的功能。該MCU內置一個(gè)主頻32MHz的ARMCortex-M0+處理器,拓展該公司現有的低功耗MCU系列。它專(zhuān)為本文描述的恒溫器等人機介面(HMI)應用而設計,內置一個(gè)支持上至三百二十段的段式顯示控制器、一個(gè)用于實(shí)現按鍵、滑塊和滾輪的外接周邊設備觸摸控制器(PTC)以及USB、Timer、SERCOM等可配置為USART、SPI和I2C介面的其他眾多外接的周邊設備。低功耗/通訊/安全性IoT恒溫器必備功能
IoT應用強調萬(wàn)物聯(lián)網(wǎng),因此IoT恒溫器也須具備聯(lián)網(wǎng)通訊功能,此外為因應設備功能與資料傳輸增多,其亦須符合低功耗、安全性和簡(jiǎn)易使用的人機介面等特性。
低功耗
與其他很多IoT應用一樣,功耗是IoT恒溫器的重要考慮因素。IoT應用通常是電池供電型,或者用戶(hù)希望它們比之前型號在提供更多功能的同時(shí),減少電量消耗。SAML22MCU專(zhuān)為低功耗應用而設計。使用快閃記憶體進(jìn)行EEMBCCoremark測試時(shí),其工作模式下的功耗低于39μA/MHz,待機模式下的功耗僅為1.87μA(RTC處于工作狀態(tài)時(shí))。此MCU之所以能實(shí)現上述低功耗,憑藉的是其獨特設計和眾多特性。例如功率級特性讓其能為具體任務(wù)選擇正確的性能??刂破髂軐群穗妷簭?.2伏特(V)迅速切換到0.9V。降低內核電壓可大幅降低總功耗,因為中央處理器(CPU)的功耗隨著(zhù)頻率和電壓的升高而增加。當內核電壓為0.9V時(shí),CPU的最大頻率為12MHz;而當內核電壓為1.2V時(shí),CPU的最大頻率為32MHz。例如當內核電壓為0.9V,頻率為12MHz時(shí),該MCU計算一次斐波那契數列須消耗28μA/MHz;當內核電壓為1.2V,頻率為32MHz時(shí),同樣計算卻須消耗37μA/MHz。
除了一個(gè)低壓差穩壓器(LDO)之外,該款MCU還內置一個(gè)降壓轉換器。此前的功耗是采用降壓轉換器和3.3V電壓測量。在此電壓下,降壓轉換器的工作效率最高。這比LDO的效率高出很多,能實(shí)現低功耗。
此MCU的另一個(gè)優(yōu)勢是直接記憶體存取(DMA)和事件系統(EventSystem),它們能在無(wú)需CPU參與的情況下,實(shí)現資料通訊和控制外接的周邊設備。各個(gè)外接的周邊設備在獨立執行任務(wù)或相互控制時(shí),Cortex-M0+處理器可進(jìn)入睡眠狀態(tài)。
這款MCU的模擬功能也是專(zhuān)為此類(lèi)低功耗應用而設計的。12位1MSPS類(lèi)比數位轉換器(ADC)可在10Ksps和單端模式下測量溫度感測器,僅需60μA用于模數轉換。
通訊
其次,IoT應用須通過(guò)射頻(RF)與互聯(lián)網(wǎng)、智慧手機、感測器、致動(dòng)器或其他IoT設備通訊。此MCU提供多個(gè)輸入/輸出(I/O)介面,用于連接各種RF模組和其他外接的周邊設備。它最多可配備六個(gè)片上SERCOM外接的周邊設備,足夠用于將更多元件連接至恒溫器。每個(gè)SERCOM外接的周邊設備可被配置為USART、UART、SPI或I2C。AtmelSmartConnectWINC3400Wi-Fi/藍牙組合解決方案或面向ZigBee設備的SAMR21都可以通過(guò)I2C或SPI連接該款MCU。內置USB可用于實(shí)現其他有線(xiàn)通訊。該USB是一個(gè)無(wú)石英的全速USB設備,這意味著(zhù)無(wú)需精準的外部振蕩器,從而降低應用的物料成本(BOM)。
安全性
所有IoT應用都必須有重要元件:安全性。為了實(shí)現安全的通訊,該款MCU配有一個(gè)256位元的先進(jìn)加密標準(AES)外接的周邊設備。它可以在不增加軟體開(kāi)支的情況下進(jìn)行加密和解密。此外,它還支援多種模式,如密碼段連結模式(CipherBlockChaining)、伽羅瓦計數器模式(GaloisCounterMode)等等。
AES外接的周邊設備內置抗差分功耗分析攻擊(DifferentialPowerAnalysisAttacks)措施。通過(guò)差分功耗分析,攻擊者能得知控制器的功耗,并利用這些資料探測出加解密金鑰。
通過(guò)采用這種方法,AES外接的周邊設備能隨機增加加解密運算的周期,加大攻擊者探測出金鑰的難度。此MCU還內置一個(gè)真亂數產(chǎn)生器(TRNG)外接的周邊設備,它能生成真亂數的所有八十四個(gè)周期。這個(gè)數對于加密至關(guān)重要,因為真亂數不能被預測,因此也不能通過(guò)數學(xué)方法被計算出來(lái)。亂數可用于通過(guò)IP網(wǎng)路進(jìn)行身份驗證。
加密金鑰可保存在備份區暫存器、快閃記憶體或靜態(tài)隨機存取記憶體(SRAM)中。為了提高安全性,此MCU內置一個(gè)防篡改單元,它能檢測出是否有人試圖打開(kāi)恒溫器。防篡改引腳與恒溫器的外殼相連。當攻擊者通過(guò)機械方式打開(kāi)恒溫器的外殼時(shí),防篡改線(xiàn)將斷裂,從而檢測到篡改攻擊。
在這種情況下,防篡改單元將發(fā)起“事件”,內核則執行相應的軟體功能,刪除SRAM、串列電子抹除式可復寫(xiě)唯讀記憶體(EEPROM)、快閃記憶體或其他外部記憶體中的加密金鑰或其他資料。
為進(jìn)一步增強安全性,該MCU還內置活動(dòng)層防護(ActiveLayerProtection)功能。
訊號通過(guò)印刷電路板(PCB)/外殼發(fā)送到防篡改輸入埠。程式將對該輸入訊號與輸出訊號進(jìn)行對比,如果不匹配,則檢測到篡改。如果攻擊者在PCB上鉆孔,并剪斷PCB上的防篡改線(xiàn),該功能也將檢測到篡改,并發(fā)起“事件”。
人機介面
同樣重要的是,IoT應用需有人機介面(HMI)或使用者介面。該IoT恒溫器功能由最終用戶(hù)通過(guò)智慧手機控制。但它須提供一個(gè)手動(dòng)更改和監測溫度的選項,因為智慧手機有可能發(fā)生故障或者丟失。
在這種情況下,內置的段式LCD顯示器可向使用者顯示溫度和其他資訊。段式LCD控制器最多可控制三百二十個(gè)段,而且能從五十二個(gè)LCDI/O引腳中選擇四十八個(gè)LCD引腳。設計人員還可選擇未使用的LCD引腳,用于實(shí)現SERCOM等協(xié)助工具或模擬功能。
此外,SLCD控制器還支持各種用于降低功耗的功能。例如可通過(guò)DMA將資料從SRAM/快閃記憶體發(fā)送到顯示器緩沖區。
硬體特征映射、自動(dòng)位元映射(ABM)和閃爍(Blinking)功能能以極低的功耗改變段式LCD上顯示的內容。這種改變無(wú)需大功率內核。很多恒溫器在它們的顯示器上顯示當前時(shí)間。閃爍功能用于顯示秒,同時(shí)也是段式LCD控制器的一個(gè)硬體功能。
除了能通過(guò)無(wú)線(xiàn)區域網(wǎng)路(WLAN)或藍牙遠端更改設置或溫度之外,使用者還能在恒溫器上執行這些任務(wù)。此MCU支援AtmelQTouch技術(shù),其中包括采用互電容觸控技術(shù)和自電容觸控技術(shù)的按鍵、滑塊和滾輪。該款MCU可為此類(lèi)應用提供足夠多的觸控通道。借助Atmel技術(shù),觸控按鍵直接整合到段式LCD的銦錫氧化物(ITO)層上。觸控輸入可用于升降溫度,或選擇其他房間中的加熱器或感測器。
智慧/觸控控制恒溫器更聰明
該款恒溫器藉由RF監測不同房間中的無(wú)線(xiàn)溫度感測器,并控制其中的加熱器。使用者可通過(guò)WLAN或低功耗藍牙協(xié)議、家用網(wǎng)路或互聯(lián)網(wǎng),并使用智慧手機對其進(jìn)行控制,或直接使用觸控按鍵進(jìn)行控制。
此MCU內置的ADC能測量恒溫器周?chē)臏囟?,其對?lái)自溫度感測器的外部數值進(jìn)行數位化處理。內部溫度感測器可用于控制外部數值,以便進(jìn)行交叉核對。而MCU的內部溫度感測器提供兩點(diǎn)測量功能,精度為±1℃(0∼60℃)。
另一條ADC通道也可用于測量電池電壓。欠壓檢測(BOD)功能可檢測出較低的電壓,并自動(dòng)關(guān)閉系統,以防出現故障。
相關(guān)閱讀:
芯片級尺寸的MCU如何適應可穿戴設計中的尺寸限制?
如何快速掌握一款新的MCU?
網(wǎng)友熱議話(huà)題:MCU同步boost電路移動(dòng)電源方案