基于英飞凌AURIX的RDC设计
作者/李诗念英飞凌集成电路(北京)有限公司(北京 100176)
本文引用地址://m.amcfsurvey.com/article/201802/375436.htm1 RDC的基本原理
从本质上来讲,旋转变压器就是一个一次侧绕组和二次侧绕组可以相对旋转的变压器,这也是它名字的由来。如图1所示,R1-R2为一次侧绕组为励磁绕组,需要通以图1(b)中的第三个信号。S1-S2和S2-S4为二次侧绕组分别为正弦绕组和余弦绕组,当转子旋转的时候,他们输出正弦调制和余弦调制的信号(图1(b)中第一个和第二个信号)。
当旋转变压器的激励信号是, 那么旋转变压器的输出可以描述为:
根据这个公式,可以很容易的得到转子的角度计算公式:
这就是RDC的基本公式。
图1 旋转变压器及其信号
2.1AURIX简介
AURIX是英飞凌推出的满足未来几代车辆的车用多核单片机系列,其多核架构包含多达3颗独立32位TriCore处理核,可满足业界最高安全标准ASIL D。AURIXTM家族为了满足不同的应用和性能需要,同样提供了不同数量的核和不同外设,例如在高端的芯片中有直接用于RDC的DSADC模块,但在低端芯片中就没有。AURIXTM系列单片机具有丰富的硬件资源接口和外设,强大的计算能力和全面的安全诊断,推动着汽车电子产业的发展[4]。AURIXTM有多种通信接口,例如MultiCan+, ASCLIN, QSPI, EtherMAC, E-Ray等,有多个PWM产生单元例如GTM,CCU6,有不同ADC模块VADC和DSADC,综多安全机制模块例如IOM,HSM,FCE等。AURIXTM的主频高达200 MHz, 具有高性能浮点运算,集成硬件除法单元等。
2.2 RDC的解决方案
针对RDC这一应用,AURIX有多种实现方案,其中最为直接的就是应用DSADC是实现的RDC。但在AURIX的大家族中,DSADC只存在于高端的一些型号之中,而其他一些的芯片诸如TC23x, TC22x, TC21x等就没有DSADC,那么本文所述的用VADC实现的方法将是一个非常好的选择,而这个方法同样适用于那些高端的芯片。
图2 用VADC实现的RDC方案
如图2所示,外设GTM-TOM模块有两个作用。首先,TOM子模块产生旋转变压器激励信号需要的SPWM信号,而这个SPWM的周期事件会触发DMA控制器更新TOM子模块通道的正弦信号比较值,这两个模块共同作用产生了SPWM信号。其次,TOM子模块产生与旋转变压器激励信号同频的周期信号,这一信号触发VADC去对旋转编码器的反馈信号进行采样。
TOM子模块的结构如图3(a)所示。GTM中有两个TOM(0/1)模块,每个TOM模块有15个通道,这15个通道分为两个区,分别为两个控制单元TGC0和TGC1所控制。当要产生一个PWM时,首先需要要一个通道作为时钟计数器,其后的通道可以作为PWM产生的通道。在这个应用中,我们需要两路PWM,一路作为产生正弦激励信号的正半周信号,另一路作为正弦激励信号的负半周信号。这两路PWM信号只要一个基础时钟计数器,但这里为了使用更加灵活,给每一路PWM设定了一个基础时钟计数器。如图3(b)所示的例子,TOM0的CH0作为SPWM+的基础时钟,其周期事件触发DMA更新后面的CH2的比较值,从而产生SPWM+;TOM0的CH10作为SPWM-的基础时钟,其周期事件触发DMA更新后面的CH12的比较值,从而产生SPWM-。而CH5作为VADC采样触发信号的基础时钟计数器,可以调节CH6的比较值从而改变旋转变压器反馈信号的采样点。
图3 在应用中的GTM-TOM架构和安排
DMA主要是用来更新产生SPWM的比较值。DMA是通过DMA控制器管理数据和地址,通过事先设定好的源地址和目的地址以及数据传送的方式,将数据从源自动传送到目的地址,而不需要CPU的接入,从而减少CPU的负担。DAM的结构如图4(a)所示,DAM的通道数高达64个,在低端芯片中也有16个通道。在RDC这个应用中,为了应用的灵活性,用CH0的周期事件触发DMA的通道10更新CH2 的比较值,用CH10的周期事件触发DMA的通道9更新CH12的比较值,而这些比较值的来源是预先建立的正弦值数组。
图 4 DMA 架构及工作流程
VADC模块是逐次逼近型数模转换器,它支持5V和3.3V两种电压,多达8个独立转换器,每个转换器有8个通道,并且支持多个转换器同步工作,转换时间可调,在保证精度情况下,转换时间在1微秒以内,转换结果可选择8位,10位和12位,转换结果还支持FIR和IIR滤波。在这个应用中,TOM0的CH6的比较事件触发了VADC的采样,这个采样的频率跟之前旋转变压器的激励信号同频,都为10 kHz。为了使得采样的噪声更小,一致性更好,采样点设置在正弦调制信号的载波信号的顶部或者底部,通过调整CH6 的SR0的值,就可以实现这一目的。
图5 旋转变压器及其信号
2.3模拟放大电路设计
用于旋转变压器激励信号的放大电路如图6所示。这是一个闭环的放大电路,能够有效去除激励信号中高频脉冲噪声,电路中电阻R22, R23和R26, R33可以分别调节激励信号正负半周的直流偏移量,而电阻R5, R6和R30, R31可以分别用来调节激励信号正负半周的幅值。
图6 激励信号的放大电路
当旋转变压器一次侧绕组输入激励信号以后,二次侧绕组就会输出以激励信号为载波信号的正余弦调制信号。为了抑制干扰,这两路信号是都是差分形式,而AURIX的VADC的输入是单端输入模式,所以需要一个差分转单端的运算放大电路。这个电路还可以调节输入信号的电压范围,并且可以进一步对信号进行滤波,从而使得整个转化器的效果更好。电路中R21和R25 可以用来调节输入信号的直流偏置量,R8, R9, R15和R34, R39, R40则可以调节信号的幅值,使之满足ADC的输入范围要求。
图7 差分到单端运放电路
3 RDC算法及仿真
当VADC转换完成以后产生一个中断,AURIX的核TriCore执行RDC的软件算法。RDC的算法如下图所示,首先从VADC的结果寄存器读取ADC的转换结果,这些值正是旋转变压器输出调制信号的包络线——两条正交的正弦曲线。由于模拟器件的误差,信号会出现直流信号位移偏差,幅值大小也不一致,所以第二步进行了位移和幅值的校正。然后是正余弦值的一个除法,并根据正余弦值的正负特性计算反正切值,其就是旋变转子的位置角度。但这个结果中耦合很多的噪声,不能够直接用来控制电机,否则会严重影响电机的性能。为了使得角度信号更加的平滑,加入了一个角度观测器,如图(6b)所示,其本质就是一个PID控制器。
图8 RDC算法框图
为验证软件算法的性能,将整个算法在MATLAB进行了仿真,如下图所示。图中既有阶跃信号输入,也有连续旋变信号输入,并且加入了2%的白噪声。
图9 RDC算法仿真框图
仿真结果如下图所示,左边的图是180°的阶跃响应,响应时间约为20ms。右边图是角度观测器的结果,紫色的线是反正切函数的结果,黄色线是角度观测器的输出,可以看出,角度观测器的结果比之前的结果要平滑很多。
图10 仿真结果
4 实验和结论
图11 (a)显示了AURIX芯片输出的SPWM信号,图11(b)这种,黄色的正弦信号就是旋变的激励信号,而蓝色和紫色正是差分转单端运放的输出信号,信号正弦度高且噪声很小。
图11 仿真结果
如前面所述,角度观测器的性能至关重要。下图是本案所设计的观测器180°的阶跃响应。横坐标每个数字量为0.1ms, 纵坐标单位是rad,可以看出180°的响应时间约为20ms。这个性能完全可以匹敌市场上的RDC IC。
图12 RDC算法仿真框图
考虑到汽车领域的实际应用情况,本案中截止频率设置到1kHz。下图是旋转变压器转速为960Hz的情况,上面部分为校正以后的正交信号,下面部分是解码出来的角度位置信号,其中红色的反正切函数的输出,绿色的是观测器的输出。可以看出高速时,信号的并没有出现相位滞后的情况,信号也很光滑。
图13 RDC算法仿真框图
当应用软件进行RDC算法计算的时候,一个很大的担忧就是CPU的负载量,毕竟角度解算只是控制器工作的很小一部份内容。本案的芯片是TC234,CPU主频为133MHz,下面一张图展示了CPU的运算时间。 如图所示,蓝色和紫色曲线为VADC的输入(旋转变压器输出的正交信号),在其峰值点进行的采样转化,之后进入中断进行解码运算。黄色曲线的上升沿为计算开始,下降沿为计算结束,总的计算时间约为1.4us,用时很短,完全可以满足各种应用要求。
图14 RDC算法仿真框图
综上所述,基于AURIX的RDC的解决方案,不仅信号特质优良,而且降低了所涉及的硬件系统成本。在汽车领用领域,这一软件解决方案完全可以可以取代已有的RDC IC的方案,既提高了系统的可靠性而且降低了系统的成本。
参考文献:
[1]Resolver to Digital Conversion Using the DSADC, AP32270, www.infineon.com
[2]Chris Li, RDC design based on TC1782, PCIM, 2014
[3]TC21x/TC22x/TC23x Family user manual, V1.1, 2014-12, www.infineon.com
[4]谢辉,徐辉.英飞凌多和单片机应用技术—AURIXTM三天入门篇[D],天津:天津大学出版社,2017,9.
[5]Evaluation Kit for Applications with HybridPACK™2 Module, www.infineon.com
评论