基于TMS320VC5509与AD7322的数据采集系统的设计
/OUT引脚要用一个680 nF的电容去耦到模拟地。
由于在信噪比和谐波失真有严格要求的情况下,AD7322的模拟输入必须由一个低阻抗信源驱动,高阻抗信源很明显地影响ADC的交流特性。所以本系统中采用一个双运放OP2177,OP2177是ADI公司生产的高精度、低偏置、低功耗的集成运算放大器,片内集成了两个运放,可灵活的组成各类放大和滤波电路。
2 数据采集过程
1)Mcbsp的接收器进行复位操作。
2)根据需要,对Mcbsp的寄存器进行编程。
3)使能Mcbsp的接收器。
4)检测DSP的Gpio4的电平状态,这里CCD的FC给DSP的Gpio4,一旦Gpio4为高,则说明CCD的行同步FC的上升沿到来,也就是说CCD的有效像元开始输出了。
5)启动A/D,DSP的Gpio4为高后,等待1μs的时间,让FSX脚输出低电平,选通A/D转换器。
这里等待1μs的原因是A/D的CS变低后,要检测FS的电平,而FS的信号就是SP的信号,当FC为高时,SP也同时为高,且保持1 μs的高电平的时间,如果不等待1μs的话,CS下降沿检测FS不为高,则认为A/D没有正确进入DSP模式,所以为了保证AD能正常进入DSP模式,等待1μs后,SP和FS都变为低电平,这时在检测FS的电平就能说明AD进入DSP模式了,而SP的占空比是1:7,也就是SP和FS在下一次变高时还有7μs的低电平时间,这个7 μs足以保证DSP正确锁定在DSP模式下。
6)采集数据:选通A/D转换器后,在SP脉冲上升沿到来时开始数据采样与转换。一个像元的转换输出数据被McBSP接收完毕后,McBSP将发出一个接收中断到CPU,CPU响应此中断后将数据从McBSP的缓冲寄存器中读入存储器内存,然后退出中断,进行下一个点信号的接收。我们还需要设置一个计数变量,在每一次中断后对其进行加一操作,当计数变量的值达到2160时,撤销选通信号,这样一个完整的对CCD一行的输出信号的A/D转换完成。
DSP的CPU或DMA控制器与Mcbsp的通信,是通过16 Bit的寄存器访问内部的外设总线来实现的。Mcbsp的数据接收寄存器有2个,DRR1和DRR 2,当字长小于16 Bit时使用DRR1。把Mcbsp要传输的串行字定义成为16 Bit(刚好是10 Bit A/D转换数据出的6个0+10 bit二进制数),并自行定义Mcbsp传输数据的一帧就是16 Bit,也就是说CCD的一个SP就被转换成6个0+10 Bit的二进制数,这样对于Mcbsp的一帧来说,就CCD的一个SP。Mcbsp接收完一帧数据后,就触发中断,进行这一帧数据的存储,然后进行下一个SP像元点的采样转换与传输,直到所有的像元采集完毕。
7)关闭A/D:把DSP的RSX原来的选通A/D的低电平变为高电平,以关闭A/D。
3 结束语
文中以TMS320VC5509 DSP芯片和AD7322模数转换芯片为例,详细讨论了数据采集系统的关键硬件接口电路设计和采集过程。目前该数据采集系统已经安装在一维条码识别系统中,实践证明,该数据采集系统能够正确采集数据,达到了设计目的和应用要求。
- 基于四路同步水声信号记录仪设计方案(10-06)
- 基于TMS32OVC5509 DSP的FIR数字滤波器的实现(05-19)
- 基于DSP的液晶显示若干问题的探讨(06-02)
- 基于DSP的全桥移相控制感应加热电源研究(01-04)
- 一种提高TMS320F2812 ADC精度的方法(08-23)
- 有源电力滤波器中的谐波检测电路设计(01-14)