TLC1549串口传输与单片机的A/D设计

发布时间:2010-8-3 15:18    发布者:lavida
关键词: TLC1549 , 串口传输 , 单片机
1 概述  

TLC1549系列是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS低电平有效),输入/输出时钟(I/O CLOCK),数据输出(DATAOUT)。TLC1549引脚排列如图1所示。TLC1549能以串行方式送给单片机,其功能结构如图2所示。由于TLC1549采用CMOS工艺。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,而且开关电容设计使在满刻度时总误差最大仅为±1 LSB(4.8 mV),因此可广泛应用于模拟量和数字量的转换电路。  




  
TLC1549在工作温度范围内的极限参数:  

电源电压范围:-0.5 V~6.5 V;  
125℃输入电压范围:-0.3 V~VCC+0.3 V;  
输出电压范围:-0.3~VCC+0.3 V;  
正基准电压:VCC+0.1 V;  
负基准电压:-0.1 V;  
峰值输入电流:+20 mA;  
峰值总输入电流:±30 mA;  
工作温度范围:TLC1549M为-55℃~125℃,TLC1549C为0℃~70℃,TLC1549I为-40℃~85℃。  

2 工作原理  

TLC1549具有6种串行接口时序模式,这些模式是由I/O CLOCK周期和CS定义。根据TLC1549的功能结构和工作时序,其工作过程可分为3个阶段:模拟量采样、模拟量转换和数字量传输。图3所示为TLC1549的时序图。  


  
2.1 输入的模拟量采样  

在第3个I/O CLOCK下降沿,输入模拟量开始采样,采样持续7个I/O CLOCK周期,采样值在第10个I/O CLOCK下降沿锁存。  

2.2 输入的模拟量转换  

对于连续逐次逼近型的模数转换器TLC1549,CMOS门限检测器通过检测一系列电容的充电电压决定A/D转换后的数字量的每一位,如图4所示。在转换过程的第一阶段,模拟输入量同时关闭SC和ST进行充电采样,这一过程使所有电容的充电电压之和达到模数转换器的输入电压。转换过程的第二阶段打开所有SC和ST,CMOS门限检测器通过识别每一只电容的电压确定每一位,使其接近参考电压。在这个过程中,10只电容逐一检测,直到确定转换的十位数字量。其详细步骤为:门限检测器检测第一只电容(weight=512)的电压,该电容的节点512连接到REF+。梯型网络中,其他电容的等效节点接到REF-。如果总节点的电压大于门限检测器的电压(大约VCC的一半),“0”被送至输出寄存器,此时512-weight的电容连接到REF-。经反相后为“1”,即为最高位MSB为1;如果总节点的电压小于门限检测器的电压(大约VCC的一半),“1”被送至输出寄存器,此时512-weight的电容连接到REF+,经反相后为“0”,存为最高位MSB为0。对于256-weight的电容和128-weight的电容也要通过连续逐次逼近型的重复操作,直到确定从高位(MSB)到低位(LSB)所有数字量,即为初始的模拟电压数字量。整个转换过程调整VREF+和VREF1以便从数字0至1跳变的电压(VZT)为0.002 4 V,满度跳变电压(VFT)为4.908 V,即1 LSB=4.8 mV。  


  
2.3 数字量的传输  

当片选CS由低电平变为高时,I/O CLOCK禁止且A/D转换结果的三态串行输出DATA OUT处于高阻状态;当串行接口将CS拉至有效时,即CS由高变为低时,CS复位内部时钟,控制并使能DA-TA OUT和I/O CLOCK,允许I/O CLOCK工作并使DATA OUT脱离高阻状态。串行接口把输入/输出时钟序列供给I/O CLOCK并接收上一次转换结果。首先移出上一次转换结果数字量对应的最高位,下一个I/O CLOCK的下降沿驱动DATA OUT输出上一次转换结果数字量对应的次高位,第9个I/OCLOCK的下降沿将按次序驱动DATA OUT输出上一次转换结果数字量的最低位,第10个I/OCLOCK的下降沿,DATA OUT输出一个低电平,以便串行接口传输超过10个时钟;I/O CLOCK从主机串行接口接收长度在10~16个时钟的输入序列。  

CS的下降沿,上一次转换的MSB出现在DATA OUT端。10位数字量通过DATA OUT发送到主机串行接口。为了开始传输,最少需要10个时钟脉冲,如果I/OCLOCK传送大于10个时钟,那么在第10个时钟的下降沿,内部逻辑把DATA OUT拉至低电平以确保其余位清零。在正常转换周期内,即规定的时间内CS端由高电平至低电平的跳变可以终止该周期,器件返回初始状态(输出数据寄存器的内容保持为上一次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止CS拉至低电平。  

3 实例应用及编程  

实践中,某功能模块需将模拟电压转换为数字量,经过单片机处理后,储存在EEPROM中。利用P1.7作为片选端ADCS,P1.6作为数据输出端AD-DATA,P1.5作为时钟端ADCLK。图5所示为A/D串行接口应用原理图。  


  
对于较大程序,应采用结构化程序设计,将整个程序按功能分成若干个模块,不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。以下给出了程序代码:  








  
4 结束语  

利用A/D串行输出设计不但提高了模数转换的精度,具有抗干扰性,而且节省了大量元件和印刷电路板的空间。该系统设计已经成功应用于工业现场控制系统的数据测量。
本文地址:https://www.eechina.com/thread-18918-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表