版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計(jì)UART的設(shè)計(jì)與實(shí)現(xiàn) 課程設(shè)計(jì) 題目:UART的設(shè)計(jì)與實(shí)現(xiàn) 2012 年 10月 20 日21摘要本文對通用異步收發(fā)器UART進(jìn)行了概述,描述了UART的功能以及模塊化的設(shè)計(jì)思路,給出了設(shè)計(jì)的VHDL語言程序,并進(jìn)行了相應(yīng)的仿真驗(yàn)證。摘要16頁空?目錄字號:正文小四號注意空白與圖片大小第1章 設(shè)計(jì)要求整個課程設(shè)計(jì)的要求如下:a. 采用8位寬的數(shù)據(jù)總線,16位寬的地址總線;b. 具有完整的數(shù)據(jù)收發(fā)功能,且波特率可調(diào);c. 8位數(shù)據(jù)位、1位奇校驗(yàn)位、1位停止位;d. 一級數(shù)據(jù)緩沖;e. 具備奇校驗(yàn)檢錯功能;第2章 原理概述1、 UART的整體框圖異步收發(fā)器的原理框圖如圖1-1所示。圖1-
2、12、 UART的原理(1) UART簡述UART即Universal Asynchronous Receiver Transmitter通用異步收發(fā)器,是一種應(yīng)廣泛的短距離串行傳輸接口。往往用于短距離、低速、低成本的微機(jī)與下拉機(jī)的通訊中。8250、8251、NS16450等芯片都是常見的UART器件?!爱惒健敝覆恍枰~外的時鐘線進(jìn)行數(shù)據(jù)的同步傳輸,是一種串行總線接口,只需占用兩根線就可以完成數(shù)據(jù)的收發(fā)(一根接收數(shù)據(jù),一根發(fā)送數(shù)據(jù))。常用的傳輸率有4800bps、9600bps、19200bps和115200bps等。(2) 基本幀格式1. 基本概念1 在信號線上有兩種狀態(tài),可分別用邏輯1和邏
3、輯0來區(qū)分。在發(fā)送空閑時,數(shù)據(jù)線應(yīng)保持在邏輯1狀態(tài);2 起始位。發(fā)送器是通過發(fā)送起始位而開始一個字符傳送,起始位使數(shù)據(jù)線處于邏輯0狀態(tài),提示接收器數(shù)據(jù)傳輸即將開始;3 數(shù)據(jù)位。起始位之后就是傳送數(shù)據(jù)位。數(shù)據(jù)位一般為一個字節(jié)的數(shù)據(jù)(也有6位、7位的情況),低位(LSB)在前,高位(MSB)在后;4 校驗(yàn)位??梢哉J(rèn)為是一個特殊的數(shù)據(jù)位。校驗(yàn)位一般用來判斷接收的數(shù)據(jù)位有無錯誤,一般是奇偶校驗(yàn)。 本課程設(shè)計(jì)里,UART使用1比特的奇校驗(yàn)位;5 停止位。停止位在最后,用以標(biāo)志一個字符傳送的結(jié)束,它對應(yīng)于邏輯1狀態(tài);6 位時間。即每個位的時間寬度。起始位、數(shù)據(jù)位、校驗(yàn)位的位寬度是一致的,停止位有0.5位、
4、1位、1.5位格式,一般為1位;7 幀。從起始位開始到停止位結(jié)束的時間間隔稱之為一幀;8 波特率。UART的傳送速率,用于說明數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進(jìn)行傳送的,因此傳送速率用每秒鐘傳送數(shù)據(jù)位的數(shù)目來表示,稱之為波特率。2. 幀格式UART的幀格式如下:STARTD0D1D2D3D4D5D6D7PSTOP起始位數(shù) 據(jù) 位校驗(yàn)位停止位UART的整個設(shè)計(jì)分為3個子模塊和一個頂層模塊:波特率發(fā)生器、發(fā)送模塊、接收模塊和一個頂層模塊。(3) 波特率發(fā)生器波特率發(fā)生器實(shí)
5、際上就是一個簡單的分頻器。它把系統(tǒng)時鐘(clk)分頻成16倍的波特率時鐘,稱為分頻時鐘(bclk)。分頻時鐘控制了發(fā)送器和接收器的采樣速率,從而達(dá)到精準(zhǔn)采樣的目的。(4) 發(fā)送器發(fā)送器要做的工作就是把CPU從數(shù)據(jù)總線上送來的8位并行數(shù)據(jù)按照波特率時鐘變?yōu)榇袛?shù)據(jù),先發(fā)1位的起始位,然后發(fā)8位的數(shù)據(jù),之后1位的奇校驗(yàn)位和停止位。每1位都是發(fā)一個波特率時鐘,即16個分頻時鐘。在發(fā)送完數(shù)據(jù)后,產(chǎn)生一個發(fā)送確認(rèn)信號(命名為txd_done),當(dāng)該信號為1時表示一幀的數(shù)據(jù)發(fā)送完畢,等待下一幀數(shù)據(jù)的發(fā)送。(5) 接收器接收器要做的工作就是把外部送來的串行數(shù)據(jù)按照波特率時鐘轉(zhuǎn)換成8比特的并行數(shù)據(jù),然后放在數(shù)
6、據(jù)總線上供CPU使用。首先它要能夠檢測低電平的起始位,等待8個分頻時鐘后確認(rèn)信號是否一直保持低電平,是的話就開始每16個分頻時鐘(即一個波特率時鐘)采一次數(shù)據(jù)。接收完數(shù)據(jù)后返回奇校驗(yàn)信息,并把接收完成信號(命名為r_ready)置為高電平,表示一幀的數(shù)據(jù)接收完畢。(6) 頂層模塊頂層模塊把地址總線上的16位地址信號進(jìn)行地址譯碼。將譯碼后的信號送往對應(yīng)的子模塊,把數(shù)據(jù)總線上的8位數(shù)據(jù)做并串轉(zhuǎn)換后輸出,或者把外部串行數(shù)據(jù)做串并轉(zhuǎn)換后送往數(shù)據(jù)總線。并且返回相應(yīng)的接收完成信號和奇校驗(yàn)信號,或者返回發(fā)送完成信號。第3章 模塊設(shè)計(jì)與仿真1、 波特率發(fā)生器設(shè)計(jì)與仿真波特率發(fā)生器實(shí)際上就是一個簡單的分頻器???/p>
7、以根據(jù)給定的系統(tǒng)時鐘頻率(晶振時鐘)和要求的波特率算出波特率分頻因子。已算出的波特率分頻因子作為分頻器的分頻數(shù)。對于波特率發(fā)生器中的系數(shù)一般在FPGA實(shí)現(xiàn)時往往是固定的,但對于不同的實(shí)現(xiàn),這個系數(shù)需要更改。波特率發(fā)生器產(chǎn)生的分頻時鐘,不是波特率時鐘,而是波特率時鐘的16倍,目的是為了在接收事實(shí)進(jìn)行精確地采樣,以提出異步的串行數(shù)據(jù)。在VHDL實(shí)現(xiàn)的時候,設(shè)置了4個輸入端口和1個輸出端口,其中輸入端口k用于設(shè)置所需的波特率。當(dāng)k為00時對應(yīng)的波特率為4800bps;k為01時對應(yīng)的波特率為9600bps;k為10時對應(yīng)的波特率為19200bps;k為11時對應(yīng)的波特率為115200bps。輸入端口
8、clk接系統(tǒng)時鐘,ben為使能端口,resetb為復(fù)位端口,低電平有效。輸出端口信號bclk即為不同波特率所對應(yīng)的分頻時鐘。這里的系統(tǒng)時鐘clk設(shè)為32MHz。波特率發(fā)生器的仿真結(jié)果如圖3-1所示。圖3-12、 接收器設(shè)計(jì)與仿真由于串行數(shù)據(jù)幀和接收時鐘是異步的,由邏輯1轉(zhuǎn)為邏輯0可以被視為一個數(shù)據(jù)幀的起始位。然而,為了避免毛刺影響,能夠得到正確的起始位信號,必須要求接收到的起始位在波特率時鐘采樣的過程中至少有一半都是屬于邏輯0才可認(rèn)定接收到的是起始位。由于內(nèi)部采樣時鐘bclk周期(波特率發(fā)生器產(chǎn)生)是發(fā)送或接收波特率時鐘頻率的16倍,所以起始位需要至少8個連續(xù)bclk周期的邏輯0被接收到,才認(rèn)
9、為起始位接收到,接著數(shù)據(jù)位和奇偶校驗(yàn)位將每隔16個bclk周期被采樣一次(即每一個波特率時鐘被采樣一次)。如果起始位的確是16個bclk周期長,那么接下來的數(shù)據(jù)將在每個位的中點(diǎn)處被采樣。圖3-2是UART接收器的接收狀態(tài)機(jī)。圖3-2狀態(tài)機(jī)一共有4個狀態(tài),分別命名為:rx_idle,rx_sync,rx_data,rx_stop。接收機(jī)復(fù)位以后,將處于rx_idle狀態(tài)。這時,接收機(jī)等待輸入信號rxdr變?yōu)榈碗娖?,即起始位,這意味著新的一幀UART數(shù)據(jù)幀的開始,一旦起始位被確定,狀態(tài)機(jī)將轉(zhuǎn)入rx_sync狀態(tài)。rxd_sync信號是rxdr的同步信號,因?yàn)樵谶M(jìn)行邏輯1或邏輯0判斷時,不希望檢測的
10、信號是不穩(wěn)定的,所以不直接檢測rxdr信號,而是檢測經(jīng)過同步后的rxd_sync信號。rx_sync狀態(tài):這一狀態(tài)是起始位的檢測階段,即接收器在連續(xù)收到8個分頻時鐘的低電平后,才能確定接收到的信號是起始位,才能進(jìn)入下一狀態(tài);否則,接收器重新進(jìn)入rx_idle狀態(tài)。進(jìn)入rx_sync狀態(tài)會有一個分頻時鐘的延遲,所以計(jì)數(shù)值為6(即二進(jìn)制的0110,從0000開始計(jì)數(shù))時,便可以確定接收到的是起始位。rx_data狀態(tài):對于異步串行信號,為了使每一次都檢測到正確的位信號,而且在較后的數(shù)據(jù)位檢測時累計(jì)誤差較小,顯然在每位的中點(diǎn)檢測是最為理想的。所以在計(jì)數(shù)值為15(即二進(jìn)制的1111,從0000開始計(jì)數(shù)
11、)時,把接收到的同步信號rxd_sync送入移位寄存器rbufs的最低位,然后移位寄存器向左移一次位,同時把rxd_sync與校驗(yàn)信號rx_check(初始值為0)做異或操作,結(jié)果返回到rx_check中;當(dāng)移位寄存器移了8次后,在移位計(jì)數(shù)值為9時進(jìn)入下一狀態(tài),否則重新進(jìn)入rx_data狀態(tài)。這個時候9比特的數(shù)據(jù)(包括一位奇校驗(yàn)位)就接收完成。同時,奇校驗(yàn)也同時完成。rx_stop:這一狀態(tài)是接收停止位狀態(tài)。其實(shí),接收器并不嚴(yán)格接收停止位,而是把r_ready信號輸出一個波特率時鐘。這一狀態(tài)里,r_ready信號為邏輯1,計(jì)數(shù)值全部清0,移位寄存器中的值送給輸出寄存器rbuf,奇校驗(yàn)信息送給寄
12、存器r_check。之后進(jìn)入rx_idle狀態(tài)。這里r_check為1時說明接收到的數(shù)據(jù)是沒有檢驗(yàn)錯誤的,否則便出現(xiàn)數(shù)據(jù)錯誤。接收器的仿真結(jié)果如圖3-3所示。圖3-3(1)圖3-3(2)圖3-3(3)圖3-3(4)3、 發(fā)送器設(shè)計(jì)與仿真發(fā)送器只要遵循每經(jīng)過一個波特率時鐘便輸出一位數(shù)據(jù)即可,順序?yàn)?位起始位,8位數(shù)據(jù)位,1位奇校驗(yàn)位和1位停止位。發(fā)送器的狀態(tài)機(jī)如圖3-4所示。圖3-4發(fā)送器有5個狀態(tài),分別命名為:x_idle,x_start,x_send,x_done,x_stop。x_idle狀態(tài):當(dāng)發(fā)送器復(fù)位后,等待使能信號ten變?yōu)檫壿?。如果ten為1,則進(jìn)入下一狀態(tài),并且輸出txds變?yōu)?;否則重新進(jìn)入x_idle狀態(tài),輸出txds為1,發(fā)送完成信號txd_done為0。x_start狀態(tài):這一狀態(tài)是發(fā)送一個波特率時鐘的起始位。發(fā)送完起始位后,進(jìn)入下一狀態(tài)。x_send狀態(tài):發(fā)送8位數(shù)據(jù)。這一狀態(tài)里,每一個波特率時鐘移位寄存器里的最低位輸出,然后向右移一次位,同時把輸出與校驗(yàn)信號做異或操作,結(jié)果返回到檢驗(yàn)信號tx_check;當(dāng)發(fā)送完最后1位數(shù)據(jù)時,進(jìn)入下一狀態(tài)。x_done狀態(tài):發(fā)送一個波特率時鐘的校驗(yàn)位,并把txd_done中值變?yōu)?,進(jìn)入下一狀態(tài)。x_stop狀態(tài):發(fā)送停止位,進(jìn)入x_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度航空零部件代工與銷售合同4篇
- 臨時用電供應(yīng)合同樣本版
- 2025年度模具租賃與全球市場拓展合同2篇
- 二零二五年度大蒜種植基地與加工企業(yè)產(chǎn)銷對接合同4篇
- 2025年度農(nóng)業(yè)機(jī)械操作與維護(hù)服務(wù)合同3篇
- 二零二四年度新型建筑材料采購合同模板2篇
- 二零二五年度商業(yè)窗簾節(jié)能改造與環(huán)保材料采購合同4篇
- 二零二五版離婚協(xié)議書起草與子女撫養(yǎng)權(quán)變更服務(wù)合同4篇
- 2025年度旅游線路代理運(yùn)營管理合同4篇
- 二零二五年度電子禮品卡銷售與分銷管理合同
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語版:中國文化概論之中國的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護(hù)理匯報(bào)
- 哪吒之魔童降世
- 2022年上海市各區(qū)中考一模語文試卷及答案
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 我國無菌包裝行業(yè)消費(fèi)量已超千億包-下游需求仍存擴(kuò)容潛力
評論
0/150
提交評論