嵌入式系統設計---嵌入式系統的組成

 嵌入式系統的組成git

    嵌入式系統通常都由軟件和硬件兩個部分組成,其中嵌入式處理器、存儲器和外部設備構成整個系統的硬件基礎。嵌入式系統的軟件部分能夠分爲 3 個層次:系統軟件、應用支撐軟件和應用軟件。其中,系統軟件和支撐軟件是基礎,應用軟件則是最能體現整個嵌入式系統的特色和功能的部分。算法

 

1 硬件架構數據庫

    圖 12-1 是一個嵌入式系統的基本硬件架構。微處理器是整個嵌入式系統的核心,負責控制系統的執行。外部設備是嵌入式系統同外界交互的通道,常見的外部設備有 Flash 存儲器、鍵盤、輸入筆、觸摸屏、液晶顯示器等輸入/輸出設備,在不少嵌入式系統中還有與系統用途緊密相關的各類專用外設。嵌入式系統中常用的存儲器有 3 種類型:RAM、 ROM(Read-Only Memory,只讀內存)和混合存儲器。系統的存儲器用於存放系統的程序代碼、數據和系統運行的結果。編程

    1.嵌入式處理器緩存

    嵌入式系統的核心部件是各類類型的嵌入式處理器。據不徹底統計,目前世界上嵌入式處理器的種類已經超過了 1000 種,比較流行的也有 30 幾個系列。根據目前的使用狀況,嵌入式處理器能夠分爲以下幾類:安全

    (1)嵌入式微處理器。嵌入式微處理器(Embedded Micro Processing Unit,EMPU)是由通用計算機中的 CPU 演變而來。嵌入式微處理器在功能上跟普通的微處理器基本一致,可是它具備體積小、功耗低、質量輕、成本低及可靠性高的優勢。一般,嵌入式微處理器和 ROM、RAM、總線接口及外設接口等部件安裝在一塊電路板上,稱爲單板計算機。目前,主要的嵌入式微處理器有 AM186/8八、386EX、SC-400、POWER  PC、MIPS 及 ARM 等系列。網絡

    (2)嵌入式微控制器。嵌入式微控制器(Embedded Micro Controlling Unit,EMCU)又稱爲單片機,就是整個計算機系統都集成到一塊芯片中。嵌入式微控制器通常以某一種微處理器內核爲核心,芯片內部集成有 ROM/EPROM/E2PROM、RAM、總線、總線邏輯、定時器/計數器、WatchDog(監督定時器)、並口/串口、數模/模數轉換器、閃存等必要外設。與嵌入式微處理器相比,嵌入式微控制器的最大特色是單片化,於是體積更小,功耗和成本更低,可靠性更高。架構

    目前,嵌入式微控制器的品種和數量最多,約佔嵌入式系統市場份額的 70%。比較有表明性的通用系列有:8051 系列、MCS-96/196/29六、C166/16七、MC68HC05/11/12/16 等。還有許多半通用系列,如支持 UBS 接口的 MCU 8XC930/93一、C540、C541 以及用於支持 I2C、現場總線等各類微控制器。異步

    (3 )嵌入式數字信號處理器。嵌入式數字信號處理器(Embedded Digital Signal Processor,EDSP)是一種專門用於信號處理的處理器,DSP 芯片內部採用程序和數據分開的哈佛結構,具備專門的硬件乘法器,普遍採用流水線操做,提供特殊的 DSP 指令,能夠用來快速實現各類數字信號的處理算法。目前,數字信號處理器在嵌入式系統中使用很是普遍,如數字濾波、快速傅立葉變換及頻譜分析等。同時,嵌入式系統的智能化也是推進嵌入式 DSP 發展的一個動力,如各類帶有智能邏輯的消費類產品、生物信息識別終端、帶有加密/解密算法的設備、實時語音壓縮和解壓系統以及虛擬現實顯示裝置等,這類系統上的智能化算法通常運算量都比較大,這剛好能夠充分發揮數字信號處理器的長處。性能

    (4)嵌入式片上系統。嵌入式片上系統(Embedded System On Chip)是一種在一塊芯片上集成不少功能模塊的複雜系統,如微處理器內核、RAM、USB、IEEE 139四、Bluetooth 等。以往這些單元按照各自的功能作成一個個獨立的芯片,並經過電路板與其餘單元組成一個系統。如今將這些原本在電路板上的單元都集成到一個芯片中,構成一個嵌入式片上系統,從而大幅度縮小了系統的體積,下降了系統的複雜度,加強了系統的可靠性。在大量生產時,生產成本也遠遠低於單元部件組成的電路板系統。嵌入式片上系統能夠分爲通用片上系統和專用片上系統兩類。通用類的主要產品有 Siemens 的 Trocore、Motorola 的 M-Core、某些 ARM 系列的器件等。專用類的嵌入式片上系統通常是針對某一個或某些系統而設計的。具備表明性的產品有 Philips 的 Smart XA,它將 XA 單片機的內核和支持超過 2048 位複雜 RSA 算法的 CCU 單元製做在一個芯片上,造成一個可加載 Java 或 C 的專用嵌入式片上系統,可用於網絡安全等方面。

    2.總線 

    總線是鏈接計算機系統內部各個部件的共享高速通路,自 20 世紀 70 年代以來,工業界相繼出現了多種總線標準,不少總線技術在嵌入式系統領域獲得了普遍的應用。

    嵌入式系統的總線通常分爲片內總線和片外總線。片內總線是指嵌入式微處理器內的 CPU 與片內其餘部件鏈接的總線;片外總線是指總線控制器集成在微處理器內部或外部芯片上的用於鏈接外部設備的總線。

    (1)AMBA 總線。AMBA(Advanced Microcontroller Bus Archiecture,先進微控制器總線架構)是 ARM 公司研發的一種總線規範,該總線規範獨立於處理器和製造工藝技術,加強了各類應用中外設和系統單元的可重用性,它提供將 RISC 處理器與 IP 核集成的機制。該規範定義了三種總線:

  • 先進性能總線(Advanced High-performance Bus,AHB)。AHB 由主模塊、從模塊和基礎結構三部分組成,整個 AHB 總線上的傳輸都由主模塊發起,從模塊響應。基礎結構包括:仲裁器、主從模塊多路選擇器、譯碼器、名義主模塊、名義從模塊等。AHB 系統具備時鐘邊沿觸發、無三態、分幀傳輸等特性。AHB 也支持複雜的事務處理,如突發傳送、主單元重試、流水線操做以及分批事務處理等。

  • 先進系統總線(Advanced System Bus,ASB)。ASB 用於高性能模塊的互連,支持突發數據傳輸模式,較老的總線格式,逐步由 AHB 總線所替代。

  • 先進外設總線(Advanced Peripheral Bus,APB)。APB 主要用於鏈接低帶寬外圍設備,其總線結構只有惟一的主模塊,即 APB 橋,它不須要仲裁器以及響應/確認信號,以最低功耗爲原則進行設計,具備老是兩週期傳輸、無等待週期和響應信號的特色。

    (2)PCI 總線。外圍構件互連總線(Peripheral Component Interconnect,PCI)規範前後經歷了 1.0 版本、2.0 版本和 2.1 版本等一系列規範。PCI 總線是地址、數據複用的高性能 32 位與 64 位總線,是微處理器與外圍設備互連的機構,它規定了互連協議、電氣、機械以及配置空間的標準。PCI  是不依賴於具體處理器的局部總線,從結構上看,PCI 是在微處理器和原來的系統總線之間加入的一級總線,由一個橋接電路負責管理,實現上下接口和協調數據傳送,管理器提供了信號緩衝,使多種外設可以在高時鐘頻率下保持高性能。PCI  總線支持主控技術,容許智能設備在須要時得到總線控制權,以加速數據傳輸。

    爲了將 PCI 總線規範應用到工業控制計算機中,1995 年,推出了 Compact PCI 規範,並相繼推出了 PCI-PCI Bridge 規範、Computer TelephonyTDM 規範和用戶定義 I/O 引腳分配規範等。CPCI 總線規範有機地結合了 PCI 總線電氣規範的高性能和歐洲卡結構的高可靠。目前,CPCI 總線已經在嵌入式系統、工業控制計算機等高端系統中獲得了普遍的應用,並逐步替代了 VME 和MultiBUS 總線。

    (3)Avalon 總線。Avalon 總線是 Altera 公司設計的用於可編程片上系統(System on Programmable Chip,SOPC)中,鏈接片上處理器和其餘 IP 模塊的一種簡單總線協議,規定了主部件和從部件之間進行鏈接的端口和通訊時序。

    做爲總結,表 12-1 對比了幾種嵌入式總線技術的主要特色。

    3.存儲器

    嵌入式系統的存儲器主要包括主存和外存,圖 12-2 所示爲嵌入式系統的存儲結構,嵌入式系統的存儲器主要分爲三種:高速緩存(Cache)、片內主存和片外主存以及外存。

    (1)高速緩存。高速緩存是存放當前使用最多的程序代碼和數據的,即主存中部份內容的副本,在嵌入式系統系統中,Cache 所有集成在嵌入式微處理器內部,能夠分爲:數據 Cache、指令Cache 和混合 Cache。

    (2)主存。主存是處理器可以直接訪問的存儲器,用來存放系統和用戶的程序和數據,系統上電後,主存中的代碼直接運行,主存的主要特色是速度快,通常採用 ROM、EPROM、 NOR flash、SRAM 和 DRAM 等存儲器件。

    (3)外存。外部存儲器是不與運算器直接聯繫的後備存儲器,用來存放不經常使用的或暫不使用的信息,外存通常以非易失性存儲器構成,數據可以持久保存,即便掉電,也不消失。Flash 存儲器是在 EPROM 和 EEPROM 的基礎上發展起來的非易失性存儲器,具備結構簡單、可靠性高、體積小、質量輕、功耗低、成本低等優勢,是最經常使用的一種外存類型。

    4.I/O 設備與接口

    因其應用領域的不一樣,嵌入式系統的輸入設備多種多樣,比較常見的有鍵盤、鼠標、觸摸屏、手柄、聲控開關等。一般,根據輸入設備實現機理的不一樣,嵌入式系統的設備能夠分爲:機械式、觸控式以及聲光式三類。嵌入式系統的輸出設備除了通用計算機經常使用的顯示器、打印機、繪圖儀等外,還包括 LED 指示燈、LCD 屏幕、揚聲器等媒體。嵌入式系統與外部設備或其餘的計算機系統進行通訊時,需經接口適配電路,進行工做速度、數據格式、電平等匹配與轉換,嵌入式系統應用的接口形式是多種多樣的。

    嵌入式系統中接口電路的設計須要首先考慮的是電平匹配問題,嵌入式系統微處理器所提供與接收信號的電平,必須與所鏈接的設備的電平相匹配,不然將致使電路損壞或邏輯斷定錯誤。其次,還要考慮驅動能力和干擾問題等因素。

    當前,在嵌入式系統中普遍應用的接口主要有:RS232-串行接口、並行接口、USB 接口、IEEE-1394 接口以及 RJ-45 接口等,此外,以藍牙爲表明的無線接口在嵌入式系統中的應用也日趨普遍。

    (1)RS-232 接口。RS-232 接口是美國電子工業協會推廣的一種串行通訊總線標準,是數據通訊設備和數據終端設備間傳輸數據的接口總線,RS-232-C 標準規定其最高速率爲 20kbps,在低碼元畸變的狀況下,最大傳輸距離是 15 米,經過使用加強器,其傳輸距離已經延長到 1000 米左右。

    (2)USB 接口。USB(Universal Serial Bus,通用串行總線)是 1995 年由康柏等幾大廠商共同制定的一種支持即插即用的外設接口標準,它支持 USB 外部設備到主機外部總線的鏈接。在USB 系統中,必須有一個 USB 主控制器,USB 設備經過四根電纜與 USB 主控制器直接或間接相連,USB 的規範由最初的 1.0  版本發展到了 1.1 版本,以致當前主流的高速 2.0 版本,最高速率可到 480Mbps。

    (3)1394 接口。IEEE1394 即火線(FireWire)最初是由 Apple 公司研製的,1995 年IEEE 協會以 FireWire 爲藍本制定了這個串行接口標準,其電纜接口爲 6 根電纜組成,包括一堆電源線和兩對雙絞信號線。IEEE1394 協議定義了三種傳輸速率:98.304Mbps、 196.608Mbps 和392.216Mbps,分別稱之爲 S100、S200 和 S400。爲了保證數據傳輸率,線纜的長度通常不超過4.5m。

   IEEE1394 標準經過全部鏈接設備創建起一種對等網絡,不須要主控節點來控制數據流,即跟 USB 技術相比,最大的區別是      IEEE1394 不須要主控制器,不一樣的外設之間能夠直接傳遞信息,此外,採用該技術,兩臺計算機能夠共享同一個外部設備。

    IEEE1394 同時支持同步和異步傳輸兩種模式。在異步傳輸模式下,信息的傳遞能夠被中斷,在同步模式下,數據將不受任何中斷和干擾下實現連續傳輸。採用異步傳輸模式時,IEEE1394 會根據不一樣的設備實際須要分配相應的帶寬。同時,IEEE1394 設備也支持熱插拔和即插即用。

 

2 軟件架構

    隨着嵌入式技術的發展,特別是在後 PC 時代,嵌入式軟件系統獲得了極大的豐富和發展,造成了一個完整的軟件體系,如圖 12-3 所示。

    這個體系自底向上由三部分組成:嵌入式操做系統、應用支撐軟件和應用軟件。

    (1)操做系統。嵌入式操做系統由操做系統內核、應用程序接口、設備驅動程序接口等幾部分組成。嵌入式操做通常採用微內核結構。操做系統只負責進程的調度、進程間的通訊、內存分配及異常與中斷管理最基本的任務,其餘大部分的功能則由支撐軟件完成。

    (2)應用支撐軟件。嵌入式系統中的應用支撐軟件由窗口系統、網絡系統、數據庫管理系統及 Java 虛擬機等幾部分組成。對於嵌入式系統來說,軟件的開發環境大部分在通用臺式計算機和工做站上運行,但從邏輯上講,它仍然被認爲是嵌入式系統支撐軟件的一部分。應用支撐軟件通常用於一些淺度嵌入的系統中,如智能手機、我的數字助理等。

    (3)應用軟件。嵌入式系統中的應用軟件是系統總體功能的集中體現。系統的能力老是經過應用軟件表現出來的,一個嵌入式系統能夠沒有支撐軟件,甚至能夠沒有操做系統,但不能夠沒有應用軟件,不然它就不可能成爲一個系統。從範圍上講,嵌入式系統的應用軟件涉及工業控制、家電、商業、通訊等諸多領域。從跟用戶的交互方式上講,有跟桌面系統相似的軟件,也有嵌入程度很深、使用戶感受不到其存在的應用軟件。從運行環境上講,有在操做系統和支撐軟件上運行的軟件,也有直接在硬件上運行的應用軟件。