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

正文內(nèi)容

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

2025-02-26 09:20本頁面
  

【正文】 dle。 // 檢測線路的下降沿 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 26 always @(posedge clk) begin 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。 27 t = t + 839。d1。 rdsig = 139。b0。 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) 28 dataerror = 139。b0。 else // 如果奇偶校驗位不對,表示數(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。 29 idle = 139。b0。 rdsig = 139。b0。 end end endmodule 在 Quartus II 軟件當前工程窗口打開 文件,單擊 File — Create/Update — Create Symbol Files for Current File 命令,為 文件生成原理圖模塊。新建一個原理圖文件,在原理圖空白處雙節(jié),在彈出的Symbol 對畫框中選擇 Project – uartrx 模塊和 uart 模塊,單擊 OK 按鈕退出Symbol 對話框。在原理圖的適當位置放置 uartrx 模塊,并添加輸入輸出模塊,各個模塊的連接如圖 35 所示,保存原理圖為 。 圖 35 接收模塊連接圖 保存原理圖為 。編譯工程文件,編譯無誤后單擊 Processing – Generate Functional Simulation Netlist,產(chǎn)生功能仿真網(wǎng)表。新建波形仿真文件,加入輸入輸出信號,設(shè)置系統(tǒng)時鐘信號 clk 的周期為 20ns,保存波形文件為 ,單擊 按鈕進行數(shù)據(jù)接收的波形仿真,波形仿真圖形如圖36 所示。 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 語言有 深入學習才能夠完成各個模塊的功能,通過本章加深了對串口通信的理解以及 Verilog HDL 語言的代碼編寫能力。 31 第 4 章 串口通信的硬件調(diào)試 前面章節(jié)已經(jīng)完成 RS232 接口程序的編寫和調(diào)試,但其能夠完成串口接口的功能,還需要通過板級驗證才能達到最終可用的目的。本章主要介紹第 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)試助手上接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)是否一致。 32 下載配置 FPGA FPGA 與 PC 通信模塊連接原理如圖 42 所示 [20]。將原理圖存儲為 文件。在工程文件區(qū) 文件上單擊鼠標右鍵,在彈出的對話框中選擇,如圖 43 所示。 圖 42 FPGA與 PC通信模塊連接原理圖 33 圖 43 設(shè)置 單擊 Quartus II 軟件的 Pin Planner 按鈕彈出管腳分配窗口,進行管腳分配,參考 FPGA 開發(fā)板提供的芯片管腳資料進行分配,本次設(shè)計的實驗分配管腳圖如圖 44 所示。 圖 44 芯片的管腳分配 分配好管腳后關(guān)閉分配管腳的窗口 。單擊 Quartus II 軟件的 Programmer將編輯好的程序下載到 FPGA 芯片中。下載成功會有彈出窗口提示。 配置串口調(diào)試軟件 根據(jù) PC 的串口調(diào)試助手工具的設(shè)置,決定代碼是否需要奇偶校驗位,以及分頻系數(shù)。串口調(diào)試助手的配置選項如圖 42 所示,串口端口選擇自己連接到電腦上的串口,本次調(diào)試連接的是 COM2,波特率選擇 115200,校驗位選無,數(shù)據(jù)位為 8 位,停止位為 1 位,點擊清空接收區(qū)和清空重填。 34 圖 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 碼二進制表示形式。 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碼二進制表示形式。 36 圖 48 串口調(diào)試助手配置圖 圖 49 發(fā)送字母“ b”的 LED亮滅圖 清空發(fā)送框里的數(shù)據(jù),輸入字母“ bcdefga”,點擊手動發(fā)送按鈕,可以在串口調(diào)試助手的接收數(shù)據(jù)框里看到字母“ bcdefga”,如圖 410 所示。同時也可以看到開發(fā)上的 8 個 LED 燈,依次亮、滅的狀態(tài)為 01100010 如圖 411,對應(yīng)著字符串最后一個字母“ a”的 ASCII 碼二進制表示形式(前面那些字符由于傳輸時間很短所以一閃即過了,只保存了最后一個字符的 ASCII 碼)。 37 圖 410 串口調(diào)試助手配置圖 圖 411 發(fā)送字符串“ bcdefga”的 LED亮滅圖 由上述實驗調(diào)試結(jié)果可以得出程序的編寫節(jié)本正確,實現(xiàn)了串口的數(shù)據(jù)通信。 本章小結(jié) 通過前面章節(jié)介紹的知識,本章對串口通信接口程序的代碼, 在基于 ALTERA公司的 Cyclone II EP2C5T144 芯片的 FPGA 開發(fā)板上的調(diào)試方法、步驟以及結(jié)果,并觀察其結(jié)果是否符合 RS232 的通信標準和是 否實現(xiàn)了串口的通信,通過板級驗證其能夠完成串口接口的功能和目的?;具_到了本設(shè)計的預期目標。 38 結(jié)論 本論文首先介紹了串口硬件接口模塊以及相應(yīng)的 RS232 通信協(xié)議。其次重點討論了串口通信控制器的 Verilog HDL 實現(xiàn)。整個設(shè)計在分模塊設(shè)計思想的指導下完成,本設(shè)計包括波特率發(fā)生模塊、信號接收模塊以及信號發(fā)送模塊詳細介紹了每個模塊的工作原理以及程序編寫思想,并給出了每個模塊程序的詳細代碼,對單個模塊的功能分別驗證以保證模
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1