模/数转换是现代测控电路中非常重要的环节,它有并行和串行两种数据输出形式。目前,模/数转换器ADC已被做成大规模集成电路,并有多种型号和种类可供选择。本文介绍了AD7654的性能特点,并设计了AD7654与单片机ADuC848的接口电路,同时给出了软件流程和相应的汇编源程序。
2 AD7654的性能特点和工作原理
AD7654是ADI公司推出的一种低功耗、四通道、电荷再分布式高速A/D转换器,该A/D转换器的主要特点是:16位分辨率且无漏失码;0 V~5 V模拟输入范围;SPI/OSPI/MICrowire/DSP兼容;两个允许同步采样的低噪音、高带宽跟踪/保持放大器;功耗典型值为120 mW;可提供串行和并行两种输出接口,给予用户灵活的选择。串行A/D转换的速率很高。并且具有体积小、功耗低、占用单片机口线少的优点,文中采用串行模式设计电路,有关引脚说明如下:
A0:转换通道选择;
A/B:高电平时,先输出A通道转换数据再输出B通道转换数据,低电平反之;
SER/PAR:串行/并行模式选择。低电平为并行模式。高电平为串行模式;
EXT/INT:高电平时选择外部时钟。低电平时选择内部时钟:
SDOUT:转换数据输出位;
SCLK:串行数据时钟输入或输出(取决于EXT/INT的逻辑状态);
CNVST:开始转换。CNVST的下降沿使内部采样保持进入保持状态并开始转换:
BUSY:正在转换标志;
EOC:转换结束标志。
AD7654的转换过程由CNVST下降沿启动,转换启动与CS和RD信号状态无关,A0引脚控制转换通道的选择。在转换结束之前,即使掉电转换也不会重新开始或终止。转换进行过程中,BUSY变为高电平,EOC也为高电平,EOC在每一个通道转换结束后变为低电平,而BUSY线在两个通道转换全部结束后才变为低电平,转换的32位数据可以从SDOUT上读出。转换时序图如图1所示。AD7654有串行和并行两种接口方式,每种接口方式又有主从两种模式,本文介绍其串行接口下从模式的硬件和软件设计。
3 AD7654与单片机的接口电路设计
在本系统中,单片机选用ADI的ADuC848.具体的接口电路如图2所示。笔者设计AD7654工作在串行从模式下,因此其数据的转换和读取都需要微处理器ADuC848的控制.所需的高精度2.5 V基准电压由AD780提供,AD7654上所有的电源和地之间都需连接去耦电容器。因为ADuC848的P1口只能作为输入口,而P0口被USB接口器件占用,所以AD7654的控制引脚只能连接到单片机P2和P3口上的部分端口。在实验电路中,AD7654的SER/PAR和EXT/INT引脚直接由硬件置高电平,INVS-CLK由硬件置低电平,使ADC以串口方式工作.同时使数据输出由外部时钟控制。由于AD7654是两个通道同时采样,所以需要给A/B置位以控制数据的输出顺序。ADuC848的P2.5引脚接至AD7654的CNVST.这样只需要通过单片机ADuCu848控制使P2.5产生一个宽度大于5 ns的负脉冲.该负脉冲的下降沿就可以启动ADC开始转换,转换的时间约为2μs。当转换结束时,BUSY引脚上的信号就会变成低电平,从而通知单片机可以开始读取转换的数据,由于实际AD7654转换速度很快,因此BUSY线可以不用,启动转换后可以直接读取数据。在单片机读取数据前,需要通过P2.6和P3.4口给读选通RD和片选CS置零。以使SDOUT上的数据有效。然后单片机通过P2.0(SCLK)引脚向AD7654发送8个时钟脉冲,与此同时单片机就可以通过P2.2口从SDOUT上读取8位转换的数据。串行从模式下读数据时序图如图3所示。
该系统中微处理器ADuC848与A/D转换器AD7654之间的数据传送采用SPI(串行外设接口)方式。SCLOCK是主机的时钟线,为MISO数据的发送和接收提供同步时钟信号。每一位数据的传输都需要1次时钟作用,因而发送或接收1个字节的数据需要8个时钟的作用。SPI有2个相关的寄存器:即SPICON和SPIDAT,其中SPICON包含各种标志位、使能位、方式位及时钟位;另一个SPI寄存器是SPIDAT,对这一寄存器的写操作会使SCLOCK产生8个时钟脉冲,从高位开始一位一位地发送数据。如果写操作发生在其他数据正在传输的过程中,那么WCOL将置位。如果写操作进行时没有其他数据在传输,输入字节保留在移位寄存器中,此时ISPI自动置位(如果有中断设置,则产生中断),移位寄存器的数据将被锁存到SPIDAT中,此后对SPIDAT的读操作将把数据读出。SPI时序图如图4所示。
4 应用软件设计
下面给出数据采集实验中,AD7654工作在串行从模式下的软件流程(如图5所示)和核心汇编源程序(转换结果存在30H中)。
汇编源程序:
5 结束语
采用AD7654串行模式进行A/D转换具有速度快、精度高、功耗低、占用口线少的优点.非常适用于AC伺服电动机控制、频率转换、三相功率监视、不间断电源、四通道数据取样和汽车电子等方面。该系统电路已在实验中调试通过.实际应用中应考虑灵活性,所有控制线均由软件控制实现。