具有硬件矢量浮點運算單元的微控制器在醫療電子中
關鍵詞: 微控制器;ARM9;浮點運算;醫療電子 本文引用地址:http://www.j9360.com/article/199827.htm
如今,越來越多的嵌入式控制應用需要信號處理,如:濾波、插值、降噪、頻譜分析、解調等。醫療電子設備正是需要進行信號處理的一個應用領域。例如用于超聲診斷的圖像處理,在進行圖像重建、邊緣處理、增強以及圖像識別和辨識形狀時均需要進行大量的數字信號處理。用于胎心、血壓和心跳等監護的控制平臺,其運算模塊也會對采樣得到的原始數據經過一定的算法處理,再將處理和分析結果通過LCD等反饋給使用者。
8 bit/16 bit微控制器通常需要消耗很多計算資源來做這些工作。今天,內置浮點運算的強大微控制器開始出現,32 bit微控制器有足夠的能力來實現其中的許多功能。
評估微控制器的性能
相比于專業的DSP處理器,微控制器用于信號處理具有如下優勢:
(1)有效的循環控制;(2)豐富的外設;(3)單一的處理器結構、指令集和開發工具鏈;(4)統一的中斷和任務切換環境,同類存儲器;(5)同樣的操作系統同時管理控制和信號處理任務,基于MMU;(6)由于大大地簡化了開發過程,所以上市時間較短;(7)流行的微控制器容易獲得,開發工具成本低。
如何評估微控制器的性能是否滿足應用需求,是工程師在項目設計的早期階段需要考慮的問題。評價和匯總來自數據手冊的信息是一種有效方法,另一種方法是使用某一類型的評估板來進行特定性能測試和功耗測試的方法。這兩類方法都有各自的缺點。
依賴于數據手冊的比較是有風險的,而測試多種硬件通常不切實際、耗時且昂貴。本文檢驗了一種使用工業標準基準數據的中間解決方案,在產品設計的早期階段,當關鍵器件選定以后,使用這種方法來評估性能和能耗。
目標是調查恩智浦微控制器在幾種不同測試標準下的系統性能,并把收集到的數據和能耗關聯起來。這就需要同時測量性能和功耗,進而能夠測量在特定負載下的整體能耗。
在評估過程中,使用了三個步驟:(1)通過運行各種系統測試基準,并改變不同的系統參數,抽象出系統特征;(2)解釋收集的特征數據來確立系統的行為;(3)通過系統的行為決定怎樣設定控制參數,從而使系統表現達到預想的效果。
特征化
從理論上來說,性能測試是對運作系統式樣的質化或量化評估。在實際應用中,系統的式樣可能不夠詳細,不足以定義完整的質量測試,創建測試也許太昂貴,不能保證其開發。一個比較好的得到系統特征的折衷方法是,使用測試基準作為一個或一系列以軟件執行的測試,提供量化的數據,這些數據可以用來比較不同系統的特性。
為得到微控制器的特性,從EEMBC的Auto-Bench組選擇一套性能測試基準。這些基準幫助預測微控制器在汽車電子,工業和一般應用中的性能。運行每一個基準測試都通過多次反復循環以消除一些啟動代碼在每次測試開始時只運行一次的影響。使用這一工業標準基準組件的一個優勢就是可以將結果數據與其他類似架構微控制器的測試數據進行比較,以評判總體系統性能。
這里所測試的微控制器是基于ARM926EJ-S內核,帶硬件矢量浮點協處理器和一個32 KB的指令緩存(I-cache)。該測試衡量浮點協處理器和指令緩存的性能。在微控制器不同的工作頻率時運行Auto-Bench測試基準,使用Energy-Bench測量每一基準執行中消耗的能量。Energy-Bench是另一個EEMBC工具,可以測量基準負載運行時處理器消耗的能量。從Energy-Bench收集的數據可以觀察到微控制器在各種不同負載下的能量效率。選擇了這些工具來評估微控制器,下一步就是確定微控制器在不同運行條件下的性能。
性能分析
為了分析微控制器的性能,需要決定在不同條件下的整體系統響應。在測試項目中,需要評估恩智浦微控制器上浮點協處理器和指令緩存的性能。
運行Auto-bench基準測試組,改變4個參數:運行頻率、CPU核的電壓、指令緩存的狀態和浮點協處理器的狀態。
評論