基于STM32H743的仿真轉(zhuǎn)臺控制器設(shè)計
作者簡介:蘇長青(1985-),男,碩士,高級工程師,主要研究方向為慣性測試技術(shù)研究以及嵌入式軟硬件開發(fā)。E-mail:13755290593@163.com。
本文引用地址:http://m.butianyuan.cn/article/202201/431118.htm仿真轉(zhuǎn)臺能夠模擬飛行器的實際飛行環(huán)境,復(fù)現(xiàn)其運動時的各種動力學(xué)特性,從而獲得充分的試驗數(shù)據(jù),為飛行器設(shè)計和改造提供各種參考依據(jù)[1]。在現(xiàn)代武器的研制過程中經(jīng)常要求飛行器做大機動飛行,這就要求仿真轉(zhuǎn)臺具有足夠高的頻帶,能夠跟蹤高頻信號。仿真轉(zhuǎn)臺的頻帶主要取決于轉(zhuǎn)臺驅(qū)動機構(gòu)的最大力矩與最小時間常數(shù),控制器的響應(yīng)速度以及控制算法等因素對控制器硬件平臺的處理能力提出了更高的要求[2]。
本文針對仿真轉(zhuǎn)臺上述發(fā)展方向,搭建一個能滿足仿真轉(zhuǎn)臺復(fù)雜控制算法的硬件平臺,以高性能嵌入式處理器為核心,提供高達六軸獨立運動控制以及豐富的通信接口,為基于實時網(wǎng)絡(luò)的運動控制提供支持。
1 技術(shù)要求
仿真轉(zhuǎn)臺通常由機械臺體、電機驅(qū)動器、控制器、工控機等組成,控制器作為仿真轉(zhuǎn)臺的核心部分,主要用來實現(xiàn)閉環(huán)控制算法,對轉(zhuǎn)臺的位置信號進行采集和處理,并使用先進控制策略完成系統(tǒng)的閉環(huán)控制,保證轉(zhuǎn)臺控制系統(tǒng)的精度,同時與上位機顯控程序通信,把實時采集的轉(zhuǎn)臺角度、速率、狀態(tài)等信息發(fā)送給上位機進行顯示。通??刂破鲬?yīng)該包含測角接口、數(shù)字I/O接口、模擬量接口、通信接口等,具體指標(biāo)如表1 所示。
表1 控制器技術(shù)指標(biāo)
2 硬件設(shè)計
2.1 控制器總體架構(gòu)
根據(jù)控制器技術(shù)要求,首先進行總體架構(gòu)設(shè)計,如圖1 所示??刂破鞑捎谩疤幚砥?FPGA”的雙核心架構(gòu),處理器具有強數(shù)據(jù)處理能力,提供仿真轉(zhuǎn)臺系統(tǒng)的運行軌跡規(guī)劃、電機閉環(huán)控制、外部通信交互等功能。FPGA 是處理器與外圍元器件之間的橋梁,提供相關(guān)的接口邏輯處理、高精度中斷信號產(chǎn)生、數(shù)字輸入輸出的擴展等功能。
圖1 控制器原理框圖
2.2 處理器選型
目前,運動控制領(lǐng)域可供使用的嵌入式處理器方案有DSP 與MCU,下面分別就性價比、開發(fā)難易程度等進行對比,以選擇合適的開發(fā)平臺。
1)基于DSP 的平臺
DSP 在運動控制領(lǐng)域一直都處于領(lǐng)先地位,比較有代表性的產(chǎn)品是ADI 公司的ADSP 系列以及TI 公司的C6000 系列,TI 公司的DSP 在國內(nèi)應(yīng)用更為廣泛,本文以此為代表進行介紹對比。
TMS320C6748 定點和浮點DSP 是一款低功耗應(yīng)用處理器,基于C674x DSP 內(nèi)核。與其他TMS320C6000?平臺DSP 相比,該DSP 功耗小很多。該器件的DSP 內(nèi)核采用基于2 級緩存的架構(gòu)。第1 級程序緩存(L1P)是一個32 kB 的直接映射緩存,第1 級數(shù)據(jù)緩存(L1D)是一個32 kB 的2 路組相連緩存。第2 級程序緩存(L2P)包含256 kB 的存儲空間,由程序空間和數(shù)據(jù)空間共享。L2 存儲器可配置為映射存儲器、緩存或二者的組合。盡管系統(tǒng)內(nèi)的其他主機可訪問DSPL2,但還是額外提供了一個128 kB的RAM共享存儲器給其他主機使用,從而避免對DSP 性能產(chǎn)生影響[3]。
2)基于MCU 的平臺
STM32H7 系列MCU 采用ST 最新40 nm工藝DynamicEfficiency 架構(gòu),與上代STM32F7 系列比較,其性能提升一倍,動態(tài)功耗降低了一半。STM32H7 系列采用3 電源域設(shè)計,分別為D1、D2 和D3。D1 為高性能域,CPU 可以從TCM 和L1 中提取緊急的或優(yōu)先級較高的用戶程序,在400 MHz 的主頻下執(zhí)行,確保實現(xiàn)最快速響應(yīng)。此域采用AXI 總線矩陣來連接高帶寬外設(shè)和DMA 等。D2 為通信接口域,主要進行數(shù)據(jù)通信工作,減輕CPU 的負擔(dān)。此域工作頻率為D1 中的一半,其中采用AHB 主線連接全部通信接口,且與D1 中的AXI 相連。D3 為數(shù)據(jù)批處理域,與D2 同樣采用AHB 總線,工作頻率也與D2 相同。此部分中的ADC 可以在整個系統(tǒng)深度休眠時仍然進行數(shù)據(jù)處理。在電池驅(qū)動的情況下,D3 可以保證在低功耗條件下仍然進行必要的數(shù)據(jù)處理工作。除了3 個電源域設(shè)計之外,超大內(nèi)存和超多外設(shè)也是STM32H7 系列能有如此高性能的原因,在STM32H7 系列上,ST 采用了2∶1的內(nèi)存設(shè)計——2 MB 閃存和 1 MB RAM。這種存儲單元的設(shè)計也超越了STM32 之前的全部產(chǎn)品。在接口方面,STM32H7 系列中還加入了2 個CAN、最高6個UART 以及1 個以太網(wǎng)控制器[4]。
根據(jù)以上介紹,將不同計算平臺的性能指標(biāo)總結(jié)如表2 所示,選擇開發(fā)難度稍大,但是在性能、集成度、靈活性等方面都非常好的ARM 控制器STM32H743 作為主處理器。
表2 不同硬件平臺對比表
2.3 外圍電路選型設(shè)計
1)FPGA 選型
目前,國內(nèi)FPGA 芯片主要是Xilinx 及Intel 兩家公司的產(chǎn)品。Intel 公司的主流FPGA 分為兩大類,一種側(cè)重低成本應(yīng)用,容量中等,性能可以滿足一般的邏輯設(shè)計要求,如Cyclone 系列;還有一種側(cè)重于高性能應(yīng)用,容量大,性能滿足各類高端應(yīng)用,如Startix 系列。Xilinx 公司的產(chǎn)品與此類似,也包含高性價比的Spartan系列以及高性能的Virtex 系列。本文選擇Cyclone 系列第3 代產(chǎn)品EP3C10E144,該FPGA 有10 320 個邏輯單元、414 kbit 內(nèi)存單元、最大94 個用戶I/O,能夠滿足控制器外部邏輯接口處理的要求。
2)以太網(wǎng)通信接口
實現(xiàn)以太網(wǎng)通信的方式很多,可以用STM32H743內(nèi)部集成的以太網(wǎng)控制器,也可以用專門的以太網(wǎng)控制芯片W5100S,甚至采用集成度更高的串口轉(zhuǎn)以太網(wǎng)模塊XP1001000。越簡單的使用方式往往意味著付出的成本更多,不同方案對比如表3 所示。
表3 以太網(wǎng)方案對比
基于大數(shù)據(jù)實時傳輸?shù)囊笠约靶詢r比方面的考慮,本項目選擇基于W5100S 控制器的以太網(wǎng)通信方案。W5100S 芯片是WIZnet 最新推出的一款集成全硬件TCP/IP協(xié)議棧的性價比更高的嵌入式以太網(wǎng)控制器,為單片機提供了更加簡單、快速、穩(wěn)定、安全的以太網(wǎng)接入方案。全硬件TCP/IP 協(xié)議棧簡化了傳統(tǒng)的軟件TCP/IP 協(xié)議棧,卸載了MCU 用于處理TCP/IP 部分的線程,節(jié)約MCU 內(nèi)部ROM 等硬件資源。只需進行簡單的Socket 編程和少量的寄存器操作即可方便地進行嵌入式以太網(wǎng)上層應(yīng)用開發(fā),縮短產(chǎn)品開發(fā)周期,降低開發(fā)成本。W5100S 支持間接并行總線和高速SPI 接口2 種方式與主機進行通信。其內(nèi)部還集成了以太網(wǎng)數(shù)據(jù)鏈路層(MAC)和10Base-T/100Base-T 以太網(wǎng)物理層(PHY),支持自動協(xié)商(10/100-Based 全雙工/ 半雙工)。與傳統(tǒng)軟件協(xié)議棧不同,W5100S 內(nèi)嵌的4 個獨立硬件Socket 可以進行4 路獨立通信,4 路Socket 的通信效率互不影響,可以通過W5100S 芯片上的16 kB 收/ 發(fā)緩存靈活定義各個Socket 的大小。
3)模擬輸出接口
D/A 輸出芯片種類繁多,有單路輸出芯片,也有多路輸出芯片,與MCU 之間的接口分為并行接口和串行接口。本控制器選擇基于SPI 接口的串行D/A 芯片AD5674R。AD5764R 是一款4 通道、16 位串行輸入、雙極性輸出DAC,工作電壓范圍為±11.4 ~ ±16.5 V,標(biāo)稱滿量程輸出范圍為±10 V。該器件內(nèi)置輸出放大器、基準(zhǔn)電壓緩沖器以及專有上電/ 斷電控制電路,還有1個數(shù)字I/O 端口,可通過串行接口進行編程,以及1 個模擬溫度傳感器。每個通道均配有數(shù)字失調(diào)與增益調(diào)整寄存器。通過AD5764R 的SPI 接口直接與MCU 的SPI控制器連線簡單,使用方便,可以在最高30 MHz 的時鐘頻率下工作,支持雙緩沖技術(shù),所有DAC 可實現(xiàn)同時更新,是閉環(huán)伺服控制和開環(huán)控制應(yīng)用的理想之選。
4)測角接口
控制器中測角要求支持6 路光柵/ 編碼器接口,光柵/ 編碼器接口電氣規(guī)范均為RS-485 差分信號,本控制器中測角電路采用MAX3485 芯片實現(xiàn)測角信號的電平轉(zhuǎn)換,轉(zhuǎn)換后測角信號接入FPGA,進行Endata/BISS/ 正交編碼等測角協(xié)議的解碼工作。
5)數(shù)字I/O接口
數(shù)字輸入接口采用光耦隔離,用ACPL-244 光耦芯片實現(xiàn);數(shù)字輸出接口采用ISO7760 高性能6 通道數(shù)字隔離器,隔離后采用達林頓管驅(qū)動輸出,每路輸出能提供最大500 mA 的電流驅(qū)動能力。
6)溫濕度傳感器
溫濕度傳感器用于控制器運行時環(huán)境溫濕度的測量,本文選擇瑞士Sensirion 公司的數(shù)字式溫濕度傳感器SHT20。SHT20 配有全新設(shè)計的CMOSens? 芯片、經(jīng)過改進的電容式濕度傳感元件和標(biāo)準(zhǔn)的能隙溫度傳感元件,其性能已大大提升。甚至超出了前一代傳感器(SHT1x 和SHT7x)的可靠性水平。通過將敏感元件、標(biāo)定存儲器和數(shù)字接口集成在3 mm×3 mm 的襯底上,SHT20 成為尺寸最小的濕度傳感器,可滿足多種條件應(yīng)用。SHT20 溫濕度傳感器采用標(biāo)準(zhǔn)I2C 格式與外部接口可以輸出經(jīng)過標(biāo)定的溫度、濕度信號,使用簡單方便。
3 軟件設(shè)計
本控制器的核心功能是實現(xiàn)轉(zhuǎn)臺的運動控制,為了達到更好的伺服控制精度和動態(tài)控制性能,采用基于位置環(huán)PID 的方式進行運動控制[5],控制原理如圖2 所示。
當(dāng)接收到位置指令后,MCU 首先根據(jù)目標(biāo)位置、目標(biāo)速度和加速度進行位置規(guī)劃,經(jīng)過位置規(guī)劃后得出當(dāng)前時刻的給定位置,把給定位置與當(dāng)前光柵/ 編碼器反饋的角位置作差,得到誤差信號,經(jīng)過PID 控制算法得到當(dāng)前時刻控制輸出的DA 值;MCU 通過SPI 總線把D/A 值寫入D/A 轉(zhuǎn)換芯片A,DA 轉(zhuǎn)換芯片根據(jù)設(shè)定值產(chǎn)生相應(yīng)的模擬電壓信號,模擬電壓信號經(jīng)電機驅(qū)動器控制電機轉(zhuǎn)動。電機轉(zhuǎn)動后,MCU 以100 μs 為控制周期采集當(dāng)前時刻的角度值,再繼續(xù)與給定位置比較,經(jīng)PID 得出DA 值。經(jīng)過不停迭代后,電機在MCU 的控制下運動到目標(biāo)位置。在整個控制過程中,MCU 通過以太網(wǎng)向上位機發(fā)送角度量和運動過程中的狀態(tài)量,發(fā)送周期1 ms,并接收上位機下達的運動控制命令。MCU 控制電機運動的程序流程如圖3 所示。
4 控制性能測試
4.1 測試條件
為了測試控制器的性能,專門搭建了基于該控制器的轉(zhuǎn)臺控制電箱來控制3 軸仿真轉(zhuǎn)臺。通過與原有控制電箱對比,評價本文基于STM32H743 控制器性能的好壞??刂破餍阅軠y試如圖4 所示??刂破餍阅軐Ψ抡孓D(zhuǎn)臺的影響主要表現(xiàn)在動態(tài)指標(biāo)方面,測試項目主要針對速率運動時的速率精度、速度平穩(wěn)度測試,以及正弦運動時跟隨誤差測試,控制器性能對位置精度影響不大,不進行該項目的對比測試。
(a)基于控制器的轉(zhuǎn)臺控制箱
(b)測試用3軸仿真轉(zhuǎn)臺
圖4 控制器性能測試
參加對比測試的轉(zhuǎn)臺控制器采用TI 公司的C2000系列數(shù)字信號處理器TMS320F28335,它與本文的控制器的主要差異在于只支持單精度浮點數(shù)運算且主頻較低,控制周期為1 ms,詳細對比如表4 所示。
表4 控制器性能對比測試
4.2 速率測試
速率運動時測試速率包括1° / s、10° / s和100° / s,共3 項測試。速率測試評價方法參考《GJB 1801-93 慣性技術(shù)測試設(shè)置主要性能試驗方法》,采用定時測角方法,測量在規(guī)定采樣時間間隔的角度值;采樣時間間隔根據(jù)速率高低分檔,速率大于等于10° / s,間隔 360°,速率大于等于 1° / s 且小于10° / s,間隔為10°。
測試結(jié)果如表5 所示,可以看出,在 100° / s 大速率的情況下,基于STM32H743 的控制器由于其較短的控制周期,速率精度與速率平穩(wěn)度有較明顯的改善;在 1° / s 小速率的情況下,1 ms 的伺服控制周期已經(jīng)足夠,因此兩種控制器速率精度與速率平穩(wěn)度差別不明顯;隨著測試速率從 1° / s 增大到 100° / s,兩種控制器在速率精度與速率平穩(wěn)度上均有下降。
表5 速率運動測試
4.3 正弦測試
正弦測試時,設(shè)定正弦曲線的幅度1° ,頻率分別1 Hz、5 Hz 和10 Hz,共3 項測試。測試時在1 個正弦周期內(nèi)等間隔采集10個角位置反饋數(shù)據(jù),每個采樣點相位間隔36° ,與控制器軌跡規(guī)劃計算出的目標(biāo)角位置數(shù)據(jù)做差,得到該采樣點的跟隨誤差,然后計算跟隨誤差的均方根進行評價。
測試結(jié)果如表6 所示,可以看到,在頻率為1 Hz 的正弦運動時,2 種控制器跟隨誤差差別不大,但是在5 Hz、10 Hz頻率下, 基于STM32H743控制器的控制性能明顯優(yōu)于基于TMS320F28335 的控制器,表明在高動態(tài)情形下,性能強大的處理器對控制器的性能提升有很大作用。
表6 正弦運動測試
5 結(jié)論
通過對比測試可以看出,本文研制的基于STM32H743的仿真轉(zhuǎn)臺控制器運行頻率可達480 MHz,且支持雙精度浮點數(shù)運算,得益于其強大的處理能力,可以將控制周期縮短至100 μs,在大速率運動、大幅度正弦運動等高動態(tài)工作條件下,控制性能相對于原有控制器有明顯提升,在仿真轉(zhuǎn)臺控制領(lǐng)域有一定的應(yīng)用價值。
參考文獻:
[1]劉慧博,吳浩.飛行仿真轉(zhuǎn)臺控制器性能評價研究[J].計算機仿真,2016,33(2):69-72,110.
[2]陳曉梅,劉長江,杜保林.大型高精度轉(zhuǎn)臺控制系統(tǒng)研究[J].電光與控制,2019,26(5):90-94.
[3]TMS320C6748數(shù)據(jù)手冊[Z].德州儀器,2017.
[4]STM32H743數(shù)據(jù)手冊[Z].意法半導(dǎo)體,2021.
[5]徐非駿,王賀.直驅(qū)兩軸伺服轉(zhuǎn)臺實現(xiàn)[J].雷達與對抗,2020,40(2):50-55.
(本文來源于《電子產(chǎn)品世界》雜志2022年1月期)
評論