综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章单片机正文
 
基于MAX1069的单片机数据采集系统的设计
发布日期:2006-08-23 作者:郭梅静 于复生 李琦 郝源 来源:微计算机信息

摘要:本文介绍的数据采集系统应用低功耗、14位逐次逼近以及兼容于I2C串行接口的模/数转换器MAX1069,可方便的与微控制器及其外围设备进行连接。通过自行设计的数据采集系统,本文主要介绍了MAX1069芯片的功能、时序,并通过I2C软件模拟的方法,实现了MAX1069与MCS-51系列单片机间的数据采集。
关键词:模/数转换器;MAX1069;I2C总线;单片机;数据采集

概述

在MCS-51系列不具备I2C总线接口的单片机组成的智能仪器和工业测控系统中,当数据传输速度要求不太高时通过模拟I2C总线可以增加应用系统的接口器件的种类,提高应用系统的性能。

I2C总线,即IC与IC之间沟通的总线,是一种双向二进制总线,即串行时钟线SCL和串行数据线SDA两条线路组成,提高了硬件的效率和简化电路设计。I2C总线接口已经集成在片上,不需要单独设计总线接口和译码电路,电路的互连减少。MAX1069采用单电源供电,利用内部4MHz时钟对其单端模拟输入进行单极性转换。具有自动关断、内部+4.096V基准和兼容于I2C、提供快速及高速模式的2线串行接口。对于不带I2C串行总线接口的MCS-51系列单片机来说,可以利用软件模拟的方法实现带有I2C串行总线接口的I/O芯片的连接。

MAX1069功能原理

I2C总线系统上的每一个独立的器件,有其惟一的地址。这些地址在其出厂时已经决定,各器件的数据传送均通过软件寻址实现片选,减少了器件片选的连接。MAX1069的器件寻址字节由7位地址位和1位读/写(R/W)位组成。寻址字节的高3位是器件出厂时给定的,总是011。将ADD3~ADD0连接到DVDD或DGND,对寻址字节的后4位编程形成地址数据。

MAX1069器件有六个控制输入端:地址选择输入端(ADD0~ADD3),时钟输入端(SCL)以及数据输入/输出端(SDA)。在时钟输入SCL控制下,通过数据输入/输出端SDA与主处理器或其外围的器件进行I2C的串行通信,可与主机高速传输数据。四个地址选择输入端(ADD0~ADD3)允许在同一总线上挂接多达16个MAX1069。片内的ADC用逐次逼近转换器(SAR)和采样保持电路(T/H)来完成模拟信号到14位串行数字数据的采集和转换;MAX1069利用内部4MHz时钟对其单端模拟输入进行单极性转换,满量程输入范围由内部基准或外部提供的1V至AVDD范围内的基准电压决定。

2.1 MAX1069的引脚功能

MAX1069的引脚排列如图1所示。引脚功能说明如下:

AIN:单端模拟输入;

ADD0~ADD3:地址选择输入端;

AGND:模拟地;

AGNDS:模拟信号地,模拟输入的负基准,连接到模拟地AGND;

AVDD:模拟电源输入,通过0.1μF的电容连接到模拟地AGND;

DGND:数字地;

DVDD:数字电源输入,通过0.1μF的电容连接到数字地DGND;

REF:内部缓冲器输出和外部基准输入端。当应用内部基准时,通过10μF的电容连接到数字地DGND;

REFADJ:内部基准输出和基准缓冲器输入端。通过0.1μF的电容连接到模拟地AGND;

SCL:时钟输入端;

SDA:数据输入/输出端。

2.2        MAX1069的工作过程

MAX1069兼容I2C,由双向串行数据线SDA和串行时钟线SCL组成的2线串行接口。主控器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。

在连续转换模式下,MAX1069的每次成功采样使用18个时钟周期,采样/保持电路的采样时间为2个SCL周期,数据转换期间,MAX1069保持SCL低电平,同时内部寄存器储存转换的数据。当MAX1069释放SCL,主控器件读取转换结果。如图2所示。

图2 数据采集转换及读周期

2.2.1.         控制字节

在主控器件发送给MAX1069启动信号之后,必须是器件的控制字节。

确认寻址字节后,MAX1069就开始采集模拟输入信号准备数据转换。应用内部基准时,R/W=1器件正常操作,而R/W=0时,数据转换之后内部基准关断。接收寻址字节以后,MAX1069收到应答信号拉低SDA一个时钟周期,如图3所示。

图F/S模式到H/S的转换

由于MAX1069具有400kHz快速模式(F/S-mode)和1.7MHz高速模式(H/S-mode)两种工作模式,所以得选择工作模式。上电时,MAX1069默认快速模式,转换速率为19ksps。而MAX1069工作在高速模式转换速率可达到58.6ksps。上电后,主处理器通过将H/S模式的控制字0000 1XXX(X不确定) 发送到总线上选择H/S方式。接收H/S模式 的控制字后,MAX1069发送非应答信号,允许SDA拉高1个时钟周期。发出非应答信号 后,MAX1069工作在 H/S-mode模式。主处理器必须再发送启动信号S给从器件以继续H/S方式下通信,如图4所示。若主处理器产生终止信号P,MAX1069恢复到F/S模式。

2.2.2.         数据转换及其传送

主处理器发送启动信号S后,随之发送7位地址位和一个读字节位,即器件寻址字节,然后进入读数据周期。接收器件寻址字节后,MAX1069收到应答信号,开始数据转换,如图2所示。每个SCL时钟周期移一个数据位,9个时钟周期将数据移入或移出MAX1069。在SCL的高电平期间,SDA上的数据保持不变。数据转换期间,SCL保持低电平。转换完毕后,释放SCL,主处理器将数据串行移出。首先转换高字节D13~D6,低字节包括D5~D0和两位S1、S2。只要主处理器接收转换数据,模拟信号就可以连续转换。主处理器发送非应答信号释放总线后产生终止信号P或重复启动信号S。

3.         MAX1069与MCS-51单片机组成的数据采集系统的实现

3.1.  硬件接口

利用MCS-51单片机的I/O口线控制I2C串行总线的串行时钟和数据传送,操作过程由软件控制数据传送以及时序。与MAX1069的接口即数据采集系统原理图,如图5所示。由于I2C总线端口输出为开漏 结构,故SDA和SCL上必须有上拉电阻RP,通常选择500Ω或更大些。8051的P1.0、P1.1分别与MAX1069的SCL、SDA连接。MAX1069的I2C器件地址为0110111。模拟信号由MAX1069的AIN输入,数据转换及传送均由软件来完成。数据传送遵循高位在前的原则,即MSB在前的方式传送。

3.2.  软件流程图

如图5所示,数据采集系统原理图由P1.0、P1.1模拟I2C串行总线的SCL和SDA端,构成模拟的I2C串行总线系统。总线功能的实现除简单的硬件连接,大部分功能需要软件模拟来完成。I2C总线的启动信号S、应答信号A、非应答信号 和SCL时钟传送数据均应用归一的I2C程序(参考何利民:单片机高级教程—应用与提高)即可。流程图如图6所示。


 

4. 结束语

本文介绍了基于MAX1069的单片机数据采集系统的硬件接口及模拟I2C总线的软件设计,同时说明了MCS-51系列单片机上I2C总线接口的实现数据传输的方法。本系统可广泛应用于温度控制设备、管道测漏系统以及系统监控等。

参考文献:

[1]   MAXIM Data Sheet of MAX1069

[2]   何利民. 单片机高级教程[M]. 北京:北京航空航天大学出版社,2000.8

[3]   陈志辉. I2C总线在MCS51系列单片机数据采集系统中的实现[J]. 微计算机信息,2005年第一期


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
谢谢,现在还没有相关信息...
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号