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