ADS1212和SST单片机实现高精度数据采集设计
件部分包括主程序、数据采集子程序、串行口通信子程序。主程序的主要功能为系统初始化以及查询各软件标志,决定系统不同工作模式,执行各功能模块。
2.1 单片机SPI接口程序
单片机SPI接口程序主要包括SPI接口初始化,以及SPI数据输入/输出程序,SPI接口初始化主要是针对SPI控制寄存器(SPCR)进行相应设置的,SPI控制寄存器(SPCR)格式如下:
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完成的数据采集处理系统采集速度快,精度高,还能将数据及时通过串口发送给上位机程序,且外围电路简单。因此,能用于较为复杂的系统开发,非常适用于工业控制、自动测试、仪器仪表、远程通信等领域的数据采集与传输。
SST89E564RD ADS1212 数据采集 相关文章:
- 基于计算机的测量仪器的内部和外部校准(10-08)
- 基于AD73360和TMS320F2812的数据采集系统设计(12-06)
- 基于暂态行波法的配电网故障定位装置研究(02-01)
- 数据采集处理系统在电力中的应用设计(12-30)
- 如何通过整合众多特点和性能来解决数据采集兼容性问题(09-15)
- VC串口通信的数据采集系统设计(10-09)