Vivado抓取信号
作者:桂。
时间:2018-05-03 21:16:03
链接:www.cnblogs.com/xingshansi/p/8987608.html
前言
FPGA调试需要抓取特定信号,一个直观的思路是:保存抓取的信号,事后分析/ 或者 导出实测数据,用作后续算法仿真验证。 本文简要记录数据的导出及读取。
一、信号导出
(1)把想要观测的信号线加入在线逻辑分析仪中。
(2)上板测试,trigger到想要的实时数据,用一句TCL语句保存为ila格式的文件,那句话是write_hw_ila_data data1 [upload_hw_ila_data hw_ila_1] 。其中data1为用户自己取的文件名,要带上路径,hw_ila_1为要保存的那组实时信号的名字。还有两句是读出保存好的数据的,read_hw_ila_data data1.ila,display_hw_ila_data。
(3)把保存好的.ila格式的文件导入matlab中,用unzip语句解压,会出现一个csv格式的文件,这个文件可以用excel打开,并能直观地看到所有sample。
(4)在excel中用自带的函数功能对数据进行处理,处理后可以再导入matlab中进行高级处理。
二、信号读取
解压的数据如图所示:

鉴于此,只能先借用MATLAB强大的数据分析能力,先把数据解析出来。以waveform.csv文件为例进行解析,waveform.csv中的有效数据为第4列到第11列,有效数据是从左到右、从上至下排列的正弦波采样数据,16位有符号数(补码),采样点排列顺序为:
E2->F2->G2....L2->E3->F3->G3….
解析源码如下:
clc;
clear;
close all;
fclose('all');
%% 设置CSV文件读取范围
srow = 1; %起始行(行标从0开始);
scol = 4; %起始列(列标从0开始);
erow = 2048; %结束行(一般为采样深度);
ecol = 11; %结束列;
%% 获取csv文件
[filename, pathname] = uigetfile('E:\pl_b3\trunk\tmp\mat\*.csv','读取数据');
csv_file = [pathname filename];
%% 读取csv文件
csv_data = csvread(csv_file,srow,scol,[srow,scol,erow,ecol]);
%% 矩阵重排为一列
csv_data_resp = reshape(csv_data',[],1);
%% 矩阵转换为二进制文本
csv_data_str = num2str(csv_data_resp);
%% 矩阵转换为有16位有符号数
csv_data_sign = typecast(uint16(bin2dec(csv_data_str)), 'int16');
%% 有符号数写入文本文档
fid_w = fopen([pathname 'csv_convt.txt'],'w');
fprintf(fid_w,'%d\n',csv_data_sign);
fclose(fid_w);
- 参考:https://blog.csdn.net/wordwarwordwar/article/details/71250232
Vivado抓取信号的更多相关文章
- python threading模块中对于信号的抓取
最近的物联网智能网关(树莓派)项目中遇到这样一个问题:要从多个底层串口读取发来的数据,并且做出相应的处理,对于每个串口的数据的读取我能想到的可以采用两种方式: 一种是采用轮询串口的方式,例如每3s向每 ...
- Breakpad Google的crash捕获、抓取开源库
简介: Breadpad为google chrominum项目下用于处理dump的一套工具:内部采用跨平台方式实现捕获.生成.解析与平台无关的dump,便于统一处理:支持进程内与进程外捕获,当为进程外 ...
- WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)
应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...
- GSM Sniffing入门之软件篇:GSMTAP抓取与SMS(Short Message Service)
重点介绍如何利用50元左右的设备,抓包并还原SMS短信内容: ps:研究GSM Sniffing纯属个人兴趣,能抓SMS报文只是捡了个明文传输的漏子,切勿用于非法用途.就像sylvain说的,osmo ...
- IEEE802.11数据帧在Linux上的抓取
IEEE802.11数据帧在Linux上的抓取终于得到了梦寐的<802.11无线网络权威指南>,虽然是复印版本,看起来也一样舒服,光看书是不行的,关键还是自己练习,这就需要搭建一个舒服的实 ...
- VNC 抓取远程桌面
VNC (Virtual Network Computing)是虚拟网络计算机的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 UNI ...
- Golang分布式爬虫:抓取煎蛋文章|Redis/Mysql|56,961 篇文章
--- layout: post title: "Golang分布式爬虫:抓取煎蛋文章" date: 2017-04-15 author: hunterhug categories ...
- C#抓取数据、正则表达式+线程池初步运用
去年底用 多线程+HtmlAgilityPack.dll 写了一个抓取“慧聪网” 公司信息的小程序,代码惨不忍赌.好在能抓到数据,速度也能让人忍受就很久没管了. 最近这段时间把这个小程序发给同事看着玩 ...
- web scraper 抓取网页数据的几个常见问题
如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web s ...
随机推荐
- MySQL配置文件my.ini参数注释说明
mysqld程序--目录和文件basedir = path 使用给定目录作为根目录(安装目录).character-sets-dir = path 给出存放着字符集的目录.datadir = path ...
- 小程序 video 组件同层渲染公测
小程序 video 组件同层渲染公测 各位开发者: 大家好. 小程序原生组件因脱离 WebView 渲染而存在一些使用上的限制,为了方便开发者更好地使用原生组件进行开发,我们对小程序原生组件引入了 ...
- 【Thinking in Java】读书笔记
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6480258.html 第三章:操作符 1:基本数据类型的比较用 ==.!=,引用类型的==.!=是针对地址的比 ...
- edit-distance-动态规划,计算两词之间变换的最小步数
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- 索引快速扫描(index fast full scan)
一.索引快速扫描(index fast full scan) 索引快速全扫描(INDEX FAST FULL SCAN)和索引全扫描(INDEX FULL SCAN)极为类似,它也适用于所有类型的B ...
- 【JMeter】初识JMeter(1)
一.JMeter介绍 JMeter是一款开源桌面应用软件,可以用来模拟用户负载来完成性能测试工作.JMeter的功能在版本升级的过程中已经十分强大,现在多数互联网公司都在使用JMeter来完成产品或者 ...
- [转载]Windows x64下配置ffmpeg的方法
ffmpeg简介 FFmpeg 是一款跨平台的,对视频.音频进行录制.转换.播放的命令行形式软件,它使用的是 libavcodec 编解码器.FFmpeg 官方网站是 http://ffmpeg.or ...
- 聊聊单元测试(三)——Spring Test+JUnit完美组合
本着“不写单元测试的程序员不是好程序员”原则,我在坚持写着单元测试,不敢说所有的Java web应用都基于Spring,但至少一半以上都是基于Spring的. 发现通过Spring进行bean管理后, ...
- eclipse 找类的jar包方便工具
经常在开发过程,因为使用到比较多的类库(jar文件),在开发时经常会找不到需要的类文件存放在哪个jar文件中,这时classlocator这个插件就带我们带来极大的方便,可以帮我很快速的找到我们需要的 ...
- Java Exceptions
invalid end header( bad central directory size) 异常描述 java.util.zip.ZipException: invalid END header ...