数模转换DAC-TLC5615的Proteus电路仿真

电子常识

2585人已加入

描述

  TLC5615 为美国德州仪器公司 1999 年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把 DAC 寄存器复位至全零。

  性能比早期电流型输出的 DAC 要好。只需要通过 3 根串行总线就可以完成 10 位数据的串行输入, 易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。

  数模转换DAC-TLC5615的Proteus电路仿真

  1、TLC5615转换精度10bit,转换后输出为电压,最大输出电压为VDD-0.4V,逻辑电压输入5V(+-5%),若采用5V的逻辑电平,其最大输入电压为4.6V,故参考电压Vref输入必须在0~2.3V范围之内,本仿真实验中取Vref=2.048V;

  2、输出电压计算式:

  TLC5615

  3、TLC5615面向CPU的接口采用SPI串行传输,其最大传输速度为1.21Mhz,DA转换时间为12.5us,故一次写入数据(CS引脚从低电平至高电平跳跃)后,必须延时15us左右才可第二次刷入数据再次启动DA转换。

  4、DOUT引脚作为MISO引脚或者多个TLC5615级联的串行数据输出;

  5、写入转换数据可为12bits格式或者16bits格式(当级联输出时),数据传输高位先发:

  TLC5615

  写时序与SPI兼容;

TLC5615

  7、模块子例程:

  /******************************************************************************/ /**

  /** 模 块 名: -------------------TLC5615.C--------------------------------- /** -----------------数模转换子模块-----------------------------*/ /** 功能描述:

  /******************************************************************************/ #include “Includes.h” //文件包含

  /************************************************* 模块级变量申明

  *************************************************/ int8u bdata gBitMsb; sbit m7 = gBitMsb^7; int8u bdata gBitLsb;

  sbit l7 = gBitLsb^7;

  static void TLC5615_Write_12Bits();

  /************************************************* 子函数定义

  *************************************************/

  /******************************************************************************* *** 函 数 名: static void TLC5615_Write_12Bits() *** 功能描述: 一次向TLC中写入12bit数据;

  钟,写操作在时钟上升沿触发; SCL = 0; //结束该位传送,为下次写作准备;

  }

  else

  {

  SDA = 0; SCL = 1; SCL = 0;

  }

  gBitMsb 〈〈= 1;

  }

  for(i=0;i〈8;i++)//循环八次,发送低八位;

  { if(l7)

  {

  SDA = 1; //将数据送出;

  SCL = 1; //提升时钟,写操作在时钟上升沿触发; SCL = 0; //结束该位传送,为下次写作准备;

  }

  else

  {

  SDA = 0; SCL = 1; SCL = 0; }

  gBitLsb 〈〈= 1;

  }

  for(i=0;i〈2;i++)//循环2次,发送两个虚拟位;

  {

  SDA = 0; SCL = 1; SCL = 0; }

  CS = 1; SCL = 0; }

  /******************************************************************************* *** 函 数 名: extern void TLC5615_Start(int16u dacDat) *** 功能描述: 启动DAC转换;

  *** 全局变量: gBitMsb:待转换10bit高两位;gBitLsb:10bits的低8位; *** 输 入: dacDat:int16u; *** 函数说明: 外部函数;

  /******************************************************************************/ extern void TLC5615_Start(int16u dacDat)

  {

  dacDat %= 1024;

  gBitMsb = dacDat/256; gBitLsb = dacDat%256; gBitMsb 〈〈= 6;

  TLC5615_Write_12Bits();

  }

  /******************************************************************************* **** End Of File

  *******************************************************************************/

  8、Proteus仿真抓图:

  TLC5615

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

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

×
20
完善资料,
赚取积分