嵌入式系統無處不在。與您進行交互的幾乎所有電氣設備都比簡單的電燈開關復雜,它包含一個數字處理器,該數字處理器從其環境中讀取輸入數據,執行計算算法,并生成與環境進行交互的某種輸出。
從早上睜開眼睛(響應數字設備發出的警報)到刷牙(使用包含數字處理器的電動牙刷)到烤面包圈(在電烤箱中) ,要禁用您的(數字)家庭報警系統,您需要與嵌入式設備進行交互。整天,您都向許多其他設備(例如電視遙控器,交通信號燈和鐵路道口)提供輸入并從中接收輸出。高度數字化的運輸系統,包括汽車,飛機和客運渡輪,每個系統都包含數十個(即使不是數百個)嵌入式處理器,用于管理傳動系統的運行,監督安全功能,保持舒適的氣候并為所載人員提供娛樂。
讓我們花一點時間澄清有時模糊的分隔線,該分隔線將嵌入式系統與通用計算設備區分開。定義嵌入式計算系統的屬性是設備中數字處理的集成,該設備具有除單純的計算之外的更大用途。不包含任何類型的數字處理的設備不是嵌入式系統。例如,僅包含電池和由開關控制的電動機的電動牙刷不是嵌入式系統。包含微控制器的牙刷是嵌入式系統,當您在刷牙時用力向下按時,該微控制器會亮起紅燈。
臺式計算機盡管可以執行許多任務,并且可以通過添加各種外圍設備來增強功能,但它只是一臺計算機。另一方面,汽車的主要目的是運送乘客。在執行此功能時,它依賴于包含嵌入式處理的各種子系統。汽車是嵌入式系統。個人計算機不是。
智能手機更難清晰地分類。當用作電話時,它顯然在執行與嵌入式系統定義一致的功能。但是,將其用作Web瀏覽器時,它更類似于小型通用計算機。顯然,并非總是能夠確定一個設備是否是嵌入式系統。
了解通用計算機與嵌入式設備相比在操作環境方面的差異是有幫助的。個人計算機往往在氣候受控的室內環境中運行效果最佳。諸如汽車中的嵌入式設備經常暴露于更加惡劣的條件下,包括雨,雪,風,灰塵和熱的各種影響。
很大一部分嵌入式設備缺少任何類型的有源冷卻系統(這在個人計算機中是標準的),因此必須采取步驟以確保其內部組件在不受外部條件影響的情況下仍保持安全的工作溫度。
嵌入式系統,無論是相對簡單的設備還是高度復雜的系統,通常都由多種元素組成,我們現在將對其進行討論。
能量源
所有電子數字設備都需要某種電源。最常見的是,嵌入式系統由市電或電池供電,或由設備在其中運行的主機系統提供的電源供電。例如,包含處理器和CAN總線通信接口的汽車尾燈組件由汽車電氣系統提供的12伏直流電(DC)供電。
還可以通過與太陽能電池板連接的可充電電池為嵌入式設備供電,從而使該設備在夜間和陰天甚至從環境中收集能量就可以繼續運行。自動上弦手表使用從手臂運動中收集到的能量來產生機械或電能。對安全性和安全性至關重要的嵌入式系統通常使用市電作為主要電源,同時提供電池作為備用電源,以便在停電期間進行操作。
時基
嵌入式系統通常需要一些方法來跟蹤短期(對于微秒和毫秒的持續時間)和長期的時間(也稱為掛鐘時間)的進度,以跟蹤日期和時間。最常見的是,使用產生幾兆赫茲輸出頻率的晶體振蕩器或微機電系統(MEMS)振蕩器生成一次系統時鐘信號。晶體振蕩器放大通常由石英制成的物理晶體的諧振,從而利用壓電效應產生方波電信號。MEMS振蕩器包含一個振動的機械結構,該結構通過靜電傳導產生電輸出。
一旦設置為正確的時間,由晶體振蕩器或MEMS振蕩器驅動的時鐘將表現出微小的頻率誤差(通常為百萬分之一1-100),這些誤差會在幾天和幾周的時間內累積,逐漸偏移幾秒鐘,然后逐漸偏移幾分鐘偏離正確的時間。為了緩解此問題,大多數與Internet連接的嵌入式設備都會定期訪問時間服務器,以將其內部時鐘重置為當前時間。
數字處理
根據定義,嵌入式計算系統包含某種形式的數字處理器。處理功能通常由微控制器,微處理器或片上系統(SoC)提供。微控制器是一種高度集成的設備,包含一個或多個中央處理器(CPU),隨機存取存儲器(RAM),只讀存儲器(ROM)和各種外圍設備。微處理器包含一個或多個CPU,但與微控制器相比,集成到同一設備中的整體系統功能要少得多,后者通常依賴于RAM,ROM和外圍接口的外部電路。
SoC的集成度甚至比微控制器更高,通常將一個或多個微控制器與其他數字硬件資源組合在一起,這些數字硬件資源被配置為高速執行特殊功能。SoC設計可以在將傳統微控制器與定制的高性能數字邏輯相結合的體系結構中實現為現場可編程門陣列(FPGA)器件。
記憶
嵌入式系統通常包含用于工作內存的RAM以及某種類型的ROM(通常是閃存),用于存儲可執行程序代碼和其他所需信息,例如靜態數據庫。每種類型的內存的數量必須足以滿足嵌入式系統體系結構在其計劃的生命周期內的需求。如果該設備旨在支持固件升級,則必須在硬件設計中提供足夠的內存資源,以支持在整個系統生命周期中可能出現的一系列功能增強。
軟件和固件
在傳統的計算環境中,用戶使用的可執行代碼(例如Web瀏覽器和電子郵件程序)稱為軟件。該術語用于區分程序代碼和構成計算機系統物理組件的硬件。在通用計算機中,該軟件以文件形式存儲在磁盤驅動器上。在嵌入式系統中,可執行代碼通常存儲在ROM中,ROM是設備內的硬件組件。由于這種安排,我們可以認為代碼占據了硬件和軟件之間的中間地帶。此中間部分稱為固件。在嵌入式系統的早期,代碼經常被燒入存儲設備中,在進行初始編程后便無法更改。與大多數當前生產的嵌入式設備(通常包含可重寫閃存)相比,這些設備更像硬件(因此更“堅固”)。但是,我們繼續使用固件一詞來描述編程到嵌入式系統中的代碼。
專用電路
嵌入式系統支持各種各樣的應用程序,其中一些是相對簡單的過程,例如監視電視遙控器上的按鈕按下并向電視產生相應的輸出信號,而其他類型的系統則在高清環境下執行極其復雜的處理密集型工作。數據速率輸入信號。雖然簡單的嵌入式系統可能能夠使用微型微控制器執行所有必要的數字處理,但更復雜的系統可能需要的處理資源超出了現成的微控制器以及更強大的微處理器(例如, x86和ARM處理器。
在過去的幾年中,這些更復雜的嵌入式設計的架構師將轉向專用集成電路(ASIC)來實現自定義電路,以便以適當的系統操作所需的速度執行處理。ASIC是一種集成電路,其中包含旨在支持特定應用的定制數字電路。ASIC設備的生產通常涉及非常昂貴的生產設置階段,這使其在項目原型設計和小規模生產運行中無法使用。
幸運的是,ASIC提供的許多功能現在都可以在低成本FPGA(現場可編程門陣列)設備中使用。由于FPGA易于重新編程,因此通常用于嵌入式系統原型設計和小批量生產。對于大批量生產(成千上萬個單位),ASIC較低的每單位成本可以使生產設置成本值得。
來自環境的投入
嵌入式系統通常需要來自其環境的輸入,無論是來自操作用戶界面的人員還是來自測量其所處系統某些方面的傳感器。例如,電動車輛動力總成控制器將跟蹤車輛狀態的各個方面,例如電池電壓,電動機電流,車輛速度和加速踏板的位置。系統架構必須提供硬件外圍設備,以必要的精度來測量每個傳感器的輸入。整個系統必須能夠以正常車輛操作所需的速率從所有傳感器執行測量。
輸出到環境
除了從環境中讀取輸入外,嵌入式系統通常還會產生一個或多個輸出,供操作員或主機系統使用。繼續以電動汽車為例,動力總成控制器使用油門踏板位置以及其他輸入來計算對驅動馬達控制器的指令,該指令可調整動力總成的扭矩輸出。除了直接支持系統操作外,嵌入式控制器通常還提供供人類使用的輸出,例如在儀表板上顯示車速。必須以足以支持適當的系統操作(包括人類感知的需求)的速率更新每個輸出。在實現人機界面時,
網絡通訊
盡管許多簡單的嵌入式系統以完全獨立的方式運行,在隔離的上下文中讀取其輸入,計算輸出并更新輸出設備,但越來越多的嵌入式系統設計支持某種形式的網絡通信。此功能啟用了設備功能,例如來自家用視頻門鈴的遠程通知以及對工廠車間機械的連續監控。
通過始終可用的網絡通信功能增強嵌入式系統可以添加大量的功能。但是,如果開發人員不注意系統體系結構中的安全性,則此功能還存在可能被惡意行為者利用的安全風險。重要的是要了解和解決由于嵌入式系統體系結構中包含通信功能而帶來的安全風險。
嵌入式系統架構師將這些元素結合在一起,以生成可以在預期環境條件的整個范圍內以適當的安全裕度執行其預期功能的系統設計。
合適的系統設計可滿足其他要求,例如尺寸和重量限制以及功耗限制,并將生產成本保持在可接受的水平。嵌入式系統的可用設計空間在很大程度上取決于以下屬性:要生產的單元數量,系統的安全關鍵方面以及在惡劣條件下運行的需求。
包含持久通信功能的嵌入式系統體系結構必須解決設計空間的另一個方面,涉及單個設備與集中式節點(通常是通過Internet訪問的服務器)之間的通信以及用戶與嵌入式系統之間的交互。
具有網絡連接性的小型嵌入式系統的廣泛部署引入了物聯網(IoT)一詞。下一節將討論物聯網與嵌入式系統架構的相關性。
物聯網
從概念上講,物聯網代表著通過大規模網絡通信來最大限度地利用大量不同的嵌入式設備的努力。IoT設備與普通的嵌入式系統的區別在于,每個設備與一個或多個中央節點之間都存在通信路徑。這些節點從設備的海洋中收集數據,并且在許多情況下,允許授權用戶向單個設備和設備集合發出命令。
在物聯網設備開發過程中,尤其是在開發將能夠訪問敏感個人信息的設備(例如家庭安全攝像機)時,負責任的嵌入式系統架構師必須采取廣泛的措施以確保終端設備的安全性。IoT設備通常安裝在消費者的家中,必須最大程度地防止允許惡意行為者控制攝像頭,麥克風或安全系統的安全漏洞。盡管系統設計人員無法防止最終用戶可能犯下的每一個安全性錯誤,但是安全的系統設計可以通過采取一些步驟來幫助用戶,例如指導選擇強密碼以及抵御常見的攻擊類型,例如蠻力攻擊。密碼猜測。
物聯網設備和系統的示例包括:
由窗戶和門傳感器以及運動傳感器組成的家庭警報系統:這種類型的系統通常包括一個智能手機應用程序,可立即通知警報事件。該系統不僅通知警報公司啟動對警報事件的響應,還通知房主這些事件的發生。顯然,這種警報系統必須能夠抵抗使警報系統失效的網絡攻擊。
電燈和電源插座:提供基于Internet的監視和控制功能的許多不同的照明設備,包括燈泡,燈具和能夠打開和關閉燈的電源板。與這些設備中的每一個相關聯的應用程序都可以對單個照明進行遠程控制,并可以全天調度照明的開啟和關閉時間。與物聯網警報系統一樣,安全性是一項重要功能,必須完全集成到系統設計中。
智能揚聲器:IoT揚聲器 提供語音界面,允許用戶以自然語言發出請求。用戶在命令前添加單詞或詞組以“喚醒”揚聲器,例如“ Alexa”或“ Hey Google”,后跟命令或請求。這些設備可以與各種其他物聯網設備進行交互,包括警報系統和照明控制。語音命令的一個示例是“ Alexa,開燈”。
醫療監視和治療:在醫院和家庭環境中部署了許多類型的嵌入式設備,以監視患者健康狀況,例如溫度,血氧,心率,呼吸等。這些設備通常與集中式數據庫進行通信,以使醫療專業人員能夠跟蹤當前和歷史的健康狀況。其他數字系統執行主動治療功能,例如注入藥物和協助呼吸。
工業應用:嵌入式系統廣泛用于工廠線,能源發電系統,能源傳輸系統以及石油和天然氣行業中,以監視和控制復雜的系統和過程。例如,需要各種各樣的傳感器和執行器來執行對可能長達數千英里的輸油管道的運行情況的實時監視和管理。
原文標題:嵌入式系統和物聯網的基礎
文章出處:【微信公眾號:物聯網技術】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304829 -
物聯網
+關注
關注
2909文章
44557瀏覽量
372799
原文標題:嵌入式系統和物聯網的基礎
文章出處:【微信號:iotmag,微信公眾號:iotmag】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論