串口通信其實簡單實用,這里我就不多說(如果有朋友還對串口通信的協議不是很了解,建議到google輸入“串口通信協議”補補)。 我們的實驗要實現的功能如題,就是FPGA里實現從PC接收數據,然后把接收到的數據發回去。使用的是串口UART協議進行收發數據。上位機用的是串口調試助手。 在FPGA設計中,FPGA端發送數據的波特率是可選的,有以下幾種:9600bps,19200bps,38400bps,57600bps,115200bps等,這部分在模塊speed_select里,可以根據需要進行設置。發送的數據幀格式為:1bit起始位(從高電平到低電平保持一個bit周期),8bit數據,1bit停止位,無校驗位。以下的代碼有比較詳細的注釋,經過下載驗證!此外可參考同目錄下的myuartverilog里的工程,打開編譯后下載到開發板即可觀看實驗效果。具體的實現過程有待大家慢慢消化verilog代碼。 (下載本工程代碼后,打開串口調試助手,設置好波特率和FPGA中的一致,無校驗位,8個數據位,1個停止位,然后在發送的字符/數據后的空白欄內輸入2位16進制數據,點擊手動發送即可看到上方的數據接收區內返回了剛才發送過來的數據)。
|