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

正文內(nèi)容

畢業(yè)論文-基于fpga的uart模塊設(shè)計說明書-展示頁

2024-11-28 18:47本頁面
  

【正文】 igh reliability, long transmission distance and the simple line, moreover mainly used in munication between device with RS232 interface. Thus it is being more extensive serial data munication circuit. But now most of the integrated UART chips used in munications, have faults of high cost and poor portability. The circuit of the chip is plex. This paper presents a method that UART function will be integrated in FPGA chip, It can makesystem more pact, flexible, reliable and stable. All functions of module are based on verilogHDL hardware description language. Keywords: FPGA, UART, verilogHDL, RS232 III 目 錄 摘 要 .................................................................................................................... I ABSTRACT .................................................................................................................. II 目 錄 ..................................................................................................................... III 第一章 緒 論 .......................................................................................................... 1 第二章 UART 簡介 .................................................................................................... 2 第三章 UART 功能設(shè)計 ............................................................................................... 3 波特率發(fā)生模塊 ........................................................................................... 3 波特率接收模塊 ........................................................................................... 5 UART 發(fā)送模塊 ............................................................................................ 8 第四章 頂層電路及實驗數(shù)據(jù) ................................................................................... 11 第五章 結(jié) 論 .......................................................................................................... 12 致 謝 .................................................................................................................. 13 參考文獻(xiàn) ................................................................................................................. 14 1 第 一 章 緒 論 通用異步收發(fā)器( universal asynchronous receiver transmitter, UART)盡管自20 世紀(jì) 70 年代就已出現(xiàn),但因其簡單可靠,目前仍是一種使用廣泛的串行通信接口。 1 編號 基于 FPGA 的 UART 模塊設(shè)計與實現(xiàn) Design and Realization of UART based on FPGA 學(xué) 生 姓 名 周大勇 專 業(yè) 控制科學(xué)與工程 學(xué) 號 S120400525 指 導(dǎo) 教 師 楊曉慧 學(xué) 院 電子信息工程學(xué)院 二〇一三年六月 I 摘 要 UART 因其可靠性高,傳輸距離遠(yuǎn),線路簡單,同時 UART 作為 RS232協(xié)議的控制接口,從而成為比較廣泛的串行數(shù)據(jù)通信電路,而現(xiàn)在大部分集成電路通信用的 UART 芯片,存在成本高,電路復(fù)雜,移植性較差等缺點,本文提出了一種將 UART 的功能集成在 FPGA 芯片中,可使整個系統(tǒng)更為靈活、緊湊,減小整個電路的體積,提高系統(tǒng)的可靠性和穩(wěn)定性。本模塊功能全部基于 verilogHDL 硬件描述語言。各種微處理器,不論是單片機(jī),還是 DSP、 ARM, UART 都是基本外圍模塊。 本文提出一種基于 FPGA 的 UART 模塊設(shè),本文設(shè)計的 UART 符合 RS232串行通信 標(biāo)準(zhǔn)。從而可以大大的減少了體積、簡化了電路,也提高了系統(tǒng)的靈活性?;镜?UART 通信只需要 2 根信號線 (RXD、 TXD)就可以完成數(shù)據(jù)的相互通信 ,接收與發(fā)送都是全雙工形式。TXD 為 UART 發(fā)送端 ,為輸出。在發(fā)送器空閑時 ,數(shù)據(jù)線保持在邏輯高電平狀態(tài)。 波特率和數(shù)據(jù)幀格式是 UART 通信中的 2 個重要指標(biāo) ,波特率表示每秒鐘傳輸二進(jìn)制數(shù)據(jù)的位數(shù) ,表征了數(shù)據(jù)傳輸?shù)乃俾?。?shù)據(jù)幀格式定義了所發(fā)數(shù)據(jù)每位的意義 ,UART 的幀格式如圖 1 所示。其中數(shù)據(jù)位部分是從最低位先開始傳送的;奇偶校驗位是對1幀數(shù)據(jù)中的數(shù)據(jù)部分和校驗位計算,使‘1’的個數(shù)滿足奇數(shù)個或偶數(shù)個。一旦需要發(fā)送數(shù)據(jù),則首先向TXD引腳輸出低電平作為起始位,表示1幀數(shù)據(jù)的開始。本設(shè)計為了簡化電路設(shè)計 ,減少電路面積 ,這里省略了 UART 系統(tǒng)中的奇偶檢驗?zāi)K。為了實現(xiàn)RS232 接口通信,系統(tǒng)整體結(jié)構(gòu)如圖 2 所示。 UART 電路由波特率發(fā)生器、發(fā)送模塊和接收模塊 3 部分組成。 RXD 和 TXD 分別是接收模塊數(shù)據(jù)線和發(fā)送模塊數(shù)據(jù)線。異步通信的過程如下:計算機(jī)產(chǎn)生發(fā)送串行數(shù)據(jù) !由 RS232 連接座的 TXD 端輸入 ,經(jīng)過 MAX232 進(jìn)行電平轉(zhuǎn)換由 FPGA 串口接收模塊的 RXD 端進(jìn)入,進(jìn)行串并轉(zhuǎn)換得到 8 位位寬數(shù) 據(jù)總線,該數(shù)據(jù)由 FPGA的其他模塊進(jìn)行處理; FPGA 產(chǎn)生發(fā)送 8 位并行數(shù)據(jù),數(shù)據(jù)由 8 位數(shù)據(jù)線進(jìn)入FPGA 串口發(fā)送模塊,進(jìn)行并串轉(zhuǎn)換后由 FPGA 串口發(fā)送模塊的 TXD 輸出到MAX232 的 T1IN 管腳,經(jīng)過 MAX232 電平轉(zhuǎn)換由 RS232 連接座的 RXD 端輸出給計算。實現(xiàn)波特率時鐘的基本思路就是設(shè)計一個計數(shù)器,該計數(shù)器工作在速度很高的系統(tǒng)時鐘下,當(dāng)計數(shù)到某數(shù)值時將輸出置為高電平,再計數(shù)一定數(shù)值后將輸出置為低電平,如此反復(fù)就能得到所需的波特率時 。本設(shè)計波特率選擇的是 115200b/s,既每秒傳輸 115200bit 4 數(shù)據(jù)。為精確采樣,防止上升沿或下降沿出現(xiàn)斜坡現(xiàn)象。波特率發(fā)生模塊和時序仿真波形如圖 3 和圖 4 所示。 output bps。 input bps_start。d433。d216。 always (posedge clk or negedge clr) if(!clr) t=1339。 else if((t==baud_115200)||!bps_start) t=1339。 else t=t+139。 reg bps_r。b0。amp。b1。b0。 endmodule 波特率接收模塊 接收模塊是整個 UART 的設(shè)計的重點,其主要功能是檢測數(shù)據(jù)幀的起始位,然后對接收的數(shù)據(jù)進(jìn)行串行到并行的轉(zhuǎn)換,并將接收好的數(shù)據(jù)儲存在寄存器內(nèi)等待PC機(jī)處理.接收器的接受時鐘與每個接收字符同步是接收功能實現(xiàn)的關(guān)鍵,但是串行數(shù)據(jù)幀與數(shù)據(jù)接收時鐘是異步的,所以必須有效地控制采集通信線路上的電平信號的時機(jī),以保證異步通信的雙方準(zhǔn)確無誤地交換信息。 圖 5 UART 接受模塊 圖 6 UART 接收模塊時序仿真波形 接收模塊時序仿真波形如圖 6 所示,測試的串行發(fā)送數(shù)據(jù)為“ 0111011101”,接收模塊輸出數(shù)據(jù)為 0x77,其中 1 位開始位, 8 位數(shù)據(jù), 1 位停止位。 使用 verilogHDL 硬件語言描述 UART 接收模塊的完整代碼如下: module uart_recive(clk,clr,bps,bps_start,RXD,parallel_out,indicate_rec)。 input RXD。 output bps_start。 output [7:0] parallel_out。 reg rxd1,rxd2,rxd3,rxd4。b1。b1。b1。b1。 rxd2=rxd1。 rxd4=rxd3。rxd3amp。~rxd1。 reg indicate_rec。 always(posedge clk or negedge clr) if(!clr) begin bps_start_r = 139。 indicate_rec= 139。 end else if(negedge_RXD) begin //接收到串口接收線 rs232_rx 的下降沿標(biāo)志信號 bps_start_r = 139。 //啟動串口準(zhǔn)備數(shù)據(jù)接收 indicate_rec = 139。 //接收數(shù)據(jù)中斷信號使能 end else if(num==439。b0。b0。 reg[7:0] rx_temp_data。 always (posedge clk or negedge clr) begin if(!clr) begin rx_temp_data = 839。 num = 439。 parallel_temp = 839。 end else if(indicate_rec) begin if(bps) begin num=num+139。 case(num) 439。 439。 439。 439。 439。 439。 439。 439。 default:。d10) begin num=439。 parallel_temp = rx_temp_data。 endmodule 8 UART 發(fā)送模塊 發(fā)送模塊主要實現(xiàn)對并行數(shù)據(jù)的并串轉(zhuǎn)換 ,并把串行數(shù)據(jù)按照既定數(shù)據(jù)幀格式進(jìn)行輸出。 UART 發(fā)送模塊和時序仿真波形如圖 7 和圖 8 所示。滿足發(fā)送數(shù)據(jù)幀格式。 output bps_start,TXD。 input [7:0] parallel_in。 wire indicate_s。b0。b0。b0。 indicate2=indicate1。 end end assign indicate_s=~indicate2amp。 reg indicate_send_r。 reg [7:0] temp_data。 always(posedge clk or negedge clr) begin if(!clr) begin indicate_send_r=139。 temp_data=839。 bps_start_r=139。 end else if(indica
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1