AD7865使用总结
Posted 无痕幽雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AD7865使用总结相关的知识,希望对你有一定的参考价值。
AD7865是一款高速14位的4通道采样芯片,网上手册基本都是英文(PS:可以在这个网址把英文文档翻译成中文:搜狗文档翻译-我的贴身智能翻译专家),这里只介绍芯片的大概情况和使用注意点,更为详细的信息请参考数据手册。
一、芯片特征
二、引脚介绍
序号 | 名称 | 方向 | 功能 |
1 | BUSY | 输出 | 空闲或者所选序列全部转换完成后,为低电平;所选序列转换期间为高电平。 |
2 | FRSTDATA | 输出 | 第一个数据输出指示信号。为高电平,表示数据输出寄存器指针指向转换序列第一个数据寄存器;为低电平表示指向其它数据寄存器。 |
3 | /CONVST | 输入 | 启动转换信号,启动一次转换一次;MCU控制引脚上升沿启动转换,期间保持高电平;转换完成后,变成低电平。 |
4 | /CS | 输入 | 芯片使能输入脚,低电平使能 |
5 | /RD | 输入 | 读取数据使能脚,低电平使能 |
6 | /WR | 输入 | 写入数据使能脚,低电平使能 |
7 | CLK IN/SL1 | 输入 | 11脚为高: 8脚为高,该引脚接外部时钟 8脚为低,选择内部时钟,该引脚无用,可连接VCC或者GND 11脚为低: 改引脚为转换通道1选择,高电平选中,低电平不选中 |
8 | ---- INT/EXT CLK/SL2 | 输入 | 11脚为高: 输入高,选择外部时钟 输入低,选择内部时钟 11脚为低: 改引脚为转换通道2选择,高电平选中,低电平不选中 |
9,10 | SL3、SL4 | 输入 | 11脚为高: 该引脚无用,可连接VCC或者GND; 11脚为低: 改引脚为转换通道3和4选择,高电平选中,低电平不选中 |
11 | -- H/S SEL | 输入 | 为高,转换通道有DB0~DB3控制 为低,转换通道有SL1~SL4控制 |
12 | AGND | 模拟电源地 | |
13-16 | VIN4x、VIN3x | 模拟输入 | |
17 | AGND | 模拟电源地 | |
18-21 | VIN2x、VIN1x | ||
22 | ------- STBY | 输入 | 高:正常工作模式 低:待机模式 |
23 | AGND | 模拟电源地 | |
24 | Vref | 输出 | 参考电压,接0.1uF去耦电容,允许对外工2.5V电压 |
25 | AVDD | 模拟电源输入 | 5.0V±5% |
26 | AGND | 模拟电源地 | |
27-34 | DB13-DB6 | 输出 | 数据输出脚 |
35 | DVDD | 数字电源输入 | 5.0V±5% |
36 | VDRIVE | 驱动接口电源输入 | 该引脚决定接口电平,最低3.0V,同时需要接0.1uF电容 |
37 | DGND | 数字地 | |
38,39 | DB5-DB4 | 输出 | 数据输出脚 |
40-43 | DB3-DB0 | 双向 | 数据输出脚引脚或者 |
44 | /EOC | 输出 | 单次转换完成输出脚;转换期间高电平,转换完成低电平 |
三、转换通道选择
4四转换通道,可以任意选择。其控制可以采用硬件控制或者寄存器控制,请看引脚11说明,所选通道以升序转换。
如果选择硬件控制,则在/CONVST上升沿锁定SL1~SL4状态,直到本次序列转换结束,才可以改变转换序列。
如果选择寄存器控制,数据总线位DB0至DB3 (DB0代表通道1至DB3代表通道4)是双向的,当RD为逻辑高电平,而“CS”和“WR”为逻辑低电平时,它们成为通道选择寄存器的输入。当WR变为逻辑高电平时,DB0至DB3上的逻辑状态锁存到通道选择寄存器中。
时序:
四、数据输出
AD7865-1数据输入范围有两种:±10V和±5V,接法不一样,1 LSB量程不同,比列系数也不同。
±10V模式:
A和B其中一个引脚接地,另外的引脚接模拟输入量,1 LSB = 1.22mV
电压=AD采样值*1.22mV*4;
±5V模式:
A和B引脚连接在一起,接模拟输入量,1 LSB = 610.4uV
电压=AD采样值*610.4uV*2;
五、数据采样
时序:
流程如果:
1、初始化:初始化引脚
2、配置通道和选择输入模式
for(i=0;i<chSize;i++)
switch(pcStrig[i])
case '1':
this.chChannel1 = 1;
break;
case '2':
this.chChannel2 = 1;
break;
case '3':
this.chChannel3 = 1;
break;
case '4':
this.chChannel4 = 1;
break;
default:
break;
3、读取数据,读取第一个数据时候,确定FRSTDATA为高电平;读取数据时候,可以每个EOC读取,也可以BUSY为低读取;注意输出格式是二进制补码。
this.tADValue[3].iADbit0 = AD_BIT0();
this.tADValue[3].iADbit1 = AD_BIT1();
this.tADValue[3].iADbit2 = AD_BIT2();
this.tADValue[3].iADbit3 = AD_BIT3();
this.tADValue[3].iADbit4 = AD_BIT4();
this.tADValue[3].iADbit5 = AD_BIT5();
this.tADValue[3].iADbit6 = AD_BIT6();
this.tADValue[3].iADbit7 = AD_BIT7();
this.tADValue[3].iADbit8 = AD_BIT8();
this.tADValue[3].iADbit9 = AD_BIT9();
this.tADValue[3].iADbit10 = AD_BIT10();
this.tADValue[3].iADbit11 = AD_BIT11();
this.tADValue[3].iADbit12 = AD_BIT12();
this.tADValue[3].iADbit13 = AD_BIT13();
this.tADValue[3].iADbit14 = AD_BIT13();
this.tADValue[3].iADbit15 = AD_BIT13();
以上是关于AD7865使用总结的主要内容,如果未能解决你的问题,请参考以下文章