高速DSP与串行A/D转换器TLC2558接口的设计
必须读取数据;(2)重复模式,即反复对一固定输入端进行采样、转换,存入FIFO中的结果到设定的数量后,读取这些数据,然后开始新一轮的采样、转换;(3)扫描模式,它是对选中的通道依次进行采样、转换,当FIFO放置的数据达到规定值后,扫描方式结束,在启动下一次扫描之前,CPU必须读取FIFO中的数据;(4)重复扫描模式,即重复模式和扫描模式的综合,工作方式与扫描模式相似,当FIFO数据中的数据达到规定后,和重复模式一样去读取数据。扫描模式由于只要对TLC2558写一次命令就可以完成所有通道的采样和转换,所以用时最少,是转换效率最高的方式,因此,对于要求采集模拟量较多、速度要求较高的场合,采用扫描模式是理想的选择。而对于采集模拟量较少或者速度要求不是很高的时候,可以选择便于编程和调试的单次模式。
3 TLC2558工作时序分析
TLC2558是以DSP的同步时钟脉冲CLKX和CLKR为基准进行数据的发送和接收的,当采样频率为600Hz时,采用单次模式就可以达到要求的速度,以单次模式为例,对某个通道进行A/D转换时,首先要通过命令寄存器选择该通道,由于命令寄存器是一个4位的寄存器,所以需要4个同步时钟周期(SCLK),采样一次需要12个SCLK,转换一个模拟量需要14个SCLK,因此,完成一次转换共需要30个SCLK。当DSP采用202MHz晶振作为时钟源时,同步串行口的时钟周期是主时钟周斯的两倍,即100ns。所以,采用单次模式时完成一次采样/转换总共需要3us。图3是单次模式下A/D转换的时序,由图可见,在同步时钟和帧脉冲的作用下,A/D转换器通过SDI和SDO接收和发送数据。
4 编程时应注意的问题
由于TLC2558在上电或从低功耗方式重新启动后第一次转换的数据是无效数据,所以,造成了此后每次转换完成后从SDO读出的不是当次转换的数据,而是前一次的数据,如图3中的SDO所示。为了在程序执行中,在每个采样中断周期内都能得到正确的数据,可以采用以下措施:当要对通道0~通道n(n≤7)进行转换时,在每个中断周期内,依次对通道0~通道n采样和转换后,再对通道0进行一次采样和转换。每次转换完成后,读出的是前一个通道的转换数据,因此,对通道1~n采样完成后,读出的是通道0~n-1的数据,而当最后对通道0的采样完成后,读出的是通道n的数据。通过这种方式,使DSP能在每个采样周期内都能正确读出各通道A/D转换的数据。
5 结束语
本文简单介绍了串行A/D转换器TLC2558的工作原理及高速DSP进行接口的设计。DSP通过其同步串行口接收A/D转换的数据,解决了以往DSP不能与并行接口A/D转换器很好连接的问题。同时,就设计A/D转换程序的过程中要注意的问题作了说明。
- DSP 与PC 机串行通讯的设计(01-13)
- TMS320LF2407 DSP控制器的串行通信设计(01-26)
- TMS320C3x DSP和PC机的异步串行通信设计(03-02)
- DSP串行通信在减摇水舱试验台架控制系统中的应用(10-10)
- 基于FPGA的串行通信控制系统的设计(06-05)
- 与PC机间串行通信的实现(12-21)