图 2 所示。输出频率变化范围可从16.06 Hz 到1365.33 Hz,环节减少输出速度可以加快,但在输入增益或温度改变 时,可能会出现漂移,此时需要做些校验。
2.2AD7708 概况
AD7708 的硬件引脚[2]如图 3 所示。28条引脚中有 10 个模拟输入端(AIN1~AIN10),两两连用,形成 5 对差分输入端。20至 24 脚则用于串行输出,其中 SCLK 是串行时钟,CS为片选,RDY 为输出数据是否准备好状态标志,DOUT 为串行输出端,DIN 为寄存器指令输入 端,每条寄存器指令为 8 bit。
AD7708 共 有 11 个 可 编 程 寄 存 器 [ 2 ], 如 图 4 所 示 。 其 中 通 讯 寄 存 器(COMMUNICATIONSREGIS-TER)为只写寄存器,它只告诉AD7708 下一步要对哪个寄存器进行读还是写的操作,但这个寄存器是每次操作前必用的。其余 10 个寄存器都是用于对芯片的调节或反映相关状态。其实,如果输入电压的最大幅度与参考端(REFIN(-)/(+))提供的电压相一致,同时外部噪声不是很复杂时,这 10 个寄存器中只有两个是最常用 的 , 一 个 是 模 式 寄 存 器 (MODE REGIST ), 另 一 个 是 模 数 转 换 控 制 寄 存 器(ADCCONTROLREGIST)。其余寄存器可用其默认值。
2.3 AD7708 的应用控制软件
2.3.1 硬件准备
AD7708 的使用要与一个微控制器(MCU)相连接,连接的方式有两种:一种的输入(DIN)和输出(DOUT)端连接在一起,接上 10kΩ 的上拉电阻,再与串口的信号端相 连,时钟端(SCLK)与串口脉冲端相连。软件上要将串口设成方式 0,只要用通常的串口收发指令 RDY就可通讯了。用这种方式通讯软件编写方便可靠,但由于 8XC51 系列的串口收发数据时是最低位在前,而 AD7708则是最高位在前,因此该系列微控制器在发指令前和收到数据后,都需要将字节的位序颠倒一次,这样获得的数据才是正确的。第二种连接方式是,直接将AD7708 的相关端口与微控制器的可位控 I/O 口一一相连,如图 6 所示,完全用软 件来产生时钟脉冲,收发数据,可以专门编写一段子程序,需要时直接调用,该子程序如图 7 所示。两种方式相比较,前者软件简单,符合通常串口的编写习惯,不占用 I/O 口,但占用串口资源。因此在串口比较繁忙的情况下建议使用后者,此时需要用到 RDY 状态信号,同时需要编写输出输入子程序。图7输入、输出子程序
2.3.2 读操作软件
在硬件连接方式确定之后,就可以编写从 AD7708 中读出A/D数字量的软件了。这里要注意的是,每写一条操作指令前,都先得告诉通讯寄存器(COMMUNICATIONREGISTER)下一步要做读还是写操作;要对哪个寄存器进行操作,之后再写入操作指令(状态寄存器(STATUSREGISTER)和辨认寄存器 IDREGISTER 不可做写操作)。编程方框图[2]如图 8所示。这里给出的是依次读出全部输入通道值的程序,也可直接在控制寄存器写入需采样的通道号读 入任一通道值。
2.3.3 测试结果
在对AD7708∑-△ADC进行测试时,写入模式寄存器中的字节值为 03h,即选中,设定转换方 式为连续转换,写入控制寄存器的值为 0fh,即选中通道1(AIN1),设定单输入端,输入范围 0~2.56V。用8XC51 系列 MCU 读出ADC值,测试结果如下表:表中计算所用算式为:由表中可以看出经 AD7708 转换后,得到的值仅在小数点后第三位产生误差,其转换精度达到千分位,这里不考虑测量输入电压值的仪表带来的误差。
3 结 论
我们的测试结果和使用情况表明,∑-△AD7708 模数转换器不仅转换精度高,而且稳定可靠,能适应需要长期连续检测的工作方式。唯一可能产生问题的地方是,如果环境噪声频率变化过大,又不能有效地屏蔽或减弱,带入到数字量中,可能会影响输出量,但这种可能性很小,两次低频滤波后,剩余的噪声已很少且很弱,可通过调整读数软件的同步脉冲来消除。
总之,∑-△ADC因其独有的特点,可广泛的应用于很多需要模数转换的领域。
来源:电子器件