微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ADS1212和51单片机实现高精度数据采集设计

ADS1212和51单片机实现高精度数据采集设计

时间:12-12 来源:互联网 点击:

SPIE是SPI中断使能位,当SPIE和ES同时置为“1”,则SPI中断使能;
SPE是SPI使能位,“0”为不使能,“1”为使能;
DORD是数据传输的顺序位,“0”为从高位到低位,“1”为从低位到高位;
MSTR是主/从选择位,“0”为从方式,“1”为主方式;
CPOL是时钟极性位,“0”为时钟高电平有效,“1”为时钟低电平有效;
CPHA是时钟相位控制位,“0”为时钟上升沿左触发,“1”为时钟下降沿左触发;

SPR0,SPR1是SPI时钟频率选择位,控制SPI时钟为单片机时钟的几分频,如表1所示:

SPI接口初始化程序如下所示:


2.2 A/D数据采集程序
ADS1212内部有5种功能寄存器。其中,指令寄存器(INSR)和命令寄存器(CMR)用于控制转换器的操作。数据输出寄存器(DOR)用于存放最新的转换结果。零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行校准。
指令寄存器INSR是一个8位寄存器,对ADS1212的每一步操作都是从它开始的。具体格式如下:

R/W是读写控制位;“1”为读操作,“0”为写操作。
MB1MB0是欲读写的字节数。“00”~“11”对应“1”~“4”;
A3~A0是欲读写寄存器的地址。
命令寄存器CMR是一个32位寄存器,通过对它的操作可以设置ADS1212的各种工作模式,格式如下:

采样精度同增益和加速因子的设置都有关系,具体如表3所示。这里需要指出的是。不能同时追求采样速度和采样精度,只有选取合适的速度和精度才能体现出该芯片的优势。

注:G=1,fXIN=1 MHz(fXIN是外部晶体振荡嚣频率)
零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行校准。它们都是24位寄存器,可以在初始化中对其写入,以便用于校准输出数据。
数据采集程序的流程图如图2所示。

如下是程序的部分片段:


数据输出寄存器DOR为24位寄存器,用于存放最新的转换结果。只有在DRDY信号为低时,DOR中的数据才有效。如果在(1/fDATA)-12 (1/fXIN)时间内没有读出DOR中的数据,则它将会被新的数据所覆盖。DOR中输出的数据格式可以用补码形式表示,如 “FFFFFFH~000000H~7FFFFFH”,表示“负最大量程~0~正最大量程”;也可以用原码形式表示,如 “000000H~800000H~FFFFFFH”,表示“负最大量程~0~正最大量程”,这可用设置CMR3的DF位来实现。

3 结 语
采用ADS1212与SST89E564RD完成的数据采集处理系统采集速度快,精度高,还能将数据及时通过串口发送给上位机程序,且外围电路简单。因此,能用于较为复杂的系统开发,非常适用于工业控制、自动测试、仪器仪表、远程通信等领域的数据采集与传输。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top