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