本文介紹軟外設(shè)的設(shè)計(jì)思想以及在開(kāi)發(fā)過(guò)程中應(yīng)注意的事項(xiàng),并結(jié)合一個(gè)嵌入式系統(tǒng),分析軟外設(shè)對(duì)系統(tǒng)的影響以及如何使設(shè)計(jì)合理化。
關(guān)鍵詞:嵌入式系統(tǒng) UART Software Peripherals
一、介紹
應(yīng)該說(shuō)軟外設(shè)并不是一個(gè)新思想,從計(jì)算機(jī)發(fā)明以來(lái),電子系統(tǒng)設(shè)計(jì)人員一直試圖盡可能多地用軟件編程來(lái)代替實(shí)際電路,通過(guò)這種方式把外設(shè)嵌入進(jìn)系統(tǒng)。但由于CPU速度、計(jì)算能力有限,以及內(nèi)存技術(shù)的發(fā)展不夠成熟,從而束縛了軟外設(shè)的發(fā)展。
近年來(lái),隨著電子技術(shù)的發(fā)展,越來(lái)越多的處理器廠家在處理器的設(shè)計(jì)中加大了對(duì)軟外設(shè)的支持,象ARM公司宣稱他們的32、64位RISC處理器已經(jīng)能用軟件實(shí)現(xiàn)更多更強(qiáng)的功能,指令集也更為豐富,甚至包括DSP方面的許多功能現(xiàn)在已經(jīng)能夠在CPU上實(shí)現(xiàn)。Motorola公司已經(jīng)開(kāi)發(fā)出基于SM56PCI接口的用純軟件實(shí)現(xiàn)的調(diào)制解調(diào)器。這些都說(shuō)明電路設(shè)計(jì)已經(jīng)進(jìn)入了一個(gè)嶄新的時(shí)期。
目前,電子設(shè)計(jì)中把外設(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)廠家提供的軟件模塊。以上兩種方法都需要開(kāi)發(fā)人員熟悉硬件描述語(yǔ)言,但在實(shí)際應(yīng)用中CPU內(nèi)核以及各種IP核的使用的往往要得到產(chǎn)權(quán)許可,而且可編程邏輯芯片體積大,價(jià)格昂貴,故在一些便攜式裝置的研制中不便采用。
軟外設(shè)的設(shè)計(jì)通常是采用標(biāo)準(zhǔn)的微處理器,在滿足系統(tǒng)穩(wěn)定和系統(tǒng)負(fù)荷允許的條件下,設(shè)計(jì)中盡可能多地采用可配置的軟件模塊,用這些可配置的軟件模塊來(lái)實(shí)現(xiàn)某種外設(shè)的功能。并且可以配置、升級(jí)、重組,從而完成特定的功能。應(yīng)該說(shuō)明的是,并不是所有外設(shè)的功能都能完全由軟件實(shí)現(xiàn),這種設(shè)計(jì)方法的目的是在系統(tǒng)允許的條件下盡量“以軟代硬”,以盡可能少的硬件開(kāi)銷取得最佳的性能比。
二、系統(tǒng)要求
下面給出具有軟外設(shè)的嵌入式系統(tǒng)結(jié)構(gòu)圖。

下面給出對(duì)嵌入式系統(tǒng)的要求:
(1) 高性能CPU內(nèi)核。軟外設(shè)的必須以高性能CPU內(nèi)核為支持,只有采用高性能CPU內(nèi)核,系統(tǒng)的頻率才能得以提高,軟外設(shè)和CPU之間才能高速傳送數(shù)據(jù),軟外設(shè)才能得以高速運(yùn)行而對(duì)系統(tǒng)整體工作不會(huì)有太多影響。建議采用帶有流水線、32位以上RISC核的CPU。
(2) 快速的中斷響應(yīng)。軟外設(shè)均采用中斷方式向CPU提出服務(wù)請(qǐng)求??梢栽谄洗鎯?chǔ)器與內(nèi)部總線之間增加寄存器組來(lái)減少系統(tǒng)的中斷響應(yīng)時(shí)間。
(3) 附加硬件模塊。正如前面所提,系統(tǒng)有些特性是不能由軟件實(shí)現(xiàn)的,象定時(shí)器、中斷控制器。另外在信號(hào)處理中由于A/D、D/A轉(zhuǎn)換如果用軟件實(shí)現(xiàn)對(duì)系統(tǒng)開(kāi)銷太大,由硬件實(shí)現(xiàn)較好。
(4) 快速、足夠的存儲(chǔ)器和高性能的運(yùn)算單元。
三、軟外設(shè)的算法設(shè)計(jì)
由于軟外設(shè)要求實(shí)時(shí)性強(qiáng),有時(shí)需要和別的應(yīng)用程序并行執(zhí)行,在設(shè)計(jì)時(shí)可以把軟外設(shè)看作等待服務(wù)的任務(wù),協(xié)調(diào)、安排好這些任務(wù)非常重要,根據(jù)任務(wù)的確定性可以把實(shí)時(shí)系統(tǒng)的進(jìn)程調(diào)度策略劃分為兩類:一類是靜態(tài)的,主要負(fù)責(zé)預(yù)先知道發(fā)生時(shí)間的任務(wù);要求按進(jìn)度準(zhǔn)點(diǎn)完成的任務(wù);要求固定時(shí)間發(fā)生的任務(wù)。對(duì)這類調(diào)度策略可以采用Round-robin算法或間隔算法(見(jiàn)3)。另外一類是動(dòng)態(tài)進(jìn)程調(diào)度策略,負(fù)責(zé)那些不能預(yù)測(cè)何時(shí)發(fā)生任務(wù);不知執(zhí)行周期有多長(zhǎng)的任務(wù)。這是一些具有臨時(shí)性的任務(wù),比如含有條件循環(huán)的任務(wù)(不知何時(shí)滿足條件)。以上兩種策略分別適用于不同的情況,在一個(gè)復(fù)雜的系統(tǒng)中,往往存在幾個(gè)要求并行執(zhí)行的軟外設(shè),進(jìn)程的調(diào)度對(duì)任務(wù)的同步和系統(tǒng)的優(yōu)化非常重要。
另外為了設(shè)計(jì)的可移植性和簡(jiǎn)便,要進(jìn)行模塊化和層次化設(shè)計(jì),復(fù)雜的軟外設(shè)可以看作由幾個(gè)具有層次的簡(jiǎn)單的模塊構(gòu)成。
四、性能分析
現(xiàn)以示出了一個(gè)嵌入式系統(tǒng)的框圖,該系統(tǒng)采用Motorola公司生產(chǎn)的MCF5104型號(hào)CPU,接有三個(gè)軟外設(shè),分別為UART、LCD和鍵盤控制器?,F(xiàn)在從工作速度和能量損耗方面以UART軟外設(shè)為例,對(duì)軟外設(shè)進(jìn)行性能分析。

在UART實(shí)現(xiàn)程序中,共有16條匯編指令,假定每條指令需要一個(gè)時(shí)鐘周期(即CPI=1),沒(méi)有奇偶校驗(yàn)功能。通過(guò)改變CPU主頻(變化范圍為30~100),計(jì)算執(zhí)行的時(shí)間占有CPU時(shí)間的比率,分析UART軟外設(shè)在不同波特率情況下對(duì)CPU的負(fù)擔(dān),計(jì)算過(guò)程如下:
假定CPU發(fā)送/接收一個(gè)字節(jié)的時(shí)間為t。UART軟外設(shè)的CPU占有率為T,則
t=指令數(shù)×CPI+中斷響應(yīng)周期×CPU主頻-1。
T=t×波特率。
結(jié)果如表1所示。
表1 UART的CPU占有率
Rate(bit/s) MHz | 19200 | 38400 | 57600 | 1152000 |
30 | 1.534% | 3.070% | 4.605% | 9.215% |
50 | 0.920% | 1.843% | 2.764% | 5.530% |
75 | 0.614% | 1.227% | 1.843% | 3.687% |
100 | 0.460% | 0.921% | 1.380% | 2.764% |
上表中的統(tǒng)計(jì)數(shù)據(jù)是在假定UART工作在全雙工方式(FD)下,沒(méi)有檢錯(cuò)功能得到的,而系統(tǒng)絕大多數(shù)時(shí)間是工作在半雙工方式(HD)下的,HD方式下該UART的CPU占有時(shí)間率要減少25%。如果加上奇偶校驗(yàn)功能,該軟外設(shè)的CPU占有時(shí)間率在FD方式會(huì)增加11.45%,HD方式下增加7.60%。
由表1可知,CPU頻率越高,軟外設(shè)對(duì)系統(tǒng)的負(fù)擔(dān)越小,另外隨著UART的波特率增加,系統(tǒng)負(fù)擔(dān)加重。建議軟外設(shè)的運(yùn)行占CPU時(shí)間不能超過(guò)20%,實(shí)驗(yàn)證明,軟外設(shè)的CPU占有率不超過(guò)20%的情況下對(duì)系統(tǒng)來(lái)說(shuō)是可以承受的。
接下來(lái)我們分析該軟外設(shè)的能耗問(wèn)題。圖三示出了CPU在接有URAT軟外設(shè)或URAT硬件的情況下在不同情況下的CPU消耗電流曲線。
上圖表明:
1.隨著波特率增加,UART軟外設(shè)的能耗增加。
2.隨著CPU主頻增加,UART軟外設(shè)的能耗增加。
3.波特率在小于70Kbit/s時(shí)UART軟外設(shè)的能耗低于硬件外設(shè),此時(shí)選用軟外設(shè)可以降低能耗,即該軟外設(shè)適合于數(shù)據(jù)量不是很大的場(chǎng)合(如語(yǔ)音通信)。在要求系統(tǒng)傳輸速率極快的情況下(如視頻流傳輸),選用硬件實(shí)現(xiàn)較為合適。
六、結(jié)束語(yǔ)
本文系統(tǒng)地介紹了軟外設(shè)的設(shè)計(jì)思想,并以一個(gè)軟外設(shè)為例,分析了它的一些性能指標(biāo)。 軟外設(shè)具有許多優(yōu)點(diǎn):如調(diào)試方便,系統(tǒng)可移植性強(qiáng),能耗小,成本低。很適合在一些要求便攜式、低能耗的場(chǎng)合應(yīng)用。雖然也存在一些缺點(diǎn),如速度慢,并行性差,但隨著CPU相關(guān)技術(shù)的發(fā)展以及算法的完善,這些方面在一定程度上會(huì)得到改觀。設(shè)計(jì)人員在設(shè)計(jì)時(shí)需要對(duì)硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行折衷考慮。畢竟,軟外設(shè)的出現(xiàn)給嵌入式系統(tǒng)設(shè)計(jì)提供了一種更為靈活的設(shè)計(jì)方案,給設(shè)計(jì)人員也提供了更多的選擇余地,更廣的設(shè)計(jì)空間。
- 嵌入式系(14247)
嵌入式系統(tǒng)中的軟外設(shè)是什么?
嵌入式系統(tǒng)中語(yǔ)音算法的基本原理是什么
嵌入式系統(tǒng)外設(shè)的使用
嵌入式系統(tǒng)EMC的產(chǎn)生原理是什么?
嵌入式系統(tǒng)串行設(shè)備管理怎么實(shí)現(xiàn)?
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
嵌入式系統(tǒng)概述
嵌入式系統(tǒng)的系統(tǒng)該怎么測(cè)試和進(jìn)行可靠性評(píng)估?
嵌入式系統(tǒng)的三要素
嵌入式系統(tǒng)的發(fā)展歷史
嵌入式系統(tǒng)的知識(shí)體系
嵌入式系統(tǒng)組件的設(shè)計(jì)原則是什么
嵌入式軟PLC系統(tǒng)研究和實(shí)現(xiàn)
嵌入式軟PLC技術(shù)具有哪些優(yōu)點(diǎn)呢
嵌入式軟核NiosⅡ中串口模塊怎么編程?
嵌入式人機(jī)交互界面的研究與實(shí)現(xiàn)
嵌入式車載導(dǎo)航信息系統(tǒng)研究
嵌入式軟件代碼保護(hù)系統(tǒng)是由什么構(gòu)成的?
嵌入式軟件仿真開(kāi)發(fā)系統(tǒng)的研究
嵌入式軟件測(cè)試的研究
ARM嵌入式最小系統(tǒng)的啟動(dòng)架構(gòu)是什么?
FPGA在嵌入式測(cè)試系統(tǒng)中的利與弊
什么是嵌入式系統(tǒng)中的外設(shè)?
什么是嵌入式系統(tǒng)?
什么是嵌入式操作系統(tǒng)?嵌入式操作系統(tǒng)有何功能
作為研究生自學(xué)嵌入式如何?以及嵌入式的發(fā)展。
在嵌入式中為什么要用到Linux系統(tǒng)呢
基于嵌入式系統(tǒng)硬件平臺(tái)的軟件PLC實(shí)現(xiàn)設(shè)計(jì)
基于嵌入式Linux系統(tǒng)的鍵盤驅(qū)動(dòng)該怎么設(shè)計(jì)?
基于FPGA的嵌入式系統(tǒng)應(yīng)用
如何使用PCS進(jìn)行嵌入式Linux研究?
如何去設(shè)計(jì)并實(shí)現(xiàn)嵌入式軟PLC系統(tǒng)?
如何設(shè)計(jì)嵌入式系統(tǒng)掉電保護(hù)方案?
對(duì)嵌入式系統(tǒng)的功耗管理技術(shù)有哪些研究?
怎么實(shí)現(xiàn)嵌入式WiFi技術(shù)研究與通信設(shè)計(jì)?
怎么實(shí)現(xiàn)基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)?
怎么設(shè)計(jì)集軟核處理器的嵌入式設(shè)計(jì)平臺(tái)?
怎樣去設(shè)計(jì)一種嵌入式實(shí)時(shí)系統(tǒng)?
新人求助,軟考的嵌入式系統(tǒng)設(shè)計(jì)師這個(gè)證怎么樣
請(qǐng)問(wèn)如何使用UML來(lái)設(shè)計(jì)嵌入式系統(tǒng)?
請(qǐng)問(wèn)如何實(shí)現(xiàn)片上嵌入式Nios Ⅱ軟核六處理器系統(tǒng)的設(shè)計(jì)?
基于Nios 軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
16車用嵌入式開(kāi)放系統(tǒng)的軟構(gòu)件研究
12嵌入式usb主機(jī)系統(tǒng)的研究與設(shè)計(jì)
20軟件項(xiàng)目管理在嵌入式系統(tǒng)中的應(yīng)用研究
21嵌入式Linux系統(tǒng)的移植研究
23基于Nios 軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
27嵌入式系統(tǒng)USB接口的研究及設(shè)計(jì)
15基于GPRS網(wǎng)絡(luò)的嵌入式系統(tǒng)的研究
17基于ARM-Linux的嵌入式系統(tǒng)GUI開(kāi)發(fā)研究
15面向嵌入式Linux系統(tǒng)的軟中斷設(shè)計(jì)與實(shí)現(xiàn)
16嵌入式車載導(dǎo)航信息系統(tǒng)研究
13嵌入式軟PLC系統(tǒng)的研究和實(shí)現(xiàn)
37嵌入式系統(tǒng)教學(xué)模式研究
1800嵌入式系統(tǒng)的USB虛擬串口設(shè)計(jì)
1291
嵌入式CPU軟核綜述
53嵌入式系統(tǒng)設(shè)計(jì)中的低功耗技術(shù)
1606基于NIOSⅡ嵌入式軟核處理器的LCD控制方法研究
6基于Rhapsody的嵌入式系統(tǒng)的和諧設(shè)計(jì)方法的研究張磊
2基于ARM嵌入式系統(tǒng)軟PLC的研究
18基于DSP平臺(tái)的嵌入式文件系統(tǒng)的開(kāi)發(fā)與研究
4嵌入式軟PLC系統(tǒng)介紹及其技術(shù)的優(yōu)點(diǎn)分析
4ARM嵌入式最小系統(tǒng)的軟硬件架構(gòu)的改進(jìn)研究
681
基于ARM的嵌入式最小系統(tǒng)的架構(gòu)研究
2368
如何實(shí)現(xiàn)嵌入式軟PLC系統(tǒng)的研究與應(yīng)用
18基于嵌入式系統(tǒng)的圖像處理技術(shù)研究
5嵌入式軟PLC系統(tǒng)的研究與實(shí)現(xiàn)
13基于CoDeSys的嵌入式軟PLC系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
44基于KCF的目標(biāo)跟蹤算法研究及嵌入式系統(tǒng)實(shí)現(xiàn)
8嵌入式軟PLC系統(tǒng)的研究和實(shí)現(xiàn)
4基于嵌入式機(jī)器視覺(jué)控制系統(tǒng)的研究
8嵌入式系統(tǒng)
2嵌入式系統(tǒng)簡(jiǎn)介
4嵌入式系統(tǒng)介紹
9嵌入式軟件測(cè)試研究意義,嵌入式軟件測(cè)試的研究
17嵌入式系統(tǒng)
1嵌入式系統(tǒng)設(shè)計(jì)的問(wèn)答
6基于嵌入式系統(tǒng)的ZigBee芯片的研究與應(yīng)用
0嵌入式fpga是什么意思
2803嵌入式系統(tǒng)的外設(shè)器件選擇
1871
電子發(fā)燒友App



評(píng)論