外部接入时钟DCLOCK的频率可以在24kHz~2.4MHz之间变化,分别对应于1kHz和100kHz的A/D转换速率。该电路对外接时钟的占空比没有特点要求,而只需高、低电平的持续时间大于200ns即可。
外接模拟信号从+IN、-IN端差动输入以及CS/SHDN的下降沿使转换初始化后,它的前五个时钟脉冲为采样周期,这时差动输入信号被内部电容采样。而在转换过程中,+IN、-IN端与内部电路断开连接。为了保证转换的线性度,-IN端的电平即不能低于GND-100mV,也能高于GND+1V。+IN端的电平应保证在(GND-100mV)至(Vcc+100mV)之间。
A/D转换的数字结果将在DCLOCK端的控制下由DOUT端连续输出。如果DOUT端平时处于高阻态,则转换结束后首先出现低电平的标志位,随后输出从最高位到最低位的16位转换结果。
下面以MCS-51系列单片机为例,给出ADS8320与单片机接口的具体程序:
CS EQU P1.0
DOUT EQU P1.1
DCLOCK EQU P1.2
……
CONV:CLR CS
WAIT:ACALL DELAY
CLR DCLOCK
ACALL DELAY
SETB DCLOCK ;在DCLOCK端产生脉冲
MOV C,DOUT ;在DCLOCK上升沿采样
JC WAIT ;输出D OUT非零则等待
MOV R7, 16 ;读取16位转换结果
READ:CLR DCLOCK
ACALL DELAY
SETB DCLOCK :在DCLOCK端产生脉冲
MOV C,DOUT ;在DCLOCK上升沿采样
RLC R0 ;低8位移入R0
RCL R1 ;高8位移入R1
ACALL DELAY
DJNZ R7,READ ;直到读完16位
OVER:SETB CS ;转换和读数结束,进入关断模式
……
在上面的程序中,DELAY为延时子程序,用于决定DCLOCK端时钟脉冲的高、低电平持续时间,可以根据单片机晶振频率即指令执行时间以及A/D转换频率高低的要求具体确定延时时间的长短,以确定控制脉冲的频率。转换子程序CONV执行后将进行一次模拟信号采样和A/D转换,并将16位转换结果以高位在前、低位在后的顺序读入R1和R0寄存器。