最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

数模转换 TCL5620 DAC

IT圈 admin 36浏览 0评论

2023年12月21日发(作者:慕容安萱)

FPGA/CPLD开发套件实验教程

——

PERI2-4DI篇

实验七、数模转换-TLC5620 DAC

实验目的:

号。

在这一课里,我们来学习数模转换器TLC5620,通过FPGA/CPLD来驱动TLC5620,输出经过DA转换后的数字电压信实验原理:

(1)TLC5620 DA简介

TLC5620C是带有高阻抗缓冲输入的4通道8位电源输出数模转换器集合。这些转换器可以产生单调的、一至两倍于基准电压和接地电压差值的输出。通常情况下TLC5620的供电电压为一个5V电源。器件内集成上电复位功能,确保启动时的环境是可重复的。

对TLC5620C的数字控制是通过一根简单的3路串行总线实现的。该总线兼容CMOS,并易于向所有的微处理器和微控制器设备提供接口。11位的命令字包括8位数据位,2位DAC选择位和1位范围位,后者用来选择输出范围是1倍还是2倍。DAC寄存器采用双缓存,允许一整套新值被写入设备中。通过LDAC实现DAC输出值的同时更新。数字量的输入采用史密斯触发器,从而有效降低噪声。

TLC5620的特点与对应原理框图如下:

4通道8位电压输出D/A转换器

5V单电源

串行接口

高阻抗的基准输入

可编程实现1至2倍的输出范围

设备可同时进行更新

内置上电复位

低功耗

半缓冲输出

1

FPGA/CPLD开发套件实验教程 —— PERI2-4DI篇

(2)TLC5620 硬件接口

TLC5620引脚名称如图所示。

引脚

名称

CLK

序号

7 I

O

O

O

O

I

I

I

I

I

I

串行接口时钟。引脚出现下降沿时将输入的数字量转发到串行接口寄存器里

DAC A模拟信号输出

DAC B模拟信号输出

DAC C模拟信号输出

DAC D模拟信号输出

存放数字量的串行接口

地回路及参考终端

加载DAC。当引脚出现高电平时,即使有数字量被读入串行口也不会对DAC

的输出进行更新。只有当引脚从高电平变为低电平时,DAC输出才更新。

LOAD

REFA

REFB

8

2

3

串口加载控制。当LDAC是低电平,并且LOAD引脚出现下降沿时数字量被保

存到锁存器,随后输出端产生模拟电压。

输入到DAC A的参考电压。这个电压定义了输出模拟量的范围。

输入到DAC B的参考电压。这个电压定义了输出模拟量的范围。

2

输入/输出 描述

DACA 12

DACB 11

DACC 10

DACD 9

DATA

GND

LDAC

6

1

13

FPGA/CPLD开发套件实验教程 —— PERI2-4DI篇

REFC

REFD

VDD

TLC5620可方便地与FPGA/CPLD连接使用。与FPGA/CPLD的接口如图所示。

4

5

14

I

I

I

输入到DAC C的参考电压。这个电压定义了输出模拟量的范围。

输入到DAC D的参考电压。这个电压定义了输出模拟量的范围。

正极电源

其中VREF为2.5V基准源,四个通道都采用其作为基准源,输入5V电压与输出电压都经过滤波,保证精度。

(3)TLC5620 工作时序

TLC5620是串联型8位D/A转换器(DAC),它有4路独立的电压输出D/A 转换器,具备各自独立的基准源,其输出还可以编程为2倍或1倍,在控制TLC5620时,只要对该芯片的DATA、CLK、LDAC、LOAD端口控制即可,TLC5620控制字为11位,包括8位数字量,2位通道选择,1位增益选择。其中命令格式第1位、第2位分别为A1、A0,第3位为RNG,即可编程放大输出倍率,第4到11位为数据位,高位在前,低位在后。通道与输出关系如下

A1

0

0

1

1

A0

0

1

0

1

D/A输出

DCAA

DCAB

DCAC

DCAD

TLC5620中的每个DAC的核心是带有256个抽头的单电阻,每一个DAC的输出可配置增益输出放大器缓冲,上电时,DAC被复位且代码为0。每一通道输出电压的表达式为:

输出电压Vo=Vref*(CODE/256)*(1+RNG)

其中,CODE的范围为0~255,RNG位是串行控制字内的0或1。

管脚DATA为芯片串行数据输入端,CLK为芯片时钟,数据在每个时钟下降沿输入DATA端,数据输入过程中LOAD始终处于高电平,一旦数据输入完成,LOAD置低,则转换输出,实验中LDAC一直保持低电平,DACA、DACB、DACC、DACD为四路转换输出,REFA、REFB、REFC、REFD为其对应的参考电压。

TLC5620的时序图如图所示。

3

当LOAD为高电平时,数据在CLK每一下降沿由时钟同步送入DATA端口。如图(a)所示,一旦所有的数据位送入,LOAD变为脉冲低电平,以便把数据从串行输入寄存器传送到所选择的DAC。如果LDAC为低电平,则所选择的DAC输出电压更新且LOAD变为低电平。在图(b)中,串行编程期间内LDAC为高电平,新数值被LOAD的脉冲低电平打入第一级锁存器后,再由LDAC脉冲低电平传送到DAC输出。数据输入时最高有效位(MSB)在前。使用两个8时钟周期的数据传送示于图(c)和图(d)中。

实验结果:

此实验需要配合PERI1-8KD外设板共同完成,使用TLC5620 DA转换数码管上的数字电压。数码管1显示通道, 数码管2显示RNG值,数码管3和4显示CODE值。按键1切换通道,按键2改变增益RNG值(0或1),按键3改变电压CODE值,按键4控制启动一次转换。

4

具体实现:

程序实现了FPGA/CPLD控制TLC5620,使用TLC5620 DA转换数码管上的数字电压。程序模块图如下图所示,其中dac_test模块实现按键控制与数码管动态扫描, dac模块用于驱动TLC5620,其中设置了一个bit_count来控制时序,bit_count为0-1为等待接收数据阶段,2-24为发送数据阶段,此时产生dac_clk信号,将按键设置的数据按位发送出去。整个过程中ldac保持为低,即电压输出后不锁存,立即更新有效。详细实现参见程序代码与注释。

实验总结:

通过以上的讲解,相信各位已经掌握了FPGA使用HDL语言驱动TLC6520了吧,有了DA,就可以去做一个简易的信号发生器了。

5

课后作业:

在本节课的基础上,修改代码,使用TLC5620输出锯齿波。

6

2023年12月21日发(作者:慕容安萱)

FPGA/CPLD开发套件实验教程

——

PERI2-4DI篇

实验七、数模转换-TLC5620 DAC

实验目的:

号。

在这一课里,我们来学习数模转换器TLC5620,通过FPGA/CPLD来驱动TLC5620,输出经过DA转换后的数字电压信实验原理:

(1)TLC5620 DA简介

TLC5620C是带有高阻抗缓冲输入的4通道8位电源输出数模转换器集合。这些转换器可以产生单调的、一至两倍于基准电压和接地电压差值的输出。通常情况下TLC5620的供电电压为一个5V电源。器件内集成上电复位功能,确保启动时的环境是可重复的。

对TLC5620C的数字控制是通过一根简单的3路串行总线实现的。该总线兼容CMOS,并易于向所有的微处理器和微控制器设备提供接口。11位的命令字包括8位数据位,2位DAC选择位和1位范围位,后者用来选择输出范围是1倍还是2倍。DAC寄存器采用双缓存,允许一整套新值被写入设备中。通过LDAC实现DAC输出值的同时更新。数字量的输入采用史密斯触发器,从而有效降低噪声。

TLC5620的特点与对应原理框图如下:

4通道8位电压输出D/A转换器

5V单电源

串行接口

高阻抗的基准输入

可编程实现1至2倍的输出范围

设备可同时进行更新

内置上电复位

低功耗

半缓冲输出

1

FPGA/CPLD开发套件实验教程 —— PERI2-4DI篇

(2)TLC5620 硬件接口

TLC5620引脚名称如图所示。

引脚

名称

CLK

序号

7 I

O

O

O

O

I

I

I

I

I

I

串行接口时钟。引脚出现下降沿时将输入的数字量转发到串行接口寄存器里

DAC A模拟信号输出

DAC B模拟信号输出

DAC C模拟信号输出

DAC D模拟信号输出

存放数字量的串行接口

地回路及参考终端

加载DAC。当引脚出现高电平时,即使有数字量被读入串行口也不会对DAC

的输出进行更新。只有当引脚从高电平变为低电平时,DAC输出才更新。

LOAD

REFA

REFB

8

2

3

串口加载控制。当LDAC是低电平,并且LOAD引脚出现下降沿时数字量被保

存到锁存器,随后输出端产生模拟电压。

输入到DAC A的参考电压。这个电压定义了输出模拟量的范围。

输入到DAC B的参考电压。这个电压定义了输出模拟量的范围。

2

输入/输出 描述

DACA 12

DACB 11

DACC 10

DACD 9

DATA

GND

LDAC

6

1

13

FPGA/CPLD开发套件实验教程 —— PERI2-4DI篇

REFC

REFD

VDD

TLC5620可方便地与FPGA/CPLD连接使用。与FPGA/CPLD的接口如图所示。

4

5

14

I

I

I

输入到DAC C的参考电压。这个电压定义了输出模拟量的范围。

输入到DAC D的参考电压。这个电压定义了输出模拟量的范围。

正极电源

其中VREF为2.5V基准源,四个通道都采用其作为基准源,输入5V电压与输出电压都经过滤波,保证精度。

(3)TLC5620 工作时序

TLC5620是串联型8位D/A转换器(DAC),它有4路独立的电压输出D/A 转换器,具备各自独立的基准源,其输出还可以编程为2倍或1倍,在控制TLC5620时,只要对该芯片的DATA、CLK、LDAC、LOAD端口控制即可,TLC5620控制字为11位,包括8位数字量,2位通道选择,1位增益选择。其中命令格式第1位、第2位分别为A1、A0,第3位为RNG,即可编程放大输出倍率,第4到11位为数据位,高位在前,低位在后。通道与输出关系如下

A1

0

0

1

1

A0

0

1

0

1

D/A输出

DCAA

DCAB

DCAC

DCAD

TLC5620中的每个DAC的核心是带有256个抽头的单电阻,每一个DAC的输出可配置增益输出放大器缓冲,上电时,DAC被复位且代码为0。每一通道输出电压的表达式为:

输出电压Vo=Vref*(CODE/256)*(1+RNG)

其中,CODE的范围为0~255,RNG位是串行控制字内的0或1。

管脚DATA为芯片串行数据输入端,CLK为芯片时钟,数据在每个时钟下降沿输入DATA端,数据输入过程中LOAD始终处于高电平,一旦数据输入完成,LOAD置低,则转换输出,实验中LDAC一直保持低电平,DACA、DACB、DACC、DACD为四路转换输出,REFA、REFB、REFC、REFD为其对应的参考电压。

TLC5620的时序图如图所示。

3

当LOAD为高电平时,数据在CLK每一下降沿由时钟同步送入DATA端口。如图(a)所示,一旦所有的数据位送入,LOAD变为脉冲低电平,以便把数据从串行输入寄存器传送到所选择的DAC。如果LDAC为低电平,则所选择的DAC输出电压更新且LOAD变为低电平。在图(b)中,串行编程期间内LDAC为高电平,新数值被LOAD的脉冲低电平打入第一级锁存器后,再由LDAC脉冲低电平传送到DAC输出。数据输入时最高有效位(MSB)在前。使用两个8时钟周期的数据传送示于图(c)和图(d)中。

实验结果:

此实验需要配合PERI1-8KD外设板共同完成,使用TLC5620 DA转换数码管上的数字电压。数码管1显示通道, 数码管2显示RNG值,数码管3和4显示CODE值。按键1切换通道,按键2改变增益RNG值(0或1),按键3改变电压CODE值,按键4控制启动一次转换。

4

具体实现:

程序实现了FPGA/CPLD控制TLC5620,使用TLC5620 DA转换数码管上的数字电压。程序模块图如下图所示,其中dac_test模块实现按键控制与数码管动态扫描, dac模块用于驱动TLC5620,其中设置了一个bit_count来控制时序,bit_count为0-1为等待接收数据阶段,2-24为发送数据阶段,此时产生dac_clk信号,将按键设置的数据按位发送出去。整个过程中ldac保持为低,即电压输出后不锁存,立即更新有效。详细实现参见程序代码与注释。

实验总结:

通过以上的讲解,相信各位已经掌握了FPGA使用HDL语言驱动TLC6520了吧,有了DA,就可以去做一个简易的信号发生器了。

5

课后作业:

在本节课的基础上,修改代码,使用TLC5620输出锯齿波。

6

发布评论

评论列表 (0)

  1. 暂无评论