資源描述:
《《eda課程設(shè)計(jì)》word版》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、目錄第一章設(shè)計(jì)原理11.1UART基本特點(diǎn)11.2UART結(jié)構(gòu)組成1第二章UART設(shè)計(jì)內(nèi)容32.1波特率發(fā)生器32.2發(fā)送模塊設(shè)計(jì)32.3接收模塊設(shè)計(jì)4第三章運(yùn)行輸出結(jié)果63.1分頻器仿真及分析63.2發(fā)送模塊仿真及分析63.3接收模塊仿真及分析63.3數(shù)碼顯示模塊7第四章總結(jié)8參考文獻(xiàn)9附錄10第一章設(shè)計(jì)原理UART協(xié)議是數(shù)據(jù)通信及控制系統(tǒng)中廣泛使用的一種全雙工串行數(shù)據(jù)傳輸協(xié)議,在實(shí)際工業(yè)生產(chǎn)中有時(shí)并不使用UART的全部功能。只需將其核心功能集成即可。波特率發(fā)生器、接收器和發(fā)送器是UART的三個(gè)核心功能模塊,利用Verilo
2、g-HDL語言對這三個(gè)功能模塊進(jìn)行描述并加以整合UART(即UniversalAsynchronousReceiverTransmitter通用異步收發(fā)器)是廣泛使用的串行數(shù)據(jù)傳輸協(xié)議。隨著FPGA/CPLD的飛速發(fā)展與其在現(xiàn)代電子設(shè)計(jì)中的廣泛應(yīng)用,F(xiàn)PGA/CPLD功能強(qiáng)大、開發(fā)過程投資小、周期短、可反復(fù)編程、保密性好等特點(diǎn)也越來越明顯。因此可以充分利用其資源,在芯片上集成UART功能模塊,從而簡化了電路、縮小了體積、提高了可靠性,而且設(shè)計(jì)時(shí)的靈活性更大,周期更短。1.1UART基本特點(diǎn)基本的UART通信只需要兩條信號線(R
3、XD、TXD)就可以完成數(shù)據(jù)的相互通信,接收與發(fā)送是全雙工形式。TXD是UART發(fā)送端,為輸出;RXD是UART接收端,為輸入。UART的基本特點(diǎn)是:(1)在信號線上共有兩種狀態(tài),可分別用邏輯1(高電平)和邏輯0(低電平)來區(qū)分。在發(fā)送器空閑時(shí),數(shù)據(jù)線應(yīng)該保持在邏輯高電平狀態(tài)。(2)起始位(StartBit):發(fā)送器是通過發(fā)送起始位而開始一個(gè)字符傳送,起始位使數(shù)據(jù)線處于邏輯0狀態(tài),提示接受器數(shù)據(jù)傳輸即將開始。(3)數(shù)據(jù)位(DataBits):起始位之后就是傳送數(shù)據(jù)位。數(shù)據(jù)位一般為8位一個(gè)字節(jié)的數(shù)據(jù)(也有6位、7位的情況),低位
4、(LSB)在前,高位(MSB)在后。(4)校驗(yàn)位(parityBit):可以認(rèn)為是一個(gè)特殊的數(shù)據(jù)位。校驗(yàn)位一般用來判斷接收的數(shù)據(jù)位有無錯(cuò)誤,一般是奇偶校驗(yàn)。在使用中,該位常常取消。(5)停止位:停止位在最后,用以標(biāo)志一個(gè)字符傳送的結(jié)束,它對應(yīng)于邏輯1狀態(tài)。(6)位時(shí)間:即每個(gè)位的時(shí)間寬度。起始位、數(shù)據(jù)位、校驗(yàn)位的位寬度是一致的,停止位有0.5位、1位、1.5位格式,一般為1位。(7)幀:從起始位開始到停止位結(jié)束的時(shí)間間隔稱之為一幀。(8)波特率:UART的傳送速率,用于說明數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進(jìn)行傳送的,因
5、此傳送速率用每秒鐘傳送數(shù)據(jù)位的數(shù)目來表示,稱之為波特率。如波特率9600=9600bps(位/秒)。表1UART的數(shù)據(jù)幀格式STARTD0D1D2D3D4D5D6D7PSTOP起始位數(shù)據(jù)位校驗(yàn)位停止位1.2UART結(jié)構(gòu)組成本設(shè)計(jì)以FPGA為基礎(chǔ)來實(shí)現(xiàn)異步通信,而UART模塊就為本設(shè)計(jì)關(guān)鍵所在,如圖1所示,該模塊主要有串行發(fā)送器、接收器以及波特率發(fā)生器三個(gè)模塊組成。17波特率發(fā)生器模塊:在異步通信中,發(fā)送方和接受方必須保持相同的波特率才能實(shí)現(xiàn)正確的數(shù)據(jù)傳送。在本設(shè)計(jì)中,由于RS-232C傳輸必定是工作在某種波特率下,為了便于和R
6、S-232C總線進(jìn)行同步,需要產(chǎn)生符合RS-232C傳輸波特率的時(shí)鐘。圖1UART模塊圖波特率發(fā)生器實(shí)際上就是一個(gè)分頻器。可以根據(jù)給定的系統(tǒng)時(shí)鐘頻率(晶振時(shí)鐘)和要求的波特率算出波特率分頻因子,算出的波特率分頻因子作為分頻器的分頻數(shù)。波特率分頻因子可以根據(jù)不同的應(yīng)用需要更改。由于串行數(shù)據(jù)幀和接收時(shí)鐘是異步的,由邏輯1轉(zhuǎn)為邏輯0可以被視為一個(gè)數(shù)據(jù)幀的起始位。然而,為了避免毛刺影響,能夠得到正確的起始位信號,必須要求接收到的起始位在波特率時(shí)鐘采樣的過程中至少有一半都是屬于邏輯0才可認(rèn)定接收到的是起始位。由于內(nèi)部采樣時(shí)鐘bclk周期
7、(由波特率發(fā)生器產(chǎn)生)是發(fā)送或接收波特率時(shí)鐘頻率的16倍,所以起始位需要至少8個(gè)連續(xù)bclk周期的邏輯0被接收到,才認(rèn)為起始位接收到,接著數(shù)據(jù)位和奇偶校驗(yàn)位將每隔16個(gè)bclk周期被采樣一次(即每一個(gè)波特率時(shí)鐘被采樣一次)。發(fā)送器只要每隔16個(gè)bclk周期輸出1個(gè)數(shù)據(jù)即可,次序遵循第1位是起始位,最后一位是停止位。在本設(shè)計(jì)中沒有校驗(yàn)位,但只要改變Generic參數(shù)FrameLen,也可以加入校驗(yàn)位,停止位是固定的1.5位格式。17第二章UART設(shè)計(jì)內(nèi)容2.1波特率發(fā)生器波特率是指數(shù)據(jù)信號對載波的調(diào)制速率,它用單位時(shí)間內(nèi)載波調(diào)制
8、狀態(tài)改變的次數(shù)來表示,其單位是波特(Baud)。波特率與比特率的關(guān)系是比特率=波特率X單個(gè)調(diào)制狀態(tài)對應(yīng)的二進(jìn)制位數(shù)。模擬線路信號的速率,也稱調(diào)制速率,以波形每秒的振蕩數(shù)來衡量。如果數(shù)據(jù)不壓縮,波特率等于每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù),如果數(shù)據(jù)進(jìn)行了壓縮,那么每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù)通常大于