0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Signal tap逻辑分析仪应该如何使用?

电子工程师 ? 来源:FPGA技术江湖 ? 作者:郝旭帅 ? 2021-04-15 15:29 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在之前的设计开发时,利用modelsim得出中间某单元的数据,并且输入也是设计者在testbench中自己给出的。但是,实际应用时,外部输入的信号不一定和我们在testbench中所描述输入的信号相同,就有可能导致RTL仿真成功,但是下板测试失败。

signal tap logic analyzer 采集并显示FPGA设计中的实时信号行为,从而无需额外的I/O管脚或者外部实验室设备即可检查正常器件操作期间内部信号的行为。

653282ea-9dac-11eb-8b86-12bb97331649.png

在数据获取期间,器件中的存储器模块存储采集的数据,然后通过JTAG通信电缆将数据传输到逻辑分析仪。

下图为signal tap logic analyzer的任务流程。

653cecb2-9dac-11eb-8b86-12bb97331649.png

设计要求

利用逻辑分析仪测量出电脑发送UART(波特率为115200时)是每bit时间宽度。

设计分析

在UART协议中规定了每bit的时间宽度应该是1秒钟除以波特率,但是在实际电路中相同标号的两个晶振也会有一定的误差。我们可以利用逻辑分析仪(也就是利用FPGA的时钟)去测量一下PC发送UART时的bit时间宽度。

由于波特率为115200,在采样时,一般采用16倍频采样。此时采样频率比较高,由基础的50MHz的时钟不能够做出精确的16倍频,由此也会带来一定的误差。

利用逻辑分析仪就可以看到在上述两个都有误差的情况,真实采样的偏差,以及偏差对我们的设计是否有影响。

设计实现

将_9_uart_drive 复制一份,命名为_10_uart_drive_signal_tap。然后打开此工程,将波特率修改为115200。

点击tools -》 signal tap logic analyzer。

656f39ec-9dac-11eb-8b86-12bb97331649.png

657fce88-9dac-11eb-8b86-12bb97331649.png

在右侧窗口signal configuration中,首先需要指定一个采样时钟信号。

658f0d4e-9dac-11eb-8b86-12bb97331649.png

逻辑分析仪在采样时钟的每个上升沿进行数据采样。逻辑分析仪不支持在采样时钟的下降沿进行数据采样。设计中的任何信号都可以用作采样时钟。但是,为了获得最佳的数据采样结果,请使用与被测信号同步的全局时钟。

在本设计中,所有的信号都是由外部的clk信号进行驱动的,所以此采样时钟,选择为clk。点击clock对话框后面的三个点。将filter选择为pin:all,点击list,在matching nodes中选择clk,点击“大于”,在nodes found中出现clk,然后点击ok。

659e001a-9dac-11eb-8b86-12bb97331649.png

65a9b284-9dac-11eb-8b86-12bb97331649.png

配置完采样时钟信号后,需要配置采样深度。

针对被采样的数据中的每个信号,采样深度指定了采样和存储的样本的数量。在器件存储器资源有限的情况下,由于所选的深度太大,设计可能无法编译。此时需要降低采样深度以减少资源使用。

采样深度乘以采样的间隔就确定了采样的时间宽度。现在我们要做的是采样一个UART的协议帧,一个协议帧共有12个bit。按照115200的波特率,采样的时间宽度应该是104166ns,所以采样深度应该是5208,在此选择采样深度为8K。

65b31f4a-9dac-11eb-8b86-12bb97331649.png

当确定好采样深度后,可以指定逻辑分析仪在触发事件之前和之后 采样的数据量。

逻辑分析仪提供三种选择。Pre表示12%的存储深度用作触发事件之前,88%的存储深度用作触发事件之后;Center表示50%的存储深度用作触发事件之前,50%的存储深度用作触发事件之后;Post表示88%的存储深度用作触发事件之前,12%的存储深度用作触发事件之后。

在此选择Pre。

65bce21e-9dac-11eb-8b86-12bb97331649.png

配置好这些信息后,开始添加需要观测的信号。

在setup界面,在空白界面双击,添加想要观测的信号。

65e48544-9dac-11eb-8b86-12bb97331649.png

需要观测的信号有uart_txd、uart_rxd、cap_cnt。

uart_txd和uart_rxd为端口信号,选择filter时,选择PIN:all即可,cap_cnt为内部信号,选择filter时,选择signal tap :pre-synthesis。

65f9945c-9dac-11eb-8b86-12bb97331649.png

将uart_rxd的下降沿设置为触发条件。

在uart_rxd的trigger conditions的位置,右击,选择falling edge。

69003d04-9dac-11eb-8b86-12bb97331649.png

690a678e-9dac-11eb-8b86-12bb97331649.png

点击保存,保存到qprj,命名为stp1.stp。

使能逻辑分析仪。点击Yes。

6918f100-9dac-11eb-8b86-12bb97331649.png

回到quartus界面,进行综合分析并形成配置文件。

在工程向导的结构界面,可以看到在结构中出现了两个未知的组件。这两个就是逻辑分析仪。

69297778-9dac-11eb-8b86-12bb97331649.png

在报告中,可以看到使用的逻辑资源和存储器资源增多。

6946ff6e-9dac-11eb-8b86-12bb97331649.png

回到signal tap界面,并且连接PC和开发板。

在hardware中,选择USB – blaster。

6954c6e4-9dac-11eb-8b86-12bb97331649.png

点击sof manager后面的三个小点,选择生成的sof文件,然后点击下载。

695f2d96-9dac-11eb-8b86-12bb97331649.png

点击运行分析。

696a0d4c-9dac-11eb-8b86-12bb97331649.png

此时逻辑分析仪就在等待被触发。

6977ccac-9dac-11eb-8b86-12bb97331649.png

触发条件为uart_rxd的下降沿,打开串口助手,配置好后,发送一个数据11。

69883fd8-9dac-11eb-8b86-12bb97331649.png

发送之后,逻辑分析仪中出现了波形。因为发送为11,发送数据从低位开始,故而第一个数据应该为1。所以第一端低电平为起始位,可以通过采样的数字标号,确定它的时间宽度。

6997b3dc-9dac-11eb-8b86-12bb97331649.png

左键是放大,右键是缩小。

左侧为0,因为利用下降沿作为触发条件。放大左侧数字为434。

69ae4458-9dac-11eb-8b86-12bb97331649.png

所以起始位的时间宽度为434x20ns,即8680ns。按照波特率为115200计算,每一个bit的时间宽度应该是8680.5556ns。这就证明PC发过来的bit的时间宽度和我们所预想的是一致的。

可以用此方法测量其他的bit的宽度,有的bit的宽度要比8680ns要少,有的bit的宽度要比8680ns要多,但是偏差不多。

由于真正的宽度和我们认为的宽度有一定的区别。但是设计是按照每个bit的宽度都是20ns的整数倍,所以在采样时,就会有偏差。通过cap_cnt可以看出来,并且随着采样的越长,误差累计就会越大。

在数据的第一个bit时,cap_cnt等于7,马上要变为8。按照cap_cnt的计数规律是波特率的16倍频设计,所以后面所有的bit起始时,都应该是16 *N + 7,并且马上要变为16 * N + 8。但是真实的时间宽度和预想的时间宽度有一定的偏差。

69cad42e-9dac-11eb-8b86-12bb97331649.png

在最后的校验位的起始时,cap_cnt的数据按照16倍频采样来说,应该是135,然后快变为136才对。但是此时已经等于136,并且马上变137。

我们是按照cap_cnt去进行采样的(在cap_cnt变化的位置采样)。

因为有误差,所以规定UART的协议帧的长度不能够过长。即中间的数据位的个数不能随意增加。

上述分析步骤的数字只是笔者的测验结果,不同的PC和开发板测试时,可能会得到不同的结果。

逻辑分析仪总结

利用逻辑分析仪可以直接查看到开发板内部运行的波形。所以在很多时候,都是利用逻辑分析仪进行板级测试作为最终结果。

如果不需要工程中的逻辑分析仪,可以打开assignments -》 settings –》 signal tap logic analyzer,将使能的对勾去掉,然后重新编译就可以了。

69da8efa-9dac-11eb-8b86-12bb97331649.png

原文标题:FPGA零基础学习精选 | Signal tap 逻辑分析仪使用教程

文章出处:【微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22096

    浏览量

    620613
  • 分析仪
    +关注

    关注

    0

    文章

    1648

    浏览量

    53475
  • signal
    +关注

    关注

    0

    文章

    110

    浏览量

    25445

原文标题:FPGA零基础学习精选 | Signal tap 逻辑分析仪使用教程

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    热重分析仪品牌有哪些?具备哪些优势

    热重分析仪是一种通过程序控温下测量样品质量变化的检测仪器,其用于测量材料热稳定性、反应动力学、组分分析等特性。热重分析仪的应用领域较多,其中包括:食品工业、材料科学、化工、医药生物、电子电器、能源等
    的头像 发表于 07-23 13:39 ?158次阅读
    热重<b class='flag-5'>分析仪</b>品牌有哪些?具备哪些优势

    AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪

    AI数据分析仪, 平板数据分析仪, 数据分析仪, AI边缘计算, 高带宽数据输入
    的头像 发表于 07-17 09:20 ?173次阅读
    AI数据<b class='flag-5'>分析仪</b>设计原理图:RapidIO信号接入 平板AI数据<b class='flag-5'>分析仪</b>

    是德N9917A FieldFox手持分析仪 N9917B便携式分析仪

    是德N9917A FieldFox手持分析仪 N9917B便携式分析仪 N9917A是一款使用电池供电的便携式分析仪;基本功能是电缆和天线分析;配置还包括频谱和网络
    的头像 发表于 05-07 16:58 ?344次阅读

    频谱分析仪基础

    本书介绍了频谱分析仪原理,数字中频,幅度和频率精度,灵敏度和噪声,动态范围,扩展频率范围,现代信号分析仪
    发表于 03-05 11:36

    功率分析仪的接线方式

     功率分析仪的接线方式是确保其准确测量电力参数的关键步骤。以下是一些常见的功率分析仪接线方式及其特点:
    的头像 发表于 01-28 15:10 ?2301次阅读

    功率分析仪的功率是怎么算的

    功率分析仪的功率计算主要基于电压和电流的测量值。以下是关于功率分析仪功率计算的详细解释:
    的头像 发表于 01-28 15:06 ?1422次阅读

    功率分析仪选型_功率分析仪功能

    功率分析仪是一种专门用于测量和分析电力参数的电子设备,能够实时、准确地测量电路中的电压、电流、功率、功率因数等电力参数,并将测量结果以波形、图表等形式直观地显示出来。选择合适的功率分析仪需要综合考虑多方面因素,以下是一些详细的选
    的头像 发表于 01-28 14:49 ?875次阅读

    热重分析仪的工作原理是什么

    热重分析仪是一种用于研究材料在受控温度程序下重量变化的检测仪器。其工作原理主要基于准确控制样品的温度,并同时连续监测样品的质量变化,从而揭示材料的组成、稳定性以及热分解特性等重要信息。热重分析仪
    的头像 发表于 01-21 16:05 ?759次阅读
    热重<b class='flag-5'>分析仪</b>的工作原理是什么

    请问ADS5407输出的12路lvds信号可以通过signal tap进行观测吗?

    在ADS5407这款芯片的外部输入某电压值之后,利用signal tap监测采样后的数据发现这些引脚测试的数据一直为高低变化的,但是却不是一直处于均匀变化的状态,请问AD输出的12路lvds信号可以通过signal
    发表于 01-15 06:17

    数字通信分析仪的技术原理和应用

    数字通信分析仪是一种用于航空、航天科学技术领域的工艺试验仪器,也广泛应用于通信技术的研发、器件验证和批量收发信机生产领域。以下是对其技术原理及应用的详细阐述:一、技术原理数字通信分析仪的核心
    发表于 12-10 14:32

    利用EVM对ADS1299进行内部产生方波的测试,如何才能从逻辑分析仪上获得正确的输出?

    我利用EVM对ADS1299进行内部产生方波的测试,同时在ADS1299上接着逻辑分析仪,可是从逻辑分析仪获得的数据跟EVM获得的数据不一样,请问发生什么问题?我该如何才能从
    发表于 12-05 07:17

    频谱分析仪与信号分析仪的区别

    在现代电子通信领域,频谱分析仪和信号分析仪是两种不可或缺的测试工具。它们都用于测量和分析信号的特性,但它们的功能、应用和工作原理存在显著差异。 一、定义与基本原理 频谱分析仪 是一种用
    的头像 发表于 11-27 15:26 ?2624次阅读

    4457示波器-H01逻辑分析仪选件

    新利通仪器仪表 4457-H01?逻辑分析仪选件 4457系列数字示波器 简述 4457系列数字示波器共4个产品型号,产品带宽从1GHz到4GHz,采样率10GSa/s、20GSa/s,垂直分辨率
    的头像 发表于 11-06 17:00 ?767次阅读

    浅谈逻辑分析仪的技术原理和应用领域

    逻辑分析仪是一种专门用于数字系统测试和分析的电子仪器,它通过实时捕获和显示数字信号的逻辑电平状态,帮助工程师理解系统中各个信号的逻辑关系和时
    发表于 09-12 15:04

    Keysight 频谱分析仪(信号分析仪

    Keysight频谱分析仪(信号分析仪)足够的性能和卓越的可靠性,帮助您更轻松、更快速地应对常见的射频-微波测试测量挑战。可靠的频谱分析仪和信号分析仪提供准确可信的测量结果无论您是要在
    的头像 发表于 09-12 08:10 ?1213次阅读
    Keysight 频谱<b class='flag-5'>分析仪</b>(信号<b class='flag-5'>分析仪</b>)