首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» ADS1212和SST单片机实现高精度数据采集设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
ADS1212和SST单片机实现高精度数据采集设计
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2014-7-6 20:10
|
只看该作者
ADS1212和SST单片机实现高精度数据采集设计
数据采集
,
转换器
,
单片机
,
分辨率
,
成本
O 引 言
数据采集技术已广泛应用于信号处理、通信、过程控制、遥感遥测等领域,各种高科技技术的发展对数据采集系统的精度进一步加强。本文所介绍的就是一种高精度的数据采集系统,它在笔者的工作中已经得到了充分的应用和试验。
该系统采用的∑一△型A/D转换器ADS1212它具有分辨率高,线性度好,抗干扰能力强(对噪声的抑制能力不亚于双积分ADC),成本低等不可多得的优点,恰好能满足这种要求。
单片机
采用SST公司8位微
处理器
FLAsH-Flex51系列成员SST89E564RD,它采用先进的Super-FLASH CMOS
半导体
技术设计和制造,是采用8051的指令集,并与标准的8051控制器管脚兼容,而且具有SPI端口,接口简单,易于编程控制。
1 系统硬件设计
1.1 ADS1212的结构及特点
ADS1212芯片内部由可编程增益
放大器
(PGA)、二阶∑-△调制器、调制控制单元、可编程数字滤波器、
微控制器
单元、寄存器组(指令寄存器、命令寄存器、数据寄存器、校准数据寄存器)和1个串行接口,1个时钟电路,1个内部2.5 V电压基准等组成。
ADS1212是高精度、宽动态特性的∑-△型模拟/数字转换器。它的差动输入端可以直接与
传感器
或微小的电压信号相连。其内部的∑-△结构可确保它的宽动态特性和24位的分辨率。
由于采用了低噪声的输入放大器,可以在转换速度为10 Hz时获得23位的有效分辨率;借助于其内部独特的调制器加速操作模式,在转换速度为1 kHz时仍可达到20位的有效分辨率。该转换器动态特性的大大提高主要依赖于其前级的低噪声程控放大器,其放大倍数可从1~16进行设定,以2倍步长增加。该A/D转换器都有一个灵活的同步串行接口,它与SPI兼容,并且可以提供双线控制模式。该A/D转换器为单一+5 V供电,有内/外参考电压和内部自校准系统。
ADS1212主要用于工业过程控制、仪器仪表、色谱分析、灵巧传感器、便携式仪表、称重仪器、压力传感器、高分辨率测量的场合。
1.2 SST单片机的结构及特点
系统采用SST89E564RD作为处理机,它是SST公司8位微处理器FLASHFlex51系列的成员,是采用先进的SuperFLASH CMOS半导体技术设计和制造,是采用8051的指令集,并与标准的8051控制器管脚兼容。
器件带有72 KB的片内FLASH E2PROM存储器,使用了SST公司专利的CMOS Super_FLASH E2PROM技术,存储器被分成两块独立的程序存储器,第一块(BLCK0)占用64 KB的内部程序存储器空间,第二块(BLOCK0)占用8 KB的内部程序存储器空间。8 KB的第二块FLASH可以映射到64 KB空间的低地址,还可以被隐藏和当成类似E2PROM的独立的数据存储器。
1.3 SPI接口的特点
SST单片机的串行外设接口(Serial PeripheraI In-terface,SPI)总线系统是一种同步串行外设接口,它可以使
MCU
与各种外围设备,以串行方式进行通信以交换信息。外围设置 FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线 MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,总体来说数据传输速度比I2C总线要快。
SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:
(1)MOSI为主器件数据输出,从器件数据输入;
(2)MISO为主器件数据输入,从器件数据输出;
(3)SCLK为时钟信号,由主器件产生;
(4)SS为从器件使能信号,由主器件控制。
1.4 ADS1212与SST89E564RD的接口电路
ADS1212与SST89E564RD的接口采用四线制通信方式,如图1所示。ADS1212的DRDY与 SST89E564RD的INT1相连,即采用外部中断方式读取采样数据结果。采样数据由SDOUT输出,命令数据由SDIO输入,SCLK作为同步时钟,同时SST89E564RD还留有2根口线与MAX232相连,在需要的时候可完成与计算机通信。根据采集需要,本系统将ADS1212设置为从动方式(即Slave方式),同步信号输入端DSYNC接高电平。
2 系统软件设计
该系统软件采用
单片机
高级语言C51编写,C51是一种专为MCS-51系列单片机设计的高效率C语言编译器。它具有编程方便易用的特点,能够很方便地操作硬件接口地址,C51编译器具有极高的编译效率,编译代码可与汇编语言相媲美,而编程效率比汇编语言高很多,采用高级语言C51编程可以提高源程序的可读性,便于以后的改进和升级。
软件部分包括主程序、数据采集子程序、串行口通信子程序。主程序的主要功能为系统初始化以及查询各软件标志,决定系统不同工作模式,执行各功能模块。
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完成的数据采集处理系统采集速度快,精度高,还能将数据及时通过串口发送给上位机程序,且外围电路简单。因此,能用于较为复杂的系统开发,非常适用于工业控制、自动测试、仪器仪表、远程通信等领域的数据采集与传输。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议