ADC采样芯片ADS7822使用方法

2019-05-20来源: eefocus关键字:ADC  采样芯片  ADS7822  使用方法

最近,做项目中使用了一款TI(德州仪器)公司的ADC采样芯片ADS7822。现在把我的电路和程序发出来与大家分享。最重要的是,深入了解ADC芯片的使用方法,达到触类旁通。


在我的项目中,有一个微弱的电流信号,被放大电路放大成了电压信号,范围是0~2500mV,所以,我需要采集这个电压信号到单片机。


在我以前的文章中,我也强调过多次,在使用一款芯片之前,一定要去这款芯片的官方网站,或者在别的可靠的地方也可以,下载到这款芯片的数据手册(datasheet)。有很多电子初学者,不知道这个看似平常却很有效的学习方法,还没有看过芯片的数据手册,就去百度上搜索“XXX芯片电路图”“XXX芯片程序”等,然后看了一堆资料,也不会用。


ADC芯片,首先看三个参数:分辨率、采样率、通信速率。

分辨率:

从这个芯片的首页,可以看到,分辨率是12位,2500mV/4095=0.61mV.

采样率:

采样率是200KHz,换句话说,就是1秒钟,可以转换200000次,再换句话说,就是5微秒可以转换一次数据。(T=1/f 1/200000=0.000005)这个速度已经是很快了。所以,这款芯片的价格不算低。

通信速率:

通信速率在首页中没有写,我们可以在后面找到,如下图:


通信速率可以从10KHz到3.2MHz.

下面,就该看芯片引脚名称和功能了。


电源引脚VCC和GND,SPI通信引脚DCLOCK、Dout、CS/SHDN,基准参考电压引脚Vref,最后,两个电压输入引脚+In和-In.

电源:

从首页中看到,电源可以从2.7V到5.25V,从这个信息中,我们可以得知,这个芯片,可以用在3.3V的单片机系统中,也可以用在5V的单片机系统中。

基准参考电压:

为什么会有基准参考电压呢?举个例子,加入你按照电源电压为参考电压的话,一般电源芯片输出的电压,不是很精确,例如,我们的电源,正常应该是3.3V,所以我们在计算得到的输入电压的时候,会用这个公式Vin=采集值*3300/4095;那么,实际上如果你的电源电压是3.2V,或者是3.4V的话,计算出来的结果,误差就会很大。当然,还有一个解决办法,就是先测一下电源电压,如果测到的电压是3.25V,那么把公式中的3300换成3250,就可以解决。不过,你试想一下,如果你的产品是批量产品的话,每个产品都需要你先测试电源电压,再改程序,那岂不是累死了。所以ADC芯片一般都带有一个Vref基准电压引脚。然后市场上还会有很多的基准电压芯片,在我的项目中,使用的是TI公司的REF3125芯片,它是一个2.5V的基准电压源。



从这段话中,得到,ADC芯片的输入电压范围,就是基准电压设置的。所以,我的电路,输入电压就是0~2.5V。另外,这段话也提示我们,你可以随意使用从50mV到电源电压值的任意基准电压芯片,我们使用的REF3125是2.5V的基准电压,符合这个要求。


电路图中,ADS7822使用3.3V供电,芯片的IN-与GND直接相连,用IN+接输入待检测信号,C23和C24和C26是电源滤波用的。REF3125是2.5V电压基准芯片,使用方法也很简单,3.3V供电,直接输出2.5V。CS,DOUT,DCLK是SPI通信引脚。

采集程序

程序遵循普通的SPI通信协议。单片机带SPI口的话,可以在硬件上连接之后再做好配置即可。不过,作为一个初学者,不建议使用单片机的硬件SPI接口,而直接使用IO口模拟,这样理解的比较透彻。

先看时序图:


根据时序图,就可以写出下面的程序了:


这个程序,是按照芯片数据手册上的时序图写出来的。

CS拉低后,SPI通信开始,让时钟引脚DCLK输出方波,在DCLK的高电平,检测DOUT引脚上的电平,就可以采集到值了。需要注意的是,采集回来的15位值,前两位是不定值,第3位肯定是0,然后后面的12位就是我们要的值。所以最后使用byte&0x0FFF这条语句把采集到的数据只保留后12位(提醒初学者,这里用的是“0与任何数都等于0”的定理)


关键字:ADC  采样芯片  ADS7822  使用方法 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic462269.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:1602显示数字不稳定一直跳动(AD转换)
下一篇:STC单片机控制PCA9554A程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8L ADC功能
STM8L系列单片机集成了AD功能,有一个ADC模块,但是有最多可达28个AD通道,可以配置为单次采样或者连续采样。ADC的精度最多可配置为12位精度,另外可以选择6位、8位、10位的精度。下面举例初始化一个ADC的配置函数:void ADC21Conver_Init(){  ADC_ChannelCmd(ADC1,                 ADC_Channel_0,         //关闭其他的采样通道         
发表于 2020-03-04
stm8L051低功耗采集电池电量ADC例程
自己记录一下,以防以后用uint  ADC_ReadValue(uchar  channel){     uchar   i;    static uint ADC_Buf[5];    uint vrefint;    ulong adcValue;    CLK_PCKENR2 = CLK_PCKENR2 | 0X01; //使能外设ADC的时钟,之后对ADC的寄存器操作有效    ADC1_CR1 = 0x01; //开启AD模块电源,使用Sing
发表于 2020-03-04
【菜鸟入门】stm32 之 ADC 模数转换
今天对ADC进行了研究,个人感觉,ADC的配置相对也对比较复杂一点,因为需要配置的寄存器是比较多的!在datasheet 关于ADC的简介中,明确说明ADC的输入时钟不得超过14M,他是有PCLK2经过分频得来的这次我们选用ADC1_IN0作为讲解的对象,ADC1_IN0 -->PA0所以在配置时钟的时候要配置PA0和ADC1,关于怎么配置,已经说的很清楚了。在配置PA0的输入模式方面我要说明一下,有好多人在这个地方还是很郁闷的在8.1.11 外设GPIO的配置中每种配置都说的很清楚,如果我们对那中模式配置有疑问,我们都可以直接在这里查找这里的ADC我们采用模拟输入模式:所以我们这里需要把PA1配置为0000b输入配置完成
发表于 2020-03-04
【菜鸟入门】stm32 之 ADC 模数转换
高达4 MSPS ,Analog Devices 16位ADC 贸泽开售
专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 即日起开始供应Analog Devices公司的AD7386 逐次逼近寄存器 (SAR) 模数转换器 (ADC)。16位的AD7386为单端类型,功能与AD7380和AD7381 ADC兼容,吞吐速率高达4 MSPS,并采用 3 × 3 mm小巧尺寸的LFCSP封装。这款双路同步采样的高速ADC很适合用于电机控制、声呐、电源质量和数据采集应用。       作为授权分销商,贸泽致力于快速引入新产品与新技术,帮助客户设计出先进产品,并使客户产品更快走向市场。超过800家半导体
发表于 2020-03-02
高达4 MSPS ,Analog Devices 16位ADC 贸泽开售
STM8 ADC读取数据异常问题的解决
做了一个stm8的一个测量电压电流的项目,发现adc通道通过一个10k电阻连接VCC,的时候ADC数据出来都是只有200多,按理说,10位adc应该出来1000多才对,由于adc出来的数据是十六位的,怀疑是串口发送数据的时候数据位数不对。于是改为uint16_t dat_tmp = 0;// ADC_conf(4);// dat_tmp =  ADC_GetConversionValue(); // printf("rnddddddddddrn");//  delay(0xffff);TIM1_SR1 &= ~(1 << 0); //清除中断标志
发表于 2020-02-28
STM8 ADC读取数据异常问题的解决
用C51单片机把只带的ADC(12bit)转换为RS232输出
#include "reg51.h"         // STC8G1K08A-SOP8  #include "intrins.h"/*  STC8G1K08A-SOP8   读取 VCC值 ,先发送出去  然后 循环开始 读取ch4的 (P55 ,第3脚)值 发送出去 */sfr     ADC_CONTR   =   0xbc;sfr     ADC
发表于 2020-02-27
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved