ad7810是美国模拟器件公司(analog devices)生产的一种低功耗10位高速串行a/d转换器。该产品有8脚dip和soic两种封装形式,并带有内部时钟。它的外围接线极其简单,ad7810的转换时间为2μs,采用标准spi同步串行接口输出和单一电源(2.7v~5.5v)供电。在自动低功耗模式下,该器件在转换吞吐率为1ksps时的功耗仅为27μw,因此特点适合于便携式仪表及各种电池供电的应用场合使用。
1 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应用时几乎不需外围元件。图4所示是其典型应用电路,其参考电压vref接至vdd,模拟输入vin-接至gnd,而待转换电压则从vin+输入。
ad7810 几乎可与各种mcu进行接口,图4中的mcu可以是8051 或pic16c6x/7x。当与pic16c6x/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
:
采用AT89S52单片机和FUTABAS3003舵机实现机械手的设计
理解S12(X)架构中的地址映射方案
关于LabVIEW制作打破传统之思维模式
5G通信天线系统中电磁兼容解决方案
虹科免拆诊断 | 2008 款雪佛兰科帕奇车行驶中发动机偶发熄火
模数转换芯片AD7810的原理及应用
11月已有近10家AGV/AMR企业达成战略协议
为下一代计算机处理器选择互连监控解决方案
如何在嵌入式FreeRTOS系统接口调用API?
天龙股份:新能源汽车业务占比相对较小
水电预付费云平台解决方案
艾迈斯半导体携手Senova启动COVID-19(SARS-CoV-2)抗体数字快速检测套件生产线
德州仪器推出业界首款支持SPICE模型的 SAR ADC
索尼PS VR今年预期销量居首 价格低是主导因素
Zynq SoC PCI Express Root Complex 就是这么简单
单片具有热调节功能的微型线性电池管理芯片
阿里内部进行了一次重大的架构调整,云和AI上升到无比重要的位置
关于Nanoskim软件器件掺杂的总体介绍
EMI/EMC原理与应对详解(一)
定时器开关该如何设置时间