Linux嵌入式系統設計的3個(gè)不同層次
1. 第1層次:以PCB CAD軟件和ICE為主要工具的設計方法。
這是過(guò)去直至現在我國單片機應用系統設計人員一直沿用的方法,其步驟是先抽象后具體。
抽象設計主要是根據嵌入式應用系統要實(shí)現的功能要求,對系統功能細化,分成若干功能模塊,畫(huà)出系統功能框圖,再對功能模塊進(jìn)行硬件和軟件功能實(shí)現的分配。
具體設計包括硬件設計和軟件設計。硬件設計主要是根據性能參數要求對各功能模塊所需要使用的元器件進(jìn)行選擇和組合,其選擇的基本原則就是市場(chǎng)上可以購買(mǎi)到的性?xún)r(jià)比最高的通用元器件。必要時(shí),須分別對各個(gè)沒(méi)有把握的部分進(jìn)行搭試、功能檢驗和性能測試,從模塊到系統找到相對優(yōu)化的方案,畫(huà)出電路原理圖。硬件設計的關(guān)鍵一步就是利用印制板(PCB)計算機輔助設計(CAD)軟件對系統的元器件進(jìn)行布局和布線(xiàn),接著(zhù)是印制板加工、裝配和硬件調試。
工作量最大的部分是軟件設計。軟件設計貫穿整個(gè)系統的設計過(guò)程,主要包括任務(wù)分析、資源分配、模塊劃分、流程設計和細化、編碼調試等。軟件設計的工作量主要集中在程序調試,所以軟件調試工具就是關(guān)鍵。最常用和最有效的工具是在線(xiàn)仿真器(ICE)。
2. 第2層次:以EDA工具軟件和EOS為開(kāi)發(fā)平臺的設計方法。
隨著(zhù)微電子工藝技術(shù)的發(fā)展,各種通用的可編程半定制邏輯器件應運而生。在硬件設計時(shí),設計師可以利用這些半定制器件,逐步把原先要通過(guò)印制板線(xiàn)路互連的若干標準邏輯器件自制成專(zhuān)用集成電路(ASIC
)使用,這樣,就把印制板布局和布線(xiàn)的復雜性轉換成半定制器件內配置的復雜性。然而,半定制器件的設計并不需要設計人員有半導體工藝和片內集成電路布局和布線(xiàn)的知識和經(jīng)驗。隨著(zhù)半定制器件的規模越來(lái)越大,可集成的器件越來(lái)越多,使印制板上互連器件的線(xiàn)路、裝配和調試費用越來(lái)越少,不僅大大減少了印制板的面積和接插件的數量,降低了系統綜合成本,增加了可編程應用的靈活性,更重要的是降低了系統功耗,提高了系統工作速度,大大提高了系統的可靠性和安全性。
這樣,硬件設計人員從過(guò)去選擇和使用標準通用集成電路器件,逐步轉向自己設計和制作部分專(zhuān)用的集成電路器件,而這些技術(shù)是由各種EDA工具軟件提供支持的。
半定制邏輯器件經(jīng)歷了可編程邏輯陣列PLA、可編程陣列邏輯PAL、通用陣列邏輯GAL、復雜可編程邏輯器件CPLD和現場(chǎng)可編程門(mén)陣列FPGA的發(fā)展過(guò)程。其趨勢是集成度和速度不斷提高,功能不斷增強,結構趨于更合理,使用變得更靈活和方便。
設計人員可以利用各種EDA工具和標準的CPLD和FPGA等,設計和自制用戶(hù)專(zhuān)用的大規模集成電路。然后再通過(guò)自下而上的設計方法,把用半定制器件設計自制的集成電路、可編程外圍器件、所選擇的ASIC與嵌入式微處理器或微控制器在印制板上布局、布線(xiàn)構成系統。
3. 第3層次:以IP內核庫為設計基礎,用軟硬件協(xié)同設計技術(shù)的設計方法。
20世紀90年代后,進(jìn)一步開(kāi)始了從“集成電路”級設計不斷轉向“集成系統”級設計。目前已進(jìn)入單片系統SOC(System o-n a chip)設計階段,并開(kāi)始進(jìn)入實(shí)用階段。這種設計方法不是把系統所需要用到的所有集成電路簡(jiǎn)單地二次集成到1個(gè)芯片上,如果這樣實(shí)現單片系統,是不可能達到單片系統所要求的高密度、高速度、高性能、小體積、低電壓、低功耗等指標的,特別是低功耗要求。單片系統設計要從整個(gè)系統性能要求出發(fā),把微處理器、模型算法、芯片結構、外圍器件各層次電路直至器件的設計緊密結合起來(lái),并通過(guò)建立在全新理念上的系統軟件和硬件的協(xié)同設計,在單個(gè)芯片上完成整個(gè)系統的功能。有時(shí)也可能把系統做在幾個(gè)芯片上。因為,實(shí)際上并不是所有的系統都能在一個(gè)芯片上實(shí)現的;還可能因為實(shí)現某種單片系統的工藝成本太高,以至于失去商業(yè)價(jià)值。目前,進(jìn)入實(shí)用的單片系統還屬簡(jiǎn)單的單片系統,如智能IC卡等。但幾個(gè)著(zhù)名的半導體廠(chǎng)商正在緊鑼密鼓地研制和開(kāi)發(fā)像單片PC這樣的復雜單片系統。
單片系統的設計如果從零開(kāi)始,這既不現實(shí)也無(wú)必要。因為除了設計不成熟、未經(jīng)過(guò)時(shí)間考驗,其系統性能和質(zhì)量得不到保證外,還會(huì )因為設計周期太長(cháng)而失去商業(yè)價(jià)值。
為了加快單片系統設計周期和提高系統的可靠性,目前最有效的一個(gè)途徑就是通過(guò)授權,使用成熟優(yōu)化的IP內核模塊來(lái)進(jìn)行設計集成和二次開(kāi)發(fā),利用膠粘邏輯技術(shù)GLT(Glue Logic Technology),把這些IP內核模塊嵌入到SOC中。IP內核模塊是單片系統設計的基礎,究竟購買(mǎi)哪一級IP內核模塊,要根據現有基礎、時(shí)間、資金和其他條件權衡確定。購買(mǎi)硬IP內核模塊風(fēng)險最小,但付出最大,這是必然的。但總的來(lái)說(shuō),通過(guò)購買(mǎi)IP內核模塊不僅可以降低開(kāi)發(fā)風(fēng)險,還能節省開(kāi)發(fā)費用,因為一般購買(mǎi)IP內核模塊的費用要低于自己?jiǎn)为氃O計和驗證的費用。當然,并不是所需要的IP內核模塊都可以從市場(chǎng)上買(mǎi)得到。為了壟斷市場(chǎng),有一些公司開(kāi)發(fā)出來(lái)的關(guān)鍵IP內核模塊(至少暫時(shí))是不愿意授權轉讓使用的。像這樣的IP內核模塊就不得不自己組織力量來(lái)開(kāi)發(fā)。
這3個(gè)層次各有各的應用范圍。從應用開(kāi)發(fā)角度看,在相當長(cháng)的一段時(shí)間內,都是采用前2種方法。第3層次設計方法對一般具體應用人員來(lái)說(shuō),只能用來(lái)設計簡(jiǎn)單的單片系統。而復雜的單片系統則是某些大的半導體廠(chǎng)商才能設計和實(shí)現的,并且用這種方法實(shí)現的單片系統,只可能是那些廣泛使用、具有一定規模的應用系統才值得投入研制。還有些應用系統,因為技術(shù)問(wèn)題或商業(yè)價(jià)值問(wèn)題并不適宜用單片實(shí)現。當它們以商品形式推出相應單片系統后,應用人員只要會(huì )選用即可。所以,3個(gè)層次的設計方法會(huì )并存,并不會(huì )簡(jiǎn)單地用后者取代前者。 初級應用設計人員會(huì )以第1種方法為主;富有經(jīng)驗的設計人員會(huì )以第2種方法為主;很專(zhuān)業(yè)的設計人員會(huì )用第3種方法進(jìn)行簡(jiǎn)單單片系統的設計和應用。但所有的設計人員都可以應用半導體大廠(chǎng)商推出的用第3種方法設計的專(zhuān)用單片系統。
結束語(yǔ)
目前,在我國3個(gè)層次的設計分別呈“面”、“線(xiàn)”、“點(diǎn)”的狀態(tài)。習慣于第1層次設計方法的電子信息系統設計人員需要逐步向第2層次過(guò)渡和發(fā)展;第2層次設計方法要由“線(xiàn)”逐步發(fā)展成“面”;第3層次設計方法需要國家有關(guān)部門(mén)根據IT發(fā)展戰略和規劃,組織各方面力量攻關(guān)、協(xié)調發(fā)展。第3層次設計方法要由“點(diǎn)”逐步發(fā)展成“線(xiàn)”。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論