串行D/A转换器与单片机的接口设计

发布者:见贤思奇异果最新更新时间:2012-05-26 来源: 仪表技术 关键字:串行DA  I2C总线  单片机 手机看文章 扫描二维码
随时随地手机看文章

1引言

MAX521是一种2线8路八位电压输出DAC(数模转换器)。MAX521有5路参考电压输入,前面的四路DAC(DAC0~DAC3)每路有一个独立的参考电压输入(REF0~REF3),允许独立地设置每路的电压范围;剩下的四路DAC(DAC4~DAC7)共享一路参考电压输入REF4。它具有串行接口和内置软件协议,允许最高转换频率达400kbps。MAX521的接口具有双缓冲输入结构,允许DAC的寄存器单独或者同时更新;它具有低能耗模式,可以使工作电流减少到4μA。MAX521以单一的+5V电源供电。

应用范围:最小模拟器件系统;数据偏移/采样调节;工业过程控制;自动检测设备。

MAX521有20脚DIP,24脚SO和24脚SSOP三种封装形式。20脚DIPMAX521的引脚如图1。

OUT0~OUT7:DAC0~7的电压输出端;REF0~REF3:DAC0~3的参考电压输入端;REF4:DAC4~7的参考电压输入端;AD0、AD1:设备地址输入引脚;SCL:串行时钟输入端;SDA:串行数据输入端;DGND:数字信号地;AGND:模拟信号地

2MAX521的软件通讯协议

I2C总线组成:仅由两条线组成。一条是时钟线(SCL),另一条是数据线(SDA)。SCL线为时钟信号,由总线控制设备产生,为总线提供统一的时钟信号。

SDA线为数据信号,在总线控制设备和总线上的其他设备间进行双向传送。

I2C总线协议规定:SCL为高电平时SDA信号有效,SDA线上的数据变化应在SCL为低电平时进行。此规定唯一的例外是开始信号和停止信号。

I2C输入/输出一个字节的格式是高位在前、低位在后。每一次I2C总线访问是由一系列的基本操作组成的,下面对这些基本操作进行详细解释。

2.1开始信号

每次I2C总线访问前要在总线上发送开始信号。当SCL线为高电平时,SDA线由高变低,便形成开始信号。

2.2结束信号

每次I2C总线访问后要在总线上发送结束信号。当SCL线为高电平时,SDA线由低变高,便形成结束信号。

开始信号和停止信号的时序图如下:

2.3器件寻址字节

无论读写操作均需一个器件寻址字节。MAX521的寻址字节的前五位为01010(选中该设备的标志代码)。后两位为设备地址,由MAX521的AD0、AD1引脚的状态决定。最后一位X是向设备写入或读出数据,若向MAX521写入数据时X为0。[page]

下面是MAX521完整的工作时序图:

2.4数据地址字节或命令字节

设备寻址字节后为命令字。命令字的前三位为0,后面两位为RST和PD,再后面三位A2A1A0是8个DAC输出寄存器的通道地址。数据地址字节或命令字节的工作时序见图4:

R2R1R0设置为0,属保留位。当RST为高时,MAX521复位所有DAC寄存器,但输出一直保持到“停止”信号。当PD位为高时,在收到“停止信号”后MAX521进入低能耗模式。在低能耗模式中,DAC输出取决于此时通道地址设置和输出字节设置状态,此时提供最大电流为20μA。当PD位为低时,MAX521返回正常工作状态后紧跟着发送“停止信号”,DAC输出的电压取决于当前通道地址设置和输出字节设置情况。

2.5应答信号

在每传送完一个地址字节或一个数据字节之后的第九个时钟脉冲期间,接收方在SDA线上产生一个低电平的应答信号ACK,以通知发送方数据已接收到,可以继续发送。所有数据传送完毕后,单片机向SDA线发送一个停止信号,结束该次数据传送。

注意:

1)总线空闲时,SCL和SDA线应保持在高电平。

2)一次新的启动前,总线空闲时间tBUF>4.7μs。

3)时钟为高电平、低电平的时间和开始信号建立时间、结束信号建立时均需大于4.7μs。

4)两次写发送时间间隔tWR>10ms。

5)SCL线的操作速率可以达到400kHz。

3MAX521与MCU的接口和程序

如图1所示,MAX521与单片机的P1.6、P1.7相连,并把它作为I2C总线来操作。所有参考电压均接+5V,使输出的模拟电压值在0~+5V之间。设备地址设为01B。OUTPUT后接执行设备。

4结束语

本系统已成功应用在具有多个DAC转换的电路中,比通常并行DAC器件节省,并为智能化设备研发提供了很好的方案。

关键字:串行DA  I2C总线  单片机 引用地址:串行D/A转换器与单片机的接口设计

上一篇:基于Z-元件的单片机温度检测系统
下一篇:DS1629及其与单片机的接口设计

推荐阅读最新更新时间:2024-03-16 13:00

C8051F系列单片机系统的各部位功耗分析
在控制终端系统设计中,当系统要求整体功耗偏低时,C8051F系列单片机是一个最佳的选择。它们拥有灵活的时钟硬件,使系统能够方便地在高效运作模式与低功耗模式问进行转换,智能的电源管理模式能够在正常工作及待机状态自由切换,从而降低整个系统的能量损耗;当工作频率低于10kHz时,时钟丢失检测器(MCD)能够引发系统产生复位,确保系统工作的安全可靠。 1 C8051F各部分组件的功耗 当一个系统对功耗要求严格时,可以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。由于C8051F系列单片机为数模混合SOC系统,能够实现整个设计的大部分功能,因此整个设计系统的功耗将主要集中在C805IF系列单片机的能量消耗上。 整个单片机系统的功耗
[单片机]
基於DRAM的单片机通信软件程序
基於雙口RAM的單片機通信,軟件程序: #define _DPRAMCOMM_H #include reg52.h // 引用标准库的头文件 #include absacc.h #define uchar unsigned char #define LP_STT_SEM XBYTE // 左端状态旗语 #define LP_PRO_SEM XBYTE // 左端配置旗语 #define RP_STT_SEM XBYTE // 右端状态旗语 #define RP_PRO_SEM XBYTE // 右端配置旗语 #define INTL_SEM XBYTE // 左中断旗语 #define INTR_SEM
[单片机]
基于单片机的旋转led(初级版)
旋转led,记得第一次接触的时候是在半年前的一个视频,当时什么都不知道,为何这样显示呢?就是想不通,后来买了一个套件,做出来了,也是想不通,其实那个套件不用编程序,有一个可以直接生成.HEX文件,所以对于 这种懒于编程序的人来说,是一个不错的选择,可是后来,在度娘不断的开导与帮助下,我终于能自己编一个小程序了,度娘给予了我极大的帮助,她教会了我许多,在此感谢一下我伟大的度娘,先说一下本次历时很久,颇具传奇的旋转led吧。 硬件部分: (1)底座供电,采用通用的无线供电技术,别小瞧这个东西,虽然电路很简单,可是不是很好调啊,这个破东西浪费了我数日不吃不喝的精力,平时看网上他们调的都很好,供电也很稳定,为啥我这个就问题重重呢?真是特娘的
[单片机]
基于<font color='red'>单片机</font>的旋转led(初级版)
Windows下PIC8位单片机源程序汇编和固化(三)
6PIC单片机源程序的固化和编程器   一个完整的PIC开发系统应包括PIC汇编软件、PIC仿真器(软件模拟仿真器或硬件在线仿真器)和PIC编程器。对于简单的PIC源程序而言,若源程序已汇编而生成了扩展名hex文件时,即可直接使用编程器将源程序的目标码hex固化到PIC芯片中,再通过实验板验证其源程序的功能。待深入学习时再补充学习PIC仿真的方法,这是一种快速学习PIC单片机的一条路径。本版在今后适当的时候仍将以实例介绍PIC单片机在MPLAB集成开发环境下软件模拟仿真的方法,以供读者学习时参考。   PIC编程器又称为PIC烧录器或烧写器。目前市场上PIC编程器的产品型号很多,适合各类PIC芯片的要求,价位也不相同。功能完善
[单片机]
基于51单片机SHT11温湿度传感器检测程序(含电路图)
下面是原理图: 下面是SHT11与MCU连接的典型电路: 下面是源代码: #include reg52.h #include intrins.h /******************************************************** 宏定义 ********************************************************/ #define uint unsigned int #define uchar unsigned char #define noACK 0 #define ACK 1 #define STATUS_REG_W 0x
[单片机]
基于51<font color='red'>单片机</font>SHT11温湿度传感器检测程序(含电路图)
单片机之静态局部变量static
上程序: main.c #include reg52.h #include Timer.h /********P1口低有效******************/ void main(void) { init();//中断初始化 while(1) { } } Timer.h #ifndef _TIMER_H_ #define _TIMER_H_ extern void init(void); #endif Timer.c #include reg52.h int k=0;//占空比 unsigned int count=0;//计数 unsigned int BOOL=0;//由暗到亮,BOOL=1,由亮到
[单片机]
单片机在电冰箱中的应用
单片机,亦称单片微电脑 或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 单片机功能完善、体积小、价格廉、易于嵌入,非常适合于对家用电器的控制。嵌入单片机的家用电器实现了智能化,是传统型家用电器的更新换代,现已广泛应用于洗衣机、空调、电视机、视盘机、微波炉、电冰箱、电饭煲以及各种试听设备等。 下面是关于单片机在电冰箱应用中的一些介绍 电冰箱致冷的原理和种类 共有下列9种致冷的原理 (1) 压缩式电冰箱
[单片机]
Atmel基于ARM的闪存微控制器获USB-IF认证
Atmel日前宣布其ARM基础32位闪存微控制器AT91SAM7S64已获USB实施者论坛(USB Implementers Forum, USB-IF)认证,确认嵌入在AT91SAM7S64的USB 2.0全速设备接口完全符合相关USB标准。 AT91SAM7S是一系列基于ARM的32位闪存微控制器系统级芯片(system-on-chip)产品,包括一个可提高实时性能的先进中断控制器(interrupt controller),一个能加快外设和内存之间数据传输速度的外围直接内存存取 (DMA) 控制器,能简化外设编程的寄存器位操作,一个可以在任何工作模式下优化功率利用率的功率管理控制器,以及一个用于上电、断电和节电控制的系统控
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved