28X提供了高达400MIPS的计算带宽,它能够满足大多数经典实时控制算法,在工业自动化、光传输网络和自动控制等领域拥有应用前景。但是,在获得其较高工作时钟频率150MHz、低功耗的I/O口3.3V电压的同时,对其在电磁兼容和ADC模数转换单元等实际应用提出了更高的要求。特别是ADC模数转换单元,受到了众多使用者的诟病,称其实测的精度甚至低于TMS320F2407的10bitADC模数转换精度。有人怀疑TMS320F2812核内数字地和模拟地连接设计有缺陷,但尚未得到TI公司的证实。TI公司发布了SPRA989[2]的ADC校准文档,仅修正了模数转换的增益和偏移,与完全实用的要求尚有一定差距。本文从实际应用的角度出发,考虑其外围设计因素,提高ADC模数转换精度。
1ADC模数转换精度分析以及测试方法
影响ADC模数转换最终结果精度的原因很多,诸如芯片内部模数转换、模数转换的增益和偏移引起的误差,这些都是生产厂商控制和研究的领域,本文不作讨论。本文只考虑用户可以修改和控制的范畴,如修改外围硬件设计减少输入误差、调节芯片参数减少输入和转换误差、软件滤波减少输出误差。围绕这3个环节可细化分解为:硬件RC滤波输入信号的影响、供电电源滤波的影响、芯片工作时钟频率的影响、芯片的ADC转换窗口大小的影响、使用外部RAM的影响、输出信号软件滤波的影响以及上述方法的组合等[3,4]。
使用DH1718D-2双路跟踪稳压稳流电源提供测试的输入电压信号,通过TDS2014数字存储示波器测量输入电压信号,用含TMS320F2812的最小系统板IMEZ2812V3.4板进行模数转换,最后通过SEED-XDSPP仿真器,在计算机仿真软件上监测并记录输出电压信号。
将上述设备按以下步骤进行连接测试:
(1)将计算机和SEED-XDSPP仿真器通过并口连接。
(2)将SEED-XDSPP仿真器和IMEZ2812V3.4板通过JTAG口连接。
(3)将DH1718D-2双路跟踪稳压稳流电源电压调至0~3V,并连接至IMEZ2812V3.4板的JP4口的R_ADCINA6脚和DSP_VSSA(ADCLO)脚。
(4)用TDS2014数字存储示波器测试输入电压信号,并用计算机仿真软件观测仿真测试结果曲线。
(5)分别增加输入信号硬件滤波、电源滤波和软件信号滤波及改变相关ADC寄存器值,并重复以上步骤测试。
先使用恒定电压输入信号比较不同设定方案的效果,然后对选定方案进行全量程校核。
2ADC模数转换精度测试过程及状态描述
取基准状态为:测试直连输入信号,外部RAM,PLL=0x0A,HSPCLK=1,ADCCLKPS=2,CPS=1,ACQPS=0。其余状态未加说明的均为基准状态+变化状态。分别进行ADC模数转换精度测试。
2.1恒定电压模数转换测试比较
图1恒定电压模数转换测试比较的12幅图对应测试状态及结果如表1。
2.2全量程电压模数转换校验
通过以上测试恒定电压模数转换测试比较,综合考虑转换精度和转换时间,采用以下方案:硬件滤波输入信号,软件信号滤波10x10,电源滤波100u,内部RAM,PLL=0x0A,HSPCLK=1,ADCCLKPS=2,CPS=1,ACQPS=0。在上述状态,ADC全量程转换测试结果如表2。
通过图2可以看出,上述方案不仅在恒定电压2V时可以提高ADC转换精度,在TMS320F2812的ADC全量程范围内,均可以获得较好的转换精度。
通过以上ADC模数转换测试结果,可以得出以下结论:
(1)在外部RAM中运行程序ADC转换误差较大。
(2)降低芯片主频可以提高ADC转换精度。
(3)增大采样窗口可以提高ADC转换精度,但转换时间相应延长。
(4)电源滤波可以提高ADC转换精度。
(5)输入信号硬件RC滤波可以大幅度提高ADC转换精度。
(6)软件滤波可以大幅度提高ADC转换精度,但转换时间相应延长。
综合考虑上述结论,可以采用2.2中建议的电源滤波+硬件RC滤波+软件滤波方案来解决TMS320F2812的ADC模数转换测量精度差的问题。