英飞凌TC3xx之一起认识DSADC系列(一)
先来认识DSADC的架构
Delta-Sigma 模数转换器模块具有多个通道,对于TC387有10个通道,提供片上调制器和相关解调器模块,以及用于解调、抽取和滤波的可配置滤波器链(参见图 285)。片上的二阶前馈调制器可以将模拟输入信号转换为数据流,同时也支持多种类型的外部调制器连接到输入路径上。调制器所需要的时钟信号既可以在DSADC内部生成,也可以从外部时钟源馈送。
参考图285对EDSADC的组成原件分别进行简要介绍:
1、数字滤波器链路(参见图 285)构建了解调器,该解调器以可配置的输出速率生成结果值。滤波器链路的元件可以根据应用的要求被激活。滤波器链路的配置决定了滤波器的衰减和延迟特性,以可配置速率对原始数据样本进行抽取,可以将调制器的输入采样率降低到适合应用的较低结果数据率。
2、CIC 滤波器提供基本的滤波功能,以及可配置抽取率的抽取功能。
3、两个 FIR 滤波器的抽取率为 2(FIR1 的抽取率为 1),通过衰减信号频谱的较高频率,来实现有效的信号整形。高通滤波器通过消除输入信号的直流分量来提供偏移补偿。
4、积分器对一定数量的结果值进行积分,样本的数量可以通过软件编程配置,或者通过硬件信号控制。
积分器的功能有:
- 进一步降低应用程序的数据输出率
- 从选定的起点计算平均值,例如,可以用于测量分流电流的应用
- 支持旋转变压器应用,以获得用于电机位置计算的基带信号
5、每个通道都可以生成服务请求,来触发 DMA 传输或者请求 CPU 服务。
6、偏移校准和增益校准是在硬件中完成,校准值由硬件算法自动确定,可以在最开始reset后触发校准功能,也可以在运行期间重复触发。
7、片上的载波信号发生器能生成可选择的输出信号(正弦波、三角波、矩形波),可用于驱动旋转变压器。 输入信号与载波信号间的同步,确保了对旋转变压器输入信号进行正确的积分。
8、基本模块时钟是外设时钟信号fADC,通常是160M。
9、比较器支持限制检查,例如 用于过流检测。 可以定义两个限制值,来将服务请求的生成限制为可配置区域内的结果值。该功能可以节省 CPU 性能和/或 DMA 带宽,同时持续监控输入信号。
从输入信号来看
数字信号
由片外调制器处理好后作为EDSADC的输入,不受片上调制器的影响,但是要考虑片外调制器的增益影响。
模拟信号
- 受片上Modulator影响,会带来增益的改变,进而影响到满量程数值。
- 模拟信号可以接入单端信号,也可以接入差分信号。
从CIC Filter通道来看
通常并不使用PreCIC滤波器通道,所以数据流在绕过PreCIC,从而进入CIC滤波器的时候,有两条路径可以选择:Main CIC(主滤波器通道)或者Auxiliary CIC(辅助滤波器通道,后文中简称为AUX CIC)。
AUX CIC
- 辅助CIC通道可以提供快速采样结果,并用于DSADC的Limit Checking功能,可通过配置FCFGMx寄存器的ESEL和SRGA使之生效,相关的寄存器还有BOUNDSELx和FCFGAx,AUX通道也可以提供采样结果,通过读取寄存器RESAx得到。在不启用极限校验功能的情况下,一般辅助通道是停用状态,通过寄存器配置实现。 - 使用片上调制器时,AUX CIC滤波器生成的数据是1Q15格式数据,数据位为15位,则最大原始值为2^15 = 32768,又因为片上调制器的增益限制为FM=0.6945,AUX通道无calibration功能,所以SRA满量程为[-22757,22757]。 - SRA辅助通道没有calibration功能,所以SRA通道产生的offset和gain error错误,要由应用软件进行处理,软件参数校正是一个方法,但在我们的项目里该通道采样数据用于极限检测,不获取SRA的结果,所以未做进一步处理。
Main CIC
- 通常应用软件读取RESMx寄存器,以便从Main CIC滤波器通道获得DSADC采样数据。 - Main CIC滤波器生成的数据是用户配置的格式(由DICFG寄存器的RDM定义),SRM的满量程值由GAINCALx.CALTARGET确定,一般为25000,也就是说经过Gain Stage的原始数据满量程已经校正为25000.
Note:
1)x取值为0-13,对于TC3xx系列,最多可以有13路DSADC。
2)小知识:XQN格式(Q数据格式)
XQN格式数据,是一个1bit符号位+X bits整数位+N bits小数位的补码数据。
比如Q15,指的是X=0,N=15的Q格式数据,加上符号位合计16位数据(等同于Q1.15)。
又比如1Q15,指的是X=1,N=15的Q格式数据,加上符号位合计17位数据(等同于Q2.15)。
在用于ADC采样数据时,小数可以转换为定点数,即有符号Q格式MQN:
通过设定所有的LSB的N比特位为1,M比特位为0,称之为maxN,换算关系为,
比如1Q31格式,那么max31=0x7FFFFFFF.
又比如1Q15格式,那么max15 = 0x7FFF=32767, 3Q13格式为0x1FFF=8191。
现在对该数据进行倍乘,对应量程范围如下表:*
再来认识DSADC与其它外设的直接交互
除了连接到外设总线之外,EDSADC 还直接连接到 AURIX™ TC3xx 平台的其他硬件模块,以支持系统级功能,图 286 显示了这些互连的概述情况,更详细的信息可以在 EDSADC 以及所连接模块的系列文档中找到。