-
嵌入式系統
(能夠獨立進行運作的器件)
鎖定
- 中文名
- 嵌入式系統
- 外文名
- Embedded system
- 分 類
- 計算機科學類
- 定 義
- 以應用為中心,以現代計算機技術為基礎,能夠根據用户需求(功能、可靠性、成本、體積、功耗、環境等)靈活裁剪軟硬件模塊的專用計算機系統
嵌入式系統定義
要點概括:
專用性:嵌入式系統的應用場合大多對可靠性、實時性有較高要求,這就決定了服務於特定應用的專用系統是嵌入式系統的主流模式,它並不強調系統的通用性和可擴展。這種專用性通常也導致嵌入式系統是一個軟硬件緊密集成的最終系統,因為這樣才能更有效地提高整個系統的可靠性並降低成本,並使之具有更好的用户體驗。
[2]
以現代計算機技術為核心:嵌入式系統的最基本支撐技術,大致上包括集成電路設計技術、系統結構技術、傳感與檢測技術、嵌入式操作系統和實時操作系統技術、資源受限系統的高可靠軟件開發技術、系統形式化規範與驗證技術、通信技術、低功耗技術、特定應用領域的數據分析、信號處理和控制優化技術等,它們圍繞計算機基本原理,集成進特定的專用設備就形成了一個嵌入式系統。
[2]
軟硬件可裁剪:嵌入式系統針對的應用場景如此之多,並帶來差異性極大的設計指標要求(功能性能、可靠性、成本、功耗),以至於現實上很難有一套方案滿足所有的系統要求,因此根據需求的不同,靈活裁剪軟硬件、組建符合要求的最終系統是嵌入式技術發展的必然技術路線。
[2]
嵌入式系統特點
嵌入式系統的硬件和軟件必須根據具體的應用任務,以功耗、成本、體積、可靠性、處理能力等為指標來進行選擇。嵌入式系統的核心是系統軟件和應用軟件,由於存儲空間有限,因而要求軟件代碼緊湊、可靠,且對實時性有嚴格要求。
[3]
從構成上看,嵌入式系統是集軟硬件於一體的、可獨立工作的計算機系統;從外觀上看,嵌入式系統像是一個“可編程”的電子“器件”;從功能上看,它是對目標系統(宿主對象)進行控制,使其智能化的控制器。從用户和開發人員的不同角度來看,與普通計算機相比較,嵌入式系統具有如下特點。
[3]
(3)實時性好。嵌入式系統廣泛應用於生產過程控制、數據採集、傳輸通信等場合,主要用來對宿主對象進行控制,所以對嵌入式系統有或多或少的實時性要求。例如,對武器中的嵌入式系統,某些工業控制裝置中的控制系統等的實時性要求就極高。有些系統對實時性要求也並不是很高,例如,近年來發展速度比較快的掌上電腦等。但總體來説,實時性是對嵌入式系統的普遍要求,是設計者和用户應重點考慮的一個重要指標。
[3]
(5)可靠性高。由於有些嵌入式系統所承擔的計算任務涉及被控產品的關鍵質量、人身設備安全,甚至國家機密等重大事務,且有些嵌入式系統的宿主對象工作在無人值守的場合,如在危險性高的工業環境和惡劣的野外環境中的監控裝置。所以,與普通系統相比較,嵌入式系統對可靠性的要求極高。
[3]
(8)嵌入式系統通常採用“軟硬件協同設計”的方法實現。早期的嵌入式系統設計方法經常採用的是“硬件優先”原則,即在只粗略估計軟件任務需求的情況下,首先進行硬件設計與實現,然後在此硬件平台之上進行軟件設計。如果採用傳統的設計方法,則一旦在測試中發現問題,需要對設計進行修改時,整個設計流程將重新進行,對成本和設計週期的影響很大。系統的設計在很大程度上依賴於設計者的經驗。20世紀90年代以來,隨着電子和芯片等相關技術的發展,嵌入式系統的設計和實現出現了軟硬件協同設計方法,即使用統一的方法和工具對軟件和硬件進行描述、綜合和驗證。在系統目標要求的指導下,通過綜合分析系統軟硬件功能及現有資源,協同設計軟硬件體系結構,以最大限度地挖掘系統軟硬件能力,避免由於獨立設計軟硬件體系結構而帶來的種種弊病,得到高性能、低代價的優化設計方案。
[3]
嵌入式系統發展過程
嵌入式計算機的真正發展是在微處理器問世之後。1971年11月,算術運算器和控制器電路成功的被集成在一起,推出了第一款微處理器,其後各廠家陸續推出了8位、16位微處理器。以這些微處理器為核心所構成的系統廣泛地應用於儀器儀表、醫療設備、機器人、家用電器等領域。微處理器的廣泛應用形成了一個廣闊的嵌入式應用市場,計算機廠家開始大量地以插件方式向用户提供OEM產品,再由用户根據自己的需要選擇一套適合的CPU板、存儲器板及各式I/O插件板,從而構成專用的嵌入式計算機系統,並將其嵌入自己的系統設備中。
[3]
20世紀80年代,隨着微電子工藝水平的提高,集成電路製造商開始把嵌入式計算機應用中所需要的微處理器、I/O接口、A/D轉換器、D/A轉換器、串行接口,以及RAM、ROM等部件全部集成到一個VLSI中,從而製造出面向I/O設計的微控制器,即俗稱的單片機。單片機成為嵌入式計算機中異軍突起的一支新秀。20世紀90年代,在分佈控制、柔性製造、數字化通信和信息家電等巨大需求的牽引下,嵌入式系統進一步快速發展。面向實時信號處理算法的DSP產品向着高速、高精度、低功耗的方向發展。21世紀是一個網絡盛行的時代,將嵌入式系統應用到各類網絡中是其發展的重要方向。
[3]
嵌入式系統的發展大致經歷了以下三個階段:
第二階段:以高端嵌入式CPU和嵌入式操作系統為標誌。這一階段系統的主要特點是計算機硬件出現了高可靠、低功耗的嵌入式CPU,如ARM、PowerPC等,且支持操作系統,支持複雜應用程序的開發和運行。
[3]
第三階段:以芯片技術和Internet技術為標誌。微電子技術發展迅速,SOC(片上系統)使嵌入式系統越來越小,功能卻越來越強。大多數嵌入式系統還孤立於Internet之外,但隨着Internet的發展及Internet技術與信息家電、工業控制技術等結合日益密切,嵌入式技術正在進入快速發展和廣泛應用的時期。
[3]
嵌入式系統種類
嵌入式系統嵌入式微處理器
嵌入式微處理器(Embedded Microprocessor Unit,EMPU)是以通用計算機中的標準CPU為微處理器,並將其裝配在專門設計的電路板上,且僅保留與嵌入式應用有關的母板功能,構成嵌入式系統。與通用計算機相比,其系統體積和功耗大幅度減小,而工作温度的範圍、抗電磁干擾能力、系統的可靠性等方面均有提高。
嵌入式系統嵌入式微控制器
嵌入式微控制器(Microcontroller Unit,MCU)又稱單片機。它以某一種微處理器為核心,芯片內部集成有一定容量的存儲器(ROM/EPROM、RAM)、I/O接口(串行接口、並行接口)、定時器/計數器、看門狗、脈寬調製輸出、A/D轉換器、D/A轉換器、總線、總線邏輯等。與嵌入式微處理器相比,微控制器的最大特點是單片化、體積小、功耗低、可靠性較高。微控制器是嵌入式系統工業的主流。
嵌入式系統嵌入式處理器
嵌入式數字信號處理器(Embedded Digital Signal Processor,EDSP)對系統結構和指令進行了特殊設計,使其適合執行DSP算法,編譯效率高,指令執行速度也較快,在數字濾波、FFT、譜分析等方面,DSP算法已廣泛應用於嵌入式領域,DSP應用正從在單片機中以普通指令實現DSP功能,過渡到採用EDSP。
嵌入式系統嵌入式片上系統
嵌入式片上系統(System on Chip,SoC)是集系統性能於一塊芯片上的系統組芯片。它通常含有一個或多個微處理器IP核(CPU),根據需求也可增加一個或多個DSP IP核,相應的外圍特殊功能模塊,以及一定容量的存儲器(RAM、ROM)等,並針對應用所需的性能將其設計集成在芯片上,成為系統操作芯片。其主要特點是嵌入式系統能夠運行於各種不同類型的微處理器上,兼容性好,操作系統的內核小,效果好。
[7]
嵌入式系統系統組成
嵌入式系統最核心的層次是中央處理單元部分,它包含運算器和控制器模塊,在cpu的基礎上進一步配上存儲器模塊、電源模塊、復位模塊等就構成了通常所説的最小系統。由於技術的進步,集成電路生產商通常會把許多外設做進同一個集成電路中,這樣在使用上更加方便,這樣一個芯片通常稱之為微控制器。在微控制器的基礎上進一步擴展電源傳感與檢測、執行器模塊以及配套軟件並構成一個具有特定功能的完整單元,就稱之為一個嵌入式系統或嵌入式應用。
[2]
嵌入式系統硬件結構
儘管各種具體的嵌入式系統的功能、外觀界面、操作等各不相同,甚至千差萬別,但是基本的硬件結構卻是大同小異的,而且和通用計算機的硬件系統有着高度的相似性。嵌入式系統的硬件部分看起來與通用計算機系統的沒有什麼區別,也由處理器、存儲器、外部設備、I/O接口、圖形控制器等部分組成。但是嵌入式系統應用上的特點致使嵌入式系統在軟硬件的組成和實現形式上與通用計算機系統有較大區別。為滿足嵌入式系統在速度、體積和功耗上的要求,操作系統、應用軟件、特殊數據等需要長期保存的數據,通常不使用磁盤這類具有大容量且速度較慢的存儲介質,而大多使用EPROM、E2PROM或閃存(Flash Memory)。在嵌入式系統中,A/D或D/A模塊主要用於測控方面,這在通用計算機中用得很少。根據實際應用和規模的不同,有些嵌入式系統要採用外部總線。隨着嵌入式系統應用領域的迅速擴張,嵌入式系統越來越趨於個性化,根據自身特點採用總線的種類也越來越多。另外,為了對嵌入式處理器內部電路進行測試,處理器芯片普遍採用了邊界掃描測試技術(JTAG)。
[3]
嵌入式系統軟件體系
嵌入式系統的軟件體系是面向嵌入式系統特定的硬件體系和用户要求而設計的,是嵌入式系統的重要組成部分,是實現嵌入式系統功能的關鍵。嵌入式系統軟件的特徵包括:(1)軟件要求固態化存儲;(2)軟件代碼質量高、可靠性好;(3)操作系統軟件實時性強。
驅動層
驅動層是直接與硬件打交道的一層,它為操作系統和應用提供硬件驅動或底層核心支持。在嵌入式系統中,驅動程序有時也稱為板級支持包(BSP)。BSP具有在嵌入式系統上電後初始化系統的基本硬件環境的功能,基本硬件包括微處理器、存儲器、中斷控制器、DMA、定時器等。驅動層--般可以有三種類型的程序,即板級初始化程序、標準驅動程序和應用驅動程序。
[3]
操作系統層
嵌入式系統中的操作系統具有一般操作系統的核心功能,負責嵌入式系統的全部軟硬件資源的分配、調度工作控制、協調併發活動。它仍具有嵌入式的特點,屬於嵌入式操作系統(Embedded Operating System,EOS)。主流的嵌入式操作系統有Windows CE、Palm:OS、Linux、VxWorks.pSOS.QNX.LynxOS等。有了嵌入式操作系統,編寫應用程序就更加快速、高效、穩定。
[3]
中間件層
應用層
嵌入式應用軟件是針對特定應用領域,用來實現用户預期目標的軟件。嵌入式應用軟件和普通應用軟件有一定的區別,它不僅要求在準確性、安全性和穩定性等方面能夠滿足實際應用的需要,而且還要儘可能地進行優化,以減少對系統資源的消耗,降低硬件成本。嵌入式系統中的應用軟件是最活躍的力量,每種應用軟件均有特定的應用背景。儘管規模較小,但專業性較強,所以嵌入式應用軟件不像操作系統和支撐軟件那樣受制於國外產品,是我國嵌入式軟件的優勢領域。
[3]
嵌入式系統嵌入方式
嵌入式系統是通過把CPU嵌入目標系統或被控系統中起作用的。但是在不同的嵌入式系統中,嵌入的形式和程度是各不相同的。根據嵌入式系統和通用計算機連接關係的密切程度,嵌入形式可以分為全嵌入方式、半嵌入方式。
[3]
嵌入式系統全嵌入方式
嵌入式系統半嵌入方式
(2)嵌入式系統只是整個系統的--部分,只能完成整個系統的一部分功能,而其他功能需要在通用計算機上完成。通用計算機利用自己豐富的軟件和硬件資源,提供友好的人機操作界面和強大的數據處理能力。
嵌入式系統相關介紹
嵌入式系統嵌入式操作系統
嵌入式操作系統EOS(Embedded Operating System)是一種用途廣泛的系統軟件,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入式系統的全部軟、硬件資源的分配、調度,控制、協調併發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。已推出一些應用比較成功的EOS產品系列。隨着Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固化以及應用的專用性等方面具有較為突出的特點。
[4]
嵌入式系統應用
嵌入式系統的應用十分廣泛,涉及工業生產、日常生活、工業控制、航空航天等多個領域,而且隨着電子技術和計算機軟件技術的發展,不僅在這些領域中的應用越來越深入,而且在其他傳統的非信息類設備中也逐漸顯現出其用武之地。
[3]
嵌入式系統工業控制
基於嵌入式芯片的工業自動化設備將獲得長足的發展,已經有大量的8位、16位、32位嵌入式微控制器在應用中。網絡化是提高生產效率和產品質量、減少人力資源的主要途徑,如工業過程控制、數字機牀、電力系統、電網安全、電網設備監測、石油化工系統。就傳統的工業控制產品而言,低端產品往往採用的是8位單片機。隨着計算機技術的發展,32位、64位的處理器已逐漸成為工業控制設備的核心。
[3]
嵌入式系統交通管理
在車輛導航、流量控制、信息監測與汽車服務方面,嵌入式技術已經獲得了廣泛的應用,內嵌GPS模塊、GSM模塊的移動定位終端已經在各種運輸行業獲得了成功。GPS設備已經從尖端的科技產品進入了普通百姓的家庭。
[3]
嵌入式系統信息家電
嵌入式系統家庭智能系統
水錶、電錶、煤氣表的遠程自動抄表系統,安全防火、防盜系統,嵌有專用控制芯片,這種專用控制芯片將代替傳統的人工操作,完成檢查功能,並實現更高、更準確和更安全的性能。在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。
[3]
嵌入式系統網絡及電子商務
公共交通無接觸智能卡(Contactless Smart Card,CSC)發行系統、公共電話卡發行系統、自動售貨機等智能ATM終端已全面走進人們的生活,在不遠的將來手持一張卡就可以行遍天下。
[3]
嵌入式系統環境工程與自然
嵌入式系統機器人
嵌入式系統開發流程
以Linux操作系統為例,論述嵌入式系統的開發流程。
建立開發環境
安裝操作系統與交叉編譯器,操作系統一般使用RedhatLinux,選擇定製安裝或全部安裝,通過網絡下載相應的GCC交叉編譯器進行安裝(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安裝產品廠家提供的相關交叉編譯器。
[4]
配置開發主機的參數
配置MNICOM參數,MNICOM軟件的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。一般情況下的參數為波特率115200 Baud/s,數據位8位,停止位為1,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣。配置網絡主要是配置NFS網絡文件系統,需要關閉防火牆以簡化嵌入式網絡調試環境設置過程。
[4]
建立引導裝載程序BOOTLOADER
從網絡上下載一些公開源代碼的BOOTL0ADER,如U-BOOT、BLOB、VIVI、LILO、ARM-Boot、RED-Boot等,根據具體芯片進行移植修改。有些芯片沒有內置引導裝載程序,這樣就需要編寫開發板上FLASH的燒寫程序,也可以在網上下載相應的燒寫程序。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行源代碼修改。這是讓系統可以正常運行的第一步。
[4]
下載已經移植好的Linux操作系統內核
如MCLiunx、ARM_Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統那是再好不過,下載後再添加特定硬件的驅動程序,然後進行調試修改,對於帶MMU的CPU可以使用模塊方式調試驅動,而對於MCLiunx這樣的系統只能編譯內核進行調試。
[4]
建立根文件系統
下載使用BUSYBOX軟件進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他的程序。由於默認的啓動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啓動腳本,它的存放位置位於/etc目錄下,包括:/etc/init.drc.S、/etc/profile、/etc/.profile及自動掛裝文件系統的配置文件/etc/fstab等,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中-般設為只讀,需要使用mkcramfs genromfs等工具產生燒寫映像文件。
[4]
建立應用程序的FLASH磁盤分區
一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動。有的系統使用一個線性FLASHNOR型(512KB~32MB),有的系統使用非線性FLASHNAND型(8MB~512MB),有的系統兩種同時使用,需要根據應用規劃FLASH的分區方案。
[4]
開發應用程序
根據需要開發應用程序,把開發成功的應用程序可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似於uC/OS-II的方式。
[4]
燒寫內核、根文件系統和應用程序,發佈產品
嵌入式系統軟硬件協同
嵌入式系統系統描述
對嵌入式系統的描述主要是從兩方面出發的,一是性能方面,另一種是功能方面。在系統描述過程中,不僅可以採用一種語言,也可以採用多種語言。同時,這一描述過程也是對軟件模型和系統硬件模型的建立過程。在進行嵌入式系統描述時,為了減少軟硬件協同設計初期中問題的出現,需要做好系統內行為的測試工作。一方面,可以在第一時間發現設計中不合理的地方;另一方為系統安全、可靠運行提供了保證。系統描述需要以系統模型為支撐,為了進行正確的描述,應該確保該模型包括四個元素。一是功能特點,也就是指嵌入式系統的各項功能,同時應該重點明確功能和系統的輸入和輸出關係。第二是性能描述,在系統模型中,融入這一因素,能夠比較全面的反映系統的整體結構,並且需要説明系統輸入與輸出的聯繫。第三是約束條件,該要素不僅對嵌入式系統性能缺陷進行了説明,而且還合理的對系統工作環境中的要求進行了規定。第四是技術指標,其能夠對系統存在的問題、質量好壞進行説明,為設計工作開展奠定良好基礎。
[5]
嵌入式系統軟硬件綜合技術
在嵌入式系統的軟硬件協同設計中,軟硬綜合技術是重要的技術之一,在軟硬件系統的大體設計方面發揮着重要作用。在對其設計結果進行系統檢測評價的基礎上,可以根據設計要求,有針對性的開展細緻的系統製作工作,並且進行軟硬件的設計,確保其協調一致,進而可提升設計的科學性,對整個系統運行效率提高具有重要意義。
[5]
嵌入式系統軟硬件功能劃分
在進行軟硬件功能劃分工作中,主要是科學合理的劃分軟硬件和嵌入式系統功能,並對二者的關係進行明確。其中,成本函數是軟硬件功能劃分的主要依據之一。在運用成本函數方面時,需要考慮多方面因素。例如,模塊之間的併發性、軟件執行時間等。
[5]
嵌入式系統協同驗證
在協調仿真和系統測試驗證方面,需要藉助硬件描述語言進行嵌入式系統硬件系統的描述工作。為了有效完成設計工作,滿足設計要求,需要對軟件搭配硬件的方法進行合理的應用,以便為接下來的設計工作創造良好的環境,不僅能夠在整體上提高設計效率與質量,而且還能減少設計成本,確保良好的經濟效益。
[5]
嵌入式系統發展前景
如今嵌入式系統發展更加的趨於提供更加生動的人機交互界面;對於更多小型電子產品具備更好的移植性,從而實現其自動化,低功耗,智能化。
[6]
嵌入式系統在WEB服務器中的實例
在工業設計中,軟硬件的精簡性對於服務器有較高的要求,而傳統網絡服務器並不具有簡潔性,且支持網絡異構中實現對於計算機的遠程操控。而採用將網絡設備嵌入到嵌入式設備中,將大大減少用户的訪問時間,以及能夠精準的控制外部I/O。而嵌入式WEB服務器不採用傳統的TCP/IP協議連入互聯網,而是選擇了由TCP/IP簡化的UIP協議棧實現嵌入式WEB服務器。這樣的嵌入式WEB服務器不僅具有簡潔性,而且使MCU具有更多的空間去控制外部I/O。
[6]
基於嵌入式系統的傳感技術
物聯網領域從2009年温家寶總理提出建立中國傳感信息中心開始便逐漸成為眾多學者企業關注的重點,而傳感技術作為物聯網領域的重要一環自然是必不可少。作為承擔着信息收集角色的傳感器,必然要與嵌入式系統進行有機的結合。智能傳感技術具有優秀的信息傳遞能力,智能傳感器具備物與物之間的信息交換、物與計算機之間的信息傳遞能力,將廣泛應用與計算機、通信等方面的信息交流和數據傳遞。嵌入式智能傳感器在物聯網領域具有重要作用。
[6]
- 參考資料
-
- 1. 嵌入式系統傳感器的設計與應用 .萬方.2019[引用日期2020-02-23]
- 2. 陳啓軍.嵌入式系統及其應用 .上海:同濟大學出版社,2015:2-4
- 3. 蘇曙光,沈剛.嵌入式系統原理與設計.武漢:華中科技大學出版社,2011:1-9
- 4. 劉加海,厲曉華,胡珺,鮑福良.嵌入式系統設計與實踐 LINUX篇.杭州:浙江大學出版社,2016:3-18
- 5. 關於嵌入式系統的軟硬件協同設計研究 .萬方.2019[引用日期2019-10-23]
- 6. 單片機在嵌入式系統中的應用 .萬方.2019[引用日期2019-10-23]
- 7. 黃勤,李楠.單片機原理及應用——嵌入式技術基礎(第2版):清華大學出版社,2010:2-3