在物聯網出現之前,嵌入式設備的設計相對簡單。隨著智能手機的推出,我們的設備更加智能化、可升級并可通過互聯網訪問。安全不是可選的–如果不認真對待安全,數據、品牌聲譽和收入流都將受到影響。此外,嵌入式系統正變得越來越復雜,你不可能成為所有方面的專家!幸運的是,您可以使用現有的標準和堆棧庫及時、安全地完成項目。本文概述了嵌入式開發人員目前面臨的主要設計挑戰,以及一些有助于設計人員解決這些挑戰的新技術。
1. 豐富的用戶界面
第一款智能手機引入了豐富的用戶界面,具有高質量的顯示屏和觸摸屏。高端嵌入式設備增加了LCD和OLED顯示器以及觸摸屏。這增加了處理需求,增加了對應用處理器和豐富操作系統的需求。對于那些不需要應用處理器的人來說,技術進步已經將微控制器的時鐘速度從幾十兆赫推到幾百兆赫,內存大小推到了幾兆字節。這使得設計師能夠繼續受益于熟悉的架構,例如用于Arm Cortex-M的架構。
許多嵌入式系統只需要用戶界面進行配置和偶爾的控制。消費者和工業物聯網設備價格敏感,可通過網絡接口或智能手機應用程序進行控制。例如,可以遠程監控來自工業傳感器的數據,以管理性能和錯誤,以及預防潛在故障。這對嵌入式開發人員提出了新的挑戰。他們現在必須了解射頻、協議棧、安全性、遠程管理和固件更新。
2. 本地和遠程控制
您可以通過以太網、WiFi、藍牙、Z-Wave、Zigbee或Thread實現本地和遠程控制–在功耗、復雜性和成本方面,每種方式都有好處。一般來說,低功耗協議(如藍牙低能耗協議、Z-Wave協議和Zigbee協議)是電池應用的良好解決方案。這些包括門鎖、環境傳感器和無線報警系統。需要更多帶寬的設備,如安全攝像頭和傳感器網關,將通過WiFi連接。或者,遠程位置的設備將使用蜂窩網絡。一個有趣的選擇是結合無線和藍牙低能耗。然后,藍牙用于調試和本地訪問以實現低延遲,WiFi用于通過互聯網進行遠程訪問。
嵌入式開發人員面臨的挑戰不僅是如何為其產品選擇正確的解決方案,還包括在不增加成本的情況下集成無線電、通信堆棧和電源管理的復雜性。
3. 低功耗和低功耗
低功耗在電池供電的應用中至關重要。例如,智能水表需要在其使用壽命(可能長達20年)內使用單電池。另一方面,在門鎖中,電池可能每年更換一次,這需要仔細設計。節能技術之一是設計一個非常低功耗的微控制器,在很短的時間內開啟,以感知用戶交互。然后它會睡更長的時間。
4. 設備變得越來越智能
設計師們正在尋找通過添加智能功能使其產品與眾不同的方法。智能功能通常意味著設備可以更多地了解用戶、環境和系統,并且可以調整功能。
機器學習是使用能夠學習和適應的算法添加智能特征的一種方法。我們今天在我們周圍看到了機器學習:從指紋解鎖(匹配一小組指紋圖像)或Facebook自動標記功能。然而,在嵌入式、成本受限的系統中,這是一個相當新的解決方案。
嵌入式開發人員面臨的挑戰是開始使用機器學習算法,并能夠根據應用程序的需要調整算法。
嵌入式機器學習的一個很好的例子是智能恒溫器。恒溫器將根據用戶的生活方式了解用戶的行為,然后隨著時間的推移,將自動將溫度調整到最舒適的設置。對于工業市場而言,一個例子可能是電機的振動傳感器。傳感器可以了解電機的正常振動特征,然后在機組需要維護或即將出現故障時向人員發出警告。
5. 產品需要更新
今天的產品很少附帶最終功能集。通過“空中傳送”(OTA)更新,可以下載新固件以添加功能、修復bug或修補安全漏洞,從而顯著延長產品的使用壽命。產品還必須設計有足夠的內存空間和處理能力,以增加代碼大小和功能。
一個挑戰是確保固件更新和所有通信安全。修補固件漏洞時,系統不應允許固件回滾。如果確實如此,該漏洞將被暴露。
這些因素都給開發人員帶來了重大挑戰。但是,好消息是,業界正在通過IP、軟件、工具和培訓資源來支持這一點,以幫助嵌入式開發人員突破可能的界限。