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 读取器的根类(很少直接实例化这个 ...
随机推荐
- 数据库应用之--Redis+mysql实现大量数据的读写,以及高并发
一.开发背景 在项目开发过程中中遇到了以下三个需求: 1. 多个用户同时上传数据: 2. 数据库需要支持同时读写: 3. 1分钟内存储上万条数据: 根据对Mysql的测试情况,遇到以下问题: 1. 最 ...
- 2017.10.6 国庆清北 D6T2 同余方程组
题目描述 求关于x 的同余方程组 x%a1 = b1 x%a2 = b2 x%a3 = b3 x%a4 = b4 的大于等于0 的最小整数解. 输入输出格式 输入格式: 一行8 个整数,表示a1; b ...
- (21)打鸡儿教你Vue.js
组件化思想: 组件化实现功能模块的复用 高执行效率 开发单页面复杂应用 组件状态管理(vuex) 多组件的混合使用 vue-router 代码规范 vue-router <template> ...
- 获取句柄的类型以及对应的ID序号
遍历所有进程下的所有句柄,以及对应句柄类型. 一丶简介 在有的时候.我们会需要对应句柄名字.以及句柄类型的名称. 以及它所对应的的ID. 因为每个系统不一样.所以每次都是不一样的. 有的时候我们就需要 ...
- LOJ#565. 「LibreOJ Round #10」mathematican 的二进制 分治,FFT,概率期望
原文链接www.cnblogs.com/zhouzhendong/p/LOJ565.html 前言 标算真是优美可惜这题直接暴力FFT算一算就solved了. 题解 首先,假装没有进位,考虑解决这个问 ...
- Codeforces Round #604 (Div. 1) - 1C - Beautiful Mirrors with queries
题意 给出排成一列的 \(n\) 个格子,你要从 \(1\) 号格子走到 \(n\) 号格子之后(相当于 \(n+1\) 号格子),一旦你走到 \(i+1\) 号格子,游戏结束. 当你在 \(i\) ...
- Android中为何使用Log而不用System.out
Android中为何使用Log而不用System.out System.out除了使用方便一点以外有以下缺点:日志不可控制,打印时间无法确定,不能添加过滤器,日志没有级别之分. 使用Log比如想打印一 ...
- git 代码版本回退
1.查看 commit id 2.git reset --hard "dfdfdfdf" // commit id 3.git push -f -u origin 2.1.0 // ...
- 对实体 "useSSL" 的引用必须以 ';' 分隔符结尾。 Nested exception: 对实体 "useSSL" 的引用必须以 ';' 分隔符结尾
今天在定义数据源的时候,在配置context.xml文件时,连接mysql数据库的url一行发生错误,报错:“对实体 "useSSL" 的引用必须以 ';' 分隔符结尾”.以下是我 ...
- 如何选题?| 什么样的科学问题 | 研究项目才是有意义的?| scientific method
搞科研,尤其是生命科学,经常会觉得自己做的东西是坨屎,没有任何意义. 在硕博的时候这种感觉会非常强烈,一个是自己思考能力不足:二是你的项目不是你设计的,不懂个中缘由,只执行的话就会很无聊,找不到意义感 ...