基于串口的FPAG和Matlab数据传输

Matlab作为一个强大的数学工具,在数据分析和数据处理方面的功能非常全面,其在语音、图像、神经网络、滤波器、通信等方面的应用非常广泛,而FPGA可以看作为一个灵活的可编程接口,可以轻松的并行处理和获取数据,如果能将FPGA和Matlab相结合,将获得非常强悍的数据处理能力。
FPGA和Matlab之间的数据传输可以通过串口通信来传输,使用最常用的RS232协议,可以稳定的以115200bit/s的速度向Matlab发送数据,以下是我实现这一功能的代码和过程,希望能给大家一点启发和借鉴:
1、硬件方面
使用一块FPGA开发板(这里请允许我稍稍的打个广告,FPGA开发板入门的话强烈推荐“小梅哥的AC620”,功能齐全,性价比很高),使用FPGA开发板上自带的RS232串口连接到电脑(这里注意,现在的新式电脑可能已经没有串口接口了,可以使用一根串口转USB线,转成相应的USB插口)
2、软件方面
写好RS232的驱动程序,并让它发送一串规律的数字,用来测试
4、调试
4.1首先连接好硬件后,打开“串口助手”这个调试工具,进行串口数据获取,同时还可以知道你目前插入的USB接口属于哪个端口
在这里插入图片描述
4,2关掉串口助手(一定要关掉,否则Matlab无法打开被其他程序占用的串口)
4.3、Matlab中打开相应的串口并设置串口
在这里插入图片描述
用’serial’打开串口“COM5”
set函数设置串口的波特率为115200,必须和FPGA发送端串口的速率一致,同时设置Matlab获取数据的缓存区大小为2000
使用fopen打开串口
用fread读取2000个8比特的数据
同时将获得的数据画成图
特别注意:delete(instrfindall)是删除所以端口设置,如果在Matlab的串口配置页面无法连接到串口,就必须把这行代码写在最前面,否则Matlab会报错,提示串口不可用,这是来自Matlab论坛的一位大佬给出的方法,之前我也在这里卡了很长时间。

猜你喜欢

转载自blog.csdn.net/MengMengdenanren/article/details/86497438