基于STM32H743的仿真转台控制器设计
2022-03-22苏长青余沛杨阳贺楠
苏长青 余沛 杨阳 贺楠
摘 要:为了达到更好的控制性能,高动态仿真转台控制系统伺服周期通常为100?μs甚至更短,因此对控制器硬件平台的实时计算能力提出了更高的要求。本文通过高性能控制平台设计,研制出了基于STM32H743的硬件平台,运行频率可达480?MHz,支持双精度浮点运算。通过移植转台运动控制算法在三轴仿真转台上进行控制性能测试,结果表明,与基于TMS320F28335的转台控制器相比,在速率运动的速率精度、速率平稳度以及正弦运动的跟随误差方面,控制性能均有较大的提升,在仿真转台领域有良好的应用前景。
关键词:仿真转台;伺服控制;ARM
仿真转台能够模拟飞行器的实际飞行环境,复现其运动时的各种动力学特性,从而获得充分的试验数据,为飞行器设计和改造提供各种参考依据[1]。在现代武器的研制过程中经常要求飞行器做大机动飞行,这就要求仿真转台具有足够高的频带,能够跟踪高频信号。仿真转台的频带主要取决于转台驱动机构的最大力矩与最小时间常数,控制器的响应速度以及控制算法等因素对控制器硬件平台的处理能力提出了更高的要求[2]。
本文针对仿真转台上述发展方向,搭建一个能满足仿真转台复杂控制算法的硬件平台,以高性能嵌入式处理器为核心,提供高达六轴独立运动控制以及丰富的通信接口,为基于实时网络的运动控制提供支持。
1 技术要求
仿真转台通常由机械台体、电机驱动器、控制器、工控机等组成,控制器作为仿真转台的核心部分,主要用来实现闭环控制算法,对转台的位置信号进行采集和处理,并使用先进控制策略完成系统的闭环控制,保证转台控制系统的精度,同时与上位机显控程序通信,把实时采集的转台角度、速率、状态等信息发送给上位机进行显示。通常控制器应该包含测角接口、数字I/O接口、模拟量接口、通信接口等,具体指标如表1所示。
2 硬件设计
2.1 控制器总体架构
根据控制器技术要求,首先进行总体架构设计,如图1所示。控制器采用“处理器+FPGA”的双核心架构,处理器具有强数据处理能力,提供仿真转台系统的运行轨迹规划、电机闭环控制、外部通信交互等功能。FPGA是处理器与外围元器件之间的桥梁,提供相关的接口逻辑处理、高精度中断信号产生、数字输入输出的扩展等功能。
2.2 处理器选型
目前,运动控制领域可供使用的嵌入式处理器方案有DSP与MCU,下面分别就性价比、开发难易程度等进行对比,以选择合适的开发平台。
1)基于DSP的平台
DSP在运动控制领域一直都处于领先地位,比较有代表性的产品是ADI公司的ADSP系列以及TI公司的C6000系列,TI公司的DSP在国内应用更为广泛,本文以此为代表进行介绍对比。
TMS320C6748定點和浮点DSP是一款低功耗应用处理器,基于C674x DSP内核。与其他TMS320C6000?平台DSP相比,该DSP功耗小很多。该器件的DSP内核采用基于2级缓存的架构。第1级程序缓存(L1P)是一个32 kB的直接映射缓存,第1级数据缓存(L1D)是一个32 kB的2路组相连缓存。第2级程序缓存(L2P)包含256 kB的存储空间,由程序空间和数据空间共享。L2存储器可配置为映射存储器、缓存或二者的组合。尽管系统内的其他主机可访问DSP L2,但还是额外提供了一个128 kB的RAM共享存储器给其他主机使用,从而避免对DSP性能产生影响[3]。
2)基于MCU的平台
STM32H7系列MCU采用ST最新40 nm工艺DynamicEfficiency架构,与上代STM32F7系列比较,其性能提升一倍,动态功耗降低了一半。 STM32H7系列采用3电源域设计,分别为D1、D2和D3。D1为高性能域,CPU可以从TCM和L1中提取紧急的或优先级较高的用户程序,在400 MHz的主频下执行,确保实现最快速响应。此域采用AXI总线矩阵来连接高带宽外设和DMA等。D2为通信接口域,主要进行数据通信工作,减轻CPU的负担。此域工作频率为D1中的一半,其中采用AHB主线连接全部通信接口,且与D1中的AXI相连。D3为数据批处理域,与D2同样采用AHB总线,工作频率也与D2相同。此部分中的ADC可以在整个系统深度休眠时仍然进行数据处理。在电池驱动的情况下,D3可以保证在低功耗条件下仍然进行必要的数据处理工作。除了3个电源域设计之外,超大内存和超多外设也是STM32H7系列能有如此高性能的原因,在STM32H7系列上,ST采用了2 1∶的内存设计——2 MB闪存和1 MB RAM。这种存储单元的设计也超越了STM32之前的全部产品。在接口方面,STM32H7系列中还加入了2个CAN、最高6个UART以及1个以太网控制器[4]。
根据以上介绍,将不同计算平台的性能指标总结如表2所示,选择开发难度稍大,但是在性能、集成度、灵活性等方面都非常好的ARM控制器STM32H743作为主处理器。
2.3 外围电路选型设计
1)FPGA选型
目前,国内FPGA芯片主要是Xilinx及Intel两家公司的产品。Intel公司的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone系列;还有一种侧重于高性能应用,容量大,性能满足各类高端应用,如Startix系列。Xilinx公司的产品与此类似,也包含高性价比的Spartan系列以及高性能的Virtex系列。本文选择Cyclone系列第3代产品EP3C10E144,该FPGA有10 320个逻辑单元、414 kbit内存单元、最大94个用户I/O,能够满足控制器外部逻辑接口处理的要求。
2)以太网通信接口
实现以太网通信的方式很多,可以用STM32H743内部集成的以太网控制器,也可以用专门的以太网控制芯片W5100S,甚至采用集成度更高的串口转以太网模块XP1001000。越简单的使用方式往往意味着付出的成本更多,不同方案对比如表3所示。
基于大数据实时传输的要求以及性价比方面的考虑,本项目选择基于W5100S控制器的以太网通信方案。W5100S芯片是WIZnet最新推出的一款集成全硬件TCP/IP协议栈的性价比更高的嵌入式以太网控制器,为单片机提供了更加简单、快速、稳定、安全的以太网接入方案。全硬件TCP/IP协议栈简化了传统的软件TCP/IP协议栈,卸载了MCU用于处理TCP/IP部分的线程,节约MCU内部ROM等硬件资源。只需进行简单的Socket编程和少量的寄存器操作即可方便地进行嵌入式以太网上层应用开发,缩短产品开发周期,降低开发成本。W5100S支持间接并行总线和高速SPI接口2种方式与主机进行通信。其内部还集成了以太网数据链路层(MAC)和10Base-T/100Base-T以太网物理层(PHY),支持自动协商(10/100-Based全双工/半双工)。与传统软件协议栈不同,W5100S内嵌的4个独立硬件Socket可以进行4路独立通信,4路Socket的通信效率互不影响,可以通过W5100S芯片上的16 kB收/发缓存灵活定义各个Socket的大小。
3)模拟输出接口
D/A输出芯片种类繁多,有单路输出芯片,也有多路输出芯片,与MCU之间的接口分为并行接口和串行接口。本控制器选择基于SPI接口的串行D/A芯片AD5674R。AD5764R是一款4通道、16位串行输入、双极性输出DAC,工作电压范围为±11.4~±16.5 V,标称满量程输出范围为±10 V。该器件内置输出放大器、基准电压缓冲器以及专有上电/断电控制电路,还有1个数字I/O端口,可通过串行接口进行编程,以及1个模拟温度传感器。每个通道均配有数字失调与增益调整寄存器。通过AD5764R的SPI接口直接与MCU的SPI控制器连线简单,使用方便,可以在最高30 MHz的时钟频率下工作,支持双缓冲技术,所有DAC可实现同时更新,是闭环伺服控制和开环控制应用的理想之选。
4)测角接口
控制器中测角要求支持6路光栅/编码器接口,光栅/编码器接口电气规范均为RS-485差分信号,本控制器中测角电路采用MAX3485芯片实现测角信号的电平转换,转换后测角信号接入FPGA,进行Endata/ BISS/正交编码等测角协议的解码工作。
5)数字I/O接口
数字输入接口采用光耦隔离,用ACPL-244光耦芯片实现;数字输出接口采用ISO7760高性能6通道数字隔离器,隔离后采用达林顿管驱动输出,每路输出能提供最大500 mA的電流驱动能力。
6)温湿度传感器
3 软件设计
本控制器的核心功能是实现转台的运动控制,为了达到更好的伺服控制精度和动态控制性能,采用基于位置环PID的方式进行运动控制[5],控制原理如图2所示。
当接收到位置指令后,MCU首先根据目标位置、目标速度和加速度进行位置规划,经过位置规划后得出当前时刻的给定位置,把给定位置与当前光栅/编码器反馈的角位置作差,得到误差信号,经过PID控制算法得到当前时刻控制输出的DA值;MCU通过SPI总线把D/A值写入D/A转换芯片A,DA转换芯片根据设定值产生相应的模拟电压信号,模拟电压信号经电机驱动器控制电机转动。电机转动后,MCU以100 μs为控制周期采集当前时刻的角度值,再继续与给定位置比较,经PID得出DA值。经过不停迭代后,电机在MCU的控制下运动到目标位置。在整个控制过程中,MCU通过以太网向上位机发送角度量和运动过程中的状态量,发送周期1 ms,并接收上位机下达的运动控制命令。MCU控制电机运动的程序流程如图3所示。
4 控制性能测试
4.1 测试条件
为了测试控制器的性能,专门搭建了基于该控制器的转台控制电箱来控制3轴仿真转台。通过与原有控制电箱对比,评价本文基于STM32H743控制器性能的好坏。控制器性能测试如图4所示。控制器性能对仿真转台的影响主要表现在动态指标方面,测试项目主要针对速率运动时的速率精度、速度平稳度测试,以及正弦运动时跟随误差测试,控制器性能对位置精度影响不大,不进行该项目的对比测试。
参加对比测试的转台控制器采用TI公司的C2000系列数字信号处理器TMS320F28335,它与本文的控制器的主要差异在于只支持单精度浮点数运算且主频较低,控制周期为1 ms,详细对比如表4所示。
4.2 速率测试
速率运动时测试速率包括1 /s°、10 /s°和100 /s°,共3项测试。速率测试评价方法参考《GJB 1801-93惯性技术测试设置主要性能试验方法》,采用定时测角方法,测量在规定采样时间间隔的角度值;采样时间间隔根据速率高低分档,速率大于等于10 /s°,间隔360°,速率大于等于1 /s°且小于10 /s°,间隔为10°。
测试结果如表5所示,可以看出,在100 /s°大速率的情况下,基于STM32H743的控制器由于其较短的控制周期,速率精度与速率平稳度有较明显的改善;在1 /s°小速率的情况下,1 ms的伺服控制周期已经足够,因此两种控制器速率精度与速率平稳度差别不明显;随着测试速率从1 /s°增大到100 /s°,两种控制器在速率精度与速率平稳度上均有下降。
4.3 正弦测试
正弦测试时,设定正弦曲线的幅度1°,频率分别1 Hz、5 Hz和10 Hz,共3项测试。测试时在1个正弦周期内等间隔采集10个角位置反馈数据,每个采样点相位间隔36°,与控制器轨迹规划计算出的目标角位置数据做差,得到该采样点的跟随误差,然后计算跟随误差的均方根进行评价。
測试结果如表6所示,可以看到,在频率为1 Hz的正弦运动时,2种控制器跟随误差差别不大,但是在5 Hz、10 Hz频率下,基于STM32H743控制器的控制性能明显优于基于TMS320F28335的控制器,表明在高动态情形下,性能强大的处理器对控制器的性能提升有很大作用。
5 结论
通过对比测试可以看出,本文研制的基于STM32H743的仿真转台控制器运行频率可达480 MHz,且支持双精度浮点数运算,得益于其强大的处理能力,可以将控制周期缩短至100 μs,在大速率运动、大幅度正弦运动等高动态工作条件下,控制性能相对于原有控制器有明显提升,在仿真转台控制领域有一定的应用价值。
参考文献:
[1]刘慧博,吴浩.飞行仿真转台控制器性能评价研究[J].计算机仿真, 2016,33(2):69-72,110.
[2]陈晓梅,刘长江,杜保林.大型高精度转台控制系统研究[J].电光与控制,2019,26(5):90-94.
[3]TMS320C6748数据手册[Z].德州仪器,2017.
[4]STM32H743数据手册[Z].意法半导体,2021.
[5]徐非骏,王贺.直驱两轴伺服转台实现[J].雷达与对抗,2020,40(2):50-55.
3879501908217