兩種新型嵌入式系統(tǒng)開發(fā)模式
一 嵌入式系統(tǒng)定義與應(yīng)用現(xiàn)狀
對(duì)嵌入式系統(tǒng)的一種定義是"嵌入到對(duì)象體系中的專用計(jì)算機(jī)系統(tǒng)"。"嵌入性"、"專用性"與"計(jì)算機(jī)系統(tǒng)"是嵌入式系統(tǒng)的3個(gè)基本要素。嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(jí)(工控機(jī))、板級(jí)(單板、模塊)、芯片級(jí)(MCU、SoC)。從定義中不難看出,當(dāng)前較多使用的單片機(jī)設(shè)計(jì)與工控機(jī)設(shè)計(jì)也是一種典型的嵌入式系統(tǒng)應(yīng)用。但是這種早期嵌入式系統(tǒng)在性能與價(jià)格上均存在一些缺陷。
1. 硬件采用單片機(jī)設(shè)計(jì),軟件采用匯編語言編寫
采用這種設(shè)計(jì)方式,硬件成本低,設(shè)備體積小。但由于程序采用匯編語言編寫,軟件靈活性、可擴(kuò)充性、可移植性較差。同時(shí),作為處理器核心的單片機(jī)芯片,無法提供高速率運(yùn)算。隨著工業(yè)控制要求的不斷提高,采用這一設(shè)計(jì)方式,無論在硬件或軟件上都無法滿足要求。
2. 硬件采用工控機(jī),軟件采用VC++編寫
采用工控機(jī)作為硬件設(shè)備,既能提供處理速度,又適于惡劣
二 新型嵌入式系統(tǒng)介紹與比較
隨著嵌入式系統(tǒng)的發(fā)展,出現(xiàn)了很多新模式、新方法。以下在硬件與操作系統(tǒng)兩方面介紹主流嵌入式開發(fā)技術(shù)。
1. 硬件
目前較多使用的嵌入式系統(tǒng)硬件有ARM芯片與PC/104主板。
(1)ARM芯片
ARM處理器是一種16/32位的高性能、低成本、低功耗的嵌入式RISC微處理器。目前很流行的當(dāng)屬ARM7和ARM9兩個(gè)系列。隨著人們對(duì)系統(tǒng)功能提出了更高要求,ARM7在高端應(yīng)用中已顯得力不從心,性能更強(qiáng)勁的ARM9處理器逐漸占據(jù)了高端產(chǎn)品市場(chǎng)。ARM9系列微處理器具有以下特點(diǎn):5級(jí)整數(shù)流水線,指令執(zhí)行效率更高;支持32位ARM指令集和16位THUMB指令集;支持32位AMBA總線接口;全性能的MMU,支持Windows CE、Linux等主流的嵌入式操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的數(shù)據(jù)和指令處理指令。
(2)PC/104主板
PC/104是工業(yè)嵌入式板卡較多采用的一種規(guī)格。采用PC/104規(guī)范的主板,再配以微軟操作系統(tǒng),用戶就可容易地實(shí)現(xiàn)編程和擴(kuò)充標(biāo)準(zhǔn)的外圍設(shè)備。這些標(biāo)準(zhǔn)的外圍設(shè)備包括視頻接口、存儲(chǔ)設(shè)備、鍵盤、網(wǎng)絡(luò)接口、串口、并口、數(shù)據(jù)采集模塊及其他一些特殊設(shè)備。另外,結(jié)構(gòu)上的加固型設(shè)計(jì)使得PC/104系統(tǒng)可應(yīng)用到強(qiáng)振動(dòng)及強(qiáng)撞擊等惡劣應(yīng)用環(huán)境。
(3)比較
ARM芯片與PC/104主板相比較,具有功耗低、體積小、價(jià)格低的優(yōu)勢(shì)。但ARM嵌入式系統(tǒng)開發(fā)中涉及到ARM仿真器與ARM編譯器的使用,編譯后的最終程序需要導(dǎo)入芯片中。對(duì)于沒有相關(guān)開發(fā)經(jīng)驗(yàn)的工程師,熟悉ARM芯片開發(fā)需要一定時(shí)間,設(shè)計(jì)周期也自然會(huì)延長很多。此外,ARM芯片規(guī)格較為固定,其各種配置不能靈活改動(dòng)。
PC/104主板能很好地與Windows系統(tǒng)兼容,其開發(fā)過程與普通PC機(jī)的開發(fā)幾乎沒有差別,可最大程度地降低開發(fā)難度、縮短開發(fā)周期。其模塊化的配置方式使其成為低成本、高可靠性、能迅速配置成產(chǎn)品的結(jié)構(gòu)化模塊。與ARM芯片相比,功耗高、體積大、價(jià)格高是其缺點(diǎn)。
2. 操作系統(tǒng)
目前,嵌入式系統(tǒng)常用的操作系統(tǒng)有VxWorks、Linux、Windows。
(1)VxWorks
VxWorks因出現(xiàn)較早、實(shí)時(shí)性強(qiáng)、內(nèi)核很小、可靠性較高等,所以在北美應(yīng)用很廣泛。特別是在通信設(shè)備等實(shí)時(shí)性要求較高的系統(tǒng)中,幾乎非VxWorks莫屬。VxWorks的很多概念和技術(shù)都和Linux很類似,主要是用C語言開發(fā)。但VxWorks因價(jià)格很高,所以一般應(yīng)用中很少采用這種操作系統(tǒng)。
(2)Linux
Linux是一種免費(fèi)、開源的操作系統(tǒng),因此其支持軟件多,可用資源豐富。目前應(yīng)用在嵌入式領(lǐng)域的Linux系統(tǒng)主要有兩類:一類是專為嵌入式設(shè)計(jì)的已被裁減過的Linux系統(tǒng),最常用的是uClinux(不帶MMU功能),目前占較大應(yīng)用份額,可應(yīng)用在ARM7上;另一類是應(yīng)用在ARM9上,將Linux的內(nèi)核移植在其上,可使用更多的Linux功能。缺點(diǎn)是一般開發(fā)人員不太熟悉Linux,開發(fā)難度較大。
(3)Windows
WinCE推出只有幾年時(shí)間,但目前已占據(jù)了很大市場(chǎng)份額。由于WinCE開發(fā)都是大家熟悉的VC++環(huán)境,所以對(duì)于一般的開發(fā)人員都不會(huì)有多大難度,這也是WinCE容易被人們接受的原因。開發(fā)環(huán)境方便快速,微軟的強(qiáng)大技術(shù)支持,使得WinCE開發(fā)難度遠(yuǎn)低于嵌入式Linux。此外,WinCE與WindowXP及Win2000的同族性,保證了原來在PC機(jī)上開發(fā)的程序可容易移植到嵌入式系統(tǒng)中。
三 新型嵌入式系統(tǒng)開發(fā)的兩種模式
綜合各種技術(shù)的特點(diǎn)及嵌入式系統(tǒng)的技術(shù)發(fā)展現(xiàn)狀,給出兩種設(shè)計(jì)方案:ARM芯片+uClinux操作系統(tǒng)、PC/104主板+WinCE操作系統(tǒng)。
1. 采用ARM芯片+uClinux操作系統(tǒng)設(shè)計(jì)
這種開發(fā)模式在當(dāng)前非常盛行。ARM芯片功耗低、體積小、極高性價(jià)比。uClinux操作系統(tǒng)是一種開放性、免費(fèi)操作系統(tǒng)。ARM芯片+uClinux操作系統(tǒng)是將性能與價(jià)格極優(yōu)配置的一種開發(fā)模式。
但這種開發(fā)模式也有其缺點(diǎn)。首先,對(duì)于沒有相關(guān)開發(fā)經(jīng)驗(yàn)的技術(shù)人員,熟悉ARM芯片與uClinux操作系統(tǒng)需要時(shí)間花費(fèi),研發(fā)周期與研發(fā)費(fèi)用值得考慮。第二,如果原來已采用工控機(jī)方式開發(fā)VC++的應(yīng)用程序,將它移植到uClinux操作系統(tǒng)工作量大。因此,這種
2. 采用PC-104主板+WinCE操作系統(tǒng)設(shè)計(jì)
這是極便捷的開發(fā)模式。在硬件設(shè)計(jì)時(shí),與DIY家用電腦一樣,將通信管理機(jī)的幾個(gè)模塊組裝在一起即可。這幾個(gè)模塊分別為:PC/104主板、CF存儲(chǔ)卡、電源、機(jī)箱。
PC/104主板可采用各大廠商提供的工控主板。目前主流的廠商有研華、研祥、凌華等。不同主板的差別主要有幾點(diǎn):CPU速度(較高速度為PentiumIV,主流配置為PentiumIII,也可根據(jù)需要選擇更低配置)、SDRAM(32M/64M)、接口種類與數(shù)量(串口、網(wǎng)口、USB口等)、尺寸、功耗等,當(dāng)然相應(yīng)的其價(jià)格也有一定差別。
除此以外,還需配置一塊CF存儲(chǔ)卡,一般為64M/128M/256M,根據(jù)需要存儲(chǔ)的數(shù)據(jù)容量選擇CF卡容量。
電源選擇對(duì)于整個(gè)設(shè)備的穩(wěn)定性至關(guān)重要。選擇電源時(shí),需要確定幾個(gè)參數(shù):功率(電源功率在滿足所有配件功耗的基礎(chǔ)上留15~20%裕量)、輸入/輸出電壓規(guī)格(輸入一般為AC220V,輸出根據(jù)主板的要求為DC5V、DC12V或其他)、過壓保護(hù)、過流保護(hù)、適用溫度、尺寸等。
機(jī)箱一般采用標(biāo)準(zhǔn)19英寸機(jī)架式設(shè)計(jì),一般為2U高度,也可根據(jù)內(nèi)部配件的尺寸設(shè)計(jì)為4U高度。在面板上安裝相應(yīng)的接口插頭、插座、開關(guān)按鈕等就完成了整個(gè)設(shè)備硬件設(shè)計(jì)。
軟件設(shè)計(jì)更簡單。由于采用WinCE操作系統(tǒng),軟件的開發(fā)與一般PC機(jī)上的開發(fā)完全相同。如果原系統(tǒng)采用工控機(jī)設(shè)計(jì)已有成熟可用的軟件程序,只需將該程序安裝在WinCE操作系統(tǒng)下即可。這種模式對(duì)于舊系統(tǒng)的升級(jí)更新非常適用,避免了重復(fù)勞動(dòng),也節(jié)約了研發(fā)成本縮短了開發(fā)周期。而且,WinCE操作系統(tǒng)的價(jià)格非常低。與Windows2000/WindowsXP操作系統(tǒng)的購買成本比較,幾乎可忽略不計(jì)。
從研發(fā)角度,PC/104主板+WinCE操作系統(tǒng)模式無疑是極佳的選擇。從生產(chǎn)角度,PC/104主板在價(jià)格上不及ARM芯片有競(jìng)爭(zhēng)力,但是與工控機(jī)比較優(yōu)勢(shì)非常明顯,這種模式非常適于舊系統(tǒng)的升級(jí)換代。
四 結(jié)束語
采用ARM芯片+uClinux操作系統(tǒng)模式,或者PC/104主板+WinCE操作系統(tǒng)模式各有其優(yōu)缺點(diǎn)。可根據(jù)已有舊系統(tǒng)的情況、開發(fā)人員情況、開發(fā)周期等多方面因素進(jìn)行選擇。
評(píng)論