以太坊BSP
Ⅰ 什麼嵌入式
這主要是從應用對象上加以定義,從中可以看出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。
國內普遍認同的嵌入式系統定義為:以應用為中心,以計
嵌入式Web技術
算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
可以這樣認為,嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控製程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字介面的設備,如手錶、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是是由單個程序實現整個控制邏輯。
編輯本段
嵌入式培訓
嵌入式圖標
[1]嵌入式培訓是滿足廣大嵌入式愛好者需求而開設的高級課程。一般培訓結構的就業班都是從職業規劃角度出發,系統性的對廣大愛好者進行培訓。
培養一批精英的嵌入式開發和嵌入式系統工程師需要更多的教學經驗,需要更多的實踐經驗。
嵌入式培訓一般分為如下幾個類別:
1、針對高校學生及轉行的就業培訓(長期培訓),一般要求被培訓人員具有編程基礎,時間為四或五個月左右,一般的機構是保證就業的;
2、針對在職工程師的充電培訓,一般時間較短,學習實踐一般在周末及節假日,學習者具備一定基礎;
編輯本段
嵌入式系統的組成
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種復雜的動作和感受各種狀態信息。
下面對嵌入式計算機系統的組成進行介紹。
1)硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reced Instruction Set Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器,其存儲結構如圖1-2所 示。
1>Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2>主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3>輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
(3)通用設備介面和I/O介面
嵌入式系統和外界交互需要一定形式的通用設備介面,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶元外也可以內置晶元中。外設的種類很多,可從一個簡單的串列通信設備到非常復雜的802.11無線設備。
目前嵌入式系統中常用的通用設備介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面(串列通信介面)、Ethernet(乙太網介面)、USB(通用串列匯流排介面)、音頻介面、VGA視頻輸出介面、I2C(現場匯流排)、SPI(串列外圍設備介面)和IrDA(紅外線介面)等。
2)中間層
硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程序與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、數據的輸入/輸出操作和硬體設備的配置功能。BSP具有以下兩個特點。
硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平台之間的介面,BSP需要為操作系統提供操作和控制具體硬體的方法。
操作系統相關性:不同的操作系統具有各自的軟體層次結構,因此,不同的操作系統具有特定的硬體介面形式。
實際上,BSP是一個介於操作系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯系緊密的軟體模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的設備驅動。
編輯本段
嵌入式系統
嵌入式系統(Embedded System)--「嵌入到特定設備中的計算機系統。
一、定義:
嵌入式系統是一種「完全嵌入到受控器件內部,為特定應用而設計的專用計算機系統」。
二、說明:
受控器件:
1.消費電子:mp3、手機、電梯、汽車...
2.智能家電:數字電視、微波爐、數碼相機、空調...
3.網路設備:交換機、路由器...
4.醫療儀器:...
5.航天設備:衛星、太空梭、月球探測儀...
6.... ...
計算機系統:包括硬體和軟體系統、且軟、硬體均可裁剪。
編輯本段
嵌入式系統硬體初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部匯流排模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬體的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬體設備的初始化。另外,還需設置某些軟體的數據結構和參數,為隨後的系統級初始化和應用程序的運行建立硬體和軟體環境。這是一個同時包含軟硬體兩部分在內的初始化過程。
系統初始化
該初始化過程以軟體初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成餘下的初始化操作,包含載入和初始化與硬體無關的設備驅動程序,建立系統內存區,載入並初始化其他系統軟體模塊,如網路系統、文件系統等。最後,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
(2)硬體相關的設備驅動程序
BSP的另一個主要功能是硬體相關的設備驅動。硬體相關的設備驅動程序的初始化通常是一個從高到低的過程。盡管BSP中包含硬體相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將他們與操作系統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬體設備的操作。與硬體相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
3)系統軟體層
系統軟體層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶介面(Graphic User Interface,GUI)、網路系統及通用組件模塊組成。RTOS是嵌入式應用軟體的基礎和開發平台。
(1)嵌入式操作系統
嵌入式操作系統(Embedded Operation System,EOS)是一種用途廣泛的系統軟體,過去它主要應用與工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具有了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件處理等外,還有以下
編輯本段
嵌入式操作系統的特點
1)可裁剪性。支持開放性和可伸縮性的體系結構。
2)強實時性。EOS實時性一般較強,可用於各種設備控制中。
3)統一的介面。提供設備統一的驅動介面。
4)操作方便、簡單、提供友好的圖形GUI和圖形界面,追求易學易用。
提供強大的網路功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面。
5)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預、這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶介面一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務。
6)固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。
7)更好的硬體適應性,也就是良好的移植性。
編輯本段
嵌入式系統的文件系統
通用操作系統的文件系統通常具有以下功能:
提供用戶對文件操作的命令。
提供用戶共享文件的機制。
管理文件的存儲介質。
提供文件的存取控制機制,保障文件及文件系統的安全性。
提供文件及文件系統的備份和恢復功能。
提供對文件的加密和解密功能。
嵌入式文件系統比較簡單,主要提供文件存儲、檢索和更新等功能,一般不提供保護和加密等安全機制。它以系統調用和命令方式提供文件的各種操作,主要有:
設置、修改對文件和目錄的存取許可權。
提供建立、修改、改變和刪除目錄等服務。
提供創建、打開、讀寫、關閉和撤銷文件等服務。
編輯本段
嵌入式文件系統的特點
1)兼容性。嵌入式文件系統通常支持幾種標準的文件系統,如FAT32、JFFS2、YAFFS等。
2)實時文件系統。除支持標準的文件系統外,為提高實時性,有些嵌入式文件系統還支持自定義的實時文件系統,這些文件系統一般採用連續的方式存儲文件。
3)可裁剪、可配置。根據嵌入式系統的要求選擇所需的文件系統,選擇所需的存儲介質,配置可同時打開的最大文件數等。
4)支持多種存儲設備。嵌入式系統的外存形式多樣了,嵌入式文件系統需方便的掛接不同存儲設備的驅動程序,具有靈活的設備管理能力。同時根據不同外部存儲器的特點,嵌入式文件系統還需要考慮其性能、壽命等因素,發揮不同外存的優勢,提高存儲設備的可靠性和使用壽命。
編輯本段
圖形用戶介面(GUI)
GUI的廣泛應用是當今計算機發展的重大成就之一,他極大地方便了非專業用戶的使用人們從此不再需要死記硬背大量的命令,取而代之的是可用用通過窗口、菜單、按鍵等方式來方便地進行操作。而嵌入式GUI具有下面幾個方面的基本要求:輕型、佔用資源少、高性能、高可靠性、便於移植、可配置等特點。
嵌入式系統中的圖形界面,一般採用下面的幾種方法實現:
針對特定的圖形設備輸出介面,自行開發相關的功能函數。
購買針對特定嵌入式系統的圖形中間軟體包。
採用源碼開放的嵌入式GUI系統。
使用獨立軟體開發商提供的嵌入式GUI產品。
4)應用軟體層
應用軟體層是由基於實時系統開發的應用程序組成,用來實現對被控對象的控制功能。功能層是要面對被控對象和用戶,為方便用戶操作,往往需要提供一個友好的人機界面。
對於一些復雜的系統,在系統設計的初期階段就要對系統的需求進行分析,確定系統的功能,然後將系統的功能映射到整個系統的硬體、軟體和執行裝置的設計過程中,稱為系統的功能實現。
編輯本段
嵌入式就業前景
嵌入式就業發展空間相對較大。嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,其職業發展空間較大。
編輯本段
嵌入式在中國高校的開展
中國北部小矽谷坐落於河北省邯鄲的高校區,這里有邯鄲學院,河北工程大學,邯鄲職業技術學院等高校,其中以邯鄲學院的電子最為著名,在高校區周圍,建立了許多高科技電子企業,邯鄲學院是中國第一個開嵌入式系統工程的高校,其多數畢業生已進入國際著名的大公司進行開發工作,也為邯鄲本地的高科技電子行業提供了源源的動力。
編輯本段
嵌入式人才的發展方向
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬體資源(如處理器、存儲器等)非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。像我們平常常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等都是典型的嵌入式系統。
嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。
一類是學電子工程、通信工程等偏硬體專業出身的人,他們主要是搞硬體設計,有時要開發一些與硬體關系最密切的最底層軟體,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅動硬體,往上支持操作系統),最初級的硬體驅動程序等。他們的優勢是對硬體原理非常清楚,不足是他們更擅長定義各種硬體介面,但對復雜軟體系統往往力不從心(例如嵌入式操作系統原理和復雜應用軟體等)。
另一類是學軟體、計算機專業出身的人,主要從事嵌入式操作系統和應用軟體的開發。如果我們學軟體的人對硬體原理和介面有較好的掌握,我們完全也可寫BSP和硬體驅動程序。嵌入式硬體設計完後,各種功能就全靠軟體來實現了,嵌入式設備的增值很大程度上取決於嵌入式軟體,這佔了嵌入式系統的最主要工作(目前有很多公司將硬體設計包給了專門的硬體公司,稍復雜的硬體都交給台灣或國外公司設計,國內的硬體設計力量很弱,很多嵌入式公司自己只負責開發軟體,因為公司都知道,嵌入式產品的差異很大程度在軟體上,在軟體方面是最有「花頭「可做的),所以我們搞軟體的人完全不用擔心我們在嵌入式市場上的用武之地,越是智能設備越是復雜系統,軟體越起關鍵作用,而且這是目前的趨勢。
Ⅱ 聽說現在嵌入式挺火!不知道什麼是嵌入式我想了解的詳細一點
定義
IEEE(國際電氣和電子工程師協會)對嵌入式系統的定義:「用於控制、監視或者輔助操作機器和設備的裝置」(原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。這主要是從應用對象上加以定義,從中可以看出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。
國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
可以這樣認為,嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控製程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字介面的設備,如手錶、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是是由單個程序實現整個控制邏輯。
[編輯本段]
嵌入式系統的組成
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,如圖1-1所示,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種復雜的動作和感受各種狀態信息。
下面對嵌入式計算機系統的組成進行介紹。
1)硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和 I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不用在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛提醒哦結構;指令系統可以選用精簡指令系統(Reced Instruction Set Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。CISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、 PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器,其存儲結構如圖1-2所
[嵌入式系統的存儲結構]
嵌入式系統的存儲結構
示。
1>Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2>主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3>輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
(3)通用設備介面和I/O介面
嵌入式系統和外界交互需要一定形式的通用設備介面,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶元外也可以內置晶元中。外設的種類很多,可從一個簡單的串列通信設備到非常復雜的802.11無線設備。
目前嵌入式系統中常用的通用設備介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面(串列通信介面)、Ethernet(乙太網介面)、USB(通用串列匯流排介面)、音頻介面、VGA視頻輸出介面、 I2C(現場匯流排)、SPI(串列外圍設備介面)和IrDA(紅外線介面)等。
2)中間層
硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程序與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據 BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、數據的輸入/輸出操作和硬體設備的配置功能。BSP具有以下兩個特點。
硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平台之間的介面,BSP需要為操作系統提供操作和控制具體硬體的方法。
操作系統相關性:不同的操作系統具有各自的軟體層次結構,因此,不同的操作系統具有特定的硬體介面形式。
實際上,BSP是一個介於操作系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯系緊密的軟體模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的設備驅動。
(1)嵌入式系統硬體初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部匯流排模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬體的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬體設備的初始化。另外,還需設置某些軟體的數據結構和參數,為隨後的系統級初始化和應用程序的運行建立硬體和軟體環境。這是一個同時包含軟硬體兩部分在內的初始化過程。
系統初始化
該初始化過程以軟體初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成餘下的初始化操作,包含載入和初始化與硬體無關的設備驅動程序,建立系統內存區,載入並初始化其他系統軟體模塊,如網路系統、文件系統等。最後,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
(2)硬體相關的設備驅動程序
BSP的另一個主要功能是硬體相關的設備驅動。硬體相關的設備驅動程序的初始化通常是一個從高到低的過程。盡管BSP中包含硬體相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將他們與操作系統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬體設備的操作。與硬體相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
3)系統軟體層
系統軟體層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶介面(Graphic User Interface,GUI)、網路系統及通用組件模塊組成。RTOS是嵌入式應用軟體的基礎和開發平台。
(1)嵌入式操作系統
嵌入式操作系統(Embedded Operation System,EOS)是一種用途廣泛的系統軟體,過去它主要應用與工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著 Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具有了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件處理等外,還有以下
[編輯本段]
嵌入式操作系統的特點
1)可裁剪性。支持開放性和可伸縮性的體系結構。
2)強實時性。EOS實時性一般較強,可用於各種設備控制中。
3)統一的介面。提供設備統一的驅動介面。
4)操作方便、簡單、提供友好的圖形GUI和圖形界面,追求易學易用。
提供強大的網路功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面。
5)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預、這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶介面一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務。
6)固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。
7)更好的硬體適應性,也就是良好的移植性。
[編輯本段]
嵌入式系統的文件系統
通用操作系統的文件系統通常具有以下功能:
提供用戶對文件操作的命令。
提供用戶共享文件的機制。
管理文件的存儲介質。
提供文件的存取控制機制,保障文件及文件系統的安全性。
提供文件及文件系統的備份和恢復功能。
提供對文件的加密和解密功能。
嵌入式文件系統比較簡單,主要提供文件存儲、檢索和更新等功能,一般不提供保護和加密等安全機制。它以系統調用和命令方式提供文件的各種操作,主要有:
設置、修改對文件和目錄的存取許可權。
提供建立、修改、改變和刪除目錄等服務。
提供創建、打開、讀寫、關閉和撤銷文件等服務。
[編輯本段]
嵌入式文件系統的特點
1)兼容性。嵌入式文件系統通常支持幾種標準的文件系統,如FAT32、JFFS2、YAFFS等。
2)實時文件系統。除支持標準的文件系統外,為提高實時性,有些嵌入式文件系統還支持自定義的實時文件系統,這些文件系統一般採用連續的方式存儲文件。
3)可裁剪、可配置。根據嵌入式系統的要求選擇所需的文件系統,選擇所需的存儲介質,配置可同時打開的最大文件數等。
4)支持多種存儲設備。嵌入式系統的外存形式多樣了,嵌入式文件系統需方便的掛接不同存儲設備的驅動程序,具有靈活的設備管理能力。同時根據不同外部存儲器的特點,嵌入式文件系統還需要考慮其性能、壽命等因素,發揮不同外存的優勢,提高存儲設備的可靠性和使用壽命。
[編輯本段]
圖形用戶介面(GUI)
GUI的廣泛應用是當今計算機發展的重大成就之一,他極大地方便了非專業用戶的使用人們從此不再需要死記硬背大量的命令,取而代之的是可用用通過窗口、菜單、按鍵等方式來方便地進行操作。而嵌入式GUI具有下面幾個方面的基本要求:輕型、佔用資源少、高性能、高可靠性、便於移植、可配置等特點。
嵌入式系統中的圖形界面,一般採用下面的幾種方法實現:
針對特定的圖形設備輸出介面,自行開發相關的功能函數。
購買針對特定嵌入式系統的圖形中間軟體包。
採用源碼開放的嵌入式GUI系統。
使用獨立軟體開發商提供的嵌入式GUI產品。
4)應用軟體層
應用軟體層是由基於實時系統開發的應用程序組成,用來實現對被控對象的控制功能。功能層是要面對被控對象和用戶,為方面用戶操作,往往需要提供一個友好的人機界面。
對於一些復雜的系統,在系統設計的初期階段就要對系統的需求進行分析,確定系統的功能,然後將系統的功能映射到整個系統的硬體、軟體和執行裝置的設計過程中,稱為系統的功能實現。
嵌入式編程
嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。
嵌入式系統一般指非PC系統,它包括硬體和軟體兩部分。硬體包括處理器/微處理器、存儲器及外設器件和I/O埠、圖形控制器等。軟體部分包括操作系統軟體(OS)(要求實時和多任務操作)和應用程序編程。有時設計人員把這兩種軟體組合在一起。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與硬體的交互作用。
現在所說的嵌入式開發,通常都是指有嵌入式操作系統的那種,產品功能復雜了,單片機開發無法實現,需要用到嵌入式操作系統,也能體現出嵌入式操作系統的優勢。嵌入式產品在航空、醫療、家電、消費電子、汽車電子、移動等眾多領域都可以看到,應用領域極為廣泛,所以現在嵌入式開發相當熱門,並且具備非常好的發展前景!!
嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
1)對實時多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。
2)具有功能很強的存儲區保護功能。這是由於嵌入式系統的軟體結構已模塊化,而為了避免在軟體模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟體診斷。
3)可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。
4)嵌入式微處理器必須功耗很低,尤其是用於攜帶型的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
嵌入式計算機系統同通用型計算機系統相比具有以下特點:
1.嵌入式系統通常是面向特定應用的嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統設計趨於小型化,移動能力大大增強,跟網路的耦合也越來越緊密。
2.嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3.嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘,力爭在同樣的矽片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
4.嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
5.為了提高執行速度和系統可靠性,嵌入式系統中的軟體一般都固化在存儲器晶元或單片機本身中,而不是存貯於磁碟等載體中。
6.嵌入式系統本身不具備自舉開發能力,即使設計完成以後用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發!
Ⅲ 計算機科學與技術(嵌入式系統)的嵌入式是什麼意思
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,如圖1-1所示,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種復雜的動作和感受各種狀態信息。
下面對嵌入式計算機系統的組成進行介紹。
1)硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不用在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reced Instruction Set Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器,其存儲結構如圖1-2所示。
1>Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2>主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3>輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
(3)通用設備介面和I/O介面
嵌入式系統和外界交互需要一定形式的通用設備介面,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶元外也可以內置晶元中。外設的種類很多,可從一個簡單的串列通信設備到非常復雜的802.11無線設備。
目前嵌入式系統中常用的通用設備介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面(串列通信介面)、Ethernet(乙太網介面)、USB(通用串列匯流排介面)、音頻介面、VGA視頻輸出介面、I2C(現場匯流排)、SPI(串列外圍設備介面)和IrDA(紅外線介面)等。
2)中間層
硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程序與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、數據的輸入/輸出操作和硬體設備的配置功能。BSP具有以下兩個特點。
硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平台之間的介面,BSP需要為操作系統提供操作和控制具體硬體的方法。
操作系統相關性:不同的操作系統具有各自的軟體層次結構,因此,不同的操作系統具有特定的硬體介面形式。
實際上,BSP是一個介於操作系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯系緊密的軟體模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的設備驅動。
(1)嵌入式系統硬體初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部匯流排模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬體的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬體設備的初始化。另外,還需設置某些軟體的數據結構和參數,為隨後的系統級初始化和應用程序的運行建立硬體和軟體環境。這是一個同時包含軟硬體兩部分在內的初始化過程。
系統初始化
該初始化過程以軟體初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成餘下的初始化操作,包含載入和初始化與硬體無關的設備驅動程序,建立系統內存區,載入並初始化其他系統軟體模塊,如網路系統、文件系統等。最後,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
(2)硬體相關的設備驅動程序
BSP的另一個主要功能是硬體相關的設備驅動。硬體相關的設備驅動程序的初始化通常是一個從高到低的過程。盡管BSP中包含硬體相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將他們與操作系統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬體設備的操作。與硬體相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
3)系統軟體層
系統軟體層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶介面(Graphic User Interface,GUI)、網路系統及通用組件模塊組成。RTOS是嵌入式應用軟體的基礎和開發平台。
(1)嵌入式操作系統
嵌入式操作系統(Embedded Operation System,EOS)是一種用途廣泛的系統軟體,過去它主要應用與工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具有了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件處理等外
Ⅳ 怎麼設置網口為ethercat
EtherCAT是什麼
EtherCAT==Ethernet for Control Automation Technology==用於控制自動化技術的乙太網
EtherCAT是一個開放架構,以乙太網為基礎的現場匯流排系統。常被稱為實時乙太網,開放的實時乙太網。
EtherCAT是確定性的工業乙太網,最早是由德國的Beckhoff公司所研發。
EtherCAT主要用於實現自動化的超高速通訊
EtherCAT簡評
Beckhoff 基於乙太網現場匯流排系統的 EtherCAT(Ethernet for Control Automation Technology)技術具有性能優異、 拓撲結構靈活和系統配置簡單等特點。
EtherCAT 突破了傳統現場匯流排系統的限制,為現場匯流排技術領域樹立了新的性能標准:30 µs 內可以更新1000 個 I/O,利用乙太網和網際網路技術實現垂直優化集成,網路容量幾乎無限。
使用 EtherCAT 後,可以用簡單的線型拓撲結構替代昂貴的星型乙太網拓撲結構,無需昂貴的基礎組件。EtherCAT 還可以使用傳統的交換機連接方式,以集成其它的乙太網設備。
其它的實時乙太網方案需要專用的主站硬體或掃描卡,而EtherCAT 只需要價格低廉的標准乙太網卡便可實現。
EtherCAT 擁有傑出的通訊性能,接線非常簡單,並對其它協議開放。傳統的現場匯流排系統已達到了極限,而EtherCAT則突破建立了新的技術標准——30 µs內可以更新1000個I/O數據,可選擇雙絞線或光纖,並利用乙太網和網際網路技術實現垂直優化集成。使用 EtherCAT,可以用簡單的線型拓撲結構替代昂貴的星型乙太網拓撲結構,無需昂貴的基礎組件。EtherCAT還可以使用傳統的交換機連接方式,以集 成其它的乙太網設備。其它的實時乙太網方案需要與控制器進行特殊連接,而EtherCAT只需要價格低廉的標准乙太網卡(NIC) 便可實現。
EtherCAT擁有多種機制,支持主站到從站、從站到從站以及主站到主站之間的通訊。
它實現了安全功能,採用技術可行且經濟實用的 方法,使乙太網技術可以向下延伸至I/O級。EtherCAT功能優越,可以完全兼容乙太網,可將網際網路技術嵌入到簡單設備中,並最大化地利用了乙太網所 提供的巨大帶寬,是一種實時性能優越且成本低廉的網路技術。
EtherCAT出現背景+協議原理+設備行規
詳見:
【整理】EtherCAT出現背景+協議原理+設備行規
EtherCAT特點
特點簡述:
技術亮點
– 乙太網直達端子模塊 — 具有完全連續性
– 乙太網過程介面可從1 位擴展到64 kB
– 首款真正的、用於現場層的乙太網解決方案
– 精確計時,適合時間同步
性能
– 12 μs 內處理256 個數字量I/O
– 30 μs 內處理1000 個數字量I/O
– 50 μs 內處理200 個模擬量I/O(16 位),采樣率為20 kHz
– 每100 μs 處理100 個伺服軸
– 350 μs 內處理12,000 個數字量I/O
拓撲結構
– 匯流排型、樹型或星型拓撲結構
– 一個系統內最多可容納65,535 台設備
– 系統規模:近乎無限(> 500 km)
– 有無交換機均可運行
– 經濟高效的電纜敷設:工業乙太網電纜(CAT 5)
– 雙絞線電纜物理層:
– Ethernet 100 BASE-TX,兩個設備之間最大距離為100 m
– 或者:兩個從站之間光纜的最大距離為20 km
– 支持匯流排網段的熱插拔
地址空間
– 整個網路范圍內的過程映像:4 Gbyte
– 設備過程映像:1 位至64 kbyte
– 地址分配:可自由配置
– 設備地址選擇:通過軟體自動進行
成本優勢
– 無需再進行網路調整:降低工程成本
– 帶軟體主站的硬實時功能:無需插卡
– 無需主動基礎架構組件(交換機等)
– EtherCAT 所使用的乙太網電纜和連接器低於傳統的現場總 線所使用的電纜和連接器
– EtherCAT 直達I/O 端子模塊:無需復雜的匯流排耦合器
– 高度集成了EtherCAT 從站控制器,因此介面成本較低
協議
– 直接內置於乙太網幀內的優化協議
– 完全由硬體實現
– 用於路由和介面:UDP 數據報文
– 在傳遞時處理
– 用於精確同步的分布式時鍾
– 時間戳數據類型,用於納秒范圍內的解析度
– 用於高解析度測量的過采樣數據類型
診斷
– 斷點檢測
– 連續的「線路質量」測量能夠精確定位傳輸故障
– Topology View
介面
– 用於標准乙太網設備的交換機端子模塊
– 用於現場匯流排設備的現場匯流排端子模塊
– 分布式串列介面
– 通訊網關
– 連接至其它EtherCAT 系統的網關
開放性
– 與乙太網完全兼容
– 可以通過交換機和路由器運行
– 可以與其它協議混合運行
– 互聯網技術(Web 伺服器、FTP 等)
– 可與現有的匯流排端子模塊系列兼容
– 協議完全公開
– EtherCAT 符合IEC、ISO 和SEMI 標准
EtherCAT 技術協會
– 擁有眾多會員公司的國際化聯盟組織
– 成員包括用戶和製造廠商
– 為技術開發提供支持
– 保障互操作性
– 設備行規的集成和制定
現在詳細解釋其特點:
EtherCAT協議處理完全在硬體中進行
協議ASIC 可靈活配置。過程介面可從1 位擴展到64 kbyte。
詳見:
所以使得乙太網可以直達端子模塊:
符合IEEE 802.3 標準的乙太網協議無需附加任何匯流排即可訪問各個設備。耦合設備中的物理層由100BASE-TX 或–FX 轉換為E-bus,以滿足電子端子排等模塊化設備的需求。端子排內的E-bus 信號類型(LVDS)並不是專用的,它還可用於 10 Gbit 乙太網。在端子排末端,物理匯流排特性被轉換回100BASE-TX 標准。
主板集成的乙太網MAC 足以作為主站設備中的硬體使用。DMA(直接存儲器存取)用於將數據傳輸到主內存,解除了 CPU 存取網路數據的負擔。Beckhoff 的多埠插卡中運用了相同的原理,它在 一個PCI 插槽中最多捆綁了4 個乙太網 通道。
EtherCAT的性能
EtherCAT 使網路性能達到了一個新境界。
1000 個I/O 的更新時間只需30 µs,其中還包括I/O 周期時間。單個乙太網幀最多可進行1486 位元組的過程數據交換,幾乎相當於12000 個數字輸入和輸出,而傳送這些數據耗時僅為300 µs。
與100 個伺服軸的通訊每100 µs 執行一次。可在這一周期時間內更新帶有命令值和控制數據的所有軸的實際位置及狀態,分布式時鍾技術使軸的同步偏差小於1 微秒。
超高性能的EtherCAT 技術可以實現傳統的現場匯流排系統無法迄及的控制理念。
這樣,通過匯流排也可以形成超高速控制迴路。以前需要本地專用硬體支持的功能現在可在軟體中加以映射。巨大的帶寬資源使得狀態數據能夠與任何數據並行傳輸。EtherCAT 使通訊技術和現代工業PC 所具有的超強計算能力相適應,匯流排系統不再是控制理念的瓶頸,分布式I/O 可能比大多數本地I/O 介面運行速度更快。
這種網路性能優勢在具有相對中等運算能力的小型控制器中較為明顯。EtherCAT周期時間如此之短,使得它可以在兩個控制周期之間完成。因此,控制器總是能夠獲取最新的輸入數據;輸出以最小的延遲定址。無需增強本身的運算能力,控制器的響應行為就能夠得到顯著改善。
藉助於從站硬體集成和網路控制器主站的直接內存存取,整個協議的處理過程都在硬體中得以實現,因此, 完全獨立於協議堆棧的實時運行系統、CPU 性能或軟體實現方式。
1000個I/O的更新時間只需30 µs,其中還包括I/O周期時間。
單個乙太網幀最多可進行1486位元組的過程數據交換,幾乎相當於12000個數字輸入和輸出,而傳送這些數 據耗時僅為300 µs。
100個伺服軸的通訊也非常快速:可在每100µs中更新帶有命令值和控制數據的所有軸的實際位置及狀態,分布時鍾技術使軸的同步偏差小於1微秒。而即使是在保證這種性能的情況下,帶寬仍足以實現非同步通訊,如TCP/IP、下載參數或上載診斷數據。
超高性能的EtherCAT技術可以實現傳統的現場匯流排系統無法迄及的控制理念。EtherCAT使通訊技術和現代工業PC所具有的超強計算能力相適應,匯流排系統不再是控制理念的瓶頸,分布式I/O可能比大多數本地I/O介面運行速度更快。EtherCAT技術原理具有可塑性,並不束縛於100 M bps的通訊速率,甚至有可能擴展為1000 M bps的乙太網。
簡言之:
EtherCAT的周期時間短,是因從站的微處理器不需處理乙太網的封包。所有程序資料都是由從站控制器的硬體來處理。此特性再配合EtherCAT的機能原理,使得EtherCAT可以成為高性能的分散式I/O系統:包含一千個分散式數位輸入/輸出的程序資料交換只需30us,相當於在100Mbit/s的乙太網傳輸125個位元組的資料。讀寫一百個伺服軸的系統可以以10 kHz的速率更新,一般的更新速率約為1–30 kHz,但也可以使用較低的更新速率,以避免太頻繁的直接內存存取影響主站個人電腦的運作。
EtherCAT的拓撲
匯流排形、樹形或星型:EtherCAT支持幾乎任何類型的拓撲結構。
因此,由於現場匯流排而得名的匯流排結構或線型結構也 可用於乙太網,並且不受限於級聯交換機或集線器的數量。
最有效的系統連線方法是對線型、分支或樹叉結構進行拓撲組合。因為所需介面在I/O 模塊等很多設備中都已存在,所以無需附加交換機。
當然,仍然可以使用傳統的、基於乙太網 的星型拓撲結構。
還可以選擇不同的電纜以提升連線的靈活性:靈活、經濟的標准超五類乙太網電纜可採用100BASE-TX 模式傳送信號, 兩台設備之間的最大電纜長度為100 m。
還可通過交換機或介質轉換器實現不同 乙太網連線(如不同的光纖和銅電纜) 的完整組合。
信號變數可以根據每個電纜間距單獨選 擇。由於連接的設備數量可高達65535, 因此,網路的容量幾乎沒有限制。
簡言之:
EtherCAT使用全雙工的乙太網實體層,從站可能有二個或二個以上的埠。若設備沒偵測到其下游有其他設備,從站的控制器會自動關閉對應的埠並回傳乙太網幀。由於上述的特性,EtherCAT幾乎支援所有的網路拓撲,包括匯流排式、樹狀或是星狀,現場匯流排常用的匯流排式拓撲也可以用在乙太網中。
EtherCAT的拓撲可以用網路線、分枝或是短線(stub)作任意的組合。有三個或三個以上乙太網介面的設備就可以當作分接器,不一定一定要用網路交換器。 由於使用100BASE-TX的乙太網物理層,二個設備之間的距離可以到100米,一個EtherCAT區段的網路最多可以有65535個設備。若EtherCAT網路是使用環狀拓撲(主站設備需要有二個通訊埠),則此網路還有纜線冗餘的機能。
EtherCAT的速度
EtherCAT 技術原理具有可塑性,並不束縛於100 Mbaud的通訊速率,甚至有可能擴展為Gbit 的乙太網。
EtherCAT 取代PCI
隨著PC 組件逐漸向小型化方向發展,工業PC的體積也日趨取決於插槽的數目。 而高速乙太網的帶寬和EtherCAT 通訊硬體的過程數據長度則為該領域的發展提 供了新的可能性:工業PC 中的傳統介面現在可以轉變為集成的EtherCAT介面端子模塊。
除了可以對分布式I/O 進行編址,還可以對驅動和控制單元以及現場匯流排主站、快速串列介面、網關和其它通訊介面等復合系統進行編址。即使是其它無協議限制的乙太網設備變體,也可以通過分布式交換機埠設備進行連接。由於一個乙太網介面足以滿足整個外圍設備的通訊。
因此,這不僅極大地精簡了工業PC 主機的體積和外觀,而且也降低了工業PC 主機的成本。
EtherCAT的分布式時鍾
精確同步對於同時動作的分布過程而言尤為重要,例如,幾個伺服軸在同時執行協調運動時便是如此。 最有效的同步方法是精確排列分布時鍾。
與完全同步通訊中通訊出現故障會立刻影響同步品質的情況相反,分布排列的時鍾對於通訊系統中可能存在的相關故障延遲具有極好的容錯性。採用EtherCAT 後,數據交換就完全基於純硬體機制。由於通訊採用了邏輯(藉助於全雙工快速乙太網的物理層)環網結構, 主站時鍾可以簡單、精確地確定各個從站時鍾傳播的延遲偏移,反之亦然。分布式時鍾基於該值進行調整,這意味著可以在網路范圍內使用非常精確的、信號抖動小於1 微秒的、確定性的同步誤差時間基。
而跨接工廠等外部同步則可以基於IEEE 1588 標准。詳情請參閱:【整理】工業自動化規范之時間同步:IEEE 1588
此外,高解析度的分布式時鍾不僅可以用於同步,還可以提供數據採集的本地時間精確信息。當采樣時間非常短暫時,即使是出現一個很小的位置測量瞬時同步偏差,也會導致速度計算出現較大的階躍變化,例如,運動控制器通過順序檢測的位置計算速度便是如此。而在EtherCAT中,引入時間戳數據類型作為一個邏輯擴展,乙太網所提供的巨大帶寬使得高解析度的系統時間得以與測量值進行鏈接。這樣,速度的精確計算就不再受到通訊系統的同步誤差值影響,其精度要高於 基於自由同步誤差的通訊測量技術。
由於採用了新的擴展數據類型,因此,可以給被測量值分配非常精確的時間戳。
同步性與一致性:相距電纜長度為有120米的兩個分布系統,帶有300個節點的示波器比較:
為了系統的同步,EtherCAT協定中有提供分散式時鍾機制,即使通訊循環周期有抖動,時鍾的抖動遠小於1µs,大約接近IEEE 1588精密時間協議的標准。因此EtherCAT的主站設備不需針對時鍾使用特殊的硬體,可以用軟體實現在任何標準的的乙太網MAC,即使沒有特殊的通訊協處理器也沒有關系。
標准建立分散式時鍾的程序是由主站送出一特定位址的廣播訊息給所有從站來啟動。若使用環狀拓撲,所有從站會在收到訊息時閂鎖內 部時鍾,當訊息回來時會再閂鎖內部時鍾一次。主站會讀所有從站閂鎖的值,計算各個從站的延遲。為了消除抖動的影響及求得平均值,主站會盡可能的多次進行上 述的程序。所有的從站延遲會依各從站在從站環狀拓撲的位置來計算,並記錄在一個偏移寄存器中。最後主站送出一個讀寫系統時鍾的廣播訊息,會使第一個從站的 時鍾為參考時鍾,其他從站的內部時鍾會調整到和第一個從站相同。
為了在初始化後保持時鍾的同步,主站或從站需定期的再送出廣播訊號,以計算各個從站內部時鍾的速度差異,若有需要時,從站需要可以調整自身時鍾的速度,或是有其他調整時鍾的機制。
系統時鍾是一個64位元的計時器,計數內容是從2000年1月1日0點0分開始所經過的時間,單位是奈秒(ns)。
【感悟】
EtherCAT中提到的分布時鍾,同步時鍾,就相當於:
兩個人(或多個人)拿著手錶在一起,先:對點
確保各自的時間,是一致的。
這樣,在後續的某個約定的時間,一起做某事,才能確保是同步去做的。
否則就會有時間的誤差,就會影響辦事。
EtherCAT支持熱連接
許多應用都需要在運行過程中改變I/O組態。例如,需求不斷變化的加工中心、 裝備感測器的刀具系統或智能化的傳輸 系統、靈活的工件執行機構或可單獨關 閉印刷單元的印刷機等。EtherCAT 系統的 協議結構中已經考慮到了這些需求:熱 連接功能可以將網路的各個部分連在一起或斷開,或「飛速」進行重新組態, 針對不斷變化的組態提供靈活的響應能 力。
EtherCAT的高可靠性
選擇冗餘電纜可以滿足快速增長的系統可靠性需求,以保證設備更換時不會導致網路癱瘓。EtherCAT也支持熱備份的主站冗餘。您可以很經濟地增加冗餘特性,僅需在主站設備端增加使用一個標準的乙太網埠(無需專用網卡或介面),並將單一的電纜從匯流排型拓撲結構轉變為環型拓撲結構即可。
當設備或電纜發生故障時,也僅需一個周期即可 完成切換。因此,即使是針對運動控制要求的應用,電纜出現故障時也不會有任何問題。EtherCAT也支持熱備份的主站冗餘。由於在環路中斷時 EtherCAT從站控制器晶元將立刻自動返回數據幀,一個設備的失敗不會導致整個網路的癱瘓。例如,拖鏈設備可以配置為分支拓撲以防線纜斷開。
EtherCAT的安全性:Safety over EtherCAT
EtherCAT有一個加強的協定版本,稱為Safety over EtherCAT,可以在同一個網路上進行安全相關的通訊和一般的控制通訊。此安全通訊是以EtherCAT的應用層為基礎,不會影響底層的通訊協定。Safety over EtherCAT有通過IEC 61508的認證,符合安全完整性等級(SIL)3的要求。
為了實現EtherCAT 安全數據通訊,我們開放了Safety over EtherCAT 協議,EtherCAT安全通信協議已經在ETG組織內部公開。該協議已經由德國技術監督局(TÜV)鑒定為符合IEC61508 定義的SIL3 等級要求。 設備上實施EtherCAT安全協議必須滿足安全目標的需求。相應的產品相關要求也必須考慮進來。
EtherCAT被用作傳輸安全和非安全數據的單一通道。傳輸介質被認為是「黑色通道」而不被包括在安全協議中。
EtherCAT過程數據中的安全數據報文包括安全過程數據和所要求的數據備份。這個「容器」在設備的應用層被安全地解析。通信仍然是單一通道的。這符合IEC61784-3附件中的模型A。因此,該安全協議也可通過其它通訊系統、背板或WLAN 傳輸。傳輸周期可根據要求縮短,不會影響殘留誤差率。Safety over EtherCAT 主站和從站之間的安全數據循環交換被稱作為由看門狗定時 器監控的連接。一個主站能建立並監控多個不同從站的連接。
上圖中的應用示例受益於這種技術。
安全元件在自動化系統中所需要的任意地方都可以使用。系統中可以使用不同規模的本地輸入和輸出元件。可以根據需求使用安全或非安全匯流排端子擴展額外的輸入和輸出。安全邏輯也嵌入到網路當中。這樣不用安全擴展的標准 PLC可以繼續處理控制任務。安全輸入和輸出功能需要的本地安全邏輯由智能化的安全匯流排端子實現。這節約了昂貴的安全PLC所帶來的成本,並可以根據當前任務隨意裁剪邏輯功能。只有安全EtherCAT主站和所分配的安全從站通過非安全的標准PLC路由。
本協議在安全數據長度,通信介質或波特率方面沒有限制。
EtherCAT被用作「黑色通道」,即,通信系統在安全處理中沒有任何作用。
協議被鑒定符合IEC61508定義的SIL3等級
提供EtherCAT安全功能的產品已經於2005年就上市了。
EtherCAT的診斷
現場匯流排系統的實際應用經驗表明,有效性和試運行時間關鍵取決於診斷能力。只有快速而准確地檢測出故障,並明確標明其所在位置,才能快速排除故障。因此,在EtherCAT的研發過程中,特別注重強化診斷特徵。
網路的診斷能力對於提高網路可靠性和縮短調試時間 — 從而降低總成本 — 來說至關重要。只有快速而准確地檢測出故障,並明確標明其所在位置,才能快速排除故 障。因此,在EtherCAT 的研發過程中,特別注重強化診斷功能。
試運行期間,驅動或I/O 端子等節點的實際配置需要與指定的配置進行匹配性檢查,拓撲結構也需要與配置相匹配。
由於整合的拓撲識別過程已延伸至各個端子,因此,這種檢查不僅可以在系統啟動期間進行,也可以在網路自動讀取時進行 (配置上載)。
數據傳輸過程中出現的位故障可以通過評估每台設備上的CRC 校驗進行檢測——32 位CRC多項式的最小漢明距為4。除斷點檢測和定位之外,EtherCAT 系統的協議、物理層和拓撲結構還可以對各個傳輸段分別進行品質監視,與錯誤計數器關聯的自動評估還可以對關鍵的網路段進行精確定位。此外,對於電磁干擾、連接器 破損或電纜損壞等一些漸變或突變的錯誤源而言,即便它們尚未過度應變到網路自 恢復能力的范圍,也可對其進行檢測與定位。
EtherCAT的開放性
EtherCAT 技術不僅完全兼容乙太網,而且 在「設計」之初就具備良好的開放性特 征:該協議可以在相同的物理層網路中包容其它基於乙太網的服務和協議,通常 可將其性能損失降到最小。對乙太網的 設備類型沒有限制,設備可通過交換機 埠在EtherCAT 段內進行連接。不會影響 周期時間。帶現場匯流排介面的設備可通過 EtherCAT 現場匯流排主站端子模塊集成到網路中。UDP 協議變體允許設備整合 於任何 插槽介面中。EtherCAT 是一個完全開放的 協議,是公認的正式IEC 規范(IEC 61158,type 12)。
Ⅳ am335x能使用19.2M的時鍾做uboot SPL USBETH引導嗎
TI官指南請看發布間關系面已經新軟體包匹配經我努力我指南間復雜部給做Buildroot面基本實現傻瓜式編譯通菜單選擇簡單實現QT使用SGX硬體加速OpenGL
由於本文涉及SGX硬體驅程序模塊編譯所看比較部內容沒難度轉載請註明自EE站[email protected]
簡單梳理:
前提U-boot、內核、文件系統都搞利索板能啟
TIWiki提供U-boot內核說明址點
TISDK提供製作文件系統太龐載Buildroot自做
載我做Buildroot補丁TI圖形SDK
補丁址
補丁我給Buildroot 2013.05做與相配TI圖形SDKGraphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
應該2013.05段間Buildroot版本都使用補丁
用SDK編譯內核模塊
參照TI指南址點直接看本文
用Buildroot製作根文件系統
具體程:
假設Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin載/home/c
~ # cd /home/c
/home/c # chmod 744 ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
/home/c # ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
交互安裝界面安裝候選擇8.x項(處理器AM335x)並且SDK安裝例/home/c/core335x_bsp/graphics_sdk_4_10_00_01
安裝完打/home/c/core335x_bsp/graphics_sdk_4_10_00_01/Rules.make
假設ARM交叉編譯器安裝/usr/local/arm/4.7.3-2前綴arm-none-linux-gnueabi-內核/home/c/core335x_bsp/linux-3.2.21Rules.make內容修改
# Set home area (ex /home/user/)
HOME=/home/c/core335x_bsp
# Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
CSTOOL_DIR=/usr/local/arm/4.7.3-2
# Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
CSTOOL_PREFIX=arm-none-linux-gnueabi-
# Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
KERNEL_INSTALL_DIR=/home/c/core335x_bsp/linux-3.2.21
# Set Target filesystem path ( ex /home/user/targetfs )
TARGETFS_INSTALL_DIR=$(DESTDIR)
# Set installation folder
GRAPHICS_INSTALL_DIR=$(HOME)/graphics_sdk_4_10_00_01
編譯
/home/c # cd core335x_bsp/graphics_sdk_4_10_00_01
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x
假設根文件系統/home/c/nfsroot請確保/home/c/nfsroot/etc/home/c/nfsroot/etc/init.d兩目錄否則安裝候錯接安裝
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x install
SDK庫編譯接內核模塊安裝文件系統假設內核/home/c/core335x_bsp/linux-3.2.21已經配置並且編譯
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # cd /home/c/core335x_bsp/linux-3.2.21
/home/c/core335x_bsp/linux-3.2.21 # make ARCH=arm moles_install INSTALL_MOD_PATH=/home/c/nfsroot
需要內核驅模塊增加依賴表位置/home/c/nfsroot/lib/moles/3.2.21/kernel/drivers/moles.dep面增加兩行:
extra/omaplfb.ko:
extra/pvrsrvkm.ko:
接用Buildroot製作文件系統假設Buildroot壓縮包buildroot-2013.05.tar.bz2載/home/c/core335x_bsp我做Buildroot補丁buildroot-am335x.patch載/home/c/core335x_bsp
/home/c/core335x_bsp/linux-3.2.21 # cd /home/c/core335x_bsp
/home/c/core335x_bsp # tar xf buildroot-2013.05.tar.bz2
/home/c/core335x_bsp # cp buildroot-am335x.patch buildroot-2013.05
/home/c/core335x_bsp # cd buildroot-2013.05
/home/c/core335x_bsp/buildroot-2013.05 # patch -p1 < buildroot-am335x.patch
/home/c/core335x_bsp/buildroot-2013.05 # make menuconfig
進行配置QTPackage Selection for the target > Graphic libraries and applications (graphic/text) > QtAM335xOpenGL支持設置選項QtGraphics drivers必須先選Linux Framebuffer現AM335x SGX OpenGL Dirver選並輸入圖形SDK路徑例/home/c/core335x_bsp/graphics_sdk_4_10_00_01其選項按需選擇即接編譯
/home/c/core335x_bsp/buildroot-2013.05 # make
編譯程自載所需各種軟體包沒選QtApprove free license間提示選擇授權類型編譯完映像釋放根文件系統
/home/c/core335x_bsp/buildroot-2013.05 # tar xf output/image/rootfs.tar -C /home/c/nfsroot
打/home/c/nfsroot/etc/init.d/powervr.ini面改
[default]
WindowSystem=libpvrQWSWSEGL.so
/home/c/nfsroot文件系統掛載目標板啟輸入用戶名root登陸運行
# /etc/init.d/335x-demo
# mv /etc/init.d/rc.pvr /etc/init.d/S99powervr
至文件系統支持QT使用SGX硬體加速OpenGL
配置QT候選擇Compile and install demos and examples (with code)找/home/c/core335x_bsp/buildroot-2013.05/output/build/qt-4.8.4/examples/opengl/hellogl_es2/hellogl_es2文件拷貝根文件系統運行
# hellogl_es2 -qws -display powervr
檢驗否工作
需要說明讓QT支持OpenGLAM335x圖形處理器廠家(TIImagination Technologies)提供插件程序讓QT態鏈接庫禁止滑鼠游標顯示現象雖看滑鼠用目前沒解決貌似圖形處理器直接操作Frame Buffer滑鼠估計程序寫性能降吧要用滑鼠需要自寫顯示滑鼠游標程序
Ⅵ 嵌入式系統的系統組成
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
1、嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reced Instruction Set Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
2、存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器。
1>Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2>主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3>輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
3、通用設備介面和I/O介面
嵌入式系統和外界交互需要一定形式的通用設備介面,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶元外也可以內置晶元中。外設的種類很多,可從一個簡單的串列通信設備到非常復雜的802.11無線設備。
目前嵌入式系統中常用的通用設備介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面(串列通信介面)、Ethernet(乙太網介面)、USB(通用串列匯流排介面)、音頻介面、VGA視頻輸出介面、I2C(現場匯流排)、SPI(串列外圍設備介面)和IrDA(紅外線介面)等。 硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程序與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、數據的輸入/輸出操作和硬體設備的配置功能。BSP具有以下兩個特點。
硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平台之間的介面,BSP需要為操作系統提供操作和控制具體硬體的方法。
操作系統相關性:不同的操作系統具有各自的軟體層次結構,因此,不同的操作系統具有特定的硬體介面形式。
實際上,BSP是一個介於操作系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯系緊密的軟體模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的設備驅動。
1、嵌入式系統硬體初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部匯流排模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬體的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬體設備的初始化。另外,還需設置某些軟體的數據結構和參數,為隨後的系統級初始化和應用程序的運行建立硬體和軟體環境。這是一個同時包含軟硬體兩部分在內的初始化過程。
系統初始化
該初始化過程以軟體初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成餘下的初始化操作,包含載入和初始化與硬體無關的設備驅動程序,建立系統內存區,載入並初始化其他系統軟體模塊,如網路系統、文件系統等。最後,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
2、硬體相關的設備驅動程序
BSP的另一個主要功能是硬體相關的設備驅動。硬體相關的設備驅動程序的初始化通常是一個從高到低的過程。盡管BSP中包含硬體相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將他們與操作系統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬體設備的操作。與硬體相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。 系統軟體層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶介面(Graphic User Interface,GUI)、網路系統及通用組件模塊組成。RTOS是嵌入式應用軟體的基礎和開發平台。
嵌入式操作系統
嵌入式操作系統(Embedded Operation System,EOS)是一種用途廣泛的系統軟體,過去它主要應用與工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件功能等外,還有以下特點:
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。EOS實時性一般較強,可用於各種設備控制當中。
(3)統一的介面。提供各種設備驅動介面.
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用.
(5)提供強大的網路功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面.
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶介面一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統.
(8)更好的硬體適應性,也就是良好的移植性.