DAC8571的解析及应用
QooIC.com 新闻出处:麒迹的博客——風之子 | 发布时间:2014/8/19 11:05:07
转载麒迹的博客——風之
今年的电子竞赛马上就开始了,其实这几天比较关注这个。看了下今年的推荐芯片里面,数据转换器只有3种,分别是ADS1118.DAC7811和DAC8571.7811这片子比较早出来,网上程序更是五花八门,这里不做多解释。另外自己手上刚好有DAC8571这片子,前几日闲的慌,胡乱搭了一板子。果断写了下IIC.示波器看了下波形,以及应答信号ACK。
单片机用的430.另外这个DA16位的,测试时候输出还是有偏移的。在加上自己的万用表精度不高,所以也不知道具体偏移到底有多少。
下降介绍片子。2.7-5.5供电,轨对轨输出缓冲,16位,IIC通信带高速模式,8 Lead MSOP 封装。
这里按照经典的连接方法就行了,这里有个地方一定要注意。vsense 一定要和VOUT连接一起,只要你稍微对放大器有点常识就知道。方向段一定要和输出连接一起才能构成缓冲。如果不连接那就是一个比较了,下面介绍他的写地址和寄存器的时序,IC时序其实就是。
一般IIC时序分为3个步骤。一、开始了之后,先写地址。如果成功了就会有应答信号在第九个脉冲的时候会拉低,就表示有这器件了。二、写寄存器,有低电平应答信号也表示成功。最后写数据,有应答信号就好了,最后重新开始或者stop。
这里介绍一下他的写寄存器那个步骤。主要注意LOAD1 LOAD0.这2位比较具有含义,当然通常的为了直接输出。只要你写01就好了,01就是最常用的方法,它是直接更新IIC输出的。00虽然存储了数据,但是并没有更新输出。写寄存器的时候写0X10,它的含义对应PDF已经写得很明白。
另外输出根据这几步来写:(这里A0是接地的)
这里最后ML是16为DA的数据,参考电压5V的话写数据0x4000就是5/4=1.25V.这时候测量DA的输出端就是1.25V,这个自己测试过没问题。
主要根据这几个步骤来就行了,程序自己写了下没问题。(时序略)
另外如果有这个遇到问题的随时可以交流。主函数框架程序如下:
#include<msp430g2553.h>
#include“IIC.h”
//#include“12864.h”
#include“init_clk.h”
#define uchar unsigned char
#define uint unsigned int
uchar AD_temp;
void main()
{
WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗
// P1DIR|=BIT2;//
//Ini_Lcd();
//init_clk();
P1DIR=0XFF;
init_IIC();
start();
write_byte(0x98);
slave_response();
write_byte(0x10);
slave_response();
write_byte(0x00);
slave_response();
write_byte(0x20);
slave_response();
stop();
while(1);
}