【導讀】控制回路是許多基于 MCU 的設計所執行的最基本的任務之一。通常這些設計中未充分利用的關鍵特征和外圍設備在現代單片機最有效地實現閉環控制系統。
控制回路是許多基于 MCU 的設計所執行的最基本的任務之一。通常這些設計中未充分利用的關鍵特征和外圍設備在現代單片機最有效地實現閉環控制系統。定時器和中斷控制器在這些系統中經常使用,但在實現控制系統時,許多其他功能,如 DMA、高級模數轉換器和專門的數學功能,常常被忽視。
本文將快速回顧高效的基于單片機的閉環控制系統的一些關鍵要求。提高效率的常用技術將使用一些例子說明 MCUs。一旦您了解了一些提高效率的常用技術,您就可以更好地尋找實現最佳關閉下一個控制循環設計的實現。
控制環基礎
控制環是控制動態系統的關鍵元素。一個動態系統可以是任何機械或電氣系統之間的關系(通常建模為輸入和輸出之間的線性關系)。輸出通常需要以這樣的方式控制,以保持在期望的操作“頻帶”內。例如,汽車的自動巡航控制就是這樣一個系統,在這個系統中,汽車的速度設定在一個期望的水平上,即使汽車碰到山坡,控制器也能保持車速不變。控制速度的算法使用一個控制環,它應用一個輸入(油門上的壓力),測量結果(速度)并根據需要調整輸入以保持速度達到所需的水平。一個簡單的單輸入單輸出控制系統的框圖,帶有控制回路,如圖 1 所示。
圖 1:一個簡單的動態控制系統控制回路框圖。
在上面的方框圖中,對動態系統的輸入產生一個輸出。輸出由反饋傳感器測量,并將測量的輸出與參考(期望)輸入進行比較。如果存在差異,系統控制器會使用所產生的錯誤來修改系統輸入,使系統輸出更接近參考輸入。系統控制器需要足夠智能,以避免由于不正確管理的控制系統引起的振蕩和其他問題。假設動態系統是線性的(輸出與輸入成比例)并不像你想的那樣有限制,因為許多機械和電氣系統是以線性方式運行的,或者很容易“偏置”,在更復雜的傳遞函數的線性區域內工作。
利用單片機實現控制回路
這是很容易看到為什么 MCU 實現控制系統的主力。與意識、能力計算、控制各種輸入和輸出,都在非常高的性能水平(特別是在高利率就像汽車機械系統)是一個自然的控制單元 MCU。除了 CPU 的能力,在單片機的智能外設有許多讓你閉環控制簡單有效。
控制回路通常在動態系統的每次調整之間有定時關系。這個“循環時間”決定了調整的速度。如果循環時間過長與系統動力學(受控系統的時變特性)相關,那么很難不可能有效地控制系統輸出。振蕩和失控的錯誤會累積,使系統處于失敗的危險中,也許是一個非常戲劇性的性質。一般來說,MCU 可以更快地關閉循環(處理輸出傳感器,確定任何參考錯誤,并調整系統輸入),更好。
有效的定時和計數因此關鍵功能所需要的最佳關閉控制回路和 MCU 的先進外設可以實現控制回路的最佳時機。例如,SiliconLabsefm32lg360f64g-e-csp81 單片機定時 / 計數器周圍有用控制回路實現的幾個特點。除了閉環控制器的主回路定時器外,還需要定時和計數功能。讓我們更詳細的 EFM32LG 計數器 / 定時器外設的框圖(圖 2)看,看它如何能幫助控制回路系統如圖 1 所示的實施等常用功能。
圖 2:SiliconLabsEFM32LG 單片機的定時器 / 計數器框圖。
的定時器 / 計數器,一個有用的功能是從外部來源,通過左邊的圖的 timn_ccn 引腳數轉換的能力。當觀察基于動態系統的測量輸出時產生轉換的傳感器時,這些輸入是有幫助的。例如,基于位置測量的旋轉測量常常在每次旋轉時產生轉換。還注意到在圖的上中間有一個正交解碼器塊,可以用于類似的測量。記錄的數量的計數,當達到存儲在 TImern_top 終端值可用于觸發中斷,立即行動或可存儲供以后處理。
定時器 / 計數器的輸出,圖中右側 TImn_ccn 引腳,可以使用脈沖寬度調制(PWM)控制動態系統輸入常用方案。在這些系統中,信號活動的時間與控制所需的電壓或電流電平有關。對信號周期、信號高時間和邊緣轉換點的精確控制都是關鍵的,并且可以有效地控制在定時器 / 計數器的 PWM 特性中。有三個單獨的 PWM 輸出也便于普通電機控制應用,其中三個單獨的繞組用于改變與旋轉電機相關的磁場。
智能外設控制
實現快速而有效的環路反饋時間通常需要使用智能外設來從大功率 CPU 和程序內存塊中卸載處理。如果外圍設備可以獨立于 CPU 操作,這就允許 CPU 執行其他更復雜的處理任務,甚至可以在低功耗狀態下等待,直到需要進行處理。一些先進的 MCU 具有特殊的外圍控制系統,可以用來連接外圍設備一起從 CPU 沒有干預的需要配置自主操作。例如,瑞薩 MCU 的單片機 r5f52108cdfm,rx210 集團的一員,有一個事件鏈接控制器(ELC)連接和控制外設輸出為自主操作的外設輸入。在 ELC 的框圖如圖 3 所示。
圖 3:瑞薩單片機 rx210 組事件鏈接控制器框圖。
圖左邊的內部外圍總線用于連接外圍設備,如圖右側所示。所有外設,包括 DMA 控制器、數據傳輸控制器(DTC)和中斷控制器(ICU)都可以與專用控件連接,自主地基于中斷、計時器比較結果或 PIN 轉換激活外設。多達 59 種類型的事件信號可以連接到外圍設備以啟動轉換、啟動計時器,并開始 DMA 或 DTC 傳輸或任何其他所需的外圍設備。當已設置為觸發器的事件發生時,將啟動所選模塊的操作集。
可以啟動多個操作的鏈,以便在沒有 CPU 干預的情況下完成復雜的操作。例如,計時器可以啟動存儲在內存中的模數轉換和轉換值。計數器可以跟蹤轉換的數量,并且在計數表明可以處理完整數據集時 CPU 可以被中斷。在 CPU 處理過程中,時鐘振蕩器可以自動切換到更快的模式。采用 ELC 發揮到了極致,很多的傳感功能中常見的控制回路的要求可以非常迅速和有效地使它容易實現快速循環次數的同時保持功率最小。
高效的計算
正如我們所看到的,使用智能和自主計數器 / 定時器和外圍設備可以改善環路時間和降低功耗——這是控制系統設計中的兩個重要方面。通常,每一個主要控制系統塊都需要計算來處理在檢測、比較、控制和操作被控制系統時所需的數據。事實上,隨著控制系統的效率、精度和長的使用壽命,計算需求急劇增加,已成為重要的系統需求。實現控制回路的高級算法現在使用比例積分微分算法,浮點運算通常需要提高精度。如果硬件中不支持高級計算,則在所需頻率下控制環路閉合變得非常困難。
MCU 廠商了解先進的加工能力的需要,包括數值處理能力,即使在低端 MCU 可以加快復雜的閉環控制設計所需的計算。高端機通常包括專用硬件加速浮點計算最精確的控制應用的要求。飛思卡爾 KineTIsK60 單片機 mk61fn1m0vmd15mk61fn1m0vm 類使用 32 位 ARMCortex-M 處理器與 DSP 指令和單精度浮點運算單元的速度為最復雜的控制算法,需要先進的計算。DSP 指令包括擴展單周期多累積(MAC)指令,用于高精度信號的快速處理,以及單指令多數據(SIMD)指令,以便更快地處理低分辨率信號。硬件分割塊只運行 2 到 12 個周期,加快了普通的縮放操作。
為了獲得更高的性能,可以使用雙核 CPU,以便并行處理任務。例如,一個德克薩斯樂器協奏曲的單片機,如 f28m35h52,兼具 ARMCortex-M332 位 CPU 和德克薩斯文書中的 32 位 CPU 浮點能力 TMS320C28X 處理器。下面的圖 4 顯示了這種雙核 MCU 的框圖。
圖 4:德克薩斯儀器 f28m35x 協奏曲 MCU 框圖。
基于 ARM 的 MCU,在圖的上部,可用于管理外圍設備,而協奏曲 CPU 可用于處理數據和管理受控制的系統。請注意,PWM 定時器與協奏曲子系統緊密相連,因此很容易產生由控制系統輸入所需的復雜波形。當應用程序有容易分離的算法時,雙核 CPU 之間的這種類型化是很重要的。如果你需要更多的處理能力為一個單一的算法或需要雙 CPU 步調一致的高可靠性,均勻的雙 CPU,具有相同的處理子系統,如德克薩斯儀器 cortex-r4 大力神 RM4ARMMCU 可能是更好的選擇。高可靠性應用的閉環控制系統可以使用異構雙 CPU 實現的內置冗余來提高效率和健壯性。
結論
在基于 MCU 的設計中,有效地關閉控制回路不必充滿嘗試和錯誤的方法來尋找最佳實現。更系統的方法,采用現代先進的功能正確,MCU 可以幫助你創建更高效,更快,更低的功耗,更有效的控制系統解決方案。
推薦閱讀:
晶振大佬也得看,如何設計PCB晶振
PCB板極限溫度測試方法分析
開關電源中的PFC功率因素校正理解,讀這一篇就明白啦
DC-DC開關電源管理芯片設計(下)
DC-DC開關電源管理芯片設計(上)
晶振大佬也得看,如何設計PCB晶振
PCB板極限溫度測試方法分析
開關電源中的PFC功率因素校正理解,讀這一篇就明白啦
DC-DC開關電源管理芯片設計(下)
DC-DC開關電源管理芯片設計(上)