STM32驱动模数转换芯片ADS1120(基础知识篇)第1篇
1. 先看下ADS1120的结构图,ADS1120是个比较奇葩的ADC模数转换器,因为比较适用于热电阻之类的温度采集器。看下图,有个MUX多路复用器,应该是选择两个差分信号去测试,通过输入多路复用器 (MUX) 实现的两个差分输入或四个单端输入,一个低噪声可编程增益放大器 (PGA),PGA,内部 PGA 提供高达128V/V 的增益。此 PGA 使得 ADS1120 非常适用于小型传感器信号测量 应用 ,例如电阻式温度检测器(RTD)、热电偶、热敏电阻和桥式传感器。
2. 看下寄存器,4个寄存器
3. 命令
4. 参考例程
VOID main(VOID)
{
signed long tData;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
Init_StartUp(); // Initialize device
ADS1220Init(); // Initializes the SPI port pins as well as control
ADS1220Config(); // Set base configuration for ADS1x20 device
while()
{
/* Add specifc command for reading and writing ADS1220 here */
/* dFlag is set in the interrupt service routine when DRDY triggers end
of conversion */
if (dflag) /* check if new data is available */
{
tData = ADS1220ReadData(); /* get the data from the ADS1220 */
dFlag=;
}
/* other routines could be added here, such as change the mux setting */
} /* end of while(1) */
} /* end of main() */
其中配置函数比较重要,如下是1增益,也是就不变,然后ADS1220_MUX_0_G=0x80
void ADS1220Config(void)
{
unsigned Temp;
ADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &Temp);
/* clear prev value; */
Temp &= 0x0f;
Temp |= ADS1220_MUX_0_G;
/* write the register value containing the new value back to the ADS */
ADS1220WriteRegister(ADS1220_0_REGISTER, 0x01, &Temp);
ADS1220ReadRegister(ADS1220_1_REGISTER, 0x01, &Temp);
/* clear prev DataRate code; */
Temp &= 0x1f;
Temp |= (ADS1220_DR_600 + ADS1220_CC); /* Set default start mode to 600sps and continuous conversions */
/* write the register value containing the new value back to the ADS */
ADS1220WriteRegister(ADS1220_1_REGISTER, 0x01, &Temp);
}
ADS1220_MUX_0_G=0x80,那么看下寄存器,什么意思呢?就是测量AIN0引脚的电平,得出一个结论,如果要想测量4个通道,那么需要依次次修改MUX[3:0],一个测量完再测试另外一个
读数据,这个例程比较简单,只测量了AIN0的电压,我们的应用是需要做2线PT100铂电阻温度测量,所以需要继续
long ADS1220ReadData(void)
{
long Data;
/* assert CS to start transfer */
ADS1220AssertCS();
/* send the command byte */
ADS1220SendByte(ADS1220_CMD_RDATA);
/* get the conversion result */ Data = ADS1220ReceiveByte();
Data = (Data << ) | ADS1220ReceiveByte();
/* sign extend data */
if (Data & 0x8000)
Data |= 0xffff0000; /* de-assert CS */
ADS1220AssertCS();
return Data;
}
STM32驱动模数转换芯片ADS1120(基础知识篇)第1篇的更多相关文章
- STM32驱动模数转换芯片ADS1120(PT100铂电阻测温度)第2篇
1. 先看下原理图,原理图是电流从IDAC1流出,提供驱动,然后R(REF)这个电阻上的电压作为参考,读取AIN0和AIN1的电压,那么可以测量出来电阻值. 2. 上图是官方给出的参考,下图是我实际用 ...
- Java基础知识回顾之七 ----- 总结篇
前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...
- C# 基础知识系列- 14 IO篇 文件的操作 (3)
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...
- C# 基础知识系列- 14 IO篇 流的使用
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...
- C# 基础知识系列- 17 实战篇 编写一个小工具(1)
0. 前言 这是对C# 基础系列的一个总结,现在我们利用之前学到的知识做一个小小的工具来给我们使用. 如果有看过IO篇的小伙伴,应该有印象.当时我提过一个场景描述,我们在平时使用系统的时候,经常会为了 ...
- java基础知识总结8(数据库篇1)
一. Oracle的安装(windowXP.win7.Linux)和卸载 1.1 Oracle的安装 1.1.1 在WindowsXP.Win7下安装 第一:解压win32_11gR2_databas ...
- C# 基础知识系列- 14 IO篇 文件的操作
0. 前言 本章节是IO篇的第二集,我们在上一篇中介绍了C#中IO的基本概念和一些基本方法,接下来我们介绍一下操作文件的方法.在编程的世界中,操作文件是一个很重要的技能. 1. 文件.目录和路径 在开 ...
- C# 基础知识系列- 14 IO篇之入门IO
0. 前言 在之前的章节中,大致介绍了C#中的一些基本概念.这篇我们将介绍一下C#的I/O操作,这将也是一个小连续剧.这是第一集,我们先来简单了解一下C#中的I/O框架. 1. 什么是I/O I/O ...
- ExtJS4.2学习(7)——基础知识之Reader&Writer篇
Reader: 主要用于将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保存到Modle中. 结构图 Ext.data.reader.Reader 读取器的根类(很少直接实例化这个 ...
随机推荐
- LOJ P10131 暗的连锁 题解
每日一题 day27 打卡 Analysis 对于每条非树边 , 覆盖 x 到 LCA 和 y到 LCA 的边 , 即差分算出每个点和父亲的连边被覆盖了多少次 .被覆盖 0 次的边可以和 m 条非树边 ...
- S1_搭建分布式OpenStack集群_02 虚拟机环境配置
一.配置主机名及hosts和防火墙(只演示一台,其他机器配置方式一样)vim /etc/hosts 加入 10.10.11.11 controller10.10.11.12 compute11 ...
- 【转】跟我一起写 Makefile
概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefi ...
- LibreOJ #6212. 「美团 CodeM 决赛」melon
二次联通门 : LibreOJ #6212. 「美团 CodeM 决赛」melon /* LibreOJ #6212. 「美团 CodeM 决赛」melon MDZZ 这是决赛题?? */ #incl ...
- fedora安装设置
添加视频解码rpmfusion源: sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-st ...
- [昆仑会员卡系统]老会员数据导入 从临时表插入会员至member_info_svc表 SQL
第一版无UUID版本 从临时表插入会员至member_info_svc表 insert into member_info_svc ( gh_no,chname,sex,birthday,tel,ema ...
- beego 前后端分离登录验证
conf>app.conf 文件添加一下参数 copyrequestbody=true sessionon =true routers>router.go 文件添加初始化路由 func i ...
- bytearray 字符串转为字节
>>> str="hello world">>> x=bytearray(str)>>> xbytearray(b'hello ...
- JS中注入eval, Function等系统函数截获动态代码
正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...
- 免费s账号网站
下面网址按排序顺序优先使用,数字越小优先级越高 1,https://io.freess.today/ 2,https://free-ss.site/ 3,https://ss.freess.org/ ...