最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通常的办法只能在signaltap中,右击信号列表然后点击”Create SignalTap II List File”生成数据文件,操作如图1所示,图2为生成的数据文件,处理数据时先将文件中所有数据拷贝到ultraedit中,然后通过列模式提取需要处理的那列数据,拷贝到matlab中进行后续分析处理。
图1
图2
上述操作方法过程比较繁琐,主要是手动操作比较多,如果需要采集的数据较多,则需要多次重复操作,真是体力活儿啊,难免然操作者产生厌烦心理。下面介绍一种通过matlab直接调用signaltap采集数据的方法。
在matlab端只需要一下语句:
addpath (‘d:/altera/11.0sp1/quartus/bin’);
din = alt_signaltap_run(‘stp1.stp’,‘signed’);
alt_signaltap_run(‘END_CONNECTION’);
其中addpath语句是将quartus软件路径加入进来;alt_signaltap_run语句执行数据的采集工作,当然此时对应的*.sof文件应该已经下载到FPGA中了,’signed’返回的是有符号数据;alt_signaltap_run(‘END_CONNECTION’)语句表示断开由matlab建立的jtag连接。
采用此方法,无需打开signaltap,matlab直接获取数据进行处理,免除了大量重复的手动操作,大大提高了工作效率。
技术专区
- LDO的PSRR测量及输入电压在测试
- 电子产品性能评估,快速进行温升测试
- 基于DSP和SD卡的生理信号数据采集系统设计
- matlab串口数据采集
- python串口接收数据