控制回路是許多基于MCU的設計執行的最基本任務之一。這些設計通常無法充分利用現代MCU中可用的關鍵特性和外圍設備來最有效地實現閉環控制系統。定時器和中斷控制器通常用于這些系統,但在實現控制系統時,其他一些功能,如DMA,高級模數轉換器和專用數學函數,往往被忽略了很多次。
本文將快速回顧有效的基于MCU的閉環控制系統的一些關鍵要求。將使用一些示例MCU來說明用于提高效率的常用技術。一旦您了解了一些提高效率的常用技術,您就可以更好地尋找能夠最佳地關閉下一個控制回路設計的實現。
控制回路基礎知識
控制回路是用于控制動態系統的關鍵元素。動態系統可以是在輸入和輸出之間具有關系(通常建模為線性關系)的任何機械或電氣系統。通常需要控制輸出以使其保持在期望的操作“頻帶”內。例如,汽車中的自動巡航控制是這樣一種系統,其中汽車的速度被設定在期望的水平,并且即使汽車遇到山坡,控制器也保持速度恒定。控制速度的算法利用控制回路,該控制回路應用輸入(加速器上的壓力),測量結果(速度)并根據需要調整輸入以將速度保持在期望的水平。帶有控制回路的簡單單輸入和單輸出控制系統的框圖如下圖1所示。
圖1:塊一個簡單的動態控制系統控制回路圖。
在上面的框圖中,動態系統的輸入產生一個輸出。輸出由反饋傳感器測量,測量的輸出與參考(所需)輸入進行比較。如果存在差異,系統控制器將使用結果錯誤修改系統輸入,以使系統輸出更接近參考輸入。系統控制器需要足夠智能,以避免因錯誤管理的控制系統而導致的振蕩和其他問題。假設動態系統是線性的(輸出與輸入成比例)并不像您想象的那樣具有限制性,因為許多機械和電氣系統確實以線性方式運行,或者可以很容易地“偏向”以在更復雜的傳遞函數的線性區域。
使用MCU實現控制回路
很容易理解為什么MCU是實現控制系統的主力。由于能夠以非常高的性能速率(特別是相對于電機等機械系統的高性能速率)感測,計算和控制各種輸入和輸出,因此MCU是一種自然的控制元件。除了CPU的功能外,MCU中的許多智能外設還可以簡化和高效地關閉控制回路。
控制回路通常在動態系統的每次調整之間具有時序關系。這個“循環時間”決定了調整的速度。如果循環時間與系統動力學(受控系統的時變性質)相關太長,則有效控制系統輸出即使不是不可能也是困難的。振蕩和“失控”錯誤可能會累積,使系統面臨失敗的危險,可能是非常戲劇性的。通常,MCU關閉環路的速度越快(處理輸出傳感器,確定任何參考誤差,并調整系統輸入),效果越好。
因此,高效的定時和計數是最佳關閉控制回路所需的關鍵功能,具有高級定時外設的MCU可以最佳地實現控制回路。例如,Silicon Labs EFM32LG360F64G-E-CSP81 MCU具有定時器/計數器外設,具有在控制環實現中有用的幾個功能。除了閉環控制器的主循環定時器之外,通常還需要定時和計數功能。讓我們更詳細地看一下EFM32LG計數器/定時器外設的框圖(圖2),看看它如何幫助實現圖1所示的控制回路系統中的其他常用功能。
圖2:Silicon Labs EFM32LG MCU定時器/計數器框圖(由Silicon Labs提供)。
Timer/的一個有用功能計數器是通過圖左側的TIMn_CCn引腳計算來自外部源的轉換的能力。當觀察基于動態系統的測量輸出產生轉變的傳感器時,這些輸入可能是有用的。例如,基于位置測量的旋轉測量通常在每次旋轉時產生過渡。另請注意,圖中上部有一個正交解碼器模塊,可用于類似的測量。當記錄到達存儲在Timern_TOP中的終端值時,記錄的計數可用于觸發中斷以立即采取行動,或者可以存儲以供將來處理。
定時器/計數器輸出,圖中右側的TIMn_CCn引腳,可以使用通用的脈沖寬度調制(PWM)方案來控制動態系統的輸入。在這些系統中,信號有效的時間與用于控制的所需電壓或電流水平有關。精確控制信號周期,信號高電平時間和邊沿轉換點都很關鍵,可以在定時器/計數器的PWM功能內有效控制。具有三個獨立的PWM輸出也便于常見的電機控制應用,其中三個獨立的繞組用于改變與旋轉電機相關的磁場。
智能外設控制
實現快速有效的環路反饋時間通常需要使用智能外設來卸載高功率CPU和程序存儲器模塊的處理。如果外設可以獨立于CPU運行,則可以允許CPU執行其他更復雜的處理任務,甚至可以在低功耗狀態下等待,直到需要處理為止。一些高級MCU具有特殊的外圍控制系統,可通過將外圍設備連接在一起來配置自主操作,因此無需CPU干預。例如,瑞薩R5F52108CDFM MCU是RX210 MCU組的成員,它具有一個事件鏈路控制器(ELC),用于連接和控制外圍輸出到外設輸入,以實現自主操作。 ELC的框圖如下圖3所示。
圖3:瑞薩RX210群MCU事件鏈路控制器框圖(由瑞薩提供)。
圖中左側的內部外圍總線用于互連外圍設備,如圖所示。圖的右側。所有外設,包括DMA控制器,數據傳輸控制器(DTC)和中斷控制器單元(ICU)都可以與專用控制器連接,以根據中斷,定時器比較結果或引腳轉換自動激活外設。多達59種類型的事件信號可以鏈接到外設,以啟動轉換,啟動定時器,并開始DMA或DTC傳輸或任何其他所需的外設。當發生已設置為觸發的事件時,將啟動為所選模塊設置的操作。
可以啟動多個操作鏈,這樣就可以在沒有CPU干預的情況下完成復雜的操作。例如,計時器可以啟動模數轉換,并將轉換后的值存儲在存儲器中。計數器可以跟蹤轉換次數,當計數表明可以處理完整數據集時,CPU可能會被中斷。在CPU處理期間,時鐘振蕩器也可以自動切換到更快的模式。通過充分利用ELC,可以非常快速有效地完成常見控制回路中所需的許多傳感功能,從而可以輕松實現快速回路時間,同時將功率降至最低。
高效計算
正如我們所看到的,使用智能和自主計數器/定時器和外設可以縮短循環時間并降低功耗 - 這兩者都是控制系統設計的重要方面。通常,在每個主控制系統塊中需要計算以處理在感測,比較,控制和操作受控系統時所需的數據。實際上,隨著控制系統效率,精度和長使用壽命成為重要的系統要求,計算要求急劇增加。用于實現控制回路的高級算法現在使用比例積分微分算法,其中通常需要浮點計算以提高精度。如果硬件不支持高級計算,則很難實現所需頻率的控制環閉合。
MCU制造商了解對高級處理能力的需求,并且即使在低端MCU上也包含了數字處理功能,可以加速復雜閉環控制設計所需的計算速度。高端MCU通常包括專用硬件,以加速最精確控制應用所需的浮點計算。飛思卡爾Kinetis K60 MK61FN1M0VMD15 MK61FN1M0VM類MCU使用帶有DSP指令的32位ARM Cortex-M CPU和單精度浮點單元來加速最復雜控制算法所需的高級計算。 DSP指令包括用于快速處理高精度信號的擴展單周期多累加(MAC)指令,以及用于更快處理低分辨率信號的單指令多數據(SIMD)指令。硬件分頻塊僅在2到12個周期內工作,從而加速了常見的縮放操作。
為了獲得更高的性能,可以使用雙核CPU,以便可以并行完成處理任務。例如,德州儀器協奏曲微控制器,如F28M35H52,具有ARM Cortex-M3 32位CPU和具有浮點功能的Texas Instruments TMS320C28x 32位CPU。該雙核MCU的框圖如下圖4所示。
圖4:德州儀器F28M35x協同MCU單片機框圖(由德州儀器提供) )。
基于ARM的MCU位于圖的上半部分,可用于管理外設,而Concerto CPU可用于處理數據和管理受控系統。請注意,PWM定時器與Concerto子系統緊密相關,可以輕松生成受控系統輸入所需的復雜波形。當您的應用程序具有易于分離的算法時,雙核CPU之間的這種專業化非常重要。如果您只需要單個算法需要更多處理能力,或者需要雙CPU以鎖步方式運行以獲得更高的可靠性,那么具有相同處理子系統的同類雙CPU(如德州儀器Hercules RM4 ARM Cortex-R4 MCU)可能更適合。用于高可靠性應用的閉環控制系統可以使用異構雙CPU實現的內置冗余來實現更高效和穩健的設計。
結論
關閉控制在基于MCU的設計中有效地循環不需要充分利用反復試驗方法來尋找最佳實現。更加系統化的方法可以正確使用現代MCU的所有高級功能,可以幫助您創建更高效,更快速,更低功耗和更具成本效益的控制系統解決方案。
-
mcu
+關注
關注
146文章
17019瀏覽量
350372 -
控制系統
+關注
關注
41文章
6550瀏覽量
110498 -
定時器
+關注
關注
23文章
3241瀏覽量
114511
發布評論請先 登錄
相關推薦
評論