嵌入式系統(tǒng)設(shè)計(jì)技術(shù)介紹
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ).軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和具體應(yīng)用相結(jié)合的產(chǎn)物。
近年來(lái),在計(jì)算機(jī)、互聯(lián)網(wǎng)和通信技術(shù)高速發(fā)展的同時(shí),嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)取得迅速發(fā)展,嵌入式系統(tǒng)應(yīng)用范圍也急劇擴(kuò)大。數(shù)碼產(chǎn)品、智能手機(jī)及各種掌上型多媒體設(shè)備都是典型的嵌入式系統(tǒng)。除此之外,更多的嵌入式系統(tǒng)隱身在不為人知的角落,從小到電子手表、電子體溫計(jì)、翻譯機(jī)等,大到如冷氣機(jī)、電冰箱、電視機(jī),甚至馬路上紅綠燈的控制器、戰(zhàn)斗機(jī)中的飛控系統(tǒng)、自動(dòng)導(dǎo)航設(shè)備、汽車(chē)中燃油控制、汽車(chē)?yán)走_(dá)、ABS等的微計(jì)算機(jī)系統(tǒng)、醫(yī)院中的醫(yī)療器材、工廠中的自動(dòng)機(jī)械等,嵌入式系統(tǒng)幾乎無(wú)處不在。
一、嵌入式系統(tǒng)的特點(diǎn)
與通用計(jì)算機(jī)系統(tǒng)相比,嵌入式系統(tǒng)有其自身的特點(diǎn):
(1)嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這一點(diǎn)就決定r它必然是一個(gè)技術(shù)密集、資金密集,高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。
(2)嵌入式系統(tǒng)通常是面向用戶(hù)、面向產(chǎn)品、面向特定應(yīng)用的。
(3)嵌入式系統(tǒng)和具體應(yīng)用相結(jié)合,其升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行的。因此嵌入式系統(tǒng)產(chǎn)晶一旦進(jìn)入市場(chǎng),就具有較長(zhǎng)的生命周期。
(4)為r提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)中,而不是存儲(chǔ)于磁盤(pán)等載體中。
(5)嵌入式系統(tǒng)并不具備自身進(jìn)一步開(kāi)發(fā)的能力。在設(shè)計(jì)完成以后,用戶(hù)如果需要修改其中的程序功能,必須借助于一套開(kāi)發(fā)工具和環(huán)境。
二、嵌入式系統(tǒng)的發(fā)展趨勢(shì)
消費(fèi)家電的智能化,為嵌入式系統(tǒng)的發(fā)展展現(xiàn)出美好的市場(chǎng)前景,也對(duì)嵌入式系統(tǒng)提出新的發(fā)展要求;微電子技術(shù)和系統(tǒng)設(shè)計(jì)方法的進(jìn)步,使得嵌入式系統(tǒng)的發(fā)展呈現(xiàn)出以下趨勢(shì):
(1)隨著嵌入式系統(tǒng)功能的增加,嵌入式系統(tǒng)處理的信息和數(shù)據(jù)量越來(lái)越大,系統(tǒng)對(duì)處理的響應(yīng)時(shí)間也要求更嚴(yán)格,嵌入式處理器的主頻會(huì)越來(lái)越高,甚至采用多核的方式來(lái)應(yīng)付H益增長(zhǎng)的性能要求。
(2)嵌入式系統(tǒng)在工業(yè)領(lǐng)域和某些特殊場(chǎng)合的廣泛應(yīng)用,要求嵌入式系統(tǒng)具有遠(yuǎn)程控制軟件更新和故障診斷的能力。
(3)隨著嵌入式系統(tǒng)在手持設(shè)備上的大量應(yīng)用,手持設(shè)備的特點(diǎn)要求嵌入式系統(tǒng)功耗、體積更小,重量更輕。
(4)嵌入式系統(tǒng)將具有更加高速的通信接口,如USB2.0、千兆以太網(wǎng)等。
三、嵌入式系統(tǒng)設(shè)計(jì)流程
嵌入式系統(tǒng)開(kāi)發(fā)分為軟件開(kāi)發(fā)部分和硬件開(kāi)發(fā)部分。嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程一般都采用“宿主機(jī)/目標(biāo)板”開(kāi)發(fā)模式,即利用宿主機(jī)(PC機(jī))上豐富的軟硬件資源及良好的開(kāi)發(fā)環(huán)境和調(diào)試J:具來(lái)開(kāi)發(fā)目標(biāo)板上的軟件,然后通過(guò)交叉編譯環(huán)境生成E4標(biāo)代碼和l啊『執(zhí)行文件,通過(guò)串口/USB/以太網(wǎng)等方式下載到目標(biāo)板上,利用交叉淵試器在監(jiān)控程序運(yùn)行,實(shí)時(shí)分析,最后,將程序下載固化到目標(biāo)機(jī)上完成整個(gè)開(kāi)發(fā)過(guò)程。
當(dāng)前,嵌入式開(kāi)發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開(kāi)發(fā)流程的基礎(chǔ)上,嵌入式開(kāi)發(fā)有其自身的一些特點(diǎn),下圖所示為嵌入式系統(tǒng)開(kāi)發(fā)的一般流程,流程主要包括系統(tǒng)需求分析(要求有嚴(yán)格規(guī)范的技術(shù)要求)、體系結(jié)構(gòu)設(shè)計(jì)、軟硬件及機(jī)械系統(tǒng)設(shè)計(jì)、系統(tǒng)集成、系統(tǒng)測(cè)試、最終產(chǎn)品。具體情況如下:
(1)系統(tǒng)需求分析:確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說(shuō)明書(shū),作為正式設(shè)汁指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn),系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面功能性需求是系統(tǒng)的基本功能.如輸入輸出信號(hào)、操作力式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。
(2)體系結(jié)構(gòu)設(shè)汁:描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等,一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功與否的關(guān)鍵。
(3)硬件/軟件協(xié)同設(shè)計(jì):基于體系結(jié)構(gòu),劃系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開(kāi)發(fā)周期,設(shè)計(jì)往往足并行的。嵌入式系統(tǒng)設(shè)汁的工作大部分都集中在軟件設(shè)計(jì)上,采用面向?qū)ο蠹夹g(shù)、軟件組件技術(shù)、模塊化設(shè)汁是現(xiàn)代軟件工程經(jīng)常采用的方法。
(4)系統(tǒng)集成:把系統(tǒng)的軟件、硬件和執(zhí)行裝囂集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過(guò)程中的錯(cuò)誤。
(5)系統(tǒng)測(cè)試:對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測(cè)試,看其是否滿(mǎn)足規(guī)格說(shuō)明書(shū)中給定的功能要求。
四、嵌入式系統(tǒng)設(shè)計(jì)面臨的挑戰(zhàn)
要求更高的應(yīng)用需求推動(dòng)嵌入式設(shè)計(jì)從8/16位轉(zhuǎn)向功能更強(qiáng)大的32位MCU。這種升級(jí)給工程師帶來(lái)了嚴(yán)峻的挑戰(zhàn),提出了一系列前所未有的全新問(wèn)題
(l)轉(zhuǎn)變觀念,需要熟悉新的開(kāi)發(fā)模式,嵌入式系統(tǒng)應(yīng)JH不再是過(guò)去單一的單片機(jī)應(yīng)用模式,而是越來(lái)越多樣化,這可為用戶(hù)提供更多的不同層次的選擇方案。嵌入式系統(tǒng)實(shí)現(xiàn)的最高形式是片上系統(tǒng)SoC而SoC的核心技術(shù)是重用和組合lP核構(gòu)件。從單片機(jī)應(yīng)用設(shè)計(jì)到片上系統(tǒng)設(shè)計(jì)及其中間的一系列的變化,從底層大包大攬的設(shè)計(jì)到利用FPGA和IP模塊進(jìn)行功能組合PSoC/SOPC設(shè)計(jì),這是一個(gè)觀念的轉(zhuǎn)變。學(xué)習(xí)和熟悉新的開(kāi)發(fā)模式將會(huì)事半功倍地構(gòu)建功能強(qiáng)大和性能卓越的嵌入式系統(tǒng)。
(2)技術(shù)門(mén)檻提高,需要學(xué)習(xí)全新的PTOS技術(shù)?,F(xiàn)代高端嵌入式系統(tǒng)都是建立在RTOS基礎(chǔ)上的。這對(duì)于未受過(guò)計(jì)算機(jī)專(zhuān)業(yè)訓(xùn)練的工程技術(shù)人員來(lái)說(shuō),需要學(xué)習(xí)全新的PTOS技術(shù),深入了解PTOS的工作機(jī)制和系統(tǒng)的資源配置,掌握底層軟件、系統(tǒng)軟件和應(yīng)用軟件的設(shè)計(jì)和調(diào)試方法。
(3)選擇合適的開(kāi)發(fā)工具,熟悉新的開(kāi)發(fā)。發(fā)環(huán)境從8位升級(jí)到32位的一個(gè)最大障礙就是開(kāi)發(fā)工具的投入。32信開(kāi)發(fā)工具要比8信開(kāi)發(fā)工具復(fù)雜得多,使用的技術(shù)門(mén)檻要高得多,同時(shí)其投資也要高得多。進(jìn)入32位系統(tǒng)開(kāi)發(fā)的I程師不得不面對(duì)與8位系統(tǒng)很不相同的開(kāi)發(fā)環(huán)境。如何正確選擇處理器架構(gòu)、評(píng)估嵌入式操作系統(tǒng),以及使用陌生的開(kāi)發(fā)工具,都是一個(gè)新的挑戰(zhàn)。
(4)熟悉硬件/軟件協(xié)同設(shè)計(jì)和驗(yàn)證技術(shù)、設(shè)計(jì)管理技術(shù)。軟/硬件許行設(shè)計(jì)是嵌入式系統(tǒng)設(shè)計(jì)的一項(xiàng)關(guān)鍵任務(wù)。在設(shè)計(jì)過(guò)程中的主要問(wèn)題,是軟硬件設(shè)汁的同步與集成。這要求控制一致性與正確件,但隨著技術(shù)細(xì)節(jié)不斷增加,需要消耗大最的時(shí)間。目前,業(yè)界已經(jīng)開(kāi)發(fā)Polis、CosYma及Chinook等多種方法和工具來(lái)支持集成式軟硬件的協(xié)同設(shè)計(jì)。目標(biāo)是提供一種統(tǒng)一的軟硬件開(kāi)發(fā)方法,它支持設(shè)計(jì)空問(wèn)探索,并使系統(tǒng)功能可以跨越硬件和軟件平臺(tái)復(fù)用。
團(tuán)隊(duì)開(kāi)發(fā)的最大問(wèn)題就是設(shè)計(jì)管理問(wèn)題?,F(xiàn)在有越來(lái)越多的公司開(kāi)始重視技術(shù)管理,利用各種技術(shù)管理軟件(例如軟件版本管理軟件)對(duì)全過(guò)程進(jìn)行監(jiān)督管理。這對(duì)每一個(gè)參與開(kāi)發(fā)的人來(lái)說(shuō),似乎增加了不少麻煩,但是對(duì)整個(gè)公司的產(chǎn)品上市、升級(jí)、維護(hù)以及戰(zhàn)略利益都具有長(zhǎng)遠(yuǎn)效益。
(5)SoC設(shè)計(jì)所面臨的巨大的挑戰(zhàn)SoC已經(jīng)開(kāi)始成為新一代應(yīng)用電子技術(shù)的核心,這已成為電子技術(shù)的革命標(biāo)志,過(guò)去應(yīng)用工程師面對(duì)的是各種ASIC電路,而現(xiàn)在越來(lái)越多所面對(duì)的是巨大的IP模塊庫(kù),所有設(shè)計(jì)工作都是以IP模塊為基礎(chǔ)。SoC設(shè)計(jì)技術(shù)使嵌入式系統(tǒng)設(shè)計(jì)工程師變成了一個(gè)面向應(yīng)用的電子器件設(shè)計(jì)工程師,隨著SoC應(yīng)用的H益普及。在測(cè)試程序生成、工程開(kāi)發(fā)、硅片查錯(cuò)、量產(chǎn)等領(lǐng)域塒SoC測(cè)試技術(shù)提出了越來(lái)越高的要求。