ADC测试杂谈一:配置基于matlab+quartus的测试环境
admin
2024-01-28 04:28:11

前言

 ADC的测试比较复杂,除了要有相对干净的信号源/电源设备、布局合理的PCB板卡,一套稳定的数据读取接口也必不可少。对于批量生产的商业ADC,芯片测试一般采用NI或者国内厂商的整套方案;而对于实验室阶段的小规模debug,一般采用MCU/FPGA将数据读取后传输到主机进行分析。相比于MCU常用的UART串口,FPGA的JTAG通信更快。

 本系列主要介绍基于Altera FPGA的中低速ADC测试方法,高速ADC不做讨论。

 本篇博文主要讲matlab读取FPGA数据的方法及相关软件配置。


一、整体架构

 一般ADC常见接口为并行接口或串行,FPGA可以轻松地从ADC抓取并行数据或者自定义一个spi接口来抓取串行数据。在Altera器件专用的quartus工具中,可以通过signaltap接口直接访问FPGA上的数据,将ADC的一批量化数据保存下来进行分析。

 为了更便捷的读取数据,可以采用matlab的alt_signaltap_run函数抓取数据,然后直接进行ADC领域常见的静态分析或者动态分析。

二、软件配置

 quartus端的相关配置如链接所示:

 https://blog.csdn.net/woshiyuzhoushizhe/article/details/83346228


 为了让matlab识别到alt_signaltap_run函数,需要将quartus的bin64路径添加到matlab的path和系统的path环境变量中,两者缺一不可。

 此时,在matlab中运行data=alt_signaltap_run(‘stp地址’)即可取出FPGA里的数据,便于做进一步的数据分析。

三、常见的bug

3.1 JTAG误码

 JTAG接口本身有误码率,所以取数据过程可能会丢失几个点。但是对于16384点以下的fft运算还是可以满足的;

3.2 signaltap恶化时序

 signaltap消耗了更多的FPGA资源,时序可能会恶化;因此,建议对主要的时钟做一下约束;

3.3 matlab调用alt_signaltap_run失败

 由于JTAG连接错误等问题,matlab调用alt_signaltap_run可能会失败,必须重启matlab才能继续读取数据。Intel官方推荐的解决方式是在matlab里运行:

clear alt_signaltap_run

 具体参考如下链接:

 https://www.intel.cn/content/www/cn/zh/support/programmable/articles/000081528.html

四、总结

 本文简单介绍了如何通过matlab接收FPGA的数据,后面会简单地介绍如何通过matlab向FPGA发送数据以及如何通过FPGA向ADC发送数据。

相关内容

热门资讯

北京年轻人游玩好去处 北京适合... 商业需要成熟的人来,旅游需要年轻的人来。小编说的年轻是指内心哦~下面是太阳教育网小编为大家整理的相关...
北京周边休闲好去处 北京附近游... 北京周边有什么值得去的旅游景点?要有山有水才有情调~下面是太阳教育网小编为大家整理的相关资料,供大家...
北京周边一日游好去处 北京附近... 一天能玩什么?躺在家睡一觉就过去了,但是有的人选择出来旅游。即使只有一天也多去了景点,下面是太阳教育...
如何处理关系的沉默的尴尬|朱莉 原创作者 | 朱莉 Hi~大家好,我是朱莉.一名在心理咨询行业耕耘了9年的心理咨询师。整合CBT,精...
最新或2023(历届)河南省养... 最新或2023(历届)河南养老金并轨方案细则,河南退休工资改革方案最新消息 老金并轨方案于12月23...