码迷,mamicode.com
首页 > 其他好文 > 详细

AD7794操作说明

时间:2017-06-12 14:37:48      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:手册   转换   log   com   芯片   class   html   ref   boost   

转载请注明原文出处,http://www.cnblogs.com/flyingcloude/p/6992492.html

AD7794具有24个引脚,各个引脚的功能参考芯片手册。片内寄存器,ADC通过片内寄存器进行控制和配置,“置1”表示逻辑1状态,“置0”表示逻辑0状态,除非另有说明。

  AD7794有以下9种寄存器,接下来进行逐一介绍:

  (1)通信寄存器

  通信寄存器是8位只写寄存器,与ADC器件的所有通信均必须以对通信寄存器的写操作开始,写入通信寄存器的数据决定下一个操作是读操作还是写操作。通信寄存器各位如下:

CR7 CR6 CR5 CR4 CR3 CR2 CR1 CR0
WEN(0) R/W(0) RS2(0) RS1(0) RS0(0) CREAD(0) 0(0) 0(0)

其中CR5,CR4,CR3对应的分别为RS2,RS1,RS0,这几位决定着下一个操作的是哪个寄存器,RS2,RS1,RS0对应的寄存器如下表所示:

寄存器选择 RS2 RS1 RS0
写操作的时候,通信寄存器 0 0 0
读操作的时候,状态寄存器 0 0 0
模式寄存器 0 0 1
配置寄存器 0 1 0
数据寄存器 0 1 1
ID寄存器 1 0 0
IO寄存器 1 0 1
失调寄存器 1 1 0
满量寄存器 1 1 1

当接口时序迷失时,执行一个占用至少32个串行时钟周期的写操作,并使DIN处于高店铺状态,可以复位整个器件。

a.使能连续读取模式,必须将指令0101,1100写入通信寄存器

b.退出连续读取模式,将指令0101,1000写入通信寄存器

  (2)状态寄存器,状态寄存器是一个8位只读寄存器

SR7 SR6 SR5 SR4 SR3 SR2 SR1 SR0
RDY(1) ERR(0) NOXREF(0) 0(0) 0/1 CH2(0) CH1(0) CH0(0)

  SR2,SR1,SR0对应的是CH2,CH1,CH0,表示ADC正在转换哪个通道

读取状态寄存器过程:

a.将指令0100,0100写入通信寄存器

b.从状态寄存器中读取数据

  (3)模式寄存器,模式寄存器是一个16位的读写寄存器,用于选择工作模式、更新速率和时钟源

MR15 MR14 MR13 MR12 MR11 MR10 MR9 MR8 MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0
MD2(0) MD1(0) MD0(0) PSW(0) 0(0) 0(0) AMP-CM(0) 0(0) CLK1(0) CLK0(0) 0(0) CHOP-DIS(0) FS3(1) FS2(0) FS1(1) FS0(0)

工作模式由MR15,MR14,MR13(MD2,MD1,MD0)决定,如下表所示:

MD2 MD1 MD0 工作模式
0 0 0 连续转换模式
0 0 1 单次转换模式
0 1 0 空闲模式
0 1 1 省电模式
1 0 0 内部零电平校准
1 0 1 内部满量程校准
1 1 0 系统零电平校准
1 1 1 系统满量程校准

更新速率由MR3,MR2,MR1,MR0(FS3,FS2,FS1,FS0)决定,如下表所示:

FS3 FS2 FS1 FS0 速率
0 0 0 0 x
0 0 0 1 470
0 0 1 0 242
0 0 1 1 123
0 1 0 0 62
0 1 0 1 50
0 1 1 0 39
0 1 1 1 33.2
1 0 0 0 19.6
1 0 0 1 16.7
1 0 1 0 16.7
1 0 1 1 12.5
1 1 0 0 10
1 1 0 1 8.33
1 1 1 0 6.25
1 1 1 1 4.17

设置模式寄存器的过程:

a.将指令0000,1000写入通信寄存器

b.将指令0000,0000,0000,1010写入模式寄存器

  (4)配置寄存器,配置寄存器是一个16位读写寄存器,用来配置单极性或双极性模式,使能或禁用缓冲器,使能或禁用熔断电流,选择增益,以及选择模拟输入通道。

CON15 CON14 CON13 CON12 CON11 CON10 CON9 CON8 CON7 CON6 CON5 CON4 CON3 CON2 CON1 CON0
VBIAS1(0) VBIAS0(0) BO(0) U/B(0) BOOST(0) G2(1) G1(1) G0(1) REFSEL1(0) REFSEL0(0) REF_DEF(0) BUF(1) CH3(0) CH2(0) CH1(0) CH0(0)

通道选择有CON3,CON2,CON1,CON0(CH3,CH2,CH1,CH0)决定,如下表所示:

CH3 CH2 CH1 CH0 通道
0 0 0 0 AIN1(+)/AIN1(-)
0 0 0 1 AIN2(+)/AIN2(-)
0 0 1 0 AIN3(+)/AIN3(-)
0 0 1 1 AIN4(+)/AIN4(-)
0 1 0 0 AIN5(+)/AIN5(-)
0 1 0 1 AIN6(+)/AIN6(-)
0 1 1 0 温度传感器
0 1 1 1 AVdd监控器
1 0 0 0 AIN1(-)/AIN1(-)
1 0 0 1 保留
1 0 1 0 保留
1 0 1 1 保留
1 1 0 0 保留
1 1 0 1 保留
1 1 1 0 保留
1 1 1 1 保留

操作配置寄存器的过程:

a.将指令0001,0000写入通信寄存器

b.将指令0000,0100,0000,0000写入配置寄存器

  (5)数据寄存器,数据寄存器是ADC转换的结果,是一个只读寄存器。

  (6)IO寄存器,IO寄存器是一个8位读写寄存器

理解了上面的这些寄存器,那就可以进行编程操作AD7794的采样。下一篇将介绍S3C6410操作AD7794

 

 
 

 

转载请注明原文出处,http://www.cnblogs.com/flyingcloude/p/6992492.html

AD7794操作说明

标签:手册   转换   log   com   芯片   class   html   ref   boost   

原文地址:http://www.cnblogs.com/flyingcloude/p/6992492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!