fpga—uart實驗

fpga—uart實驗

ID:20583900

大?。?86.34 KB

頁數(shù):12頁

時間:2018-10-13

fpga—uart實驗_第1頁
fpga—uart實驗_第2頁
fpga—uart實驗_第3頁
fpga—uart實驗_第4頁
fpga—uart實驗_第5頁
資源描述:

《fpga—uart實驗》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫

1、串口通信設計一、實驗目的1、熟練使用ISE設計工具;2、理解串口傳輸協(xié)議。理解采用“自頂向下”設計思路,分解模塊的方法;3、在ISE使用VerilogHDL設計串口接收模塊,完成仿真、下載。二、實驗原理1、串口傳輸協(xié)議概述設計完成異步串口通信通用異步收發(fā)是一種典型的異步串口通信,簡稱UART。串口通信時序如圖1所示。圖1通用異步收發(fā)時序圖由圖1可以看出,在沒有數(shù)據(jù)傳送時,通信線會一直處于高電平,即邏輯1狀態(tài);當有數(shù)據(jù)傳送時,數(shù)據(jù)幀以起始位開始,以停止位結束。起始位為低電平,即邏輯0狀態(tài);停止位為高電平,即邏輯1狀態(tài),其持續(xù)時間可選為1

2、位、1.5位或2位(本次設計選擇持續(xù)時間1位)。接收端在接收到停止位后,知道一幀數(shù)據(jù)已經(jīng)傳完,轉(zhuǎn)為等待數(shù)據(jù)接收狀態(tài);只要再接收到0狀態(tài),即為新一幀數(shù)據(jù)的起始狀態(tài)。數(shù)據(jù)幀的數(shù)據(jù)位低位(LSB)在前,高位(MSB)在后,根據(jù)不同的編碼規(guī)則,數(shù)據(jù)位可能為5位、6位、7位或者8位(本次設計數(shù)據(jù)位定位8位)。校驗位也可根據(jù)需要選擇奇校驗、偶校驗或者不要校驗(本次設計不要校驗位)。2、串口時序分析串口通訊常用“波特率”表述串口傳輸速率,常用的參數(shù)有9600bps和115200bps等。在硬件傳輸角度看,波特率表征了傳輸一位數(shù)據(jù)所需要的時間。例如:

3、波特率是9600bps,傳輸一位數(shù)據(jù)的時間是1/9600=0.0001041666666667s;本次FPGA系統(tǒng)時鐘是40MHZ,則一位數(shù)據(jù)傳輸時間相當于(1/9600)/(1/40M)=4167個40MHZ時鐘周期。設一幀數(shù)據(jù)位數(shù)=1(開始位)+8(數(shù)據(jù)位)+1(校驗位)+1(結束位)=11位,所以傳輸一幀數(shù)據(jù)的時間是11*1/9600=0.0011458333333333333333333333s。為了穩(wěn)定采集串口數(shù)據(jù)幀的數(shù)據(jù),需要在每位數(shù)據(jù)的“中間時刻”采樣,由此,需要在每位數(shù)據(jù)開始時刻對時鐘進行計數(shù),若系統(tǒng)時鐘是40MHZ,

4、則在計數(shù)至4167/2=2084時采樣此時刻的數(shù)值。3、數(shù)據(jù)顯示PC通過串口發(fā)送的數(shù)據(jù)應該在下載板上有所顯示,以此來確定發(fā)送成功與否。所以實驗中用到8個數(shù)碼管以二進制的方式來顯示通過串口助手發(fā)送的兩個十六進制的數(shù)據(jù)。4、本次實驗的設計一共有20個端口輸入信號:CLK——系統(tǒng)時鐘;RSTn——復位信號;Rx_EN_Sig——通信使能信號。Rx_Pin_In——串口數(shù)據(jù)輸入。輸出信號:SEG[7:0]——數(shù)碼管段選信號;CON[7:0]——數(shù)碼管位選信號。一、實驗步驟1、整個系統(tǒng)主要設計的模塊是:幀監(jiān)測開始模塊(detect_module

5、)、數(shù)據(jù)位中心定位模塊(Rx_Rbps_module)、數(shù)據(jù)裝載模塊(Rx_Control_module)和數(shù)碼管顯示模塊(display_module)。接下來進行進行分模塊設計。2、幀監(jiān)測開始模塊(detect_module)檢測串行輸入數(shù)據(jù)RX_Pin_In的值,判斷是否開始傳送一幀的數(shù)據(jù)。并將判斷結果H2L_Sig輸送給數(shù)據(jù)裝載模塊(Rx_Control_module)。模塊結構圖如圖2:圖2幀監(jiān)測開始模塊3、數(shù)據(jù)位中心定位模塊(Rx_Rbps_module)為了穩(wěn)定采集串口數(shù)據(jù)幀的數(shù)據(jù),需要在每位數(shù)據(jù)的“中間時刻”采樣,所以

6、需要一個該模塊用來檢測每一位數(shù)據(jù)的持續(xù)時間的“中間時刻”。該模塊原理為:當接收到數(shù)據(jù)裝載模塊傳來的一個“當前數(shù)據(jù)有效(Count_Sig==1)”的信號時開始計數(shù),一直計數(shù)到該數(shù)據(jù)持續(xù)時間的一半時便發(fā)送一個確認信號(BPS_CLK==1)給數(shù)據(jù)裝載模塊,提示其開始進行數(shù)據(jù)采集。模塊結構圖如圖3:圖3數(shù)據(jù)位中心定位模塊4、數(shù)據(jù)裝載模塊(Rx_Control_module)該模塊用來接收自串口發(fā)送來的數(shù)據(jù),并進行判斷,將8位數(shù)據(jù)裝載到寄存器中。并且在每接收完一幀數(shù)據(jù)時給顯示模塊一個確認信號(RX_Done_Sig=1),讓數(shù)碼管更新顯示。

7、模塊結構圖如圖4:圖4數(shù)據(jù)裝載模塊5、數(shù)碼管顯示模塊(display_module)在接收到來自數(shù)據(jù)裝載模塊發(fā)送的數(shù)據(jù)接收完畢的信號之后,將接收到的數(shù)據(jù)按位顯示到每一位數(shù)碼管上。模塊結構圖如圖5:圖5數(shù)碼管顯示模塊6、頂層模塊(top)對各個模塊進行仿真驗證,確認無誤后。例化各個模塊并將它們連接到一起。則系統(tǒng)結構圖如圖6:圖6系統(tǒng)結構圖7、根據(jù)板子鎖定引腳,并生成下載文件。CLK為系統(tǒng)40M時鐘即是P82腳;RSTn復位信號選擇撥碼開關1,即P20腳;Rx_EN_Sig使能信號選擇撥碼開關2,即P26腳;Rx_Pin_In為串口0的R

8、X端,即P14;CON[0:7]數(shù)碼管位選信號鎖定對應的數(shù)碼管共陽端引腳,LED[0:7]即選擇對應的數(shù)碼管腳鎖定即可。一、實驗結果1、數(shù)據(jù)裝載模塊(Rx_Control_module)與數(shù)據(jù)位中心定位模塊(Rx_Rbp

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。