完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 线性序列机与TLV5144驱动设计 实验目标:1.理解线性序列机的思想 2.以此为基础设计仿真ADC芯片的时序逻辑并通过ISSP验证 实验平台:芯航线FPGA学习套件主板,芯航线串行ADDA模块 实验现象: 将串行多通道AD/DA模块接在芯航线FPGA开发板上,使用Insystem sources and probes editor设置DAC模块输出电压信号,然后使用ADC采样DAC的输出电压,将DAC输出值和ADC采样值进行比较,同时使用万用表测量DAC输出电压以验证ADC控制逻辑的正确性。 实验原理: 1.TLV1544型ADC芯片概述 本实验使用的芯航线串行AD/DA模块上的ADC芯片为TLV1544,其是一个10位,4通道模拟数字转换器(ADC),使用SPI串行接口与控制器进行连接,该芯片具有以下基本特性:
TLV1544和TLV1548均是10位SAR型模数转换器,区别在于TLV1544有4个模拟输入通道,TLV1548有8个模拟输入通道。每个芯片都有一个器件选择(CS#)脚,IO时钟管脚(I/O CLK),数据输入管脚(DATA IN)和串行数据输出管脚(DATA OUT),这四个脚组成同步的串行外设接口(SPI)与微控制器(主机)进行通信。当和ti的TMS320系列的DSP进行连接时,还提供了有帧同步信号FS来表明串行数据帧的起点。 另外,该芯片还提供了一个INVCLK#信号用来给串行接口提供更多灵活的时序配置(配置CLK的有效极性)。 TLV1544除了提供高转换速度和多种控制能力,该器件还内建了一个片上的11通道的多路器用来选择8个模拟输入通道和内部三个自测通道中的任何一个通道。在通常情况下,采样和保持功能是自动进行的,在扩展采样模式下,该功能由异步采样启动信号启动。当转换结束时,转换完成信号(EOC)输出高电平来指示转换完成。 图18-1TLV1544/8内部功能框图 2.TLV1544型ADC芯片引脚说明: TLV1544芯片引脚及功能描述如表18-1所示。 表18-1TLV1544引脚功能描述 3.TLV1544数字接口介绍: IO CLK的频率最高可达10MHz,在不同的工作电压和输入阻抗及源输出阻抗的情况下,支持的最大时钟频率有差异,具体见表18-2: 表18-2电压及输入输出阻抗与频率关系 可以看到,在供电电压为4.5V及以上,输入电阻不超过1K,源端输出电阻不超过100欧的情况下,时钟接口的最大频率为10MHz,而在2.7V供电时,IOCLK最大频率为2.81MHz。 4.TLV1544型ADC接口时序 TLV1544支持微控制器接口模式和DSP接口模式,在微控制器接口模式下,其使用SPI接口,这里主要对微控制器接口模式进行介绍。 微控制器与TLV1544的接口如图18-2所示,该接口使用标准的SPI接口,因此可以直接连接到微控制器的片上SPI外设上。对于FPGA来说,则可以使用逻辑按照SPI时序搭建控制电路,以实现对TLV1544的控制。 图18-2MCU与TLV1544接口示意图 TLV1544通过SPI接口与控制器进行通信的时序图如图18-3所示:由于是使用MCU模式,因此FS信号接高电平,同时,由于时钟极性没有反转,因此INV CLK也接高电平 图18-3TLV1544 SPI接口时序图 5.芯航线AD/DA模块TLV1544电路介绍 芯航线FPGA学习套件中,提供了一个多通道串行AD/DA模块。其中,AD部分所使用的芯片就是上文介绍的TLV1544,TLV1544部分电路图如图18-4所示: 图18-4TLV1544部分电路图 这里引出除INVCLK和CSTRAT以外的所有控制和数据线,使得此该模块既可以与MCU接口,也可以与DSP接口。而FPGA由于更加灵活的时序控制能力,MCU接口时序和DSP接口时序均可以轻松实现。 6.TLV1544接口时序设计 从表18-2可看出TLV1544的转换速度与芯片供电电压和待采样信号输出阻抗有关,本实验中,直接使用AD/DA模块上的DAC模块的输出直接接到ADC模块的输入上,通过控制DAC输出不同电压值,然后比较DAC的输出与ADC采样到的值的大小,来评估ADC驱动的正确性。由于TLC5620的输出电阻较大,约为10K欧,因此需要根据TLV1544在输入源信号阻抗为10K欧,供电5V时的转换所需时间来确定IO时钟的频率,而TLV1544在1K欧,4.5V供电时的IO CLK频率最高能够达到7.18MHz,在10K欧时,速度应该更低,因此这里暂时按照2.5MHz(周期为400ns)进行设计。结合TLV1544的MCU接口时序图,按照线性序列机的设计思路,可以整理得到每个信号发生变化时对应的时刻以及此时对应的计数器的值。 表18-3为依照线性序列机的设计思想,整理得到的每个信号发生变化时对应的时刻以及此时对应的计数器的值(控制器工作时钟设置为50M)。DATA[9:0]为采样结果数据寄存器。 表18-3时间点对应信号操作表 线性序列机计数器的控制逻辑判断依据,如表18-4所示。 表18-4计数器功能判断条件 实验步骤: 同样得到了表18-3与18-4即可开始进行TLV1544的接口逻辑的编写。TLC1520接口逻辑的模块图如图18-5所示: 图18-5TLV1544模块接口示意图 其中,每个端口的功能描述如表18-5所示。 表18-5模块端口功能描述 新建一个以名为TLV1544_CTRL的工程保存在prj下,并新建TLV1544_CTRL.v保存至rtl文件夹下。从图18-5以及表18-7就得到了端口列表: 由于此处使用为FPGA驱动而不是DSP,因此这里直接将FS置高。 Data_Valid相当于一个数据有效快速通知,不用等待转换完成即可。 将此文件设置为顶层,新建TLV1544_CTRL_tb.v文件。这里除了实现例化需要仿真的文件以及时钟创建,还需模拟分别在通道0与通道1各发送一次数据。主要内容如下,再次进行分析和综合直至没有错误以及警告,保存到testbench文件夹下。 激励文件中也一种层次化调用方式,此种方式只能用在激励文件中,不可综合。 编译无误后设置好仿真脚本后进行功能仿真,可以看到如图18-6所示的部分波形文件。 图18-6第一次数据收发功能仿真 从波形中可以看出,当TLV1544_SCLK上升沿依次采到TLV1544_SDO上的数据且寄存在r_ADC_DATA中,且在第十个上升沿接收数据后,直接将其与此时r_ADC_DATA数据赋给ADC_DATA,并DATA_Valid产生一个系统时钟周期高电平。第二次传输过程可自行分析。 为了使用ISSP在线调试再次验证TLC5620模块设计的正确性,创建两个ISSPIP核,其中之一是负责监测DAC,主要配置如图18-7所示,探针是10位是为了对应TLV1544_CTRL模块ADC_DATA的输出,源是11位是为了对应TLC5620_CTRL的CtrlWord控制字;另一个是为了给ADC的通道选择赋值,主要配置图如图18-8所示。详细步骤可参考第十讲相关内容。 图18-7ISSP主要配置 图18-8ISSP主要配置 加入工程后新建顶层文件ADDA_TEST.v,并对ISSP以及设计好的TLC5620_CTRL进行例化,这里首先为了简化信息可以一直使能DAC以及ADC的转换使能。分配引脚后全编译无误后下载工程到开发板中,并启动ISSP。可在RTLViewer下看到如图18-9所示的顶层结构图,符合预期的设计。 图18-9 ADDA_TEST顶层结构图 首先用杜邦线将AD/DA模块上的DA与A0相连,在ISSP工具下将DAC控制字改为’h0FF即输出满值,并将ADC的通道确认为0即通道A0,点击循环采样可以看到ADC_DATA值为’d1020左右,在误差允许范围之内。 图18-10-1第一次采样数据 可再将DA与A1相连,在ISSP工具下将DAC控制字改为’h080即输出半值,并将ADC的通道确认为2即通道A1,点击循环采样可以看到ADC_DATA值为’d510左右,也在误差允许范围之内。 图18-10-2第二次采样数据 这时如果DAC或ADC硬件连接方式与设置不一致,如下图应当将DA与A1相连,实际没有连接,则ADC_DATA值为’d13左右,认为是空值,符合设计规则。 图18-10-2第二次采样数据 为了人为控制ADC的转换进程,可用按键来使能Do_Conv信号,此处不再详述,可自行编写。 这样就完成了一个DAC的设计 本节再次学习了线性序列机LSM的用法,并编写了一个SPI接口的DAC。 小梅哥 芯航线电子工作室 关于学习资料,小梅哥系列所有能够开放的资料和更新(包括视频教程,程序代码,教程文档,工具软件,开发板资料)都会发布在我的云分享。(记得订阅)链接:http://yun.baidu.com/share/home?uk=402885837&view=share#category/type=0 `
class18_TLV1544.rar
(1.46 MB, 下载次数: 37
)
第十八章_线性序列机与TLV5144驱动设计.pdf
(1.43 MB, 下载次数: 39
)
|
|
相关推荐
|
|
1403 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1053 浏览 0 评论
2474 浏览 1 评论
2177 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2445 浏览 0 评论
1908 浏览 50 评论
6019 浏览 113 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 12:52 , Processed in 0.680608 second(s), Total 66, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号