設計出優(yōu)化性能的實時控制系統(tǒng)關鍵
設計實時控制系統(tǒng)的工程師不斷面臨優(yōu)化性能的挑戰(zhàn)。這些系統(tǒng)需要最小的延遲,其中采樣、處理和輸出之間的時間延遲必須處在緊湊的時間窗口內,以便滿足性能規(guī)格??刂葡到y(tǒng)的核心是用于計算控制信號的數(shù)學密集算法。利用可快速有效地執(zhí)行數(shù)學運算的微控制器(MCU)是實現(xiàn)這一目標的關鍵。理想情況下,該MCU將能夠在中央處理單元(CPU)執(zhí)行其它所需任務的同時執(zhí)行實時控制回路。一些系統(tǒng)甚至可能需要支持使用相同MCU的電力線通信(PLC)。
為此,TI C2000™MCU集成了多達四個集成的片上硬件加速器,可在許多實時應用中顯著提高設備性能。四個加速器包括浮點單元(FPU)、實時協(xié)處理器控制律加速器(CLA)、三角計算單元(TMU)和維特比、復數(shù)數(shù)學、CRC單元(VCU)。
每個C2000 MCU設計圍繞快速32位定點C28x CPU內核,其利用數(shù)字信號處理器和微控制器架構的最佳特性。將FPU添加到C28x定點內核(C28x + FPU)使設備能夠無縫支持硬件IEEE-754單精度浮點格式操作。由于浮點數(shù)學與定點數(shù)學相比提供了大的動態(tài)范圍,因此開發(fā)代碼變得更容易,且編程器不再需要關心縮放和飽和。另一個優(yōu)點是其提高了魯棒性,因為值不會在溢出或下溢時纏繞數(shù)字線,就像在定點數(shù)學上。使用編譯器工具可輕松編寫軟件,并移植現(xiàn)有代碼。FPU指令是標準C28x指令集的擴展,因此大多數(shù)指令將在一個或兩個流水線周期中運行,有些指令可并行完成。平均來說,與定點數(shù)學相比,使用浮點數(shù)學可讓性能提高多于2.5倍。
CLA是獨立的32位浮點硬件加速器,專為數(shù)學密集型計算而設計。它與C28x CPU并行執(zhí)行實時控制算法,有效地將設備的計算性能提高了一倍。通常,使用CLA的設備在執(zhí)行各種控制應用時,其性能改進與C28x CPU相比,提高了約1.3倍。此外,通過使用CLA來檢修時間關鍵功能,C28x CPU可釋放其他任務,例如通信和診斷。由于CLA可直接訪問諸如ADC和PWM模塊等各種控制外設,因此它能夠最小化延遲并具有快速觸發(fā)響應。 CLA能夠在ADC采樣轉換完成的相同周期讀取ADC結果寄存器,從而提供ADC的“即時”讀數(shù),及減少采樣到輸出延遲,并讓系統(tǒng)更快地響應頻率控制環(huán)路。憑借CLA的性能和效率優(yōu)勢,可在單個設備上實現(xiàn)完整的復雜實時控制應用。
TMU是FPU的擴展,通過有效地執(zhí)行控制系統(tǒng)應用中常用的三角和算術運算,進一步增強了C28x + FPU的指令集。與FPU一樣,TMU是一個與C28x CPU緊密耦合的IEEE-754浮點加速器,但在FPU提供通用浮點數(shù)學支持的情況下,TMU專注于加速幾個特定的三角數(shù)學運算,否則周期相當密集。這些三角運算包括正弦、余弦、反正切、除法和平方根。編譯器工具內置支持自動生成TMU指令,從而顯著減少了周期,并顯著提高了三角運算的性能。TMU的一個關鍵優(yōu)點是現(xiàn)有的C28x設計可實現(xiàn)即時優(yōu)勢,而無需重寫任何代碼,同時可移植性得以保持,因為相同的代碼可用于具有和不具有TMU支持的TI MCU。
VCU是一個緊密耦合的定點加速器,將通信應用程序的性能提高了約七倍。此外,將VCU用于這些類型的應用時,可無需單獨處理器即可節(jié)省成本。除了通信,VCU對于通用的信號處理應用(例如濾波和頻譜分析)非常有用。當使用典型的MCU來支持各種通信技術時,存在消耗大部分處理能力的四個關鍵操作:維特比解碼、復雜的快速傅里葉變換(FFT)、復雜的濾波器和循環(huán)冗余校驗(CRC)。使用VCU的硬件功能,通過提高軟件實現(xiàn)的性能,可讓應用程序大大受益。
結合高性能C28x CPU內核與各種高級硬件加速器,可實現(xiàn)復雜的實時控制系統(tǒng)所需的快速和高效的處理能力。
了解有關C2000 MCU加速器的更多信息:
訂購C2000 Delfino MCU F28379D LaunchPad開發(fā)套件
閱讀更多內容:“加速器:增強C2000 MCU系列的功能”
觀看C2000 Delfino F28377S LaunchPad開發(fā)套件培訓
觀看C2000 F28379D雙核LaunchPad技術概述