lcytms 发表于 2017-2-10 11:32:17

FPGA初级课程第二十三讲 DA

FPGA初级课程
第二十三讲 DA

Hi,大家好!我是至芯科技的李老师。
今天讲课的题目是:DA。
本节课我先简要地介绍一下DA转换芯片工作的基本原理,然后实际演示一下DA驱动逻辑电路的建模与仿真,我们还要结合第六讲的单独按键消抖一起编写一个完整的演示逻辑,并下板查看实际效果。

lcytms 发表于 2017-2-10 11:35:17

演示平台为至芯科技开发的ZX_2开发板。
开发板采用的AD转换芯片为TI公司的4路8位数模转换器TLC5620。

lcytms 发表于 2017-2-10 11:37:00

打开《ZX_2.pdf》文件,我们看一下DA部分的电路图。

lcytms 发表于 2017-2-10 11:38:35

我们打开至芯科技编写的《基于FPGA的TLC5620驱动设计(DA).pdf》文档。

lcytms 发表于 2017-2-10 11:40:41

1. 实验引言
        ADC和DAC是模拟量和数字量之间不可或缺的桥梁。
        而AD、DA转换器在数字控制系统中也有着重要地位。
        A/D转换器将各种模拟信号转换为抗干扰性更强的数字信号,直接进入数字计算机进行处理,存储并产生数字控制信号;
        D/A转换器把收到的数字控制信号转换成模拟信号,实现对被控对象的控制。

2.实验目的
        熟悉串行数/模转换芯片TLC5620的使用方法,学习用状态机设计DAC访问接口程序。

3.实验内容
        本实验我们用FPGA对至芯开发板上的DA芯片TLC5620进行控制,TLC5620是一个拥有四路输出数/模转换器。
        我们通过一个按键对四路输出进行切换,使用数字万用表测量对应通道的输出电压,比较设置值与实测值是否一致。
        比如,开发板上电重启或按下复位键后,四路输出均为0V;
                按下切换按键1次时,通道1电压输出变为0.3125V,其余不变;
                按下切换按键2次时,通道2电压输出变为0.625V,其余不变;
                按下切换按键3次时,通道3电压输出变为1.25V,其余不变;
                按下切换按键4次时,通道4电压输出变为2.5V,其余不变;
                以上4次按完之后,四个通道电压应依次为0.3125V、0.625V、1.25V、2.5V。

lcytms 发表于 2017-2-10 11:43:08

4.实验原理
        TLC5620是一个四通道8位串行D/A转换器,时钟频率最大可以达到1MHz。
        TLC5620传输的一帧数据为11位,高位先传送,格式如表2所列。
        D10、D9位为通道选择位,其对应关系如表3所列;
        D8位为输出电压模式选择,
                若为“0”则输出电压范围为0~Vref;
                若为“1”则输出电压范围为0~2Vref;
                其中Vref为参考电压,我们的开发板提供参考电压值为2.5V;
        D7~D0为数据位。

lcytms 发表于 2017-2-10 11:48:45

本帖最后由 lcytms 于 2017-2-10 11:50 编辑

TLC5620的访问时序如图1所示。
其中CLK为DAC的时钟;
        DATA为串行数据,锁存于时钟的下降沿;
        LOAD为数据锁存控制信号,当一帧数据传送完毕时,拉低LOAD信号线,即把该帧数据锁存起来;
        LDAC为DAC输出更新控制信号,当LDAC为低电平时,则把锁存在锁存器的数据送到DAC并转换输出。
        详细的时序控制、参数设置请参考数据手册。

TLC5620的输出电压为:
        Vo(DACA/B/C/D)=Vref*(CODE/256)*(1+RNG)
其中Vo为输出电压值;
        DACA/B/C/D代表四个不同的通道;
        Vref为参考电压;
        CODE为8位二进制数,范围为0~255;
        RNG为RNG位,数值为0或1。

图1TLC5620访问时序图

lcytms 发表于 2017-2-10 11:54:21

5. 硬件设计
用TLC5620芯片搭建的DA转换电路如下图所示。

lcytms 发表于 2017-2-10 13:36:36

DA芯片的工作原理既然已经清楚,我们下面来进行系统设计。
命名DA驱动逻辑为dac。
架构图如下所示。

lcytms 发表于 2017-2-10 13:39:45

在前级加上单独按键消抖模块key_flag、DAC控制器模块dac_controller后,总体架构图如下。
其中,DAC控制器模块dac_controller产生DAC使能信号req,并根据按键次数输出相应的DAC控制字给DA驱动模块dac。
而DA驱动模块dac在完成每一次的DA转换之后,输出一个表示转换完成的脉冲信号req_done,反馈给DAC控制器模块dac_controller。
页: [1] 2 3
查看完整版本: FPGA初级课程第二十三讲 DA