在放大电路设计中,由于结构或元器件的不同,即使在设计上完全一样的电路,也有可能由于元器件特性的不同造成电路性能的变化。为了保证质量及性能参数的一致性,测试环节不可或缺。
相频特性是放大线路的主要性能参数之一。目前,已有测量相移的集成电路出现,不足之处主要在于价格昂贵,且只能用于一对信号之间的测量。本文在讨论TMS320F2812数字信号处理器模数转换模块工作原理的基础上,介绍如何在TMS320F2812中实现相频特性测试。该方法已应用于一款基于TMS320F2812的测试仪中,测试效果良好。
TMS320F2812模数转换模块
TMS320F2812的ADC模块是一个12位带流水线的模数转换器,由前向模拟多路复用开关、采样/保持电路、变换内核、可编程转换序列器、结果寄存器及接口电路等辅助电路构成。图1为TMS320F2812模数转换模块的功能框图。
图1 ADC模块功能框图(略)
该模块具有16个输入通道,可配置为2个独立的8通道模块或者级联构成一个16通道模块。ADC序列发生器由两个独立的8状态序列发生器组成,也可以构成一个16状态的单序列发生器。在两种情况下,ADC都可以对一系列转换进行序列化,即ADC每收到一个启动转换请求,就可以自动执行多个转换。对于每个转换,通过模拟复用开关选择16个输入通道中的任一路。转换完成后,转换结果自动保存在相应的结果寄存器。
ADC模块具有软件、事件管理器及外部引脚等多种启动方式。当时钟配置为25MHz时,最高采样带宽可达12.5MSPS。
顺序采样与同步采样
由于内置2个采样/保持器,ADC模块可选择顺序采样或者同步采样两种工作模式。
顺序采样模式下,CONVxx寄存器全部四位用来定义要采样、转换的引脚。其中,最高位MSB用来选择采样/保持器,低三位用来定义偏移量。此时,ADC模块在一个序列发生器中最多可对16个通道进行转换,两个采样/保持器不能同时工作。
同步采样模式下,CONVxx寄存器低三位用来定义要采样、转换的引脚,最高位MSB被舍弃。需要注意的是,两个采样/保持器在每次转换中都是同时对一对引脚进行采样,且这对引脚对采样/保持器具有相同的偏移量。
ADC模块16个输入引脚的模拟电压输入范围为0V~3V,转换后的数字量为:
数字量=4095×\frac{输入模拟量-ADCLO}{3} (式1)
相频特性测试实现
对输入信号进行AD转换可以获得输入信号的波形数据。当两路信号同时接到具有相同偏移量的一对引脚上,并且是同步采样的情况下,就可以保证两路信号对应的波形数据在时间上是一一对应的。因此,可以通过分析这些数据得到信号的一些参数。
当取放大电路的输入信号为参考信号、输出信号为测量信号时,对这两路信号的同步分析可得到放大电路的幅频特性及相频特性。下面以常见的正弦信号为例介绍如何在TMS320F2812中实现相频特性测试。
硬件连接及寄存器设置
将测量信号和参考信号分别连接到相对两个采样/保持器具有相同偏移量的输入引脚对上,比如说ADINA0和ADINB0。然后设置ADC相应寄存器,采用同步采样模式,同时选择事件管理器A的周期性中断来触发AD转换。
···
AdcRegs.ADCTRL3.bit.SMODE_SEL = 1; // 同步采样模式
···
AdcRegs.ADCMAXCONV.all = 0x0000;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0000;
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;)
EvaRegs.T1PR = 0x005a; // 设置周期寄存器
EvaRegs.GPTCONA.bit.T1TOADC = 2; // 定时器1的周期性中断触发模数转换
模数转换
在中断处理子程序中将模数转换结果分别保存到数组volt0和volt1。由于采用了同步采样模式,数组volt0和volt1中的每一对数据在时间上都保持同步。采样点数取决于采样频率和信号频率。
interrupt void adc_isr(void)
{
v olt0[ConversionCount] = AdcRegs.ADCRESULT0 >> 4;
v olt1[ConversionCount] = AdcRegs.ADCRESULT1 >> 4;
ConversionCount++;
···
return;
}
相频特性测试
当信号频率固定时,如果在volt0和volt1两组波形数据中找到一个共同的特征点,并且能够计算出这两个点之间的时间间隔,就可以计算出volt0和volt1两组数据对应波形之间的相移。
(1)特征点选取
在分析过程中,应该尽可能选择引入误差较小的特征点。对于正弦信号而言,均值附近具有最大变化率,采样数值对相位的变化最为敏感。因此,可以考虑选择采样序列中距离均值最近的点作为特征点。
在采样获得信号波形数据序列之后,首先通过计算均值得到测量信号及参考信号的直流分量,然后根据相邻数据的变化及与均值的相对关系找到距离均值最近的点并将其作为信号的特征点。设测量信号与参考信号的特征点在各自采样数据序列中的顺序分别为C2和C1,结合采样倍频数T,即可得到测量信号与参考信号之间的相移:
Δφ=\frac{C_{2}-C_{1}}{T}×360 (式2)
需要注意的是,正弦信号一个周期当中两次经过均值,而此处测量信号与参考信号的特征点必须同处升半周期或降半周期。否则 ,计算出来的结果将存在一个180 ° 的固定误差。
(2)误差修正
由于采样点的离散性,即使以距离均值最近的点作为特征点,只要测量信号与参考信号各自特征点与均值之间的误差不能相互抵消,则相移分析必然存在误差。此误差随采样倍频数的大小而变化,相对采样频率越高,误差越小。
以 10倍频采样为例(图2、图3),设测量信号与参考信号同步采样序列第一个点对应的相位分别为5 ° 和55 ° ,则该周期内测量信号10个采样点对应的相位应分别为5 ° 、41 ° 、77 ° 、113 ° 、149 ° 、185 ° 、221 ° 、257 ° 、293 ° 、329 ° ,参考信号10个采样点对应的相位应分别为55 ° 、91 ° 、127 ° 、163 ° 、199 ° 、235 ° 、271 ° 、307 ° 、343 ° 、19 ° 。此时,上升沿中与均值最接近的两个点分别是第8个点和第7个点,相移计算如下:
图2 测量信号采样数据与波形对应关系(10倍频采样)(略)
图3 参考信号采样数据与波形对应关系(10倍频采样)(略)
Δφ=\frac{C_{2}-C_{1}}{T}×360=\frac{8-7}{10}×360=36^{°}
显然,此计算结果与实际相移50 ° 之间具有较大误差。也就是说,直接将与均值最接近的点作为特征点是不合适的。
通过均值两侧的两个数据与均值的相对关系可近似线性估算 出均值在采样数据序列中的虚拟位置。以虚拟的“均值点”作为特征点可减小计算误差,此处假设信号直流分量为0。即:
C_{2}=8+\frac{0-cos257^{°}}{cos293^{°}-cos257^{°}}=8.365
C_{1}=6+\frac{0-cos235^{°}}{cos271^{°}-cos235^{°}}=6.97
测量信号与参考信号的相移重新计算为:
Δφ=\frac{C_{2}-C_{1}}{T}×360=\frac{8.365-6.97}{10}×360=50.22^{°}}
可见,此方法大大减小了计算结果的误差,可满足测试要求。
(3)采样频率设置
该方法适用于采样频率至少6倍于信号频率的情况下,计算结果的误差与采样频率的高低有关。采样倍频数越高,误差越小。当信号频率连续变化时,相移测试即成为相频特性测试。
在信号频率已知的情况下,可通过事件管理器的周期寄存器按照较高的采样倍频数设置采样频率,并直接利用公式2进行计算。
若信号频率未知,在利用公式2进行计算之前必须得到信号频率。采取的方法是找到信号相邻特征点及其各自在采样序列中的虚拟位置,再结合已知的采样频率即可通过计算得到信号频率。一般情况下,应在采样序列中寻找两个相距较远的特征点并计算信号频率,这样可以进一步减小误差。
由于TMS320F2812模数转换模块的最高采样频率受限,所以必须限定信号的频率范围。
结束语
此分析方法已应用于一款基于TMS320F2812的检测仪,该检测仪被用于某型前置放大器的特性参数检测。当采用10~40倍频对同一路信号进行采样时,分析结果在±2 ° 以内,此结果实际上就是该分析方法的误差范围。实际测试结果表明,该方法具有较好的测试效果。
本文讨论的相频特性测试方法适用于所有具有两个采样保持器结构及同步采样模式的DSP芯片,可在不增加外围ADC芯片的情况下完成多路模拟信号的采样及分析。尤其值得注意的是,该方法借助多通道输入、双采样/保持器结构可实现多组信号之间的相频特性测试,在降低成本的同时为电路设计提供了一种更为简洁的可选方案。 |