电流输出型da转换器ad5545的原理应用及编程

上传人:F****n 文档编号:100288290 上传时间:2019-09-23 格式:DOC 页数:6 大小:394KB
返回 下载 相关 举报
电流输出型da转换器ad5545的原理应用及编程_第1页
第1页 / 共6页
电流输出型da转换器ad5545的原理应用及编程_第2页
第2页 / 共6页
电流输出型da转换器ad5545的原理应用及编程_第3页
第3页 / 共6页
电流输出型da转换器ad5545的原理应用及编程_第4页
第4页 / 共6页
电流输出型da转换器ad5545的原理应用及编程_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《电流输出型da转换器ad5545的原理应用及编程》由会员分享,可在线阅读,更多相关《电流输出型da转换器ad5545的原理应用及编程(6页珍藏版)》请在金锄头文库上搜索。

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 )矮化砧嫁接的苹果树树冠体积小于乔化砧嫁接的苹果树树冠体积,矮化砧苹果树单株产量低于乔化砧苹果

3、树,所以,栽植矮化苹果树必须根据不同的矮化砧木和不同类型的短枝型品种适当加大栽培密度对AD5545的操作:图6 AD5545操作时序AD5545操作采用SPI方式的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位格式的数据。不过好在,在AD

4、5545的datasheet上下面一段话:If the applied microcontroller outputs serial data in different lengths 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 ri

5、sing edge of CS transfers the serial register data to the DAC register and updates the output; 即碰到MCU的位数和AD5545位数不匹配的情况,比如8位的MCU。传送的18位数据通常通过传送3个8位数据来实现。AD5545(自动)忽略前6个MSB,只接受后18个LSB数据,当所有数据都送入串行移位寄存器后,在CS的上升沿将数据送入DAC寄存器,同时更新输出(模拟值A)。对于AD5545这款DAC的操作,自己认为,归根结底还是如何把数据从MCU送给它,尤其是碰到像上述提及的位数不匹配的情况,因此编写了

6、两个程序段,分别用于发送8位数据和用于转换18位格式数据。(每个程序段中,中间有所省略,相信读者可以自行补全)void AD5545SendByte(uchar SByte) for(i=0;i8;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); /延时一

7、点时间 SByte 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对双极性输出电路结果的测量,参考电压输入数字量N计算公式理论结果(V)实测结果(V)2.4920x0000-2. 492-2.4902. 4920xAAAA0.8310.8382. 4920xFFFF2. 4922.501注:本文ADI技术论坛原创首发,转载请注明。谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号