随着工业技术进步,对数字控制伺服系统中执行效率和集成化程度的要求越来越高。比如用单处理器控制多个伺服系统时,对多通道A/D转换的效率要求较高。以往较多地使用多路模拟开关与单通道A/D转换器来实现,效率较低,使用模拟开关带来的噪声也比较严重。在此,选用串行多通道A/D转换器AD7890与TMS320F2812处理器的SPI接口组成A/D转换模块,非常适合应用于多轴伺服系统。AD7890是一款8通道12位串行A/D转换器,具有高转换效率(转换时间仅为5.9μs)、高速灵活的串行接口、多通道等优点。其中,AD7890-10输入电压范围为-10~+10 V。TMS320F2812处理器上集成了多种先进的外设,为实现电机及其他运动控制领域的应用提供了良好的平台,它所提供的SPI接口通常用于DSP处理器和外部设备及其他处理器之间的通信。SPI分主、从两种工作方式,数据长度可编程(1~16 b),并能同时进行接收和发送操作,通常用于DSP处理器和外部外设以及其他处理器之间的通信,这使它能很方便地与AD7890采用主/从模式进行通信。
1 AD7890工作模式和原理
AD7890的SMODE引脚是工作模式控制输入端,它决定了器件是工作于外部时钟模式(作为从设备),还是内部时钟模式(作为主设备)。当SMODE置于高电平时,器件工作在外部时钟模式,由主设备提供时钟信号SCLK和接收帧同步信号RFS,AD7890可接收的最大串行时钟频率达10 MHz;当SMODE置于低电平时,器件工作在内部时钟模式,自身提供时钟信号SCLK和接收帧同步信号RFS,其时钟频率由CLK引脚输入时钟频率决定。本文以DSP作为主控制器,AD7890作为从设备,由DSP的SPI口提供串行时钟。
AD7890通过片内高速双向串行数据接口接收控制字和输出转换结果。通过向控制寄存器写数据可以确定转换通道、转换开始信号等信息。其控制寄存器包含5位数据,因此至少需要6个SCLK脉冲才能完成对寄存器的写操作。其中,A2,A1,A0分别为通道地址选择最高位、次高位、最低位。通道选择算法为:通道号=4A2+2A1+A2+1。发送数据的第5个SCLK脉冲下降沿过后的数据均为无效数据。控制字写入寄存器后,器件即启动内部延时脉冲,保证在转换开始前跟踪/保持器有足够的时间来完成转换通道的建立和切换。该延时脉冲宽度取决于引脚电容的CEXT值。一般引脚电容值取CEXT、120 pF或200 pF。据测试,此时延时脉冲宽度分别约为7.Oμs和9.6μs。向控制寄存器写数据时CEXT,引脚电平由低变高,电容在第6个时钟脉冲的下降沿开始放电,电压降低至2.5 V以下时内部延时脉冲结束,同时A/D转换开始,5.9μs后转换结束。若此时串行读操作已完成,且RFS已变高为高电平,则用新的转换结果更新输出寄存器。至此,一次A/D转换结束。图1为AD7890工作原理图,从示波器获取的图片显示了CEXT引脚电平、SCLK脉冲与A/D转换过程时间的关系。
|