基於串口的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論壇的一位大佬給出的方法,之前我也在這裏卡了很長時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章