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

2、输出电压计算式:

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

....which is a 1.21 MHz update rate. However, the DAC settling time to 10 bits of 12.5 us
limits the update rate to 80 kHz for full-scale input step transitions.

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

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

/******************************************************************************/
/**
/** 模 块 名: -------------------TLC5615.C---------------------------------
/**            -----------------数模转换子模块-----------------------------*/
/** 功能描述:
/**
/** 创 建 人: huangtiexiong    日期:2006-11-28   */
/** 修 改 人:                  日期:2006-11-28   */
/** 其他说明:
/******************************************************************************/

#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数据;
*** 全局变量: gBitMsb:待转换10bit高两位;gBitLsb:10bits的低8位;
*** 输  入: NO !
*** 输  出: NO !
*** 创 建 人:huangtiexiong     日期:2006-11-28
*** 修 改 人:           日期:2006-11-28
*** 函数说明: 内部函数;
/******************************************************************************/
static void TLC5615_Write_12Bits()
{
 int8u i;
 SCL = 0;    //置零SCL,为写bit做准备;
 CS = 0;
 for(i=0;i<2;i++)//循2次,发送高两位;
 {
  if(m7)    //高位先发;
   {
    SDA = 1; //将数据送出;
    SCL = 1; //提升时钟,写操作在时钟上升沿触发;
    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;
*** 输  出: NO !
*** 创 建 人:huangtiexiong     日期:2006-11-28
*** 修 改 人:           日期:2006-11-28
*** 函数说明: 外部函数;
/******************************************************************************/
extern void TLC5615_Start(int16u dacDat)
{
 dacDat %= 1024;
 gBitMsb = dacDat/256;
 gBitLsb = dacDat%256;
 gBitMsb <<= 6;
 
 TLC5615_Write_12Bits();
 }
/*******************************************************************************
****                              End Of File
*******************************************************************************/

数模转换DAC-TLC5615的说明相关推荐

  1. 51单片机DAC数模转换

    51单片机DAC数模转换 DAC介绍 1.DAC简介 DAC(Digital to analog converter)即数字模拟转换器,它可以将数字信号转换为模拟信号.它的功能与 ADC 相反. 2. ...

  2. STM32入门(二十)----DAC

    DAC 理论 数模转换DAC原理 STM32的DAC的特点 框图 常用寄存器 常用库函数 实践 PWMDAC 理论 数模转换DAC原理 STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电 ...

  3. STM32CubeMX学习笔记(20)——DAC接口使用(输出正弦波)

    一.DAC简介 DAC(Digital-to-Analog Converter),即数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC 相反.在常 ...

  4. DAC解码芯片ES9023特性评测简介

    美国ES9023是一款单端输出24bit立体声音频数模转换DAC芯片,芯片内集成2Vrms输出的驱动运放.采用了业界先进的SABRE数-模转换技术:集音质.高性价比于一身,使之成为数模转换的理想选择. ...

  5. FPGA 20个例程篇:4.串行DAC输出模拟电压控制LED亮度

    二.常用通信协议,摸索探究: 4.串行DAC输出模拟电压控制LED亮度 TLC5615是一颗在实战项目中广泛使用的串行DAC,通过这个例程的学习实践,一方面我们可以掌握SPI通信的底层逻辑,另一方面D ...

  6. c语言转换为stc程序,STC51单片机入门(C语言)

    以前老资料,可继续下载参考. 目   录 第1篇 单片机KEIL开发环境 第1章  点亮LED实例与经典延时程序介绍(看不懂就从第2章动手) 1.1 51单片机最小系统与芯片引脚图 1.2 点亮LED ...

  7. arduino 呼吸灯_如何改善您的Arduino呼吸机:用于临时COVID-19呼吸机设计的RTS和SCS简介...

    arduino 呼吸灯 The world as we know it was recently taken by storm. That storm was the outbreak of the ...

  8. jquery控制只监听数字_无源!模拟!颜值高!简单实用!TC Level Pilot监听音量控制器...

    Level Pilot是一款立体声无源模拟音量控制器,独立于电脑.声卡之外工作,用于有源监听音箱的音量控制,设计简洁,操作手感流畅.很多监听都不带音量旋钮,只能通过声卡或电脑进行音量控制,在手边放一个 ...

  9. audio unity 加速_浅谈Unity中Android、iOS音频延迟

    在Unity上面做音游,当在移动端实机运行起来,会发现,音频的发出会有一定的延迟,无论是长音效还是短音效,Unity内置的Audio内部使用的是FMOD,有以下手段改善 通过设置稍微改善其延迟的问题 ...

  10. 手把手教如何用Linux下IIO设备(附代码)

    关注.星标嵌入式客栈,精彩及时送达 [导读] 朋友们,大家好,我是逸珺. 今天分享一下如何在用户空间操作IIO设备.IIO设备能实现很多有价值的应用,有兴趣的一起来看看~ 什么是IIO设备 IIO是 ...

最新文章

  1. Sharding-jdbc教程:Mysql数据库主从搭建
  2. 资源 | UC Berkeley CS 294深度强化学习课程(附视频、学习资料)
  3. WINCE6.0+S3C6410的触摸屏驱动
  4. Endnote技巧:解决中英参考文献混排问题,附国标文件
  5. GetLongPathName和GetShortPathName函数
  6. c# Invoke和BeginInvoke
  7. 谈谈button标签和input标签的区别
  8. (转)Java初始化顺序
  9. Ubuntu18.04 下面安装docker
  10. mysql驱动是什么文件_Oracle数据库11g JDBC驱动程序 – 这么多文件?他们的意思是什么?...
  11. 无人驾驶路径规划(一)全局路径规划 - RRT算法原理及实现
  12. java poi 自动行高_Java POI Excel 行高自适应
  13. Javascript对象基础讲解
  14. 使用声卡录制编辑收藏自己喜欢的音乐
  15. 基于负熵的快速不动点算法
  16. 工作经费的开支范围_经费支出范围
  17. 【Vivado那些事儿】强制修改打开Vivado工程使用的Vivado版本
  18. 魔兽中的dx写屏(原版为英文)
  19. 生死单元技术!如何在abaqus焊接仿真中的应用
  20. 刺激战场android闪退,绝地求生刺激战场闪退怎么办 游戏闪退解决办法一览

热门文章

  1. 5G技术在物联网行业的应用
  2. CDN:BootCDN 项目列表-摘录-20180405
  3. ios开发之故事板StoryBoard的使用
  4. Dataframe中添加一列
  5. pyqt 控件焦点_PyQt5 控件学习(一个一个学习之QTextEdit)
  6. 【修炼五】用户需求系统需求
  7. HDU-4126(Genghis Khan the Conqueror)
  8. 系统全面的认识Solr
  9. 普元mobile_普元Primeton Mobile 7.1 正式发布 互联网集成能力加速企业数字化转型
  10. unity制作手机h5小游戏,发布webgl后我的修改