《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 具有硬件矢量浮點(diǎn)運(yùn)算單元的微控制器在醫(yī)療電子中的應(yīng)用

具有硬件矢量浮點(diǎn)運(yùn)算單元的微控制器在醫(yī)療電子中的應(yīng)用

2009-03-18
作者:王朋朋

摘 要: 恩智浦微控制器非常適用于需要高性能和低功耗的嵌入式應(yīng)用,。LPC3000系列ARM9微控制器具有片上的矢量浮點(diǎn)運(yùn)算單元,使其在需要較多的算法處理特別是單精度及雙精度浮點(diǎn)運(yùn)算的應(yīng)用中具有性能上的優(yōu)勢(shì),。以該產(chǎn)品在醫(yī)療電子領(lǐng)域的應(yīng)用為例作了說(shuō)明,,并提供了基于恩智浦微控制器的基準(zhǔn)測(cè)試數(shù)據(jù)。這些數(shù)據(jù)使用由嵌入式微處理器評(píng)測(cè)基準(zhǔn)協(xié)會(huì)(EEMBC)開(kāi)發(fā)的工具收集得到,,并由此得到一種用于測(cè)量處理器性能和能耗的標(biāo)準(zhǔn)方法學(xué),。


關(guān)鍵詞: 微控制器;ARM9,;浮點(diǎn)運(yùn)算,;醫(yī)療電子

?

?? 如今,越來(lái)越多的嵌入式控制應(yīng)用需要信號(hào)處理,,如:濾波,、插值、降噪,、頻譜分析,、解調(diào)等。醫(yī)療電子設(shè)備正是需要進(jìn)行信號(hào)處理的一個(gè)應(yīng)用領(lǐng)域,。例如用于超聲診斷的圖像處理,,在進(jìn)行圖像重建、邊緣處理,、增強(qiáng)以及圖像識(shí)別和辨識(shí)形狀時(shí)均需要進(jìn)行大量的數(shù)字信號(hào)處理,。用于胎心、血壓和心跳等監(jiān)護(hù)的控制平臺(tái),,其運(yùn)算模塊也會(huì)對(duì)采樣得到的原始數(shù)據(jù)經(jīng)過(guò)一定的算法處理,,再將處理和分析結(jié)果通過(guò)LCD等反饋給使用者。


? 8 bit/16 bit微控制器通常需要消耗很多計(jì)算資源來(lái)做這些工作,。今天,,內(nèi)置浮點(diǎn)運(yùn)算的強(qiáng)大微控制器開(kāi)始出現(xiàn),32 bit微控制器有足夠的能力來(lái)實(shí)現(xiàn)其中的許多功能。


評(píng)估微控制器的性能
? 相比于專業(yè)的DSP處理器,,微控制器用于信號(hào)處理具有如下優(yōu)勢(shì):
? (1)有效的循環(huán)控制,;

? (2)豐富的外設(shè);

? (3)單一的處理器結(jié)構(gòu),、指令集和開(kāi)發(fā)工具鏈,;

? (4)統(tǒng)一的中斷和任務(wù)切換環(huán)境,同類(lèi)存儲(chǔ)器,;

? (5)同樣的操作系統(tǒng)同時(shí)管理控制和信號(hào)處理任務(wù),,基于MMU;

? (6)由于大大地簡(jiǎn)化了開(kāi)發(fā)過(guò)程,,所以上市時(shí)間較短;

? (7)流行的微控制器容易獲得,,開(kāi)發(fā)工具成本低,。
?

? ?如何評(píng)估微控制器的性能是否滿足應(yīng)用需求,是工程師在項(xiàng)目設(shè)計(jì)的早期階段需要考慮的問(wèn)題,。評(píng)價(jià)和匯總來(lái)自數(shù)據(jù)手冊(cè)的信息是一種有效方法,,另一種方法是使用某一類(lèi)型的評(píng)估板來(lái)進(jìn)行特定性能測(cè)試和功耗測(cè)試的方法。這兩類(lèi)方法都有各自的缺點(diǎn),。


?? 依賴于數(shù)據(jù)手冊(cè)的比較是有風(fēng)險(xiǎn)的,,而測(cè)試多種硬件通常不切實(shí)際、耗時(shí)且昂貴,。本文檢驗(yàn)了一種使用工業(yè)標(biāo)準(zhǔn)基準(zhǔn)數(shù)據(jù)的中間解決方案,,在產(chǎn)品設(shè)計(jì)的早期階段,當(dāng)關(guān)鍵器件選定以后,,使用這種方法來(lái)評(píng)估性能和能耗,。


?? 目標(biāo)是調(diào)查恩智浦微控制器在幾種不同測(cè)試標(biāo)準(zhǔn)下的系統(tǒng)性能,并把收集到的數(shù)據(jù)和能耗關(guān)聯(lián)起來(lái),。這就需要同時(shí)測(cè)量性能和功耗,,進(jìn)而能夠測(cè)量在特定負(fù)載下的整體能耗。


?在評(píng)估過(guò)程中,,使用了三個(gè)步驟:

?(1)通過(guò)運(yùn)行各種系統(tǒng)測(cè)試基準(zhǔn),,并改變不同的系統(tǒng)參數(shù),抽象出系統(tǒng)特征,;

?(2)解釋收集的特征數(shù)據(jù)來(lái)確立系統(tǒng)的行為,;

?(3)通過(guò)系統(tǒng)的行為決定怎樣設(shè)定控制參數(shù),從而使系統(tǒng)表現(xiàn)達(dá)到預(yù)想的效果,。


特征化
?? 從理論上來(lái)說(shuō),,性能測(cè)試是對(duì)運(yùn)作系統(tǒng)式樣的質(zhì)化或量化評(píng)估。在實(shí)際應(yīng)用中,系統(tǒng)的式樣可能不夠詳細(xì),,不足以定義完整的質(zhì)量測(cè)試,,創(chuàng)建測(cè)試也許太昂貴,不能保證其開(kāi)發(fā),。一個(gè)比較好的得到系統(tǒng)特征的折衷方法是,,使用測(cè)試基準(zhǔn)作為一個(gè)或一系列以軟件執(zhí)行的測(cè)試,提供量化的數(shù)據(jù),,這些數(shù)據(jù)可以用來(lái)比較不同系統(tǒng)的特性,。


? 為得到微控制器的特性,從EEMBC的Auto-Bench組選擇一套性能測(cè)試基準(zhǔn),。這些基準(zhǔn)幫助預(yù)測(cè)微控制器在汽車(chē)電子,,工業(yè)和一般應(yīng)用中的性能。運(yùn)行每一個(gè)基準(zhǔn)測(cè)試都通過(guò)多次反復(fù)循環(huán)以消除一些啟動(dòng)代碼在每次測(cè)試開(kāi)始時(shí)只運(yùn)行一次的影響,。使用這一工業(yè)標(biāo)準(zhǔn)基準(zhǔn)組件的一個(gè)優(yōu)勢(shì)就是可以將結(jié)果數(shù)據(jù)與其他類(lèi)似架構(gòu)微控制器的測(cè)試數(shù)據(jù)進(jìn)行比較,,以評(píng)判總體系統(tǒng)性能。


? 這里所測(cè)試的微控制器是基于ARM926EJ-S內(nèi)核,,帶硬件矢量浮點(diǎn)協(xié)處理器和一個(gè)32 KB的指令緩存(I-cache),。該測(cè)試衡量浮點(diǎn)協(xié)處理器和指令緩存的性能。在微控制器不同的工作頻率時(shí)運(yùn)行Auto-Bench測(cè)試基準(zhǔn),,使用Energy-Bench測(cè)量每一基準(zhǔn)執(zhí)行中消耗的能量,。Energy-Bench是另一個(gè)EEMBC工具,可以測(cè)量基準(zhǔn)負(fù)載運(yùn)行時(shí)處理器消耗的能量,。從Energy-Bench收集的數(shù)據(jù)可以觀察到微控制器在各種不同負(fù)載下的能量效率,。選擇了這些工具來(lái)評(píng)估微控制器,下一步就是確定微控制器在不同運(yùn)行條件下的性能,。


性能分析
?? 為了分析微控制器的性能,,需要決定在不同條件下的整體系統(tǒng)響應(yīng)。在測(cè)試項(xiàng)目中,,需要評(píng)估恩智浦微控制器上浮點(diǎn)協(xié)處理器和指令緩存的性能,。


? ?運(yùn)行Auto-bench基準(zhǔn)測(cè)試組,改變4個(gè)參數(shù):運(yùn)行頻率,、CPU核的電壓,、指令緩存的狀態(tài)和浮點(diǎn)協(xié)處理器的狀態(tài)。


?? 圖1為建立Auto-Bench/Energy-Bench測(cè)試環(huán)境的示意圖,。由三部分組成:數(shù)據(jù)獲取系統(tǒng)(DAC),、軟件開(kāi)發(fā)環(huán)境和測(cè)試目標(biāo)。美國(guó)國(guó)家儀器公司的DAC連接到PC機(jī)上,,PC機(jī)運(yùn)行Energy-Bench這一功耗和能耗測(cè)試軟件,。軟件測(cè)試環(huán)境使用KeilTM集成開(kāi)發(fā)工具來(lái)編譯,下載和運(yùn)行Auto-Bench測(cè)試基準(zhǔn)。把供給微處理器的三個(gè)電源電壓隔離開(kāi),,Energy-Bench可以測(cè)量Auto-Bench基準(zhǔn)測(cè)試中消耗的能量,,并計(jì)算在每一測(cè)試中消耗的總能量。

圖2 EEMBC的有限脈沖響應(yīng)濾波(FIR)測(cè)試數(shù)據(jù)結(jié)果

?


?? 在4種不同的頻率下運(yùn)行Auto-Bench(13 MHz,、52 MHz,、104 MHz和208 MHz),并組合其他測(cè)試條件,,包括打開(kāi)或關(guān)閉浮點(diǎn)協(xié)處理器,,打開(kāi)或關(guān)閉指令緩存。浮點(diǎn)協(xié)處理器默認(rèn)為不使能的,,使得編譯器對(duì)任何需要浮點(diǎn)運(yùn)算的情況使用軟件浮點(diǎn),。


?? 實(shí)際收集到的數(shù)據(jù)遠(yuǎn)比本文中所能呈現(xiàn)的多,這里只介紹兩個(gè)有代表性的案例以表現(xiàn)收集的特征數(shù)據(jù)怎樣決定系統(tǒng)的性能,。圖2中以圖形方式表示了EEMBC的有限脈沖響應(yīng)濾波(FIR)的測(cè)試數(shù)據(jù)結(jié)果,。圖3則以圖形方式表示收集到的EEMBC的基本整數(shù)浮點(diǎn)的數(shù)據(jù)結(jié)果。在13 MHz運(yùn)行兩個(gè)不同的基準(zhǔn)測(cè)試,,在0.9 V~1.2 V之間改變CPU核的電壓。當(dāng)測(cè)試基準(zhǔn)運(yùn)行在CPU時(shí)鐘設(shè)置為208 MHz時(shí),,AHB的時(shí)鐘設(shè)置為其極限104 MHz,。在所有其他測(cè)試頻率中,CPU時(shí)鐘和AHB時(shí)鐘是相同的,。

圖3 收集到的EEMBC的基本整數(shù)浮點(diǎn)數(shù)據(jù)結(jié)果


??選擇FIR基準(zhǔn)作為一個(gè)測(cè)試基線是因?yàn)樗话↑c(diǎn)運(yùn)算,,當(dāng)與基本整數(shù)浮點(diǎn)基準(zhǔn)進(jìn)行比較時(shí),它可以提供有用的數(shù)據(jù),。提供這兩個(gè)基準(zhǔn)的數(shù)據(jù)以確定指令緩存和浮點(diǎn)協(xié)處理器性能所需的必要信息,。


?? 首先來(lái)看指令緩存的性能,觀察圖2和標(biāo)示著循環(huán)次數(shù)/s的圖,。數(shù)據(jù)表明,,在所有頻率下,當(dāng)指令緩存使能時(shí),,微控制器的絕對(duì)性能都更好,。第二,當(dāng)CPU時(shí)鐘頻率增加時(shí),,即使指令緩存提供了更好的絕對(duì)性能,,其提高的相對(duì)幅度不是線性的。通過(guò)觀察標(biāo)示著循環(huán)次數(shù)/s/MHz的圖,,讀者可以驗(yàn)證這一特性,。圖2表明,對(duì)于幾乎所有的CPU時(shí)鐘頻率性能都線性增加大約100次/s/MHz,而除了運(yùn)行在208 MHz時(shí),,根據(jù)指令緩存使能與否,,性能降至60或80次/s/MHz。


? 很明顯,,當(dāng)指令緩存使能時(shí),,系統(tǒng)運(yùn)行更快。因?yàn)楫?dāng)CPU從指令緩存執(zhí)行指令時(shí),,對(duì)AHB RAM進(jìn)行讀寫(xiě)的次數(shù)減少,。


? 非線性性能特征是由于AHB時(shí)鐘具有最高104 MHz的上限的結(jié)果。當(dāng)AHB時(shí)鐘慢于CPU時(shí)鐘時(shí),,CPU必須等待較長(zhǎng)的時(shí)間以從AHB總線的RAM上讀取指令,,其結(jié)果是每MHz相對(duì)性能的增加較小。


??下面分析一下指令緩存對(duì)能耗的影響,。如果只考慮圖2中功率(Power)的絕對(duì)功耗,,也許會(huì)得出關(guān)閉指令緩存可以節(jié)省整個(gè)系統(tǒng)能量的結(jié)論。然而,,Energy-Bench數(shù)據(jù)表明,,當(dāng)指令緩存被使能時(shí),每一個(gè)基準(zhǔn)循環(huán)消耗的能量實(shí)際上是低于指令緩存被關(guān)閉時(shí)的,。


?? 更詳細(xì)地對(duì)能量(Energy)圖進(jìn)行觀察表明,,當(dāng)指令緩存使能,在208 MHz,,1.2 V時(shí)每個(gè)循環(huán)消耗的能量甚至低于其他運(yùn)行頻率,。實(shí)際上,有10%~12%的提高,。換句話說(shuō),,在使能指令緩存的情況下執(zhí)行同樣的基準(zhǔn),高速(208 MHz)運(yùn)行較短的一段時(shí)間比低速(52 MHz或104 MHz)運(yùn)行較長(zhǎng)時(shí)間具有更好的能量效率,。


?? 從圖3及循環(huán)次數(shù)/s的圖可以看到使用浮點(diǎn)協(xié)處理器的運(yùn)行效率和能耗,。這張圖相當(dāng)生動(dòng)地表明了集成的浮點(diǎn)協(xié)處理器的性能效果。在頻率為208 MHz時(shí),,使能指令緩存,,使用軟件浮點(diǎn)運(yùn)算,微控制器運(yùn)行在大約8 500次/s,;而使用浮點(diǎn)協(xié)處理器,,這一值越至超過(guò)32 500次/s,性能提高超過(guò)280 %,。


?? 檢驗(yàn)浮點(diǎn)協(xié)處理器的能耗效果參見(jiàn)圖3中的能量圖,。當(dāng)指令緩存使能,、使用軟件浮點(diǎn)運(yùn)算時(shí),每個(gè)基準(zhǔn)負(fù)載在208 MHz的能量表明微控制器消耗每次循環(huán)大約16 J,; 而使用浮點(diǎn)協(xié)處理器時(shí),,這一值小于4 J/循環(huán)-節(jié)省超過(guò)75%的能量,而工作量是相同的,。


?? 圖2和循環(huán)次數(shù)/s圖表明,,在頻率為13 MHz、供電電壓為0.9 V和1.2 V時(shí),,性能基準(zhǔn)數(shù)據(jù)是相等的,。


?? 然而,功率圖表示,,在1.2 V時(shí)的功耗比0.9 V時(shí)的功耗要高大約75%,。


系統(tǒng)控制參數(shù)
?

?? 在測(cè)試?yán)又校褂玫腅EMBC特性工具決定目標(biāo)測(cè)試系統(tǒng)中指令緩存和浮點(diǎn)協(xié)處理器的性能,。根據(jù)這一性能,,可以選擇通用的配置參數(shù),以提供具有低能耗的系統(tǒng)性能的最好條件,。


??下面是一些參數(shù)選擇,,在類(lèi)似那些EEMBC Auto-Bench基準(zhǔn)測(cè)試組的環(huán)境下,可以控制系統(tǒng)的功率利用率和性能:
?(1)使能指令緩存能使性能更好,;
?(2)使用硬件浮點(diǎn)協(xié)處理器比軟件浮點(diǎn)的運(yùn)算性能明顯提高且能耗明顯降低,;
?(3)在208 MHz時(shí),指令緩存使能,,其能耗比低頻率時(shí)要好;
?(4)對(duì)于13 MHz低功耗運(yùn)行,,內(nèi)核電壓在0.9 V時(shí)比1.2 V時(shí)要好得多,。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]