电流输出型DA转换器AD5545的原理,应用及编程_第1页
电流输出型DA转换器AD5545的原理,应用及编程_第2页
电流输出型DA转换器AD5545的原理,应用及编程_第3页
电流输出型DA转换器AD5545的原理,应用及编程_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电流输出型DA转换器AD5545的原理,应用及编程原理:图1 DA转换器内部结构图用作DA转换时,推荐系统连接如图所示,ADR03提供2.5V的参考电压。上述电路图,在本质上相当于一个反相放大器,构成反相放大的两个电阻为Rfb与Iout之间的等效电阻R1,Vref和Iout之间的等效电阻R2。则有,通常情况下,忽略芯片本身影响,则有,所以有。当用作可编程增益放大器时,一般外部都配接一个运放,构成如图2所示电路,而图2在本质上也相当于一个反相放大电路,如图3所示。图2 可编程增益电路 图3 等效电路则有增益,其中REQ为Vref引脚到Iout引脚间的等效电阻,其值与数字量D有关;RFB为RFB引

2、脚到Iout引脚间的电阻值。有(n:DAC的位数;N:输入的二进制数;Rin:输入阻抗)假设,芯片本身的增益误差为0,即Rin=Rfb,则有记,即有,即放大倍数为。则有将DA转换器用作双极性输出:电路如图4所示,其在本质上的等效电路如图5所示。图4 双极性输出图5 等效电路图5中REQ为Vref引脚到Iout引脚间的等效电阻,其值与数字量D有关;RFB为RFB引脚到Iout引脚间的电阻值。根据运放原理,有, (根据,)对于AD5545(或者DAC8812),则有有Vout=( -Vref +Vref )对AD5545的操作:图6 AD5545操作时序AD5545操作采用SPI方式的3线接口,数

3、据SDI、时钟CLK、片选CS。A1、A0用来选择通道,如图7所示。数据位16为精度数据,MSB在前。图7 通道地址编码软件实现:MCU用MSP430F149,DA转换器用上述提及的AD5545,SPI时序用软件模拟的方式实现。电路设计中SPI接口的CS由P1.0控制、CLK由P3.3控制、SDI由P3.1控制。自己认为,在软件设计中,难的是对数据的处理,尤其是2位地址+16位数据构成的18位格式的数据。不过好在,在AD5545的datasheet上下面一段话:If the applied microcontroller outputs serial data in different len

4、gths than AD5545,such as 8-bit bytes,three right justified data bytes can be written to the AD5545。The AD5545 ignores the six MSB and recognizes the 18 LSB as valid data 。After loading the serial register ,the rising edge of CS transfers the serial register data to the DAC register and updates the o

5、utput; 即碰到MCU的位数和AD5545位数不匹配的情况,比如8位的MCU。传送的18位数据通常通过传送3个8位数据来实现。AD5545(自动)忽略前6个MSB,只接受后18个LSB数据,当所有数据都送入串行移位寄存器后,在CS的上升沿将数据送入DAC寄存器,同时更新输出(模拟值A)。对于AD5545这款DAC的操作,自己认为,归根结底还是如何把数据从MCU送给它,尤其是碰到像上述提及的位数不匹配的情况,因此编写了两个程序段,分别用于发送8位数据和用于转换18位格式数据。(每个程序段中,中间有所省略,相信读者可以自行补全)void AD5545SendByte(uchar SByte)

6、for(i=0;i<8;i+) P3OUT &= (AD5545_CLK); /时钟CLK低电平 if(SByte & BIT7) /判断高位是否为1 P3OUT |= AD5545_SDI; /为1,发送1 else P3OUT &= (AD5545_SDI); /否则,发送0 delayus(5); /延时一点时间 P3OUT |= AD5545_CLK; /时钟CLK高电平(上升沿) delayus(5); /延时一点时间 SByte <<= 1; /数据左移1位 /*描述:DA转换器AD5545BRUZ转换函数 AD5545自动忽略前6位MSB

7、,只接受18位LSB*/void AD5545_Convert(long int DA_Value,uchar DA_CS_num,uchar AD5545_chnum) if(AD5545_chnum = 0) DA_Value = 0x010000 | DA_Value;/AD5545_chnum=0,use ChA else if(AD5545_chnum = 1) DA_Value = 0x020000 | DA_Value;/AD5545_chnum=1,use ChB else DA_Value = 0x030000 | DA_Value;/AD5545_chnum=2,use C

8、hA and ChB simultaneity lo_byte = (uchar)(DA_Value & 0xff); /取出低字节,即16位数据的低8位 mi_byte = (uchar)(DA_Value >> 8); /取出中间字节,即16位数据的高8位 hi_byte = (uchar)(DA_Value >> 16); /取出高字节,即24位数据格式中的最高8位 AD5545_enable(DA_CS_num); /选通通道的DA AD5545SendByte(hi_byte); AD5545SendByte(mi_byte); AD5545SendByte(lo_byte); AD5545_disenable(DA_CS_num); /禁止通道的DA对双极性输出电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论