一、特性参数

1、16位无失真AD转换器

2、增益可调,在1,2,32,128可切换。

3、数字地和模拟地分开,可以减少噪声。

4、具有较大的输出电流,有比较好的带载能力。

二、管脚排列

三、引脚功能

引脚名称 功能
SCLK 串行时钟,施密特逻辑输入。将一个外部的串行时钟加于这一输入端口,以访问AD7715 的串行数据。和单片机传输数据时的控制时钟
MCLKIN 为转换器提供主时钟信号。能以晶体/谐振器或外部时钟的形式提供。晶体/谐振器可以接在MCLKIN 和MCLKOUT 二引脚之间。此外,MCLKIN 也可用CMOS 兼容的时钟驱动, 而MCLKOUT 不连接。时钟频率的范围为500kHz~5MHz
MCLKOUT 当主时钟为晶体/谐振器时,晶体/谐振器被接在MCLKIN 和MCLKOUT 之间。如果在MCLKIN 引脚处接上一个外部时钟,MCLKOUT 将提供一个反相时钟信号。这个时钟可以用来为外部电路提供时钟源,且可以驱动一个CMOS 负载。如果用户不需要,MCLKOUT 可以通过时钟寄存器中的CLKDIS位关掉。这样,器件不会在MCLKOUT 脚上驱动电容负载而消耗不必要的功率
CS’ 片选,低电平有效的逻辑输入,选择AD7715。将该引脚接为低电平,AD7715 能以三线接口模式运行(以SCLK、DIN 和DOUT 与器件接口)。在串行总线上带有多个器件的系统中,可由CS’对这些器件作出选择,或在与AD7715通信时,CS’可用作帧同步信号
RESET 复位输入。低电平有效的输入,将器件的控制逻辑、接口逻辑、校准系数、数字滤波器和模拟调制器复位至上电状态
AVDD 模拟电源电压,5V
AVIN(+) 差分模拟输入的正输入端
AVIN(-) 差分模拟输入的负输入端
REFIN(+) 基准输入端,基准输入是差分的,并规定REFIN(+)必须大于REFIN(-)。REFIN(+)可以取VDD 和GND 之间的任何值
REFIN(-) 基准输入端,REFIN(-)可以取VDD 和GND 之间的任何值,且满足REFIN(+)大于REFIN(-)
AGND 模拟地
DRDY’

逻辑输出。这个输出端上的逻辑低电平表示可从AD7705/7706 的数据寄存器获取新的输出字。完成对一个完全的输出字的读操作后,DRDY’引脚立即回到高电平。如果在两次输出更新之间,不发生数据读出,DRDY’将在下一次输出更新前500×tCLKIN 时间返回高电平。当DRDY’处于高电平时,不能进行读操作,以免数据寄存器中的数据正在被更新时进行读操作。当数据被更新后,DRDY’又将返回低电平。DRDY’也用来指示何时AD7705/7706 已经完成片内的校准序列.

DOUT 串行数据输出端
DIN 串行数据输入端
DVDD 数字电源电压,可以是+5V,也可以是3.3V
DGND 数字地

四、片内寄存器

1、概述

只有四个寄存器,分别是通信、设置、数据还有校准寄存器。一般来说只是用通信和设置以及数据寄存器。而且每次进行操作的时候是先对通信寄存器进行操作,之后再跳到所选的下一个寄存器进行读写。

2、通信寄存器

管脚名称 功能
0/DRDY’ 这意味必须写“0”,否则不能继续进行对寄存器的操作。
ZERO 这一位必须写“0”,否则芯片不一定能正常工作。
RS1– RS0 选择下一个进行通讯的寄存器
STBY “1”表示进入低功耗模式,功耗只有10uW,“0”则是正常工作,一般默认为“0”即可。
G1-G0 设置增益倍数

3、设置寄存器

管脚名称 功能
MD1 MD0
CLK 时钟位。CLK 位应根据AD7705/7706 的工作频率而设置。如果转换器的主时钟频率为2.4576MHz(CLKDIV=0)或为4.9152MHz(CLKDIV=1),CLK 应置“0”。如果器件的主时钟频率为1MHz(CLKDIV=0)或2MHz (CLKDIV=1),则该位应置“1”。该位为给定的工作频率设置适当的标度电流,并且也(与FS1 和FS0 一起)选择器件的输出更新率。
FS1, FS0 滤波器选择位,它与CLK 一起决定器件的输出更新率。表12 显示了滤波器的第一陷波和-3dB 频率。
B/U’ “0”表示双极性设置
“1”表示单极性设置
BUF “1”表示二分频,“0”表示不分频
FSYNC 滤波器同步。该位处于高电平时,数字滤波器的节点、滤波器控制逻辑和校准控制逻辑处于复位状态下,同时,模拟调制器也被控制在复位状态下。当处于低电平时,调制器和滤波器开始处理数据,并在3×(1/输出更新速率)时间内(也就是滤器的稳定时间)产生一个有效字。FSYNC 不影响数字接口,也不使DRDY’输出复位(如果它是低电平)。

4、数据寄存器

数据寄存器是一个16 位只读寄存器,它包含了来自AD7715 最新的转换结果。如果通信寄存器将器件设置成对该寄存器写操作,则必定会实际上发生一次写操作以使器件返回到准备对通信寄存器的写操作,但是向器件写入的16 位数字将被AD7715 忽略。

五、芯片外围电路图

六、STM32F103ZET驱动程序(以IO口模拟方式)

#ifndef __ADC7715_H
#define __ADC7715_H #include "stm32f10x.h"
#include "pbdata.h"
#include "spi.h" //自编函数
#include "timer.h"
#include "gpio.h"
#include "baseFunc.h" #define SCLK Pin0
#define DIN Pin1
#define DOUT Pin2
#define DRDY Pin3 void WriteAD7715Data(u8 data); void delay_Ms(int time); u32 ReadAD7715Data(u8 byte); void InitAD7715(void); u32 GetAD7715Num(void); #endif
#include "adc7715.h"

void delay_Ms(int time)
{
u32 i,j;
for(i=time;i>0;i--)
{
for(j=0;j<512;j++)
{ }
}
} void WriteAD7715Data(u8 data)
{
u8 i;
for(i=0;i<8;i++)
{
if( (data&0x80)!=0 )
{
set_outH(GPIOA,DIN);
}
else
{
set_outL(GPIOA,DIN);
}
data=data<<1;
delay_Ms(10); set_outH(GPIOA,SCLK);
delay_Ms(10);
set_outL(GPIOA,SCLK);
delay_Ms(10);
set_outH(GPIOA,SCLK);
delay_Ms(10);
}
set_outH(GPIOA,DIN);
delay_Ms(10);
} u32 ReadAD7715Data(u8 byte)
{
u8 i;
u32 data = 0;
for(i=0;i<byte*8;i++)
{
set_outH(GPIOA,SCLK);
delay_Ms(10);
set_outL(GPIOA,SCLK);
delay_Ms(20); data=data<<1; if(read_in(GPIOA,DOUT)==1)
{
data=data+1;
}
set_outH(GPIOA,SCLK);
delay_Ms(10);
}
return data;
} void InitAD7715(void)
{
set_out(GPIOA,SCLK|DIN);
set_FIN(GPIOA,DOUT|DRDY); WriteAD7715Data(0x10);
WriteAD7715Data(0x66); } u32 GetAD7715Num(void)
{
while(read_in(GPIOA,DRDY)==1); WriteAD7715Data(0x38); return ReadAD7715Data(2);
}

电赛总结(二)——AD芯片总结之AD7715的更多相关文章

  1. 电赛总结(二)——AD芯片总结之音频处理芯片ADC8009

    一.特性参数 1.专门用来用音频处理的AD芯片 2.内部固定好8K的采样速率 3.8位AD芯片 二.内部结构图 三.芯片管脚图 四.管脚功能说明 管脚名称 功能 IN0~IN7 数据输入端 ABC 数 ...

  2. 电赛总结(二)——AD芯片总结之高速AD9224

    一.特性参数 1.12位高速AD 2.高达40MSPS的高速AD芯片 3.噪声小 二.芯片管脚图 三.管脚功能说明 管脚名称 功能 CLK 参考时钟输入端 BIT12-1 数据输出端(1是低位,12是 ...

  3. 电赛总结(四)——波形发生芯片总结之AD9834

    一.特性参数 1.2.3V~5.5V供电 2.输出频率高达37.5MHz 3.正弦波.三角波输出 4.提供相位调制和频率调制功能 5.除非另有说明,VDD = 2.3 V至5.5 V,AGND = D ...

  4. TI MSP430工程配置及2019年电赛A题编程示例(使用430 F5529)

    配置 第一步:右击工程,选择Options 第二步:在General Options的Target选项卡里选择对应的器件Device,这里是MSP430G2231 第三步:在Debugger里选择FE ...

  5. 【系列】关于NJUPT电赛自控方向第一次积分赛的总结

    本人是NJUPT电子科学与技术专业大一摸鱼狗一枚.本博客旨在总结与分享个人准备电赛所学知识,同时也是为了防止遗忘,锻炼写文章的能力.目前电赛方向为自控方向.主要研究方向为单片机.图像处理.自动控制相关 ...

  6. AD芯片的基准参考电压问题

    基准参考电压的精度一般非常高的! AD芯片 : AD9226的基准参考电压  误差一般是  千分之一! 我之前用万用表测量AD9226的参考电压大概是1.89V(这款AD的正确参考电压应该是2V),所 ...

  7. [2018冬令营模拟测试赛(二十一)]Problem A: Decalcomania

    [2018冬令营模拟测试赛(二十一)]Problem A: Decalcomania 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见&quo ...

  8. noip2019集训测试赛(二十一)Problem B: 红蓝树

    noip2019集训测试赛(二十一)Problem B: 红蓝树 Description 有一棵N个点,顶点标号为1到N的树.N−1条边中的第i条边连接顶点ai和bi.每条边在初始时被染成蓝色.高桥君 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解

    首先感谢张队@geffzhang公众号转发了上一篇文章,希望广大.neter多多推广dapr,让云原生更快更好的在.net这片土地上落地生根. 目录:一.通过Dapr实现一个简单的基于.net的微服务 ...

随机推荐

  1. MySQL 高效分页

    create PROCEDURE USP_GetByPager( _pageindex int, _pagesize int ) BEGIN )*_pagesize; select * from A ...

  2. UICollectionViewController用法

    在iOS 6 发布前,开发人员习惯使用UITableView来展示几乎所有类型的数据集合.ios 6 为 IOS 引入了全新的控制器,用来显示数据集合,集合视图控制器是与表视图控制器类似的全新UI框架 ...

  3. 解决win8下chrome浏览器打开提示没有注册类的方法

    今天又把win8装回来了,继续装了个chrome浏览器,但是发现只能从安装的文件打开,从快捷方式或者快速启动栏都会提示没有注册类.找到一种解决的办法是删除注册表中的相关键值,具体如下: 1.打开注册表 ...

  4. linux shell 流程控制

    导读 和Java.PHP等语言不一样,linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使 ...

  5. HTTP HSTS协议和 nginx

    导读 Netcraft 公司最近公布了他们检测SSL/TLS网站的研究,并指出只有仅仅5%的用户正确执行了HTTP严格传输安全HSTS.本文介绍nginx如何配置HSTS. 什么是HSTS HTTPS ...

  6. PHP 遍历数组的方法汇总

    1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...

  7. 查看一些特定sql需求的书写

    user表,5个人abcde,  content表10篇文章,一个人对应两篇文章,有 time字段,查询出五个人的最新文章. select a.id,a.SName,a.ClsNo,a.Scorefr ...

  8. 在VMware的虚拟机平台上如何进行网络设置

    1.本文构建的是这样一个网络,有两台winXP系统的PC,处于同一局域网内,PC里 都装有VMware虚拟机,虚拟机上跑的是Redhat Linux 9,我们想要在winXP系统下访问本机的虚拟机li ...

  9. Segment Tree Modify

    For a Maximum Segment Tree, which each node has an extra value max to store the maximum value in thi ...

  10. Android 和iOS 创建本地通知

    1 Android 中的发送本地通知的逻辑如下 先实例化Notification.Builder,再用builder创建出具体的Notification,创建时要指定好启动用的PendingInten ...