Linux嵌入式系統(tǒng)的設(shè)計(jì)方法與設(shè)計(jì)層次
一、嵌入式系統(tǒng)設(shè)計(jì)方法變化的背景
本文引用地址:http://m.butianyuan.cn/article/201609/303416.htm嵌入式系統(tǒng)設(shè)計(jì)方法的演化總的來(lái)說(shuō)是因?yàn)閼?yīng)用需求的牽引和IT技術(shù)的推動(dòng)。
隨著微電子技術(shù)的不斷創(chuàng)新和發(fā)展,大規(guī)模集成電路的集成度和工藝水平不斷提高。硅材料與人類智慧的結(jié)合,生產(chǎn)出大批量的低成本、高可靠性和高精度的微電子結(jié)構(gòu)模塊,推動(dòng)了一個(gè)全新的技術(shù)領(lǐng)域和產(chǎn)業(yè)的發(fā)展。在此基礎(chǔ)上發(fā)展起來(lái)的器件可編程思想和微處理(器)技術(shù)可以用軟件來(lái)改變和實(shí)現(xiàn)硬件的功能。微處理器和各種可編程大規(guī)模集成專用電路、半定制器件的大量應(yīng)用,開(kāi)創(chuàng)了一個(gè)嶄新的應(yīng)用世界,以至廣泛影響著并在逐步改變著人類的生產(chǎn)、生活和學(xué)習(xí)等社會(huì)活動(dòng)。
計(jì)算機(jī)硬件平臺(tái)性能的大幅度提高,使很多復(fù)雜算法和方便使用的界面得以實(shí)現(xiàn),大大提高了工作效率,給復(fù)雜嵌入式系統(tǒng)輔助設(shè)計(jì)提供了物理基礎(chǔ)。
高性能的EDA綜合開(kāi)發(fā)工具(平臺(tái))得到長(zhǎng)足發(fā)展,而且其自動(dòng)化和智能化程度不斷提高,為復(fù)雜的嵌入式系統(tǒng)設(shè)計(jì)提供了不同用途和不同級(jí)別集編輯、布局、布線、編譯、綜合、模擬、測(cè)試、驗(yàn)證和器件編程等一體化的易于學(xué)習(xí)和方便使用的開(kāi)發(fā)集成環(huán)境。
硬件描述語(yǔ)言HDL(Hardware DescrIPtion Language)的發(fā)展為復(fù)雜電子系統(tǒng)設(shè)計(jì)提供了建立各種硬件模型的工作媒介。它的描述能力和抽象能力強(qiáng),給硬件電路,特別是半定制大規(guī)模集成電路設(shè)計(jì)帶來(lái)了重大的變革。目前,用得較多的有已成為IEEE為 STD1076標(biāo)準(zhǔn)的VHDL、IEEE STD 1364標(biāo)準(zhǔn)的Verilog HDL和Altera公司企業(yè)標(biāo)準(zhǔn)的AHDL等。
由于HDL的發(fā)展和標(biāo)準(zhǔn)化,世界上出現(xiàn)了一批利用HDL進(jìn)行各種集成電路功能模塊專業(yè)設(shè)計(jì)的公司。其任務(wù)是按常用或?qū)S霉δ埽肏DL來(lái)描述集成電路的功能和結(jié)構(gòu),并經(jīng)過(guò)不同級(jí)別的驗(yàn)證形成不同級(jí)別的IP內(nèi)核模塊,供芯片設(shè)計(jì)人員裝配或集成選用。
IP(Intellectual Property)內(nèi)核模塊是一種預(yù)先設(shè)計(jì)好的甚至已經(jīng)過(guò)驗(yàn)證的具有某種確定功能的集成電路、器件或部件。它有幾種不同形式。IP內(nèi)核模塊有行為(behavior)、結(jié)構(gòu)(structure)和物理(physical)3級(jí)不同程度的設(shè)計(jì),對(duì)應(yīng)有主要描述功能行為的“軟IP內(nèi)核(soft IP core)”、完成結(jié)構(gòu)描述的“固IP內(nèi)核(firm IP core)”和基于物理描述并經(jīng)過(guò)工藝驗(yàn)證的“硬IP內(nèi)核(hard IP core)”3個(gè)層次。這相當(dāng)于集成電路(器件或部件)的毛坯、半成品和成品的設(shè)計(jì)技術(shù)。
軟IP內(nèi)核通常是用某種HDL文本提交用戶,它已經(jīng)過(guò)行為級(jí)設(shè)計(jì)優(yōu)化和功能驗(yàn)證,但其中不含有任何具體的物理信息。據(jù)此,用戶可以綜合出正確的門電路級(jí)網(wǎng)表,并可以進(jìn)行后續(xù)結(jié)構(gòu)設(shè)計(jì),具有最大的靈活性,可以很容易地借助于EDA綜合工具與其他外部邏輯電路結(jié)合成一體,根據(jù)各種不同的半導(dǎo)體工藝,設(shè)計(jì)成具有不同性能的器件??梢陨唐坊能汭P內(nèi)核一般電路結(jié)構(gòu)總門數(shù)都在5000門以上。但是,如果后續(xù)設(shè)計(jì)不當(dāng),有可能導(dǎo)致整個(gè)結(jié)果失敗。軟IP內(nèi)核又稱作虛擬器件。
硬IP內(nèi)核是基于某種半導(dǎo)體工藝的物理設(shè)計(jì),已有固定的拓?fù)洳季趾途唧w工藝,并已經(jīng)過(guò)工藝驗(yàn)證,具有可保證的性能。其提供給用戶的形式是電路物理結(jié)構(gòu)掩模版圖和全套工藝文件,是可以拿來(lái)就用的全套技術(shù)。
固IP內(nèi)核的設(shè)計(jì)深度則是介于軟IP內(nèi)核和硬IP內(nèi)核之間,除了完成硬IP內(nèi)核所有的設(shè)計(jì)外,還完成了門電路級(jí)綜合和時(shí)序仿真等設(shè)計(jì)環(huán)節(jié)。一般以門電路級(jí)網(wǎng)表形式提交用戶使用。
TI,Philips和Atmel等廠商就是通過(guò)Intel授權(quán),用其MCS51的IP內(nèi)核模塊結(jié)合自己的特長(zhǎng)開(kāi)發(fā)出有個(gè)性的與Intel MCS51兼容的單片機(jī)。
常用的IP內(nèi)核模塊有各種不同的CPU(32/64位CISC/RISC結(jié)構(gòu)的CPU或8/16位微控制器/單片機(jī),如8051等)、32/64位 DSP(如320C30)、DRAM、SRAM、EEPROM、Flashmemory、A/D、D/A、MPEG/JPEG、USB、PCI、標(biāo)準(zhǔn)接口、網(wǎng)絡(luò)單元、編譯器、編碼/解碼器和模擬器件模塊等。豐富的IP內(nèi)核模塊庫(kù)為快速地設(shè)計(jì)專用集成電路和單片系統(tǒng)以及盡快占領(lǐng)市場(chǎng)提供了基本保證。
軟件技術(shù)的進(jìn)步,特別是嵌入式實(shí)時(shí)操作系統(tǒng)EOS(Embedded Operation System)的推出,為開(kāi)發(fā)復(fù)雜嵌入式系統(tǒng)應(yīng)用軟件提供了底層支持和高效率開(kāi)發(fā)平臺(tái)。EOS是一種功能強(qiáng)大、應(yīng)用廣泛的實(shí)時(shí)多任務(wù)系統(tǒng)軟件。它一般都具有操作系統(tǒng)所具有的各種系統(tǒng)資源管理功能,用戶可以通過(guò)應(yīng)用程序接口API調(diào)用函數(shù)形式來(lái)實(shí)現(xiàn)各種資源管理。用戶程序可以在EOS的基礎(chǔ)上開(kāi)發(fā)并運(yùn)行。它與通用系統(tǒng)機(jī)中的OS相比,主要有系統(tǒng)內(nèi)核短小精悍、開(kāi)銷小、實(shí)時(shí)性強(qiáng)和可靠性高等特點(diǎn)。完善的EOS還提供各種設(shè)備的驅(qū)動(dòng)程序。為了適應(yīng)網(wǎng)絡(luò)應(yīng)用和 Internet應(yīng)用。還可以提供TCP/IP協(xié)議支持。目前流行的EOS有3Com公司的Palm OS、Microsoft公司的Windows CE和Windows NT Embedded4.0、日本東京大學(xué)的Tron和各種開(kāi)放源代碼的嵌入式Linux以及國(guó)內(nèi)開(kāi)發(fā)成功的凱思集團(tuán)的Hopen OS和浙江大學(xué)的HBOS。
二、嵌入式系統(tǒng)設(shè)計(jì)方法的變化
過(guò)去擅長(zhǎng)于軟件設(shè)計(jì)的編程人員一般對(duì)硬件電路設(shè)計(jì)“敬而遠(yuǎn)之”,硬件設(shè)計(jì)和軟件設(shè)計(jì)被認(rèn)為是性質(zhì)完全不同的技術(shù)。
隨著電子信息技術(shù)的發(fā)展,電子工程出身的設(shè)計(jì)人員,往往還逐步涉足軟件編程。其主要形式是通過(guò)微控制器(國(guó)內(nèi)習(xí)慣稱作單片機(jī))的應(yīng)用,學(xué)會(huì)相應(yīng)的匯編語(yǔ)言編程。在設(shè)計(jì)規(guī)模更大的集散控制系統(tǒng)時(shí),必然要用到已普及的PC機(jī),以其為上端機(jī),從而進(jìn)一步學(xué)習(xí)使用Quick BASIC,C,C++,VC和VB等高級(jí)語(yǔ)言編程作系統(tǒng)程序,設(shè)計(jì)系統(tǒng)界面,通過(guò)與單片機(jī)控制的前端機(jī)進(jìn)行多機(jī)通信構(gòu)成集中分布控制系統(tǒng)。
軟件編程出身的設(shè)計(jì)人員則很少有興趣去學(xué)習(xí)應(yīng)用電路設(shè)計(jì)。但是,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,特別是硬件描述語(yǔ)言HDL的發(fā)明,系統(tǒng)硬件設(shè)計(jì)方法發(fā)生了變化,數(shù)字系統(tǒng)的硬件組成及其行為完全可以用HDL來(lái)描述和仿真。在這種情況下,設(shè)計(jì)硬件電路不再是硬件設(shè)計(jì)工程師的專利,擅長(zhǎng)軟件編程的設(shè)計(jì)人員可以借助于HDL工具來(lái)描述硬件電路的行為、功能、結(jié)構(gòu)、數(shù)據(jù)流、信號(hào)連接關(guān)系和定時(shí)關(guān)系,設(shè)計(jì)出滿足各種要求的硬件系統(tǒng)。
EDA工具允許有兩種設(shè)計(jì)輸入工具,分別適應(yīng)硬件電路設(shè)計(jì)人員和軟件編程人員兩種不同背景的需要。讓具有硬件背景的設(shè)計(jì)人員用已習(xí)慣的原理圖輸入方式,而讓具有軟件背景的設(shè)計(jì)人員用硬件描述語(yǔ)言輸入方式。由于用HDL描述進(jìn)行輸入,因而與系統(tǒng)行為描述更接近,且更便于綜合、時(shí)域傳遞和修改,還能建立獨(dú)立于工藝的設(shè)計(jì)文件,所以,擅長(zhǎng)軟件編程的人一旦掌握了HDL和一些必要的硬件知識(shí),往往可以比習(xí)慣于傳統(tǒng)設(shè)計(jì)的工程師設(shè)計(jì)出更好的硬件電路和系統(tǒng)。所以,習(xí)慣于傳統(tǒng)設(shè)計(jì)的工程師應(yīng)該學(xué)會(huì)用HDL來(lái)描述和編程。
評(píng)論