- 物聯網技術概論
- 季順寧編著
- 10492字
- 2022-01-14 17:17:36
2.1 嵌入式系統
物聯網是物與物、人與物之間的信息傳遞與控制,專業上就是指智能終端的網絡化。在我國對應于物聯網提出的概念是“感知中國”。其中,“感”的技術包括物理設備的嵌入式技術,使物理設備有“感”的功能;無線傳感器網,實現信息采集和融合;現場總線(如CAN線),實現信息采集和傳輸。“知”的技術包括后臺信息處理、控制和服務以及熱門的云計算技術。嵌入式系統無所不在,有嵌入式系統的地方才會有物聯網的應用。所以,物聯網就是基于互聯網的嵌入式系統,也可以說,物聯網的產生是嵌入式系統高速發展的必然產物,更多的嵌入式智能終端產品有了聯網的需求,催生了物聯網這個概念的產生。
2.1.1 嵌入式系統的概念
(1)嵌入式系統的定義
嵌入式系統是以應用為中心,以計算機技術為基礎,軟件和硬件可裁剪,適應應用系統對功能、可靠性、成本、體積及功耗嚴格要求的專用計算機系統。嵌入式系統是嵌入到對象體系中的專用計算機系統?!扒度胄浴薄坝嬎銠C系統”與“專用性”是嵌入式系統的3個基本要素。對象系統則是指嵌入式系統所嵌入的宿主系統。按照上述嵌入式系統的定義,只要具備定義中三要素的計算機系統,都可以稱為嵌入式系統。
1)嵌入性。嵌入式系統是嵌入到對象體系中的,有對對象環境的要求。嵌入式系統是面向用戶、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力,才更具有優勢。因此可以這樣理解上述3個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的利用。
2)計算機系統。計算機系統實現對象的智能化功能。嵌入式系統是將先進的計算機技術、半導體技術和電子技術及各個行業的具體應用相結合后的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3)專用性。專用性是指嵌入式系統的軟硬件按對象要求“裁剪”。嵌入式系統必須根據應用需求對軟硬件進行“裁剪”,以滿足應用系統的功能、可靠性、成本、體積等要求。因此,如果能建立相對通用的軟硬件基礎,然后在其上開發出適應各種需要的系統,就是一個比較好的發展模式。目前的嵌入式系統的核心往往是一個只有幾KB到幾十KB的微內核,需要根據實際的使用進行功能擴展或者“裁剪”,但是微內核的存在使得這種擴展能夠非常順利地進行。
實際上,嵌入式系統本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統都可以稱為嵌入式系統,而且有時很難給它下一個準確的定義。目前當人們提到嵌入式系統時,某種程度上是指近些年比較成熟的具有操作系統的嵌入式系統。
嵌入式系統按形態可分為設備級(工控機)、板級(單板、模塊)、芯片級——微控制單元(MCU)和系統級芯片(SOC)。有些人把嵌入式處理器當作嵌入式系統,但由于嵌入式系統是一個嵌入式計算機系統,因此只有將嵌入式處理器構成一個計算機系統并作為嵌入式應用時,這樣的計算機系統才可稱作嵌入式系統。嵌入式系統與對象系統密切相關,其主要技術發展方向是滿足不同的應用指標,不斷擴展對象系統要求的外圍電路——如模_數轉換器(ADC)、數_模轉換器(DAC)、脈沖寬度調制(PWM)、日歷時鐘、電源監測、程序運行監測電路等,形成滿足對象系統要求的應用系統。因此,嵌入式系統作為一個專用計算機系統,要不斷向計算機應用系統發展,也可以把定義中的專用計算機系統延伸,即滿足對象系統要求的計算機應用系統。當前嵌入式系統的發展與物聯網緊密地結合在一起。
(2)物聯網對嵌入式系統的要求
物聯網對嵌入式系統的要求可歸納為以下3條。
1)嵌入式系統要協助滿足物聯網三要素,即信息采集、信息傳遞、信息處理。
2)嵌入式系統要滿足“智慧地球”提出的“3I”要求,即物聯化、互聯化、智能化(Instrumented、Interconnected、Intelligent)。
3)嵌入式系統要滿足信息融合物理系統GPS中的“3C”要求,即計算、通信和控制(Computation、Communication、Control)。
根據物聯網的要求決定嵌入式系統的發展趨勢:其一,嵌入式系統趨向于多功能、低功耗和微型化,如出現智能灰塵等傳感器節點、一體化智能傳感器;其二,嵌入式系統趨于網絡化,由于孤島型嵌入式系統的有限功能已無法滿足需求,面向物理對象的數據是連續的、動態的(有生命周期)和非結構化的制約數據采集,因此面向對象設計、軟硬件協同設計、嵌入式系統軟硬件打包成模塊、開放應用的設計興起了。
(3)嵌入式系統的特點
嵌入式系統廣泛應用的原因主要有兩個方面:一方面的原因是芯片技術的發展使得單個芯片具有更強的處理能力,而且使集成多種接口已經成為可能;另一方面的原因是應用的需要,對產品可靠性、成本、更新換代要求的提高,使得嵌入式系統逐漸從純硬件實現和使用通用計算機實現的應用中脫穎而出,成為近年來令人關注的焦點。從上面的分析可知,嵌入式系統有如下特征。
1)系統內核小。由于嵌入式系統一般應用于小型電子裝置,系統資源相對有限,因此內核較之傳統的操作系統要小得多。比如Enea公司的OSE分布式系統,內核只有5KB,而Windows的內核與其相比簡直沒有可比性。
2)專用性強。嵌入式系統的個性化很強,其中的軟件和硬件的結合非常緊密,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要與系統相結合,這種修改和通用軟件的“升級”完全是兩個不同的概念。
3)系統精簡。嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣既利于控制系統成本,也利于保證系統安全。
4)高實時性的系統軟件(OS)是嵌入式軟件的基本要求,而且軟件要求固態存儲,以提高速度;軟件代碼要求高質量和高可靠性。
5)嵌入式軟件開發要想走向標準化的道路,就必須使用多任務的操作系統。嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行;但是為了合理地調度多任務,利用系統資源、系統函數以及和專家庫函數接口,用戶必須自行選配實時操作系統(Real-Time Operating System,RTOS)開發平臺,這樣才能保證程序執行的實時性、可靠性,并減少開發時間,保障軟件質量。
6)嵌入式系統開發需要開發工具和環境。其本身不具備自主開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境一般是基于通用計算機上的軟硬件設備以及各種邏輯分析儀、混合信號示波器等。開發時往往有主機和目標機的概念,主機用于程序的開發,目標機作為最后的執行機,開發時需要交替結合進行。
2.1.2 嵌入式系統的組成
2.1.2 嵌入式系統的組成
嵌入式系統一般都由嵌入式計算機系統和執行裝置組成,如圖2-1所示。嵌入式計算機系統是整個嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電動機,當手機處于振動接收狀態時打開;也可以很復雜,如SONY智能機器狗,上面集成了多個微小型控制電動機和多種傳感器,從而可以執行各種復雜的動作和感受各種狀態信息。
圖2-1 嵌入式系統的組成
1.硬件層
硬件層中包含嵌入式微處理器,存儲器——同步動態隨機存儲器(SDRAM)、ROM、Flash等和通用設備接口和輸入/輸出接口,如A-D、D-A、I/O等。在一片嵌入式處理器基礎上添加電源電路、時鐘電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬件層的核心是嵌入式微處理器。嵌入式微處理器與通用CPU最大的不同在于,嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統在設計時趨于小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以采用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reduced Instruction Set Computer,RISC)和復雜指令系統(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)等。
2.中間層
硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟件與底層硬件分離開來,使系統的底層驅動程序與硬件無關,上層軟件開發人員無須關心底層硬件的具體情況,根據BSP層提供的接口即可進行開發。該層一般包含相關底層硬件的初始化、數據的輸入/輸出操作和硬件設備的配置功能。BSP具有以下兩個特點。
一是硬件相關性。因為嵌入式實時系統的硬件環境具有應用相關性,而作為上層軟件與硬件平臺之間的接口,BSP需要為操作系統提供操作和控制具體硬件的方法。
二是操作系統相關性。不同的操作系統具有各自的軟件層次結構,因此,不同的操作系統具有特定的硬件接口形式。
實際上,BSP是一個介于操作系統和底層硬件之間的軟件層次,它包含系統中大部分與硬件聯系緊密的軟件模塊。設計一個完整的BSP需要完成兩部分工作,即嵌入式系統的硬件初始化以及設計與硬件相關的設備驅動程序。
(1)嵌入式系統的硬件初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬件到軟件的次序依次為片級初始化、板級初始化和系統級初始化。
1)片級初始化。完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部總線模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬件的初始化過程。
2)板級初始化。完成嵌入式微處理器以外的其他硬件設備的初始化。另外,還須設置某些軟件的數據結構和參數,為隨后的系統級初始化和應用程序的運行建立硬件和軟件環境。這是一個同時包含軟件和硬件兩部分在內的初始化過程。
3)系統級初始化。該初始化過程以軟件初始化為主,主要進行操作系統的初始化。BSP將嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成余下的初始化操作,包含加載和初始化與硬件無關的設備驅動程序,建立系統內存區,加載并初始化其他系統的軟件模塊,如網絡系統、文件系統等。最后,操作系統創建應用程序環境,并將控制權交給應用程序的入口。
(2)設計與硬件相關的設備驅動程序
BSP的另一個主要功能是設計與硬件相關的設備驅動程序。與硬件相關的設備驅動程序的初始化通常是一個由高到低的過程。盡管BSP包含硬件相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將其與操作系統中通用的設備驅動程序關聯起來,并在隨后的應用中由通用的設備驅動程序調用,實現對硬件設備的操作。與硬件相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
3.系統軟件層
系統軟件層由實時多任務操作系統(RTOS)、文件系統、圖形用戶接口(Graphic User Interface,GUI)、網絡系統及通用組件模塊組成。RTOS是嵌入式應用軟件的基礎和開發平臺。
(1)國外著名的實時操作系統
國外實時操作系統已經從簡單走向成熟,有代表性的產品主要有VxWorks、QNX、Palm OS、Windows CE等,占據了機頂盒、PDA等絕大部分市場。其實,實時操作系統并不是一個新生的事物,從20世紀80年代起,國際上就有一些IT組織、公司開始進行商用嵌入式系統和專用操作系統的研發。
1)VxWorks操作系統。VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種實時操作系統。VxWorks擁有良好的持續發展能力、高性能的內核以及良好的用戶開發環境,在實時操作系統領域內占據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空及航天等高精尖技術及實時性要求極高的領域中,如衛星通信、軍事演習、導彈制導及飛機導航等。
在美國的F-16、FA-18戰斗機和B-2隱形轟炸機上,甚至連1997年4月在火星表面登陸的火星探測器上也使用了VxWorks。它是目前嵌入式系統領域中使用最廣泛、市場占有率最高的系統。它支持多種處理器,如x86、i960、Sun Sparc、Moto-rola MC68xxx、MIPS RX000、Power PC、ARM、StrongARM等。大多數的VxWorks應用程序編程接口(API)是專有的。
2)QNX操作系統。QNX是一個實時的、可擴充的操作系統;它部分遵循POSIX相關標準,如POSIX.1b實時擴展;它提供了一個很小的微內核以及一些可選的配合進程。其內核僅提供4種服務,即進程調度、進程間通信、底層網絡通信和中斷處理,其進程在獨立的地址空間中運行。所有其他操作系統服務都實現為協作的用戶進程,因此QNX內核非常小巧(QNX4.x大約為12KB),而且運行速度極快。這個靈活的結構可以使用戶根據實際的需求,將系統配置成微小的嵌入式操作系統或包括幾百個處理器的超級虛擬機操作系統。
POSIX表示可移植操作系統接口(Portable Operating System Interface,POSIX),美國電氣和電子工程師協會(IEEE)最初開發POSIX標準,是為了提高UNIX環境下應用程序的可移植性。
然而,POSIX并不局限于UNIX及許多其他的操作系統,例如DEC OpenVMS和Windows NT,都支持POSIX標準,尤其是IEEE Std.1003.1-1990(1995年修訂)或POSIX.1,POSIX.1提供了源代碼級別的C語言應用編程接口(API)給操作系統的服務程序,例如讀/寫文件。
POSIX.1已經被國際標準化組織(ISO)所接受,被命名為ISO/IEC 9945-1:1990標準。目前POSIX已經發展成為一個非常龐大的標準族,某些部分正處在開發過程中。POSIX與IEEE 1003和2003家族的標準是可互換的。
3)Palm OS。3Com公司的Palm OS在掌上計算機和PDA市場上占有很大的市場份額。它有開放的操作系統應用程序接口,開發商可以根據需要自行開發所需的應用程序。目前共有3500多個應用程序可以運行在Palm Pilot上。其中大部分應用程序均為其他廠商和個人所開發,使Palm Pilot的功能得以不斷增多。這些軟件包括計算器、各種游戲、電子寵物及地理信息等。在開發環境方面,可以在Windows 95/98/NT以及Macintosh下安裝Palm Pilot Desktop。Palm Pilot可以與流行的PC平臺上的應用程序(如Word、Excel等)進行數據交換。
4)Windows CE操作系統。Microsoft WindowsCE是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對從掌上計算機到專用的工業控制器的用戶電子設備進行定制。操作系統的基本內核至少需要200KB的ROM。
5)LynxOS。Lynx Real-Time Systems的LynxOS是一個分布式、嵌入式、可規模擴展的實時操作系統,它遵循POSIX.1a,POSIX.1b和POSIX.1c標準。LynxOS支持線程概念,提供256個全局用戶線程優先級;提供一些傳統的、非實時系統的服務特征,包括基于調用需求的虛擬內存,一個基于Motif的用戶圖形界面,與工業標準兼容的網絡系統以及應用開發工具。
Motif是開放軟件基金(OSF)于1989年推出的一個圖形用戶界面系統。由于它融合了多種圖形用戶界面產品中的優點,因此得到了OSF的所有成員及廣大第三方廠商的廣泛支持。目前Motif已作為軟件產品在OS/2、UNIX、SysV、OSF/1、VMS、MacintoshOS、Ultrix等48種操作系統平臺上實現,并可在PC、工作站、小型機和大型機等各種計算機系統上運行。為了講清楚Motif是什么概念,先講一下圖形用戶界面系統的層次結構(讀者可查閱詳細相關資料)。一般的圖形用戶界面系統由6個層次構成,即桌面管理系統、用戶模型、窗口模型、顯示模型、操作系統及硬件平臺。Motif位于用戶模型層。它建立在X Windows系統之上,也就是說它以X Windows系統作為顯示模型的窗口模型。
Motif由工具箱(Motif Toolkit)、用戶界面語言(UIL)、窗口管理程序(MWM)及風格指南文檔(Style Guide)4部分組成。Motif Toolkit是一個具體的X Toolkit產品,它包括Xt Intrinsics、Motif對象元類集合和操縱這個對象元類集合的簡便函數3部分。利用Motif開發的應用程序通??煞譃閮蓚€部分:一部分是有關應用程序界面的代碼;另一部分是關于應用程序具體功能的代碼。一般來說,應用程序中這兩個部分是不會相互干擾的。例如,菜單項位置的變動、標圖的更換都不會影響應用程序的功能?;谏鲜鍪聦?,Motif引入了用戶界面語言來解決用戶界面的描述問題。
與其他窗口管理程序一樣,Motif的窗口管理程序提供了一個對屏幕上的窗口進行管理的手段,同時它也強化了用戶界面視感的一致性。MWM支持Motif風格指南所描述的各種窗口操作及顯示窗口時的各種約定。Motif的風格指南以文檔的形式說明了在Motif環境下開發應用程序時應遵守的規范。
6)嵌入式Linux操作系統。隨著Linux操作系統的迅速發展,嵌入式Linux操作系統目前已經有許多的版本,包括強實時的嵌入式Linux(如新墨西哥工學院的RT-Linux和堪薩斯大學的KURT-Linux)和一般的嵌入式Linux版本(如uClinux和Pocket Linux等)。其中,RT-Linux通過把通常的Linux任務優先級設為最低,而使所有的實時任務的優先級都高于它,以達到既兼容通常的Linux任務又保證強實時性能的目的。
另一種常用的嵌入式Linux操作系統是uClinux,它是針對沒有內存管理單元(MMU)的處理器而設計的。它不能使用處理器的虛擬內存管理技術,它對內存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址。它專為嵌入式系統做了許多小型化的工作。由于嵌入式系統越來越追求數字化、網絡化和智能化,因此原來在某些設備或領域中占主導地位的軟件系統越來越難以為繼(因為要達到上述要求,整個系統必須是開放的、提供標準的API,并且能夠方便地與眾多第三方的軟硬件溝通)。Linux操作系統主要特點如下。
①Linux操作系統是開放源碼的,不存在黑箱技術,遍布全球的眾多Linux操作系統愛好者又是Linux操作系統開發的強大技術后盾。
②Linux操作系統的內核小,功能強大,運行穩定,系統健壯,效率高。
③Linux操作系統易于定制裁剪,在價格上極具競爭力。
④Linux操作系統不僅支持X86 CPU,而且可以支持其他數十種CPU芯片。
⑤有大量的且不斷增加的開發工具,這些工具為嵌入式系統的開發提供了良好的開發環境。
⑥Linux操作系統沿用了UNIX操作系統的發展方式,遵循國際標準,可以方便地獲得眾多第三方軟硬件廠商的支持。
⑦Linux操作系統內核的結構在網絡方面是非常完整的,它提供了對十兆/百兆/千兆以太網、無線網絡、令牌網、光纖網及衛星網等多種聯網方式的全面支持。
⑧在圖像處理、文件管理及多任務支持等諸多方面,Linux操作系統的表現也都非常出色,它不僅可以充當嵌入式系統的開發平臺,而且其本身也是嵌入式系統應用開發的好工具。
7)uC/OS。uC/OS是源碼公開的實時嵌入式操作系統。uC/OS-Ⅱ的主要特點如下。
①公開源代碼。系統透明,很容易就能把操作系統移植到各個不同的硬件平臺上。
②可移植性強。uC/OS-Ⅱ絕大部分源碼是用ANSI C寫的,可移植性(Portable)較強。而與微處理器硬件相關的部分是用匯編語言寫的,已經壓到最低限度,使得uC/OS-Ⅱ便于移植到其他微處理器上。
③可固化。uC/OS-Ⅱ是為嵌入式應用而設計的,這就意味著,只要開發者有只讀存儲器化(ROMable)手段(C編譯、聯接、下載和固化),uC/OS-Ⅱ就可以嵌入到開發者的產品中成為產品的一部分。
④可“裁剪”。通過條件編譯,可以只使用uC/OS-Ⅱ中應用程序需要的那些系統服務程序,以減少產品中的uC/OS-Ⅱ所需的存儲器空間(RAM和ROM)。
⑤占先式。uC/OS-Ⅱ完全是占先式(Preemptive)的實時內核,這意味著uC/OS-Ⅱ總是在運行就緒條件下優先級最高的任務。大多數商業內核也是占先式的,uC/OS-Ⅱ在性能上和它們類似。
⑥實時多任務。uC/OS-Ⅱ不支持時間片輪轉調度法(Round-roblin Scheduling)。該調度法適用于調度優先級平等的任務。
⑦可確定性。全部uC/OS-Ⅱ的函數調用與服務的執行時間具有可確定性。
uC/OS-II僅是一個實時內核,這就意味著它不像其他實時操作系統那樣,提供給用戶的只是一些應用程序編程函數接口,有很多工作往往需要用戶自己去完成。把uC/OS-Ⅱ移植到目標硬件平臺上也只是系統設計工作的開始,后面還需要針對實際的應用需求對uC/OS-Ⅱ進行功能擴展,包括底層的硬件驅動、文件系統、用戶圖形接口(GUI)等,從而建立一個實用的RTOS。
(2)國內著名的實時操作系統
國內的實時操作系統研究開發有兩種類型。一類是中國自主開發的實時操作系統,如Delta OS(道系統)、Hopen OS(女媧計劃)、EEOS、HBOS以及中科院北京軟件工程研制中心開發的CASSPDA等;另一類是基于國外操作系統二次開發完成的,這類操作系統大多是專用系統(在此不對這類系統進行介紹)。
1)DeltaOS。DeltaOS是電子科技大學嵌入式實時教研室和科銀公司(專門從事嵌入式開發)聯合研制開發的全中文的嵌入式操作系統,提供強實時和嵌入式多任務的內核,任務響應時間快速、確定,不隨任務負載大小改變,絕大部分的代碼由C語言編寫,具有很好的移植性。它適用于內存要求較大、可靠性要求較高的嵌入式系統,主要包括嵌入式實時內核DeltaCore、嵌入式TCP/IP組件DeltaNet、嵌入式文件系統DeltaFile以及嵌入式圖形接口DeltaGUI等。同時,它還提供了一整套的嵌入式開發套件LamdaTool,是國內嵌入式領域內不可多得的一整套嵌入式開發應用解決方案,已成功應用于通信、網絡、信息家電等多個領域。
2)Hopen OS。Hopen OS是凱思集團自主研制開發的實時操作系統,由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成。其核心Hopen Kernel的規模一般為10KB左右,占用空間小,并具有實時、多任務、多線程的系統特征。
3)EEOS。EEOS是中科院計算所組織開發的開放源碼的實時操作系統。該實時操作系統重點支持P-Java,要求一方面小型化,另一方面能重用Linux操作系統的驅動和其他模塊。中科院計算所將在2或3年內持續加大投資,以期將其擴展成能力強、功能完善且穩定和可靠的嵌入式操作系統平臺,包含E2實時操作系統、E2工具鏈及E2仿真開發環境的完整環境。
4)HBOS。HBOS是浙江大學自主研制開發的全中文實時操作系統。它具有實時、多任務等特征,能提供瀏覽器、網絡通信和圖形窗口等服務;可供進行一定的定制或二次開發;能為應用軟件開發提供API支持;可用于信息家電、智能設備和儀器儀表等領域的開發應用。在HBOS平臺下,已經成功地開發出機頂盒和數據采集等系統。
2.1.3 嵌入式系統的應用
嵌入式系統技術具有非常廣闊的應用前景,其應用領域可以包括以下幾個方面。
(1)工業控制
基于嵌入式芯片的工業自動化設備將獲得長足的發展,目前已經有大量的8位、16位、32位和64位嵌入式微控制器在應用中。網絡化是提高生產效率和產品質量、減少人力資源的主要途徑,如工業過程控制、數字機床、電力系統、電網安全、電網設備監測及石油化工系統等。就傳統的工業控制產品而言,低端型采用的往往是8位單片機,但隨著技術的發展,32位、64位的處理器逐漸成為工業控制設備的核心,在未來幾年內必將獲得長足的發展。
(2)交通管理
在車輛導航、流量控制、信息監測與汽車服務方面,嵌入式系統技術已經獲得了廣泛的應用,內嵌GPS模塊、GSM模塊的移動定位終端已經在各種運輸行業中獲得了成功的使用。目前GPS設備已經從尖端產品進入了普通百姓的家庭。
(3)智能家居
智能家居是嵌入式系統最大的應用領域,電冰箱、空調等家用電器的網絡化、智能化將引領人們的生活步入一個嶄新的空間。即使你不在家里,也可以通過電話線、網絡進行遠程控制。在這些設備中,嵌入式系統將大有用武之地。
(4)家庭智能管理系統
水、電、煤氣表的遠程自動抄表以及安全防火、防盜系統,其中嵌有的專用控制芯片將代替傳統的人工檢查,并實現更準確和更安全的性能。目前在服務領域(如遠程點菜器等)已經體現了嵌入式系統的優勢。
(5)POS網絡及電子商務
公共交通無接觸智能卡(Contactless Smart Card,CSC)發行系統、公共電話卡發行系統、自動售貨機及各種智能ATM終端將全面走入人們的生活,到時手持一卡就可以行遍天下。
(6)環境工程與自然
可實現水文資料實時監測、防洪體系和水土質量監測、堤壩安全、地震監測網、實時氣象信息網、水源和空氣污染監測。在很多環境惡劣、地況復雜的地區,嵌入式系統將實現無人監測。
(7)機器人
嵌入式芯片的發展將使機器人在微型化、高智能方面優勢更加明顯,同時會大幅度降低機器人的價格,使其在工業領域和服務領域獲得更廣泛的應用。
這些應用中,著重于在控制方面的應用。就遠程家用電器控制而言,除了開發出支持TCP/IP的嵌入式系統之外,家用電器產品控制協議也需要制訂和統一,這需要家用電器生產廠家來做。同樣的道理,所有基于網絡的遠程控制器件都需要與嵌入式系統之間實現接口,然后再由嵌入式系統來控制,并通過網絡實現控制。因此,開發和探討嵌入式系統有著十分重要的意義。