您的位置 首页 主动

小梅哥和你一同深化学习FPGA之DAC驱动

本实验中,我们使用FPGA来驱动了一片DAC芯片TLC5620,该芯片的特性如下所示:TLC5620特性:4路8位电压输出;单电源5V供电;串行接口;参考电

  本试验中,咱们运用FPGA来驱动了一片DAC芯片TLC5620,该芯片的特性如下所示:

  TLC5620特性:

  4路8位电压输出;

  单电源5V供电;

  串行接口;

  参阅电压输入高阻;

  可编程的1次或2次输出规模;

  一起更新的才干;

  内部自带上电复位功用;

  低功耗;

  半缓冲输出。

  小梅哥规划的该芯片的驱动模块的接口如下所示:

  

 

  各个端口界说如下:

  以下是代码片段:

  input Clk;

  input Rst_n;

  input Do_DA; /*使能单次转化*/

  input [10:0]Data;/*{Addr1,Addr0,Range,Data_bit[7:0]}*/

  output reg DAC_Dout; /*DAC数据线*/

  output reg DAC_Clk; /*DAC时钟线,最高速度1M*/

  output reg DAC_LDAC; /**/

  output reg DAC_LOAD; /**/

  output reg DA_Done; /*单次转化完结标志信号*/

  该芯片供给了类似于SPI的数字接口,因而,咱们只需求运用该接口与芯片进行通讯,再合作LOAD和LDAC两个操控线,即可完结对该DAC芯片的操控。TLC5620一次转化的操作时序如下:

  

 

  图1 TLC5620单次转化时序图

  TLC5620每次写入的数据为11位,其间前两位为DAC挑选位A1、A0,经过不同的组合能够挑选不同通道的DAC,详细分配为:

  

 

  表1 DAC通道挑选位与对应通道联系

  第三位是电压输出增益位,0代表不变,1代表两倍,当设定参阅电压为2.5V时,取这一位为1就能够得到最高5V的输出电压。后边8位是数据位,其间第四位是数据的最高位。关于TLC5620的输出电压公式是:

  VO=VREF ×CODE/256×(1+RNG)

  VREF是参阅电压,CODE是待转化的8位二进制代码,RNG是增益倍数。

  写入数据时,首要LOAD和LDAC写高电平,这样在CLK的每个下降沿写入的每位数据被锁存到DATA端,当11位数据传送结束后,拉低LOAD,芯片根据前两位数据,判别是哪一路DAC通道,然后将8位数据移入相应的通道,进行DA转化,这时拉低LDAC,再拉高LDAC,就能够再下次转化之前,坚持此次的模拟输出。

  TLC5620正常作业时的详细电压和时刻参数如下表所示,经过该表,可知该芯片串行数字接口的时钟信号(CLK)最高为1MHz。该参数将作为咱们选用FPGA发生TLC5620数字接口时钟的根据。一起,还有输入数据树立时刻tsu(data-clk)为50ns,即,FPGA数据送出,到能够被TLC5620正常读取,至少需求50ns,因而FPGA单位数据输出坚持时刻不得少于50ns。tv(data-clk)为时钟下降沿到来后多久时刻数据线上的数据才干被芯片内部收集,该时刻确认了,时钟下降沿呈现多久后,数据线上的数据能够被更新。tsu(LOAD-LDAC)为LOAD的上升沿到LDAC下降沿的树立时刻,这儿最小为0ns,因而疏忽,即两者一起发生即可。tw(LDAC)为LDAC低电平所需的最短时刻,为250ns。

  

  表2 TLC5620要害参数

  经过对TLC5620一次完好转化的时序进行剖析,列出以下序列机对应的序列点:该序列机一共包括26个点,其间,当Cnt1=0(ST0)时,为闲暇态,ST1—ST22为数据发送状况,ST23时拉低LOAD,行将数据加载入对应通道的DAC中,ST24时开释LOAD,一起拉低LDAC,以发生LDAC的下降沿,将对应通道的模拟输出坚持住。ST25拉高LDAC,完结一次转化。

  表3 TLC5620单次转化操控序列机

  序列机的计数器计数条件如下

  表4 TLC5620序列机计数器计数条件

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/116181.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部