




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上模数转换器TLC549的应用1. 概述TLC549是8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、DATA OUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17s, TLC549为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+VREF-1V,可用于较小信号的采样。2. 芯片简介2.1TLC549的内部框图和管脚名称TLC549的内部框图如图1。2.2 极限参数TLC549的极限参数如下: 电
2、源电压:6.5V;输入,出电压范围:0.3VVCC0.3V;峰值输入电流(任一输入端):±10mA;总峰值输入电流(所有输入端):±30mA;工作温度: TLC549C:070 TLC549I:4085 TLC549M:551253. 工作原理TLC549均有片内系统时钟,该时钟与I/O CLOCK是独立工作的,无须特殊的速度或相位匹配。其工作时序如图2所示。当CS为高时,数据输出(DATA OUT)端处于高阻状态,此时I/O CLOCK不起作用。这种CS控制作用允许在同时使用多片TLC549时,共用I/O CLOCK,以减少多路(片)A/D并用时的I/O控制端口。一组通常
3、的控制时序为: (1)将CS置低。内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATA OUT端上。(2) 前四个I/O CLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/O CLOCK下降沿开始采样模拟输入。 (3)接下来的3个I/O CLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位,(4)片上采样保持电路在第8个I/O CLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。保持功能将持续4个内部时钟周期,然后开
4、始进行32个内部时钟周期的A/D转换。第8个I/O CLOCK后,CS必须为高,或I/O CLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果CS为低时I/O CLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,若要在特定的时刻采样模拟信号,应使第8个I/O CLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/O CLOCK时钟下降沿开始采样,却在第8个I/O CLOCK的下降沿开始保存。4. 应用接口及采样程序TLC549可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,
5、也可与51系列通用单片机连接使用。与51系列单片机的接口如图3所示。其采样程序框图如图4所示参考程序#include <TLC549.h>#include <Mydefine.h>#define N 8unsigned char count;/滤波函数的计数值/*unsigned char bdata dat; /dat是可位寻址的变量sbit dat7=dat7;sbit dat6=dat6;sbit dat5=dat5;sbit dat4=dat4;sbit dat3=dat3;sbit dat2=dat2;sbit dat1=dat1;sbit dat0=dat0
6、; /取出dat的各个位*/-unsigned char TLC549_ReadByte(void) /读一个字节函数unsigned char value=0,i=0;TLC549_DOUT=1;/51单片机读数据时得先把管脚置1for(i=0;i<8;i+)if(TLC549_DOUT=1) value|=(0x80>>i);/获取数据线的位放到相应位上 /(有1时写1,无1时保持0)TLC549_CLK=1;TLC549_CLK=0;delayus(50);/根据datasheet,下降沿产生后, /400ns后新的位被写到数据线上,所以这里进行延时 return va
7、lue;unsigned char TLC549_GetValue(void)unsigned char ConvertValue;TLC549_CS=0; /打开片选ConvertValue=TLC549_ReadByte(); /读取转换后的8位AD值TLC549_CS=1; /关闭片选delayus(50); /等待转换结束 最长17us return ConvertValue; /返回转换结果unsigned char TLC549_Filter() /滤波函数char count,i,j;unsigned char value_bufN,temp;int sum=0;for (cou
8、nt=0;count<N;count+)value_bufcount = TLC549_GetValue();delayus(300);for (j=0;j<N-1;j+)for (i=0;i<N-j;i+) if ( value_bufj>value_bufi+j ) temp = value_bufj;value_bufj = value_bufi+j; value_bufi+j = temp; for(count=1;count<N-1;count+)sum += value_bufcount;return (unsigned char)(sum/(N-2); unsigned char AD_Convert(void) unsigned char AD_Value;AD_Value=TLC549_Filter();return AD_Value;/*unsigned char TLC549_Filter(void) unsigned int sum=0;for(count=0;co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论