freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文--基于fpga的串口通信電路設(shè)計-資料下載頁

2025-10-29 23:18本頁面

【導(dǎo)讀】串行通信接口是一種應(yīng)用廣泛的通信接口。目前,大部分處理器都集成了支。細(xì)介紹了用VerilogHDL硬件描述語言來開發(fā)波特率發(fā)生器、接收模塊和發(fā)送模。塊這三個模塊,以及系統(tǒng)各個模塊的具體設(shè)計方法和原理,用QuartusII軟件進。行仿真并給出結(jié)果,分別驗證各個模塊的正確性。公司的CycloneIIEP2C5T144芯片的FPGA開發(fā)板,在FPGA開發(fā)板上實現(xiàn)和。PC通過串口調(diào)試軟件完成雙向通信,不僅要求將開發(fā)板的數(shù)據(jù)顯示在PC的串。口調(diào)試助手軟件上,還要求用PC發(fā)送數(shù)據(jù)的ASCII碼來驅(qū)動電路的8個LED. 串行通信;RS-232;UART;VerilogHDL;FPGA

  

【正文】 module uartrx(clk, rx, dataout, rdsig, dataerror, frameerror)。 // 采樣時鐘 input clk。 基于 FPGA的串口通訊電路設(shè)計 25 // UART 數(shù)據(jù)輸入 input rx。 // 接收數(shù)據(jù)輸出 output dataout。 output rdsig。 // 資料出錯指示 output dataerror。 // 幀出錯指示 output frameerror。 reg[7:0] dataout。 reg[7:0] datatemp。 reg rdsig, dataerror。 reg frameerror。 reg [7:0] t。 reg rxbuf, rxfall, receive。 parameter paritymode = 139。b0。 reg presult, idle。 // 檢測線路的下降沿 always @(posedge clk) begin rxbuf = rx。 rxfall = rxbuf amp。 (~rx)。 end always @(posedge clk) begin // 檢測到線路的下降沿并且原先線路為空閑,啟動接收數(shù)據(jù)進程 if (rxfall amp。amp。 (~idle)) begin receive = 139。b1。 end // 數(shù)據(jù)接收完成 else if(t == 839。d175) begin receive = 139。b0。 end end always @(posedge clk) begin 基于 FPGA的串口通訊電路設(shè)計 26 if(receive == 139。b1) begin case (t) 839。d0: begin idle = 139。b1。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 0 位數(shù)據(jù) 839。d24: begin idle = 139。b1。 datatemp [0] = rx。 presult = paritymode^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 1 位數(shù)據(jù) 839。d40: begin idle = 139。b1。 datatemp [1] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 2 位數(shù)據(jù) 839。d56: begin idle = 139。b1。 datatemp [2] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 3 位數(shù)據(jù) 839。d72: begin idle = 139。b1。 datatemp [3] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 基于 FPGA的串口通訊電路設(shè)計 27 end // 接收第 4 位數(shù)據(jù) 839。d88: begin idle = 139。b1。 datatemp [4] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 5 位數(shù)據(jù) 839。d104: begin idle = 139。b1。 datatemp [5] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 6 位數(shù)據(jù) 839。d120: begin idle = 139。b1。 datatemp [6] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收第 7 位數(shù)據(jù) 839。d136: begin idle = 139。b1。 datatemp [7] = rx。 presult = presult^rx。 t = t + 839。d1。 rdsig = 139。b0。 end // 接收奇偶校驗位 839。d152: begin idle = 139。b1。 if(presult == rx) dataerror = 139。b0。 else 基于 FPGA的串口通訊電路設(shè)計 28 // 如果奇偶校驗位不對,表示數(shù)據(jù)出錯 dataerror = 139。b1。 t = t + 839。d1。 rdsig = 139。b0。 end 839。d168: begin idle = 139。b1。 if(139。b1 == rx) frameerror = 139。b0。 else // 如果沒有接收到停止位,表示幀出錯 frameerror = 139。b1。 t = t + 839。d1。 rdsig = 139。b0。 end 839。d169: begin idle = 139。b1。 dataout = datatemp。 t = t + 839。d1。 rdsig = 139。b0。 end 839。d170: begin idle = 139。b0。 t = t + 839。d1。 rdsig = 139。b1。 end 839。d175: begin t = 0。 end default: begin t = t + 839。d1。 end endcase end else begin t = 839。d0。 idle = 139。b0。 rdsig = 139。b0。 基于 FPGA的串口通訊電路設(shè)計 29 end end endmodule 在 Quartus II 軟件當(dāng)前工 程窗口打開 文件,單擊 File — Create/Update — Create Symbol Files for Current File 命令,為 文件生成原理圖模塊。新建一個原理圖文件,在原理圖空白處雙節(jié),在彈出的 Symbol 對畫框中選擇 Project –uartrx 模塊和 uart 模塊,單擊 OK 按鈕退出 Symbol 對話框。在原理圖的適當(dāng)位置放置 uartrx 模塊,并添加輸入輸出模塊,各個模塊的連接如圖 35 所示,保存原理圖為 。 圖 35 接收模塊連接 圖 保存原理圖為 。編譯工程文件,編譯無誤后單擊 Processing – Generate Functional Simulation Netlist,產(chǎn)生功能仿真網(wǎng)表。新建波形仿真文件,加入輸入輸出信號,設(shè)置系統(tǒng)時鐘信號 clk 的周期為 20ns,保存波形文件為,單擊 按鈕進行數(shù)據(jù)接收的波形仿真,波形仿真圖形如圖 36 所示。 基于 FPGA的串口通訊電路設(shè)計 30 圖 36串口接收模塊的波形仿真圖 對圖 36 分析看出, UART 接收模塊接收到的數(shù)據(jù)與 UART 發(fā)送模塊發(fā)送的數(shù)據(jù)相一致,每接收到一個數(shù)據(jù)都 有一個讀取數(shù)據(jù)指示 rdsig, UART 的接收模塊的功能得到正確驗證。 本章小結(jié) 本章是本設(shè)計的核心,通過前面幾章對串口通信協(xié)議基礎(chǔ)的了解,本章給出了具體的設(shè)計思路和方法,本設(shè)計采用分模塊設(shè)計思想,主要由波特率發(fā)生器、接收模塊和發(fā)送模塊這 3 個模塊組成,強調(diào)功能劃分明確,便于系統(tǒng)設(shè)計和調(diào)試。本章給出了各個模塊的具體原理、實現(xiàn)方法和代碼實現(xiàn)。通過本章的模塊原理和代碼實現(xiàn)以及分模塊的仿真,驗證各個模塊的功能是否實現(xiàn),本章是本設(shè)計的最重要部分,需要對 Verilog HDL 語言有深入學(xué)習(xí)才能夠完成各個模塊的功能 ,通過本章加深了對串口通信的理解以及 Verilog HDL 語言的代碼編寫能力。 基于 FPGA的串口通訊電路設(shè)計 31 第 4 章 串口通信的硬件調(diào)試 前面章節(jié)已經(jīng)完成 RS232 接口程序的編寫和調(diào)試,但其能夠完成串口接口的功能,還需要通過板級驗證才能達(dá)到最終可用的目的。本章主要介紹第 3 章的程序基于 ALTERA 公司的 Cyclone II EP2C5T144 芯片的 FPGA 開發(fā)板上的調(diào)試方法、步驟以及結(jié)果。 本設(shè)計中用到的 FPGA 開發(fā)板如圖 41 所示。 圖 41本設(shè)計用到的 FPGA開發(fā)板 板級調(diào)試說明 板級調(diào)試場景由 PC 主機和基于 ALTERA 公司的 Cyclone II EP2C5T144 芯片的 FPGA 開發(fā)板, PC 和 FPGA 開發(fā)板通過 DB9 串口連接線連接,并接好下載線 [19]。 為了測試 UART 與 PC 通信的正確性,本例測試方法是, PC 通過串口調(diào)試軟件將數(shù)據(jù)發(fā)送到 FPGA, FPGA 接收到數(shù)據(jù)再發(fā)送給 PC,并顯示在串口調(diào)試軟件上。 還要求用 PC 發(fā)送數(shù)據(jù)的 ASCII 碼來驅(qū)動電路板的 8 個 LED 燈,通過檢測 LED 燈的亮滅來判斷發(fā)送數(shù)據(jù)的 ASCII 碼是否正確,并觀察串口調(diào)試助手上基于 FPGA的串口通訊電路設(shè)計 32 接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)是否一致。 下載配置 FPGA FPGA 與 PC 通信模塊 連接原理如圖 42 所示 [20]。將原理圖存儲為 文件。在工程文件區(qū) 文件上單擊鼠標(biāo)右鍵,在彈出的對話框中選擇,如圖43 所示。 圖 42 FPGA與 PC通信模塊連接原理圖 基于 FPGA的串口通訊電路設(shè)計 33 圖 43 設(shè)置 單擊 Quartus II 軟件的 Pin Planner 按鈕彈出管腳分配窗口,進行管腳分配,參考 FPGA 開發(fā)板提供的芯片管腳資料進行分配,本次設(shè)計的實驗分配管腳圖如圖 44 所示。 圖 44 芯片的管腳分配 分配好管腳后關(guān)閉分配管腳的窗口。單擊 Quartus II 軟件的 Programmer將編輯好的程序下載到 FPGA 芯片中。下載成功會有彈出窗口提示。 基于 FPGA的串口通訊電路設(shè)計 34 配置串口調(diào)試軟件 根據(jù) PC 的串口調(diào)試助手工具的設(shè)置,決定代碼是否需要奇偶校驗位,以及分頻系數(shù)。串口調(diào)試助手的配置選項如圖 42 所示,串口端口選擇自己連接到電腦上的串口,本次調(diào)試連接的是 COM2,波特率選擇 115200,校驗位選無,數(shù)據(jù)位為 8 位,停止位為 1 位,點擊清空接收區(qū)和清空重填。 圖 45 串口調(diào)試助手配置圖 調(diào)試結(jié)果 在串口調(diào)試助手的發(fā)送數(shù)據(jù)框里用 PC 的鍵盤輸入字母“ a”,點擊手動發(fā)送按鈕,可以在 串口調(diào)試助手的接收數(shù)據(jù)框里看到字母“ a”,如圖 46,同時也可以看到開發(fā)上的 8 個 LED 燈,依次亮、滅的狀態(tài)為 01100001( 0 代表亮、 1代表滅,本設(shè)計采用的開發(fā)板上 LED 燈的亮滅信息參考芯片資料可知,該位輸出高電平時 LED 燈滅,該位為低電平時 LED 等亮),如圖 47。 01100001 對應(yīng)著字母“ a”的 ASCII 碼二進制表示形式。 基于 FPGA的串口通訊電路設(shè)計 35 圖 46 串口調(diào)試助手配置圖 圖 47 發(fā)送字母“ a”的 LED亮滅圖 清空發(fā)送框里的數(shù)據(jù),輸入字母“ b”,點擊手動發(fā)送按鈕,可以在串口調(diào)試助手的接收數(shù)據(jù)框里看到字母“ b” ,如圖 48 所示。同時也可以看到開發(fā)上的 8 個 LED 燈,依次亮、滅的狀態(tài)為 01100010 如圖 49,對應(yīng)著字母“ b”的ASCII 碼二進制表示形式。 基于 FPGA的串口通訊電路設(shè)計 36 圖 48 串口調(diào)試助手配置圖 圖 49 發(fā)送字母“ b”的 LED亮滅圖 清空發(fā)送框里的數(shù)據(jù),輸入字母“ bcdefga”,點擊手動發(fā)送按鈕,可以在串口調(diào)試助手的接收數(shù)據(jù)框里看到字母“
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1