AD7865使用总结

Posted 无痕幽雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AD7865使用总结相关的知识,希望对你有一定的参考价值。

       AD7865是一款高速14位的4通道采样芯片,网上手册基本都是英文(PS:可以在这个网址把英文文档翻译成中文:搜狗文档翻译-我的贴身智能翻译专家),这里只介绍芯片的大概情况和使用注意点,更为详细的信息请参考数据手册。

一、芯片特征

 二、引脚介绍

 

序号名称方向功能
1BUSY输出空闲或者所选序列全部转换完成后,为低电平;所选序列转换期间为高电平。
2FRSTDATA输出第一个数据输出指示信号。为高电平,表示数据输出寄存器指针指向转换序列第一个数据寄存器;为低电平表示指向其它数据寄存器。
3/CONVST输入启动转换信号,启动一次转换一次;MCU控制引脚上升沿启动转换,期间保持高电平;转换完成后,变成低电平。
4/CS输入芯片使能输入脚,低电平使能
5/RD输入读取数据使能脚,低电平使能
6/WR输入写入数据使能脚,低电平使能
7CLK IN/SL1输入

11脚为高:

8脚为高,该引脚接外部时钟

8脚为低,选择内部时钟,该引脚无用,可连接VCC或者GND

11脚为低:

改引脚为转换通道1选择,高电平选中,低电平不选中

8

----

INT/EXT CLK/SL2 

输入

11脚为高:

输入高,选择外部时钟

输入低,选择内部时钟

11脚为低:

改引脚为转换通道2选择,高电平选中,低电平不选中

9,10SL3、SL4输入

11脚为高:

该引脚无用,可连接VCC或者GND;

11脚为低:

改引脚为转换通道3和4选择,高电平选中,低电平不选中

11

--

H/S SEL

输入

为高,转换通道有DB0~DB3控制

为低,转换通道有SL1~SL4控制

12AGND模拟电源地
13-16VIN4x、VIN3x模拟输入
17AGND模拟电源地
18-21VIN2x、VIN1x
22

-------

STBY

输入

高:正常工作模式

低:待机模式

23AGND模拟电源地
24Vref输出参考电压,接0.1uF去耦电容,允许对外工2.5V电压
25AVDD模拟电源输入5.0V±5%
26AGND模拟电源地
27-34DB13-DB6输出数据输出脚
35DVDD数字电源输入5.0V±5%
36VDRIVE驱动接口电源输入该引脚决定接口电平,最低3.0V,同时需要接0.1uF电容
37DGND数字地
38,39DB5-DB4输出数据输出脚
40-43DB3-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使用总结的主要内容,如果未能解决你的问题,请参考以下文章

python查询AD域信息的方法总结

python常用代码片段总结

BootStrap有用代码片段(持续总结)

Android Place自动填充片段:无法设置文字

BootStrap实用代码片段(持续总结)

回归 | js实用代码片段的封装与总结(持续更新中...)