网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 技术交流 >> 文章正文
  [组图]10位串行模数转换芯片AD7810的原理及应用         ★★★ 【字体:
10位串行模数转换芯片AD7810的原理及应用
作者:凌 云    文章来源:Internet    点击数:    更新时间:2006-11-21    

       AD7810是美国模拟器件公司(Analog Devices)生产的一种低功耗10位高速串行A/D转换器。该产品有8脚DIP和SOIC两种封装形式,并带有内部时钟。它的外围接线极其简单,AD7810的转换时间为2μs,采用标准SPI同步串行接口输出和单一电源(2.7V~5.5V)供电。在自动低功耗模式下,该器件在转换吞吐率为1kSPS时的功耗仅为27μW,因此特点适合于便携式仪表及各种电池供电的应用场合使用。

       1 AD7810引脚功能

ad7810引脚功能

AD7810引脚排列如图1所示,各引脚的功能如下:

1脚CONVST:转换启动输入信号。

2脚VIN+:模拟信号同相输入端。

3脚VIN-:模拟信号反相输入端。

4脚GND:接地端口。

5脚VREF:转换参考电压输入端。

6脚DOUT:串行数据输出端。

7脚SCLK:时钟输入端。

8脚VDD:电源端。

       2 AD7810主要参数

AD7810的主要参数如下:

  • 分辨率:10位二进制;
  • 转换时间:2μs;
  • 非线性误差:±1LSB;
  • 电源电压范围:2.7~5.5V;
  • 电源功耗:高速方式时为17.5mW,低功耗方式时为5μW;
  • 参考电压VEFR范围:1.2V~VDD;
  • 模拟电压输入范围:0V~VREF;
  • 输出形式:SPI同步串行输出,与TTL电平兼容。

       3.1 高速模式工

高速模式时序

       图2是AD7810工作在高速模式时的时序图。在此模式下,启动信号CONVST一般处于高电平。在CONVST端输入一个负脉冲,其下降沿将启动一次转换。若采用内部时钟,那么,转换需要2μs的时间(图中t1)。当转换结束时(图中A点),AD7810会自动将转换结果锁存到输出移位寄存器中。此后,在每一个SCLK脉冲的上升沿,数据按由高到低的原则(首先发送DB9,最后发送DB0)依次出现在DOUT上。如果在转换还未结束之前就发出SCLK信号来启动数据输出,那么,在DOUT上出现的将是上一次转换的结果。

       启动信号CONVST应在转换结束前变为高电平,即t3应小于t1,否则器件将自动进入低功耗模式。另外,串行时钟SCLK的最高频率不能超过20MHz。

        3.2 自动低功耗模式

自动低功耗模式时序

       图3是AD7810工作在自动低功耗模式时的时序图。在此模式下,启动信号CONVST为低电平时,器件处于低功耗休眠状态。当在CONVST端输入一个正脉冲时,可在其上升沿将器件从休眠状态唤醒,唤醒过程需要1μs的时间(图中t2)。当器件被唤醒后,系统将自动启动一次转换,转换时间也是2μs(图中t1)。转换结束时,AD7810将转换结果锁存到输出移位寄存器中,同时自动将器件再一次置于低拉耗状态。

        启动信号CONVST正脉冲的宽度(图2中t3)应小于1μs,否则器件被唤醒后将不会自动启动转换,而是将A/D转换的启动时间顺延至CONVST的睛降沿处。自动低功耗模式是AD7810是一大特铎,一般当数据吞吐率小于100kSPS时,应使器件工作在此模式下。在5V电源电压下,当数据吞吐率为100kSPS时,器件的功耗2.7mW;而当数据吞吐率为 10kSPS时,功耗为270μW;若数据吞吐率为1kSPS,则其功耗仅27μW。

        4 AD7810的典型应用

ad7810的典型应用

        AD7810应用时几乎不需外围元件。图4所示是其典型应用电路,其参考电压VREF接至VDD,模拟输入VIN-接至GND,而待转换电压则从VIN+输入。

        AD7810 几乎可与各种MCU进行接口,图4中的MCU可以是8051或PIC16C6X/7X。当与PIC16C6

X/7X系列单片机进行接口时,可将SCLK接至单片机的SCK(RC3),将DOUT接至SDI(RC4),而其启动信号CONVST则可接至单片机的任意输出口上(如RC0)。由于PIC单片机的 SPI方式每次只能接收8位数据,因此10位数据应分两次读取。当AD7810与8051接口时,电路采用的是一种模拟串口方式,AD7810的 SCLK、DOUT和CONVST分别接至8051的P1.0、P1.1和P1.2,只要严格按照AD7810的时序要求操作,一般接口都不会有问题。这种方式实际上可扩展到所有的MCU种类。另外,8051也可利用其串行口工作方式0与AD7810进行通讯(图中未画出),但这时应解决好两个问题:一是由于8051在TXD的上升沿进行采样,这样,TXD应经过一个反相器再接到SCLK,而将RXD接至DOUT,然后将CONVST接至任意一个输出端口。二是8051串行口首先接收低位数据,这一点与AD7810刚好相反,因此,编程时应当注意。

        下面给出PIC16C6X/7X和8051分别与AD7810进行通讯的两段程序,作者只对与A/D转换有关的部分进行了编写(常用资源定义、芯片定义等均未列出),两段程序均可钭AD7810的工作控制在自动低功耗方式。8051与AD7810通讯程序如下:

START:CLR P1.0 ;初始化

SETB P1.0

CLR P1.2

LOOP:CALL CON0

... ;主程序省略

;A/D转换子程序,返回时数据低8位在R2中,高2位在R3中

CON0:MOV R1,#`10 ;10位数据

MOV R2,#0

SETB P1.2 ;唤醒启动AD7810

CLR P1.2

CON1:SETB P1.0 ;发送SCLK信号

MOV C,P1.1 ;读一位数据

CLR P1.0

MOV A,R2 ;数据移位

RLC A

MOV R2,A

MOV A,R3

RLC A

MOV R3,A

DJNZ R1,CON1

RET

PIC16C6X/7X与AD7810的通讯程序如下:

REG1 EQU 0X20 ;寄存器定义

REG2 EQU 0X21

CLRF PORTC ;端口初始化

BSF STATUS,RP0

MOVLW 0X30

MOVWF TRISC

BCF STATUS,PR0

BCF SSPCON,SSPEN

MOVLW 0X00 ;SPI初始化

MOVWF SSPCON

BSF SSPCON,SSPEN SPI开放

LOOP CALL ADCON

... ;主程序省略

;A/D转换子程序,返回时数据低8位在REFG1中,高2位在REG2中

ADCON BSF PORTC,0 ;唤醒启动AD7810

BCF PORTC,0

MOVWF SSPBUF ;启动接收高8位

BSF STATUS,RP0

CON1 BTFSS SSPSTAT,BF ;数据已接收?

GOTO CON1 ;没有收到

BCF STATUS,RP0

MOVF SSPBUF,W

MOVWF REG1 ;高8位送REG1

MOVWF SSPBUF ;启动接收低2位

BSF STATUS,PR0

CON1 BTFSS SSPSTAT,BF ;数据已接收?

GOTO CON1 ;没有收到

BCF STATUS,RP0

MOVF SSPBUF,W

ANDLW B11000000 ;保留有效位

MOVWF REG2 ;低2位送REG2

BCF STATUS,C ;进位位清零

RLCF REG2,1 ;数据调整

RLCF REG1,1

RLCF REG2,1

RLCF REG1,1 ;低8位

RLCF REG2,1 ;高2位

RETURN

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    前置放大器在移动医疗服务系
    便携式多通道大容量生理信号
    防腐监测仪的设计与应用
    基于AD1674的酶标仪的设计
    基于C/S模式的JRTPLIB库的测
    ffmpeg与jrtplib相结合应用
    blackfin模拟摄像头驱动中的
    可编程逻辑在数字信号处理系
    发现VDSP4.5一个BUG:单步调
    VDSP5.0双核工程下sml3中的变
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号