必威电竞|足球世界杯竞猜平台

嵌入式系統
來源:互聯網

嵌入式系統是嵌入式計算機系統的簡稱。嵌入式系統由硬件和軟件組成,是能夠獨立進行運作的器件。其軟件內容只包括軟件運行環境及其操作系統,硬件內容包括信號處理器、存儲器、通信模塊等。嵌入式系統通常采用E-PROM、EEPROM等存儲介質。嵌入式系統是一種嵌入在設備(或系統)內部,為特定應用而設計開發的專用計算機系統。

英國電氣工程師協會對嵌入式系統的定義為:控制、監視或協助設備、機器、工程運行的裝置。而中國大陸從技術角度定義了嵌入式系統是一種以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等要求嚴格的專用計算機系統,是一個技術密集、資金密集、 高度分散、不斷創新的知識集成系統。

嵌入式技術起源于20世紀70年代微處理器出現以后,嵌入式系統的發展經歷了三個階段:第一階段以功能簡單的專用計算機或單片機為核心的可編程控制器形式存在,此時期是以4位/8位的單片機為主的可編程控制系統;第二階段以高端嵌入式CPU和嵌入式操作系統為標志,20世紀80年代由于處理器的發展使得嵌入式系統的處理器提升到了8位/16位;第三階段以芯片技術和Internet技術為標志,20世紀90年代中期納米加工技術的出現使得嵌入式技術進入快速發展和廣泛應用時期,實現了復雜的電子系統并在各個領域得到廣泛使用。

嵌入式系統被廣泛應用于各個領域,包括了工業控制、交通管理、信息家電、家庭智能管理系統、POS網絡及電子商務環境工程 與自然、機器人,還有儀器儀表、醫療器械計算機外圍設備、汽車、船舶、航空航天等。

嵌入式系統的定義

定義

中國對嵌入式系統公認的定義是:嵌入式系統是一種以應用為中心,以現代計算機技術為基礎,能夠根據用戶需求靈活裁剪軟硬件模塊,適應應用系統對功能、可靠性、成本、體積、功耗、環境等要求嚴格的專用計算機系統。

英國電氣工程師協會從應用角度定義了嵌入式系統:控制、監視或協助設備、機器、工程運行的裝置。其原文為Devices used to control,monitor or assist the operation of equipment,machinery or plants.原文中的devices指計算裝置,即計算機。

嵌入式系統是針對需求的問題和目的而特殊設計的小型化輕便化的專用計算機系統,本質上也是計算機系統的一種。

嵌入式系統的共有特征

實際上,隨著技術的進步,對嵌入式系統的定義在不斷變化著,但對于大多數嵌入式系統而言,總有一些共同的特點,這些特點是嵌入式系統所共有的,也是分辨一個計算機系統是否是嵌入式系統的重要依據,以下對嵌入式系統的共有特征做簡要概述:

1.專用性:嵌入式系統總是針對某個具體的應用需求和目的而設計的;

2.隱蔽性:嵌入式系統往往是一個大的系統的一部分,嵌入式系統只是大的工作系統中用以實現智能化控制或者行為的一個構件;

3.高可靠性:因為嵌入式系統是針對具體的設計,所以對于其設計目所需求的可靠性方面的針對設計很多;

4.實時性:嵌入式系統必須有對于可預測性事件在需求的時間內反應的能力;

5.資源固定:因為是針對性的設計,所以嵌入式系統的可用資源是確定的,并且通常追求小型化、輕量化和低耗低成本。

以上內容來源于

發展歷史與分類

嵌入式系統的發展

公認的第一個現代嵌入式系統是20世紀60年代初麻省理工學院開發的阿波羅導航計算機(Apollo Guidance 計算機,簡稱AGC),它的作用是用來引導阿波羅飛船往返地球與月球。同時美國在20世紀60年代中期于民兵Ⅱ導彈上大量使用內嵌的集成電路用于民兵Ⅱ導彈的火控系統等方面,這也是早期未成形的嵌入式系統的一個縮影。

而真正意義上的嵌入式系統出現在20世紀70年代的美國,當時被稱作嵌入式計算機系統或者是隱藏式計算機。當時的嵌入式系統主要是以4位/8位的單片機為主的可編程控制器,這些嵌入式設備的主要能力是和傳感器伺服器等外圍設備共同作用起到控制、檢測、顯示和指示的作用,此階段的嵌入式系統結構簡單功能單一。主要用在一些工業設備的控制上和大型家電。

在20世紀80年代,隨著半導體技術的發展導致了數字電路的大量應用,昂貴的模擬集成電路被數字電路替代,許多外圍電路的元器件被集成到處理器芯片上,這使得嵌入式系統可以更加多樣化和輕便化,導致了嵌入式系統的廣泛應用,出現了例如智能儀表、智能家電、智能玩具等數字化的電子化設備,也使得電子化設備開始大規模的數字化。這一時期的嵌入式系統主要以8位/16位處理器為基礎并配置了簡單的操作系統。這導致了大量的智能家電和智能儀表的出現。

進入20世紀90年代,微電子技術的快速進步導致了嵌入式技術的風靡式發展。但這一時期的嵌入式系統的操作內核小、功能完善、模塊化程度高、開發設備齊全、種類繁多,并且確定了嵌入式系統的正式定義。這一時期的嵌入式系統主要以32位處理器和嵌入式操作系統為標志。以至于出現一種觀點:嵌入式系統本質上是瞄準高端領域和應用的。

嵌入式系統的分類

嵌入式系統的分類方式有很多種,同時嵌入式系統是一種不斷跟隨別的技術進步的一門技術,其發展歷史也是其分類的重要依據。在此以三種角度列舉出嵌入式系統的類別。

以技術復雜度分類

針對以不同字長的處理器為應用平臺和設計基礎,對于字長越大的處理器而言,能夠做的事也就越多,但相對應的所使用到的技術就越復雜,以下是按照技術復雜度的具體分類:

以上資料來源于

以實時性分類

嵌入式系統由硬件和軟件兩部分組成,其中軟件是嵌入式系統的靈魂,而嵌入式系統軟件的靈魂則是算法,算法是決定嵌入式系統軟件優劣的決定性因素,嵌入式系統對于不同的算法會表現出不同的實時性以而被應用在不同的更大型的系統中,所以按照實時性表現分類也是嵌入式系統的一個重要分類手段,以下是按照嵌入式系統實時性的具體分類:

以上資料來源于

以用途分類

通過嵌入式系統的使用途徑對其分類是一種最直觀也最符合市場價值的分類方式,以下是按照用途的具體分類:

以上資料來源于

嵌入式系統的組成

嵌入式系統和通用計算機系統一樣,也是由硬件和軟件所組成的。其中硬件的主體是處理器和存儲器以及用來連接外部世界的I/O設備和I/O接口,而軟件是決定嵌入式系統的運行方式、工作手段和實現設局需求方法的部分。嵌入式系統的完整部分有硬件平臺、外接設備、操作系統、應用軟件四個部分,而外界設備根據設需求和應用環境的不同而在不同的嵌入式系統中完全不一樣,所以嵌入式系統的邏輯組成有三部分,分別是嵌入式應用軟件、嵌入式操作系統和嵌入式硬件平臺

邏輯組成

嵌入式系統的硬件平臺

嵌入式系統的硬件平臺是用來讓嵌入式應用軟件和嵌入式操作系統運行的硬件設備。主要由處理器、存儲器、I/O接口等組成,以下是嵌入式系統硬件平臺的具體組成和特征。

①處理器:處理器是指能按照發出指令的規定快速完成二進制的數據/邏輯運算的器件。一般處理器包括了運算器、控制器、寄存器、緩沖存儲器等。使用納米技術加工半導體而制成的僅有幾平方厘米大小的處理器叫微處理器。其中用來運行系統軟件和應用軟件的主處理器稱之為中央處理器(CPU),cpu是影響嵌入式系統性能的重要部分。

②存儲器:存儲器是用來存儲程序和數據的部分。它分為了兩大類,易失性的和非易失性的。易失性存儲器在沒有通電后會損失存儲的信息,而非易失性存儲器可以永久的或者半永久的保存信息,不受是否通電的影響。易失性存儲器主要有隨機存取存儲器RAM,RAM又分為了動態隨機存取存儲器DRAM和sramSRAM。前者主要用來存放正在運行或處理的程序/數據。后者往往與cpu集成在一起,用來當做程序和數據的高速緩沖存儲器。非易失性存儲器主要有只讀存儲器ROM和閃速存儲器Flash,只讀存儲器主要分為了掩膜制度存儲器MROM和電可擦可編程只讀存儲器,前者不可修改,后者可以用專用設備進行離線修改。Flash存儲器主要分為或非型(NOR Flash)和與非型(NAND Flash),前者以字節形式進行隨機存取,存放在其中的程序稱之為“固件”,后者以頁或行為單位進行存取,雖然效率較前者略低但使用壽命長,同時成本低容量大。多數用來制作存儲卡或者u盤。存儲器并非單一的存在與某個地方,而是會按照設計需求可能集成在處理器芯片內或者安裝在外部電路板或者被制成便攜式的。

③I/O設備與I/O接口:I/O設備就是輸入/輸出設備。而對于嵌入式系統而言,外部世界都是系統的I/O設備。信息的傳遞是兩者之間的最重要交流,這也意味著信息傳遞是嵌入式系統最重要的設計部分。嵌入式系統所使用的I/O設備主要有兩種,分別是人機交互設備和機機交互設備。常用的主要有通用串行總線、異步串行接口、視頻信號接口、工業總線接口和無線接口。I/O接口是用來連接(包括了物理意義和信息意義)和控制I/O設備的。

總線:總線是用來連接cpu和存儲器的設備。總線按功能分有三種,分別是數據總線、地址總線和控制總線。數據總線是多根線組成,每根線每次傳遞一位數據,數據總線的數量取決于計算機的字的位數;地址總線是用來訪問存儲空間的,其數量多少是由存儲空間大小決定,存儲空間有2的N次方個字,則地址總線就需要N條;控制總線是用來在cpu和內存間傳遞信息的,計算機有2的N次方個控制指令,則控制總線就需要N條。總線按對象分有兩類,用來連接內部的的稱之為內部總線,用來和外部組件或者其他的嵌入式系統進行信息傳遞的稱之為外部總線或者擴充總線。外部總線和通信網絡接口和一些I/O接口有時的區分并不嚴格。

嵌入式硬件平臺可以從系統運行的角度分為最小硬件系統和典型硬件系統。以下是最小嵌入式硬件系統的示意圖:

嵌入式系統的硬件平臺外接電路都是以此為基礎拓展和優化的。根據不同的設計要求,所設計的外接電路有很大的區別。

嵌入式應用軟件

嵌入式系統中的應用軟件是最活躍的力量,是為了解決專門問題所設計的軟件。針對每一個設計目的,嵌入式應用軟件的內容都是不同的,嵌入式應用軟件使用的主要編程語言由最開始的匯編語言到現在的高級語言。高級語言中使用較多也較為出名的有C、C++和Java。

嵌入式系統軟件除了擁有計算機軟件的一般特征以外還具有一些其他特性,其中包括了(以下參考資料為):

1.軟硬件一體化和軟件固化,嵌入式操作系統和嵌入式應用軟件綁定在專門設計的嵌入式硬件平臺上,一般固化在了半導體存儲器里,而非外界設備。

2.代碼空間利用率、時效性和實時性要求高。根據嵌入式系統的定義,在有限資源的情況下要達到設計目的必須要有高效的空間利用率、時效性和實時性。

3.軟件的可裁剪性、環境適應性、長生命周期性。

嵌入式系統軟件在設計時還有一些特征,包括了:開發難度大,面向目標和受限于應用情況以及高度分散化的產業市場。

嵌入式操作系統

操作系統的常規定義是:

1.介于用戶和計算機之間的接口;

2.用來讓其他程序運行的更方便更有效的程序或程序集;

3.用來管理計算機系統中的每一個部件,確保計算機系統中的所有資源都能有效的使用。

計算機的操作系統又分為了個人操作系統(用于個人電腦)、分布式操作系統(控制多臺計算機)、并行系統(擁有多個cpu可以同時并行執行多個任務)和實時性系統(在特定時間限制內完成某種工作內容)。

OSE是就是專門化的操作系統,為了某個設計目的而編寫的操作系統。嵌入式操作系統在普通操作系統的設計上還有一些特性:1.具有開放性、可伸縮的結構;2.所有信息交互使用統一的接口;3.有操作方便、簡單、提供友好的圖形GUI以實現更好的封裝性;4.提供強大的網絡功能以確保高量高速的信息交互行為;

軟件結構

嵌入式系統的軟件在多樣化的設計需求下有著和通用計算機系統相比十分明顯的軟件結構上的特征。主要可以分為以下幾種結構:

1.簡單輪詢結構:需要應用程序不斷的重復一個循環過程以檢查每個外部輸入條件,當出現需求時,則進行相應處理。

2.中斷輪詢結構:在簡單輪詢結構的基礎上增加了中斷服務程序(ISR)。ISR用于處理特別請求,并設置一個狀態標志,主程序循環時會查詢這些狀態標志再進行后續處理。

3.監控式操作系統與應用軟件結構:以監控式的操作系統和針對設計需求的應用程序為一體的結構,通過針對應用程序的監控式操作系統完成任務調度、任務通信和中斷處理等功能,以達到多任務并發的工作狀態代替單主程序循環。

4.通用嵌入式操作系統與應用軟件的結構:此類軟件結構分為三層:最低層的硬件抽象層包含了引導加載程序和各種驅動程序;中間的操作系統層包含了通信協議、文件系統、操作系統內核程序和嵌入式GUI。上層的中間件層包含了各種中間件用以連接應用軟件和操作系統。

處理芯片

嵌入式處理器種類

嵌入式系統的處理器主要有以下四種:

1.微處理器(MPU):根據通用計算器處理器演變而來,更小的體型使得它更適合于嵌入式系統。在工號、工作溫度、抗磁等方面嵌入式微處理器強于通用微處理器。

2.DSP芯片(DSP):專門用于處理數字信號的微處理器,主要用于多媒體信息處理設計中。

3.微控制器(MCU):將整個計算機硬件的大部分或者全部電路集成在一塊芯片上,也稱之為單片機。處理計算機硬件外還集成了如看門狗、定時/計時器、AD/DA轉換器等功能部件和外設部件。

4.片上系統(SoC):將計算機或者其他的電子系統集成在單個芯片上,又稱系統級芯片。相比于微控制器,片上系統的功能更強大。甚至可以運行極其復雜的操作系統如Windows或者是Liunx等。某些片上系統還擁有多個處理器。

嵌入式處理器結構類型

嵌入式處理器是嵌入式系統硬件平臺的核心,也是嵌入式系統軟件操作和運行的主要依賴。所以嵌入式處理器在設計時都設計了對應的指令集以實現對處理器的底層控制。而嵌入式處理器按指令集結構可以分成兩大類:復雜指令集結構和精簡指令集結構。而同時按照存儲機制可以分為馮·諾依曼結構和哈佛結構

指令集(Instruction Set)又稱為指令系統,其中包括了對基本數據類型、寄存器、尋址模式、指令、中斷、異常處理和外部I/O的操作。指令集是用來設計嵌入式軟件的主要依賴,以此設計出來的結構通常稱之為指令集系結構或者是IS架構(Instruction Set Architecture)。現今發展最快的處理器系列是ARM處理器。

CISC處理器/RISC處理器

CISC處理器:指令集中的指令數目多且結構復雜,尋址復雜,其中包含了大量的專用指令集。

RISC處理器:指令集中單指令數目少且字長統一尋址模式簡單,指令操作也很簡單。

馮·諾依曼結構和哈佛結構

馮·諾依曼結構(簡稱馮氏結構)和哈佛結構是依據存儲方式的不同劃分出來的。

馮氏結構是cpu和存儲器間只有一套總線,而哈佛結構是將程序存儲器和數據存儲器分別用程序總線和數據總線連接的結構。馮氏結構具有較高的靈活性,而哈佛結構具有較高的效率。在現代處理器中如x86和高端ARM都采用了改進型的哈佛結構,同時兼顧了兩者的優點。

系統開發

嵌入式系統的本質就是專用目的的計算機。所以嵌入式系統的開發和通用計算機系統開發過程類似,但又有不同。

開發流程

嵌入式系統的開發流程主要分為了:

1.需求分析與規格說明:明了設計需求和設計目的是什么,并且確定設計所需的資源;

2.系統設計:以軟件硬件協同設計的思路,明確目的所需求的軟件功能和硬件功能,然后以大構件為單位設計系統的詳細內部構造;

3.構建設計,進行詳細的軟件編程,硬件選型和電路設計;

4.系統集成與測試,完成了所有的構件設計工作后,將這些構件集成為一個完整的嵌入式系統,并依據設計目的和設計需求進行功能調試,完成調試后將程序固化,即得到一個符合設計需求和目的嵌入式系統。

開發平臺與開發工具

嵌入式開發主要有幾個特點與通用計算機系統開發不同:通過宿主機——目標機的開發架構;對底層硬件的直接程序控制頻繁;軟硬件資源的固定和針對性設計;程序固化。

開發平臺

開發工具

嵌入式系統的開發平臺中包含了大量的開發工具,這些開發工具使得開發工作更加便利。以下列舉一些常用的開發工具種類及其實例:

1.面向嵌入式應用的實時操作系統(RTOS)及其函數庫,常用的有嵌入式Liunx、vxworks等;

2.程序開發工具,常用的有ADS、GNU、Keil等;

3.調試工具,如仿真器、邏輯分析儀、開發板或評估板;

4.中間件和軟件組件,如Java中間件等。

調試

嵌入式系統在完成了所有的構件設計之后就需要集成并調試。嵌入式系統的開發調試需要軟件硬件的結合使用,同時由于嵌入式系統復雜的結構,所以需要多種多樣的軟件或硬件調試工具對問題進行定位,同時需要雙方的協同。以下列舉兩種常用的調試方式:

1.在線仿真器:許多的集成開發環境都有線上仿真功能,例如Keil,通過線上虛擬仿真對程序進行單步驟調試,可以在剝離硬件的情況下對軟件進行標準模板的仿真調試。

2.片上調試技術-JTAG:JTAG是IEEE(電氣電子工程師協會)的下屬機構,主要研究測試訪問端口和邊界掃描結構的標準,其研究結果被收納進IEEE的規范內,成為一種國際標準的片上測試技術,主要用于芯片和電路板調試。滿足此標準的TAP接口被稱之為JTAG接口。

應用舉例

嵌入式系統在生活中的應用隨處可見,以下做嵌入式系統的應用列舉:

1.信息電氣,信息電器是指所有能通過網絡系統做信息交互或者可以提供信息服務的電子產品,包括數碼相機、機頂盒路由器等。

2.移動計算設備,包括了手機、平板電腦掌上游戲機等設備。

3.電子軍工設備、工業生產機器人、以及醫療機械。

以上內容以為參考。

參考資料 >

嵌入式系統設計與開發實踐.清華大學出版社.2023-07-01

嵌入式系統的應用領域與發展研究.中國知網.2023-07-07

嵌入式系統的發展與展望.中國知網.2023-07-02

嵌入式系統初探.中國知網.2023-07-02

嵌入式系統的結構特征與研究概況.中國知網.2023-07-07

計算機嵌入式操作系統研究.中國知網.2023-07-07

國產嵌入式處理器發展綜述.中國知網.2023-07-07

嵌入式存儲器發展現狀.中國知網.2023-07-07

計算機編程語言的發展與輸入輸出設備的使用.中國知網.2023-07-03

嵌入式操作系統I/O驅動的研究.中國知網.2023-07-07

嵌入式系統的組成、設計與調試.中國知網.2023-07-07

計算機嵌入式操作系統初探.中國知網.2023-07-07

嵌入式系統通用的應用軟件結構研究.中國知網.2023-07-07

基于ARM體系看嵌入式處理器的發展.中國知網.2023-07-07

View Markets & Technology Topics.ARM.2023-07-03

了解CISC處理器與RISC處理器.中國知網.2023-07-03

PathWave Advanced Design System (ADS).ADS.2023-07-03

Documentation – Arm Developer.RealView ICE用戶指南.2023-07-03

Products.Keil.2023-07-03

Design and verification of on-chip debug circuit based on JTAG.中國知網.2023-07-07

生活家百科家居網