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

正文內(nèi)容

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

2025-02-26 09:20本頁(yè)面
  

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