新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中“軟外設(shè)”的研究

嵌入式系統(tǒng)中“軟外設(shè)”的研究

——
作者: 時間:2007-08-15 來源:華強(qiáng)電子世界網(wǎng) 收藏
隨著的性能的不斷提升,處理速度越來越快,運(yùn)算能力不斷增強(qiáng),在許多系統(tǒng)的開發(fā)中逐漸出現(xiàn)了(Software Peripherals)。所謂是指以軟件為手段,模擬的外圍設(shè)備的功能,真正達(dá)到以軟代硬的目的。的出現(xiàn)給產(chǎn)品的開發(fā)帶來了極大的靈活性,不但使系統(tǒng)體積變得更小,而且使系統(tǒng)的升級換代變得更為方便,從而真正實(shí)現(xiàn)SOC。

  本文介紹軟外設(shè)的設(shè)計思想以及在開發(fā)過程中應(yīng)注意的事項(xiàng),并結(jié)合一個系統(tǒng),分析軟外設(shè)對系統(tǒng)的影響以及如何使設(shè)計合理化。

  一 介紹

  應(yīng)該說軟外設(shè)并不是一個新思想,從計算機(jī)發(fā)明以來,電子系統(tǒng)設(shè)計人員一直試圖盡可能多地用軟件來代替實(shí)際電路,通過這種方式把外設(shè)嵌入進(jìn)系統(tǒng)。但由于速度、計算能力有限,以及內(nèi)存技術(shù)的發(fā)展不夠成熟,從而束縛了軟外設(shè)的發(fā)展。

  近年來,隨著電子技術(shù)的發(fā)展,越來越多的處理器廠家在處理器的設(shè)計中加大了對軟外設(shè)的支持,象ARM公司宣稱他們的32、64位RISC處理器已經(jīng)能用軟件實(shí)現(xiàn)更多更強(qiáng)的功能,指令集也更為豐富,甚至包括DSP方面的許多功能現(xiàn)在已經(jīng)能夠在CPU上實(shí)現(xiàn)。Motoro la公司已經(jīng)開發(fā)出基于SM56PCI接口的用純軟件實(shí)現(xiàn)的調(diào)制解調(diào)器。這些都說明電路設(shè)計已經(jīng)進(jìn)入了一個嶄新的時期。

  目前,電子設(shè)計中把外設(shè)嵌入進(jìn)系統(tǒng)的方法主要有兩種。方法Ⅰ是采用標(biāo)準(zhǔn)的微處理器+一塊輔助芯片,輔助芯片可以是FPGA或CPLD等可邏輯芯片;方法Ⅱ是采用基本的CPU內(nèi)核+附加邏輯單元,這些可以在一塊高密度可編程邏輯芯片上實(shí)現(xiàn),CPU內(nèi)核往往為Altera和Xilinx等FPGA生產(chǎn)廠家提供的軟件模塊。以上兩種方法都需要開發(fā)人員熟悉硬件描述語言,但在實(shí)際應(yīng)用中CPU內(nèi)核以及各種IP核的使用的往往要得到產(chǎn)權(quán)許可,而且可編程邏輯芯片體積大,價格昂貴,故在一些便攜式裝置的研制中不便采用。

  軟外設(shè)的設(shè)計通常是采用標(biāo)準(zhǔn)的微處理器,在滿足系統(tǒng)穩(wěn)定和系統(tǒng)負(fù)荷允許的條件下,設(shè)計中盡可能多地采用可配置的軟件模塊,用這些可配置的軟件模塊來實(shí)現(xiàn)某種外設(shè)的功能。并且可以配置、升級、重組,從而完成特定的功能。應(yīng)該說明的是,并不是所有外設(shè)的功能都能完全由軟件實(shí)現(xiàn),這種設(shè)計方法的目的是在系統(tǒng)允許的條件下盡量“以軟代硬”,以盡可能少的硬件開銷取得最佳的性能比。

  二 系統(tǒng)要求

  下面給出具有軟外設(shè)的系統(tǒng)結(jié)構(gòu)圖。

具有軟外設(shè)的嵌入式系統(tǒng)結(jié)構(gòu)圖

  下面給出對嵌入式系統(tǒng)的要求:

  (1) 高性能CPU內(nèi)核。軟外設(shè)的必須以高性能CPU內(nèi)核為支持,只有采用高性能CPU內(nèi)核,系統(tǒng)的頻率才能得以提高,軟外設(shè)和CPU之間才能高速傳送數(shù)據(jù),軟外設(shè)才能得以高速運(yùn)行而對系統(tǒng)整體工作不會有太多影響。建議采用帶有流水線、32位以上RISC核的CPU。

 ?。?) 快速的中斷響應(yīng)。軟外設(shè)均采用中斷方式向CPU提出服務(wù)請求??梢栽谄洗鎯ζ髋c內(nèi)部總線之間增加寄存器組來減少系統(tǒng)的中斷響應(yīng)時間。

 ?。?) 附加硬件模塊。正如前面所提,系統(tǒng)有些特性是不能由軟件實(shí)現(xiàn)的,象定時器、中斷控制器。另外在信號處理中由于A/D、D/A轉(zhuǎn)換如果用軟件實(shí)現(xiàn)對系統(tǒng)開銷太大,由硬件實(shí)現(xiàn)較好。

 ?。?) 快速、足夠的存儲器和高性能的運(yùn)算單元。

  三 軟外設(shè)的算法設(shè)計

  由于軟外設(shè)要求實(shí)時性強(qiáng),有時需要和別的應(yīng)用程序并行執(zhí)行,在設(shè)計時可以把軟外設(shè)看作等待服務(wù)的任務(wù),協(xié)調(diào)、安排好這些任務(wù)非常重要,根據(jù)任務(wù)的確定性可以把實(shí)時系統(tǒng)的進(jìn)程調(diào)度策略劃分為兩類:一類是靜態(tài)的,主要負(fù)責(zé)預(yù)先知道發(fā)生時間的任務(wù);要求按進(jìn)度準(zhǔn)點(diǎn)完成的任務(wù);要求固定時間發(fā)生的任務(wù)。對這類調(diào)度策略可以采用Round-robin算法或間隔算法(見3)。另外一類是動態(tài)進(jìn)程調(diào)度策略,負(fù)責(zé)那些不能預(yù)測何時發(fā)生任務(wù);不知執(zhí)行周期有多長的任務(wù)。這是一些具有臨時性的任務(wù),比如含有條件循環(huán)的任務(wù)(不知何時滿足條件)。以上兩種策略分別適用于不同的情況,在一個復(fù)雜的系統(tǒng)中,往往存在幾個要求并行執(zhí)行的軟外設(shè),進(jìn)程的調(diào)度對任務(wù)的同步和系統(tǒng)的優(yōu)化非常重要。

  另外為了設(shè)計的可移植性和簡便,要進(jìn)行模塊化和層次化設(shè)計,復(fù)雜的軟外設(shè)可以看作由幾個具有層次的簡單的模塊構(gòu)成。

  四 性能分析

  現(xiàn)以示出了一個嵌入式系統(tǒng)的框圖,該系統(tǒng)采用Motorola公司生產(chǎn)的MCF5104型號CPU,接有三個軟外設(shè),分別為UART、LCD和鍵盤控制器?,F(xiàn)在從工作速度和能量損耗方面以UART軟外設(shè)為例,對軟外設(shè)進(jìn)行性能分析。

嵌入式系統(tǒng)的框圖

在UART實(shí)現(xiàn)程序中,共有16條匯編指令,假定每條指令需要一個時鐘周期(即CPI=1),沒有奇偶校驗(yàn)功能。通過改變CPU主頻(變化范圍為30~100),計算執(zhí)行的時間占有CPU時間的比率,分析UART軟外設(shè)在不同波特率情況下對CPU的負(fù)擔(dān),計算過程如下:

  假定CPU發(fā)送/接收一個字節(jié)的時間為t。UART軟外設(shè)的CPU占有率為T,則

  t=指令數(shù)

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉