AURIX TC3XX系列之EDSADC旋变软解码开发

1、旋转变压器原理

        从上图可以看出,当旋变旋转时,互成90°放置的次级线圈上会产生感应电压,而激励信号是一个正弦波,产生的感应电压就是幅值变化的正弦波。波形如下图:

        对次级线圈上的外包络信号Va,Vb的提取有两种方式:极值法和积分法

        极值法

        可以通过GTM+VADC方式实现,即通过软件方法标定极值点,然后GTM触发ADC采样;

        积分法:

        将正半周期的波形向正半轴翻转,负半周期向负半轴翻转,经过翻转的波形可以理解为正余弦函数加了绝对值,只不过正半周期取 |sinθ,而负半周期取 −|sinθ,这样正弦函数的周期就变成了π,对通道信号进行积分可以得到

        ∫0πVs∗sin (δ)sinθdtδ=2Vs∗sinθ

        ∫0πVs∗sin (δ)cosθdtδ=2Vs∗cosθ

        由上式可以看出,经过积分后的波形只与激励的幅值和当前的角度θ相关,与激励是无关的。所以,这样通过积分提取外包络得到实现。

2、Aurix与旋变连接

        通过配置(E)DSADC模块,产生高频的PWM励磁信号,经过滤波电路转换成高频正弦信号输入到旋变中,配置2个(E)DSADC通道对旋变反馈的信号进行采样。

3、EDSADC模块结构

        Aurix的DSADC模块和EDSADC模块都可用于旋变软解码,两个模块的调制解调过程基本一致。两个模块的主要区别是,EDSADC是增强型Delta-Sigma ADC模块,相比于DSADC,EDSADC调制器频率选择范围更大,时钟源固定为fADC,增加了前置梳妆滤波器、超调补偿滤波器、校准算法、主链的极限检测、与VADC的时钟同步。

        EDSADC模块主要分为几个部分:调制器;载波发生器;主滤波器;辅助滤波器;整形单元;积分器;比较器;偏置补偿器。

        EDSADC框图如下所示

3.1 时钟产生单元

载波发生器及调制器的时钟都来自fADC

可使用相同步功能将通道进行同步,也可以与VADC进行同步

3.2 载波发生器

        载波发生器每个周期由正弦表的32个点组成,每个点又进行PWM 32分频,故fCarrier = fCG/32/32。以TC389为例,时钟分频系数DICVG配置为16,那么fCarrier = fADC/4/32/32=160MHz/16/32/32 = 9.76KHz

        在生成正弦波信号的同时会在SGNCS位产生表示符号的信号 。 

        PWM有两种模式配置:Nomal和Bit-reverse,一般选择Bit-reverse,信号更平滑

     

3.3 主滤波器链路

CIC Filter(循环积分梳滤波器)提供过滤和抽取;

FIR(有限脉冲响应)进一步通过衰减高频率信号,整形有效的信号;

Offset Compensation(偏置补偿)是一个高通滤波器,去除输入信号的直流分量;

Rectifier(矫正)是用来补偿正余弦信号翻转与载波信号翻转之间的延迟。

这里对几个参数进行说明:

调制器频率范围为16...40MHz;

当配置调制器的频率为20MHZ以上时,可以使能前置CIC;

若配置fCarrier = 9.76KHz,fMOD = 40MHz,则应配置整个链路过采样因子OSRtot = fMOD/fCarrier = 40MHz/9.76KHz = 4096;

在不影响系统性能的前提下,可增加积分窗口的长度,即积分因子可以适当选大点。

3.4 整形环节

        这个环节主要是配合符号信息,将采样信号的负半轴翻转,再进行积分。

         SDCOUNT在SGNCS(载波信号)上升沿(即正半周期开始)清除并开始向上计数。计数达到SDPOS时,SGND(信号延迟,值相乘)清除并开始为1(负),计数达到SDNEGSGND0(正)。

         SDCAP为捕获的延迟值(正余弦信号翻转与载波信号翻转之间的延迟),正负翻转的计数点为1/2积分计数值+ SDCAP

         SDCAP每捕获到一个值可产生中断,可在中断中对延迟刷新。

4、解调过程

1. 对一个旋转周期的通道信号进行滤波采样;
2. 将一个载波周期内的波形展开,并提取其中的滤波结果;
3. 生成符号信息,激励信号大于0为1,小于0为-1;
4. 信号整形,将返回值与激励信号的符号相乘,即正半周期的波形向正半轴翻转,负半周期向负半轴翻转;
5. 同4的方法对每一个载波周期的波形进行处理;

6. 对5的波形进行积分。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐