tlc549中文资料汇总_tlc549引脚图及功能_工作原理_特性参数及典型应用电路程序

电子常识

2585人已加入

描述

  一、tlc549中文资料汇总-tlc549介绍

  TLC549是8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、DATAOUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC549为40000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-≥1V,可用于较小信号的采样。

  模数转换

  TLC549主要特征

  ①8位分辨率A/D转换器,总不可调整误差≤±0.5LSB。

  ②采用三线串行方式与微处理器接口。

  ③片内提供4MHz内部系统时钟,并于操作控制用的外部I/OCLOCK相互独立。

  ④有片内采样保持电路,转换时间≤17us,包括存取与转换时间、转换速率达40000次/秒。

  ⑤差分高阻抗基准电压输入,其范围是:1V≤差分基准电压≤Vcc+0.2V。

  ⑥宽电源范围:3V~6.5V,低功耗,当片选信号/CS为低,芯片选中处于工作状态。

  二、tlc549中文资料汇总-tlc549引脚图及其功能

  1、TLC549的管脚图

 模数转换

  2、TLC549管脚功能

  REF+:正基准电压输入2.5V≤REF+≤Vcc+0.1。

  REF-:负基准电压输入端,-0.1V≤REF-≤2.5V。且要求:(REF+)-(REF-)≥1V。

  VCC:系统电源3V≤Vcc≤6V。

  GND:接地端。

  /CS:芯片选择输入端,要求输入高电平VIN≥2V,输入低电平VIN≤0.8V。

  DATAOUT:转换结果数据串行输出端,与TTL电平兼容,输出时高位在前,低位在后。

  ANALOGIN:模拟信号输入端,0≤ANALOGIN≤Vcc,当ANALOGIN≥REF+电压时,转换结果为全“1”(0FFH),ANALOGIN≤REF-电压时,转换结果为全“0”(00H)。

  I/OCLOCK:外接输入/输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步。

  三、tlc549中文资料汇总-tlc549工作原理

  TLC549均有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无须特殊的速度或相位匹配。其工作时序如图所示。

  当CS为高时,数据输出(DATAOUT)端处于高阻状态,此时I/OCLOCK不起作用。这种CS控制作用允许在同时使用多片TLC549时,共用I/OCLOCK,以减少多路(片)A/D并用时的I/O控制端口。

模数转换

  一组通常的控制时序为:

  (1)将CS置低。内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端上。

  (2)前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟输入。

  (3)接下来的3个I/OCLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位,

  (4)片上采样保持电路在第8个I/OCLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。第8个I/OCLOCK后,CS必须为高,或I/OCLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果CS为低时I/OCLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,

  若要在特定的时刻采样模拟信号,应使第8个I/OCLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/OCLOCK时钟下降沿开始采样,却在第8个I/OCLOCK的下降沿开始保存。

  模数转换

  四、tlc549中文资料汇总-tlc549特性参数

  TLC549的极限参数如下:

  ●电源电压:6.5V;

  ●输入,出电压范围:0.3V~VCC+0.3V;

  ●峰值输入电流(任一输入端):±10mA;

  ●总峰值输入电流(所有输入端):±30mA;

  ●工作温度:TLC549C:0℃~70℃

  TLC549I:-40℃~85℃

  TLC549M:-55℃~125℃  

  五、tlc549中文资料汇总-tlc549应用接口及采样程序

  TLC549可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。与51系列单片机的接口如图3所示。其采样程序框图如图4所示

  模数转换
图3 与51系列单片机的接口图

  模数转换
图4  采样程序框图

#include

#include
#define N 8
unsigned char count;//滤波函数的计数值
/*unsigned char bdata dat; //dat是可位寻址的变量
sbit dat7=dat^7;
sbit dat6=dat^6;
sbit dat5=dat^5;
sbit dat4=dat^4;
sbit dat3=dat^3;
sbit dat2=dat^2;
sbit dat1=dat^1;
sbit dat0=dat^0; //取出dat的各个位*/
//------------------------------------------------------------------------
unsigned char TLC549_ReadByte(void)
{ //读一个字节函数
unsigned char value=0,i=0;
TLC549_DOUT=1;//51单片机读数据时得先把管脚置1
for(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 value;
}
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_buf[N],temp;
int sum=0;
for (count=0;count {
value_buf[count] = TLC549_GetValue();
delayus(300);
}
for (j=0;j {
for (i=0;i {
    if ( value_buf[j]>value_buf[i+j] )
    {
temp = value_buf[j];
value_buf[j] = value_buf[i+j];
value_buf[i+j] = temp;
    }
}
}
for(count=1;count sum += value_buf[count];
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;count { //连续采8个数据,相加,放到sum中
sum+=TLC549_GetValue();
delayus(300);
}
return (unsigned char)(sum>>3);//求平均值,左移三位相当于除以8
}    */

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
Goodtimes 2018-04-27
0 回复 举报
tlc549很详细的中文资料,很赞 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分