具有硬件矢量浮點(diǎn)運算單元的MCU在醫療電子中的應用
微控制器是將微型計算機的主要部分集成在一個(gè)芯片上的單芯片微型計算機。微控制器誕生于20世紀70年代中期,經(jīng)過(guò)20多年的發(fā)展,其成本越來(lái)越低,而性能越來(lái)越強大,這使其應用已經(jīng)無(wú)處不在,遍及各個(gè)領(lǐng)域。例如電機控制、條碼閱讀器/掃描器、消費類(lèi)電子、游戲設備、電話(huà)、HVAC、樓宇安全與門(mén)禁控制、工業(yè)控制與自動(dòng)化和白色家電(洗衣機、微波爐)等。
本文引用地址:http://dyxdggzs.com/article/150494.htm現今的嵌入式工業(yè)及汽車(chē)系統中,有許多是基于8位或16位微控制器架構來(lái)設計的。隨著(zhù)新的低功耗32位架構的面市,這些應用有可能獲得更高的性能、準確度和功效。此外,處理能力的提高也有助于實(shí)現新產(chǎn)品的差異性功能,包括先進(jìn)的控制算法,GUI顯示器、語(yǔ)音控制,以及電容式觸摸感測等下一代接口。8 bit/16 bit微控制器通常需要消耗很多計算資源來(lái)做這些工作。今天,內置浮點(diǎn)運算的強大微控制器開(kāi)始出現,32 bit微控制器有足夠的能力來(lái)實(shí)現其中的許多功能。
評估微控制器的性能
相比于專(zhuān)業(yè)的DSP處理器,微控制器用于信號處理具有如下優(yōu)勢:
(1)有效的循環(huán)控制;(2)豐富的外設;(3)單一的處理器結構、指令集和開(kāi)發(fā)工具鏈;(4)統一的中斷和任務(wù)切換環(huán)境,同類(lèi)存儲器;(5)同樣的操作系統同時(shí)管理控制和信號處理任務(wù),基于MMU;(6)由于大大地簡(jiǎn)化了開(kāi)發(fā)過(guò)程,所以上市時(shí)間較短;(7)流行的微控制器容易獲得,開(kāi)發(fā)工具成本低。
如何評估微控制器的性能是否滿(mǎn)足應用需求,是工程師在項目設計的早期階段需要考慮的問(wèn)題。評價(jià)和匯總來(lái)自數據手冊的信息是一種有效方法,另一種方法是使用某一類(lèi)型的評估板來(lái)進(jìn)行特定性能測試和功耗測試的方法。這兩類(lèi)方法都有各自的缺點(diǎn)。
32位與8/16位系統的效率差異相當大,在16位處理器上,一次普通的32位乘/累加操作需要4次乘法與4次加法運算。由于需要訪(fǎng)問(wèn)存儲器以存儲中間結果或釋放多個(gè)寄存器,執行效率會(huì )進(jìn)一步降低,并可能減慢其他操作的速度。因此,在16處理器上,一次32位乘法可能需要20~40個(gè)周期。而32位UC3C處理器只需要單個(gè)周期即可。此外,32位管線(xiàn)較寬,故從存儲器檢索數據及指令的速度更快。
在評估過(guò)程中,使用了三個(gè)步驟:(1)通過(guò)運行各種系統測試基準,并改變不同的系統參數,抽象出系統特征;(2)解釋收集的特征數據來(lái)確立系統的行為;(3)通過(guò)系統的行為決定怎樣設定控制參數,從而使系統表現達到預想的效果。
特征化
從理論上來(lái)說(shuō),性能測試是對運作系統式樣的質(zhì)化或量化評估。在實(shí)際應用中,系統的式樣可能不夠詳細,不足以定義完整的質(zhì)量測試,創(chuàng )建測試也許太昂貴,不能保證其開(kāi)發(fā)。一個(gè)比較好的得到系統特征的折衷方法是,使用測試基準作為一個(gè)或一系列以軟件執行的測試,提供量化的數據,這些數據可以用來(lái)比較不同系統的特性。
為得到微控制器的特性,從EEMBC的Auto-Bench組選擇一套性能測試基準。這些基準幫助預測微控制器在汽車(chē)電子,工業(yè)和一般應用中的性能。運行每一個(gè)基準測試都通過(guò)多次反復循環(huán)以消除一些啟動(dòng)代碼在每次測試開(kāi)始時(shí)只運行一次的影響。使用這一工業(yè)標準基準組件的一個(gè)優(yōu)勢就是可以將結果數據與其他類(lèi)似架構微控制器的測試數據進(jìn)行比較,以評判總體系統性能。
這里所測試的微控制器是基于A(yíng)RM926EJ-S內核,帶硬件矢量浮點(diǎn)協(xié)處理器和一個(gè)32 KB的指令緩存(I-cache)。該測試衡量浮點(diǎn)協(xié)處理器和指令緩存的性能。在微控制器不同的工作頻率時(shí)運行Auto-Bench測試基準,使用Energy-Bench測量每一基準執行中消耗的能量。Energy-Bench是另一個(gè)EEMBC工具,可以測量基準負載運行時(shí)處理器消耗的能量。從Energy-Bench收集的數據可以觀(guān)察到微控制器在各種不同負載下的能量效率。選擇了這些工具來(lái)評估微控制器,下一步就是確定微控制器在不同運行條件下的性能。
性能分析
為了分析微控制器的性能,需要決定在不同條件下的整體系統響應。在測試項目中,需要評估恩智浦微控制器上浮點(diǎn)協(xié)處理器和指令緩存的性能。
運行Auto-bench基準測試組,改變4個(gè)參數:運行頻率、CPU核的電壓、指令緩存的狀態(tài)和浮點(diǎn)協(xié)處理器的狀態(tài)。
Auto-Bench/Energy-Bench測試環(huán)境系統由三部分組成:數據獲取系統(DAC)、軟件開(kāi)發(fā)環(huán)境和測試目標。美國國家儀器公司的DAC連接到PC機上,PC機運行Energy-Bench這一功耗和能耗測試軟件。軟件測試環(huán)境使用KeilTM集成開(kāi)發(fā)工具來(lái)編譯,下載和運行Auto-Bench測試基準。把供給微處理器的三個(gè)電源電壓隔離開(kāi),Energy-Bench可以測量Auto-Bench基準測試中消耗的能量,并計算在每一測試中消耗的總能量。
在4種不同的頻率下運行Auto-Bench(13 MHz、52 MHz、104 MHz和208 MHz),并組合其他測試條件,包括打開(kāi)或關(guān)閉浮點(diǎn)協(xié)處理器,打開(kāi)或關(guān)閉指令緩存。浮點(diǎn)協(xié)處理器默認為不使能的,使得編譯器對任何需要浮點(diǎn)運算的情況使用軟件浮點(diǎn)。
實(shí)際收集到的數據遠比本文中所能呈現的多,這里只介紹兩個(gè)有代表性的案例以表現收集的特征數據怎樣決定系統的性能。圖1以圖形方式表示了EEMBC的有限脈沖響應濾波(FIR)的測試數據結果。在13 MHz運行兩個(gè)不同的基準測試,在0.9 V~1.2 V之間改變CPU核的電壓。當測試基準運行在CPU時(shí)鐘設置為208 MHz時(shí),AHB的時(shí)鐘設置為其極限104 MHz.在所有其他測試頻率中,CPU時(shí)鐘和AHB時(shí)鐘是相同的。
圖1EEMBC的有限脈沖響應濾波(FIR)測試數據結果
浮點(diǎn)運算就是實(shí)數運算,因為計算機只能存儲整數,所以實(shí)數都是約數,這樣浮點(diǎn)運算是很慢的而且會(huì )有誤差?,F在大多數機器都是32位的,也就是說(shuō)32位都用來(lái)表示整數的話(huà),那么對于無(wú)符號整數就是0 到 2^32-1,對于有符號的話(huà)就是-2^31 到 2^31-1.
首先來(lái)看指令緩存的性能,觀(guān)察圖1標示著(zhù)循環(huán)次數/s的圖。數據表明,在所有頻率下,當指令緩存使能時(shí),微控制器的絕對性能都更好。第二,當CPU時(shí)鐘頻率增加時(shí),即使指令緩存提供了更好的絕對性能,其提高的相對幅度不是線(xiàn)性的。通過(guò)觀(guān)察標示著(zhù)循環(huán)次數/s/MHz的圖,讀者可以驗證這一特性。圖2表明,對于幾乎所有的CPU時(shí)鐘頻率性能都線(xiàn)性增加大約100次/s/MHz,而除了運行在208 MHz時(shí),根據指令緩存使能與否,性能降至60或80次/s/MHz。
很明顯,當指令緩存使能時(shí),系統運行更快。因為當CPU從指令緩存執行指令時(shí),對AHB RAM進(jìn)行讀寫(xiě)的次數減少。
非線(xiàn)性性能特征是由于A(yíng)HB時(shí)鐘具有最高104 MHz的上限的結果。當AHB時(shí)鐘慢于CPU時(shí)鐘時(shí),CPU必須等待較長(cháng)的時(shí)間以從AHB總線(xiàn)的RAM上讀取指令,其結果是每MHz相對性能的增加較小。
下面分析一下指令緩存對能耗的影響。如果只考慮圖2中功率(Power)的絕對功耗,也許會(huì )得出關(guān)閉指令緩存可以節省整個(gè)系統能量的結論。然而,Energy-Bench數據表明,當指令緩存被使能時(shí),每一個(gè)基準循環(huán)消耗的能量實(shí)際上是低于指令緩存被關(guān)閉時(shí)的。
更詳細地對能量(Energy)圖進(jìn)行觀(guān)察表明,當指令緩存使能,在208 MHz,1.2 V時(shí)每個(gè)循環(huán)消耗的能量甚至低于其他運行頻率。實(shí)際上,有10%~12%的提高。換句話(huà)說(shuō),在使能指令緩存的情況下執行同樣的基準,高速(208 MHz)運行較短的一段時(shí)間比低速(52 MHz或104 MHz)運行較長(cháng)時(shí)間具有更好的能量效率。
從循環(huán)次數/s的圖可以看到使用浮點(diǎn)協(xié)處理器的運行效率和能耗。這張圖相當生動(dòng)地表明了集成的浮點(diǎn)協(xié)處理器的性能效果。在頻率為208 MHz時(shí),使能指令緩存,使用軟件浮點(diǎn)運算,微控制器運行在大約8 500次/s;而使用浮點(diǎn)協(xié)處理器,這一值越至超過(guò)32 500次/s,性能提高超過(guò)280 %.
檢驗浮點(diǎn)協(xié)處理器的能耗效果參見(jiàn)圖3中的能量圖。當指令緩存使能、使用軟件浮點(diǎn)運算時(shí),每個(gè)基準負載在208 MHz的能量表明微控制器消耗每次循環(huán)大約16 J; 而使用浮點(diǎn)協(xié)處理器時(shí),這一值小于4 J/循環(huán)-節省超過(guò)75%的能量,而工作量是相同的。
圖1循環(huán)次數/s圖表明,在頻率為13 MHz、供電電壓為0.9 V和1.2 V時(shí),性能基準數據是相等的。
然而,功率圖表示,在1.2 V時(shí)的功耗比0.9 V時(shí)的功耗要高大約75%.
系統控制參數
在測試例子中,使用的EEMBC特性工具決定目標測試系統中指令緩存和浮點(diǎn)協(xié)處理器的性能。根據這一性能,可以選擇通用的配置參數,以提供具有低能耗的系統性能的最好條件。
下面是一些參數選擇,在類(lèi)似那些EEMBC Auto-Bench基準測試組的環(huán)境下,可以控制系統的功率利用率和性能:
(1)使能指令緩存能使性能更好;
(2)使用硬件浮點(diǎn)協(xié)處理器比軟件浮點(diǎn)的運算性能明顯提高且能耗明顯降低;
(3)在208 MHz時(shí),指令緩存使能,其能耗比低頻率時(shí)要好;
(4)對于13 MHz低功耗運行,內核電壓在0.9 V時(shí)比1.2 V時(shí)要好得多。
除以上這些總體概要外,更重要的事實(shí)是,根據工業(yè)標準的性能和能量基準測試得到的數據,確定了系統的性能。而這些基準可以公開(kāi)得到,并可得到獨立權威的驗證。
使用EEMBC Auto-Bench基準和Energy-Bench基準,可以得到一致的性能分析,很容易演示給其他人。而且,可以被重復、驗證。
設計嵌入式系統通常是一項很有挑戰性的任務(wù),幾乎每一個(gè)嵌入式系統都有相對唯一的硬件配置。對于特定的嵌入式操作系統,經(jīng)常需要重寫(xiě)特定的代碼。對此通常還有非常嚴格的能耗限制。本文給出了量化的科學(xué)測試方法以幫助嵌入式工程師考慮如何選擇適合于特定應用的控制器來(lái)構建系統。即使所測試的嵌入式系統差異很大,確鑿的數據仍可以幫助系統評估者比較相同的性能特征。
在本文的測試設置中,使用了EEMBC的特性工具來(lái)決定恩智浦微控制器的性能。然后使用這些性能信息為特定的運行環(huán)境選擇最好的控制參數。該測試例程量化了評估系統中使用微控制器的指令緩存和浮點(diǎn)協(xié)處理器的系統性能。收集到的特征數據方便定義系統行為,并提供一種方法學(xué)來(lái)選擇運行參數以控制系統性能和能量消耗。
測試結果表明,硬件向量浮點(diǎn)運算單元的使用可以使系統性能提高5倍左右,并可減少代碼量,降低功耗。
硬件浮點(diǎn)協(xié)處理器VFP9是NXP基于A(yíng)RM926EJ-S內核的LPC3000系列的特征,NXP低功耗的90 nm工藝技術(shù)可以以非常小的芯片面積和極小的功耗實(shí)現這一功能,使得LPC3000 ARM9微控制器非常適合需要進(jìn)行信號處理的醫療電子等行業(yè)應用。
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論