![EDA:基于VHDL的串口設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/29/e8f7e409-a538-4668-a500-0d29bb22118f/e8f7e409-a538-4668-a500-0d29bb22118f1.gif)
![EDA:基于VHDL的串口設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/29/e8f7e409-a538-4668-a500-0d29bb22118f/e8f7e409-a538-4668-a500-0d29bb22118f2.gif)
![EDA:基于VHDL的串口設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/29/e8f7e409-a538-4668-a500-0d29bb22118f/e8f7e409-a538-4668-a500-0d29bb22118f3.gif)
![EDA:基于VHDL的串口設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/29/e8f7e409-a538-4668-a500-0d29bb22118f/e8f7e409-a538-4668-a500-0d29bb22118f4.gif)
![EDA:基于VHDL的串口設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/29/e8f7e409-a538-4668-a500-0d29bb22118f/e8f7e409-a538-4668-a500-0d29bb22118f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、EDA課程設(shè)計題目:基于VHDL的串口設(shè)計院系:機電學(xué)院班級:電氣103姓名:張明軍學(xué)號:20100744113日期:2012.12.102012.12.1714目錄1、任務(wù)要求1、1課題要求1、2設(shè)計目標(biāo)2、系統(tǒng)設(shè)計2、1層次模塊劃分2、2分頻模塊的設(shè)計2、3發(fā)送電路的波特率發(fā)生器的設(shè)計2、4接受模塊的設(shè)計2、5接收電路的波特率發(fā)生器和采樣時鐘的設(shè)計3、VHDL的描述思路4、總體電路的描述5、系統(tǒng)仿真驗證5、1發(fā)送電路的波特率發(fā)生器的VHDL的仿真5、2發(fā)送模塊VHDL的仿真5、3特率發(fā)生器和采樣時鐘的設(shè)計的VHDL仿真5、4接受模塊的描述的VHDL仿真5、5綜合仿真6、結(jié)果與分析6.1實現(xiàn)
2、功能說明6.2器件資源分析6.3故障和問題分析7、總結(jié)體會8、參考文獻9、附錄以上模塊分別生成符號文件,最后在頂層模塊中進行連接。2、2分頻模塊的設(shè)計由于UART是異步傳輸,沒有傳輸同步時鐘。為了能保證數(shù)據(jù)傳輸?shù)恼_性,UART采用26倍數(shù)據(jù)波特率 的時鐘進行采樣。每個數(shù)據(jù)有16個時鐘采樣,取中間的采樣值,以保證采樣不會滑碼或誤碼。一般UART-幀 的數(shù)據(jù)位數(shù)為8,這樣即使每個數(shù)據(jù)有一個時鐘的誤差,接收端也能正確地采樣到數(shù)拯。這里采用常用的數(shù)據(jù)波特率為9600bps,則所需時鐘的頻率為16*9600.系統(tǒng)時鐘為50MHz,則分頻系數(shù)為 50000000/(16*9600) =325.52,取整
3、為 325。分頻器實現(xiàn)相對簡單,這里對其設(shè)計流程圖不做詳細介紹。只是將設(shè)計過程和結(jié)果簡述如下:首先用VHDL語言進行設(shè)計輸入,并生成模塊文件如圖2-1所示,其中elk為50M系統(tǒng)時鐘輸入,clkout為 325分頻后時鐘輸岀。 elk divi inst4-圖2-1分頻模塊然后建立波形文件,對以上模塊進行時序仿真,仿真結(jié)果如圖22所示,方正結(jié)果說明,分頻輸出實現(xiàn) 了對輸入的325分頻,分頻模塊設(shè)訃正確。NameValue at9.83 ns110elkA 1 utA 09.825 nsJ515.3,520呷 us 25.2 孔平圖2-2分頻模塊仿真結(jié)果2、3發(fā)送電路的波特率發(fā)生器的設(shè)計要產(chǎn)生4
4、800波特率,要有一個不低于4800Hz的時鐘才可以。為產(chǎn)生高精度的時鐘,我選了16KHz的晶振來提供外部時鐘。當(dāng)然,你也可以選其它頻率的時鐘來產(chǎn)生4800Hz的時鐘。對于16KHz時鐘,需要 設(shè)計一個13進制的分頻器來產(chǎn)生4800波特率的時鐘信號。發(fā)送過程:空閑狀態(tài),線路處于高電平;當(dāng)受到發(fā)送數(shù)據(jù)指令后,拉低線路一個數(shù)據(jù)位的時間T,接著 數(shù)據(jù)按地位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送停止位(停止位為高電平),一幀數(shù)據(jù)發(fā)送結(jié)朿。(1)模塊流程圖根據(jù)以上發(fā)送過程,發(fā)送模塊算法示意圖設(shè)計如圖2-3所示。發(fā)送數(shù)圖23 UART發(fā)送數(shù)據(jù)算法示意圖(2)生成模塊文件新建一原理圖文件,將VHDL源文件
5、生成對應(yīng)的模塊文件如圖2-4所示,其中elk為時鐘輸入,datain為需 要發(fā)送的數(shù)據(jù)輸入,wrsig為發(fā)送命令輸入idle為忙閑信號輸岀,tx為串行數(shù)據(jù)輸岀端。=uarttxX1J1? elkiidle r5-? datairi7 0tx r 評 wrsig5-iV? inst49圖24 UART發(fā)送模塊圖25 UART發(fā)送模塊仿貞原理圖2、4接受模塊的設(shè)計根據(jù)采用的幀格式,需要發(fā)送的數(shù)據(jù)為10位(1位開始位、8位數(shù)據(jù)位、1位停止位),在發(fā)送完這10位后,就應(yīng) 該停止發(fā)送,并使發(fā)送端電平處于邏輯1,然后等候下次的發(fā)送.接收電路比發(fā)送電路要復(fù)雜的多,接收電路要時實檢測起始位的到來,一旦檢測到起
6、始位到,就要將這一幀數(shù) 據(jù)接收下來。串行接收電路首先要能判斷接收數(shù)據(jù)的到來,即每一幀的開始,然后對數(shù)據(jù)進行3次采樣,最后判決輸岀。為簡 化設(shè)計,幀格式仍然采用:1位開始位+8位數(shù)據(jù)位+1位停止位。UART接收模塊的功能:時時檢測線路,當(dāng)線路產(chǎn)生下降沿時,即認(rèn)為線路有數(shù)據(jù)傳輸,啟動接收數(shù)據(jù) 進程進行接收,按從低位到高位接收數(shù)據(jù)。(1)模塊流程圖根據(jù)以上描述的接收模塊的功能,可將接收模塊算法示意圖設(shè)汁如圖2-6所示。開接收數(shù)14圖26接收模塊算法示意圖(2)生成模塊文件新建一原理圖文件,將VHDL源文件生成對應(yīng)的模塊文件如圖4.10所示,其中elk為時鐘輸入,rx為需要串行數(shù)據(jù)輸入,dataout
7、為并行輸岀,uartrxelk dataout7.Orxrdsigrdsig為忙閑信號輸岀。inst4圖2-7 UART接收模塊(3)波形仿真新建一個原理圖文件,加入各功能模塊,并添加輸入輸出端口,各個模塊的連接如圖2-8所示。c: ckotr;testuart1ickdotaout(7.0svrsigiiii instickIdfesainp .ujIXwrsiginot2UCfttXck data:UF 0 rvrdsigh3vozrlnip圖2-8 UART接收模塊仿貞原理圖保存原理圖為uartrxts.bdf.編譯工程文件,編譯無誤后新建波形仿真文件,加入輸入輸出信號,設(shè)置系 統(tǒng)時鐘e
8、lk為50MHz,保存為uartrxts.vwf,進行UART數(shù)據(jù)接收的波形仿真,波形仿真報告如圖29所示13.125 n$ | Pointer:865.55 us Interval:865.64 u$ Start:End:A 更 色、NameValue13.13聆0elkX電妙1clkou tI參2S dataoutA i參11匡|utrxA i0 20idleX iT21rdsigX i Master Time Bar:1 3屮 ms3 93? ms13. 125 ns 2.6*1 msio】 yTrirTnrzmorun7rymcwYiJIJI圖29 UART接收模塊仿真結(jié)果對上圖分析看
9、出,UART接收模塊接收到的數(shù)據(jù)與UART發(fā)送模塊發(fā)送的數(shù)據(jù)相一至,每接收到一個數(shù)拯 都有一個讀取數(shù)據(jù)指示rdisg. UART接收模塊得到正確驗證2、5接收電路的波特率發(fā)生器和采樣時鐘的設(shè)汁為提髙接收的準(zhǔn)確性,減少誤碼率,每一位數(shù)據(jù)都用3倍頻的波特率對數(shù)據(jù)進行采樣,然后對3次采樣結(jié)果進 行判決:如果3次采樣中至少有2次為高電平,則接收這一位數(shù)據(jù)被判決為髙電平,否者,為低電平。為完成3次采樣,除了頻率為9600Hz的接收時鐘外,還要有一個3倍頻的采樣時鐘3 VHDL描述思路第二部分“系統(tǒng)設(shè)計”中對系統(tǒng)的功能和邏輯結(jié)構(gòu)、以及模塊劃分都有了詳細的敘述,模塊間的耦合和信號 的傳遞關(guān)系已經(jīng)淸晰??梢允?/p>
10、用VHDL語言描述硬件電路了。發(fā)送模塊和接收模塊的VHDL語言描述按照事先的設(shè)汁進行編寫可以使電路思想明晰化,避免編程過程中用 軟件的思維去描述硬件的電路系統(tǒng),也可有效避免錯誤。由于進行了細致的模塊劃分,模塊的間的耦合程度降到了很低,這就使得電路設(shè)計的可靠性大為增強,只要 模塊的輸出滿足了功能左義,整個系統(tǒng)就能正常工作,即便個別模塊岀現(xiàn)問題,也不會過多影響到英他模塊。實 際測試過程中也印證了這一點。4總體電路的描述頂層符號文件描述如下:CLK.DIV5系統(tǒng)仿真驗證系統(tǒng)仿真分為兩個步驟進行,首先是關(guān)鍵模塊的仿真,驗證子系統(tǒng)功能的正確性,然后是綜合仿真,驗證整 個系統(tǒng)的功能。5. 1發(fā)送電路的波特
11、率發(fā)生器的VHDL的仿真IAX-tplus II - h:ppccclk_div - clk.div. scf - favefori EditorII File Edit Vie Bids Assi IJtilitKS Options Jiadw HelI Time |0.DnsIrtercal: -Efl.OnsName:序-elka elk dh135O.OnsValue:0Jfflfjfjfjfijj.w.r.01Jrs 100.0ns19).0ns330.0ns ZO.Ons 330.0ns JSJ.Ons 400.0ns451.0ns5、2發(fā)送模塊VHDL的仿貞.5、3特率發(fā)生器和采
12、樣時鐘的設(shè)訃的VHDL仿真Irter.al: |-81.2n$|十| Tire:陽加AName.Pet |B16.0m25.0re93.0ns750fICO.Ois2C0Menclk一您 QE-譏uoTTTYTmTTTTHTKrnTTrCTCrfcriTTTrflo rn rn rnm rn5、4接受模塊的描述的VHDL仿貞.AX+plus II - rXpcUoireceivelO - coBreceivelO. scf - Iavefor EditorRUfplus II hl* Hit Xiw 申& Xzstgn Utililtax Ojt:inc Yind?/ MlpDEfV心直國應(yīng)基
13、(S We 話qqm-Ret 7D.Dri$Name:Vaj9:Df-corri1ir-clr1i-clk30u-clkl0-O Valid1密QH3:0翦PIH7愛NumH1砂mHOJ250ns50.0n5750nsIttl.Ons1250ns150 Chs1750re2LLJ_r t_u丁RJm_n_n_OJ2JJz3刃):nr7口nx6Tzc231:5 7 2Dim2OPPn :( i:;2 n p pn x G2加lrter.1: |-S3.4n$?00re5、5綜合仿真IAI-*plue EE - h:ppccppcc - ppcc. set - favefora Editor$綁城
14、“ IT file Nit Vie/ gc3? issigu l!tiUies Qptiwrs Jiadw B?lpn?心蝕囪色必/國豊(駕製夏字r::;Ref. |75.0rr$Tirrie. 822.1nsJ 欣網(wǎng).|7d7.1rrsA,Value:7.0rs7S).0n$?75.Ons80.0ns825.0nsb SEND 衛(wèi)AT的1O_OATA|B.1HOF8F掃沏畑燉):旳別紀(jì)旳仰佃使何伍獅輒加n-SEND少TM0It-EN1AA CLP CLK11 crCfl0Ax9QIB.1)Hro叩 :1:1DZ-croo01INVl堂1 bal 岡 ! !6、結(jié)果與分析6.1實現(xiàn)功能說明本實
15、驗完成的RS232串口通信控制器,完成了課題要求的所有功能。由于頂層設(shè)計采用了子系統(tǒng)分模塊描述的方法,使得控制器具有很好的擴展性??梢栽诓桓淖兿到y(tǒng)框架和模 塊間電路連接關(guān)系,增加其他模塊,實現(xiàn)其他功能。本課題中并沒有在數(shù)據(jù)幀中加入校驗位,僅僅實現(xiàn)了 i位起始位,1位停止位和8位數(shù)據(jù)位的傳輸。初步實 現(xiàn)了單片機和CPLD之間的通信。數(shù)字系統(tǒng)的設(shè)計,真正的重點在于把系統(tǒng)層而的設(shè)計做好,系統(tǒng)架構(gòu)淸晰,層次明確,穩(wěn)左性好,可擴展和 可移植性好,這樣的系統(tǒng)給到用戶,只要添加用戶模塊或者稍作修改即可完成非特圧的功能。6.2器件資源分析在設(shè)計階段,對系統(tǒng)描述采用過多種方式,嘗試了多種描述,代碼的長度在增加,
16、模塊在增多,但系統(tǒng)穩(wěn)左 性和可擴展性也在增強,層次結(jié)構(gòu)和模塊設(shè)計也更加完善。設(shè)訃之初對資源使用沒有多少概念,時常以軟件的思想描述硬件,在描述中使用乘法等資源耗費嚴(yán)重的操作, 也曾使用過嵌套多層的IF-ELSE語句,產(chǎn)生很長的選擇器,降低了模塊的可靠性,增加處理延時。隨著設(shè)計的深 入,加上反復(fù)求精的過程磨練,逐步對硬件描述綜合出的實際電路形式有了更多的理解,對延時和資源占用有了 初步概念。一個顯見的結(jié)論是描述代碼的長度和綜合后的電路形式與資源占用無必然聯(lián)系。需要關(guān)注編譯器在綜 合時如何將VHDL行為級描述轉(zhuǎn)化為結(jié)構(gòu)化的門級電路,才能分析淸楚資源占用率和電路結(jié)構(gòu)。行為級描述可能 與實際綜合的電路產(chǎn)
17、生不一致,需要謹(jǐn)慎對待。6.3故障和問題分析實驗中由于詳細劃分了子模塊、各模塊的實現(xiàn)都仔細進行了描述,故沒有出現(xiàn)太多的故障。但是在最后將個 子模塊進行綜合的時候出現(xiàn)了仿真結(jié)果不正確的現(xiàn)象,后經(jīng)過多次修改終于得到正確的結(jié)果。由于對VHDL語言的學(xué)習(xí)與理解還停留在低層次上,故在編譯時岀現(xiàn)了很多錯誤,在査閱了諸多相關(guān)資料后 對VHDL的語法基本熟悉,逐漸深入,從最初的模塊初步成型到最后全模塊化,自頂向下設(shè)汁系統(tǒng),完成VHDL描述。最深的感受在于,開始時一心專注于代碼的編寫和 語法的使用,忽視了系統(tǒng)設(shè)計,導(dǎo)致設(shè)訃結(jié)果不令人滿意,后來逐步采用自頂向下的設(shè)計思路,先從邏輯上把系 統(tǒng)的功能和子系統(tǒng)的劃分描述
18、淸楚,然后設(shè)計各個模塊的接口和定義,最后分別去描述底層各個模塊的功能和實 現(xiàn),淸晰明了,一氣呵成。這也是系統(tǒng)沒有多少故障的主要原因。7、總結(jié)體會對這次設(shè)訃的題目起初不是很了解,后來通過同學(xué)、老師的解答和上網(wǎng)搜尋對設(shè)計有了一左的了解,對課題 的設(shè)計業(yè)采用了很多方法,有復(fù)雜的也有簡單的,最終決左采用這個方案,當(dāng)然,在使用這個方案設(shè)計程序的時 候也遇到了許多問題,有VHDL語言的語法問題也有硬件下載和仿貞問題,后來都在同學(xué)和老師的幫助下解決了, 解決問題的主要方法還是要加強對VHDL語言的學(xué)習(xí)和對硬件操作的學(xué)習(xí),要注意只是與應(yīng)用相結(jié)合。8、參考文獻1 EDA技術(shù)實驗開發(fā)系統(tǒng)實驗指導(dǎo)書,啟東計算機廠有
19、限公司。2 CPLD/FPGA可編程邏輯器件實用教程,馬歿,王丹利,王麗英,機械工業(yè)出版社,2010, 7。3 .微機原理與接口技術(shù)(第二版),田輝,高等教育岀版社.20114 .EDA技術(shù)實用教程一一VHDL版(第四版),科學(xué)出版社附錄1發(fā)送電路的波特率發(fā)生器的VHDLLIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;USE IEEE.STD LOGIC ARITH.ALL;USE IEEE.STD LOGIC UNSIGNED.ALL;ENTITY clk_div ISPORTfcIk : IN STD_LOGIC;clk_divl3 : OUTSTD_LO
20、GIC);END clk_div;ARCHITECTURE rtl OF clk_div ISSIGNAL count: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL clk_temp : STD_LOGIC;BEGINPROCESS(clk)BEGINIF (clkevent AND clk=,lI) THENIF(count=,00001101H) THENcount 0);clk_temp =NOT clk_temp;ELSE count = count +1;END IF;END IF;END PROCESS;clk_divl3= clk_temp;END r
21、tl;附錄2發(fā)送模塊的VHDLlibrary ieee;use ieee.stdogic_1164.aH;entity com isport(clk,en:in stdjogic;Send_data:in stdogic_vector(9 downto 0);seriakout std_lo gic);end com;architecture com_arc of com isbeginprocess(clk)variable count:integer range 0 to 9 :=0;beginif en=O thencount:=0;serial=,l,;elsif rising_edg
22、e(clk) thenif count=9 thenserial=Send_data(9);elseserial=Send_data(count);count:=count+l;end if;end if;end process;end compare;附錄3接收電路的波特率發(fā)生器和采樣時鐘設(shè)計的VHDLlibrary ieee;use ieee.std_logic_1164.all;entity countl3 isport(clk,en:in stdjogic;Clockl,Clock3:out std_logic);end countl3;architecture countl3_arc
23、 of countl3 isbeginprocess(clk,en)variable count:integer range 0 to 13 :=0;beginif en=,O, thenNUII;els訐(rising_edge(clk) thencount:=count+l;訐 count=13 thenClockl=,l,; count:=0;elseClockVO1;end if;訐(count=3 or count=6 or count=9 ) thenClock3=,l,;elseClock3=,0,;end if;end if;end process;end countl3_arc;附錄接受模塊的VHDLlibrary ieee;use ieee.std_logic_1164.all; entity com_receivelO is port(com,clr;clkbclk3:in stdjogic;Q:out std_logic_
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版七年級數(shù)學(xué)上冊 3.3 《解一元一次方程》聽評課記錄1
- 人教版歷史七年級上冊第14課《溝通中外文明的“絲綢之路”》聽課評課記錄
- 現(xiàn)場電力服務(wù)合同(2篇)
- 生活設(shè)施租賃協(xié)議書(2篇)
- 新版湘教版秋八年級數(shù)學(xué)上冊第二章三角形課題已知邊角作三角形聽評課記錄
- 新版華東師大版八年級數(shù)學(xué)下冊《18.2平行四邊形的判定》聽評課記錄
- 湘教版數(shù)學(xué)八年級下冊4.3《一次函數(shù)的圖象》聽評課記錄1
- 魯人版道德與法治七年級下冊13.3《正視壓力 輕松前行》聽課評課記錄
- 2022年新課標(biāo)八年級上冊歷史第3課太平天國運動聽課評課記錄
- 人教版九年級數(shù)學(xué)上冊22.2.1《二次函數(shù)與一元二次方程》聽評課記錄
- 裝修工程延期協(xié)議
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評估報告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會招考(917)筆試歷年參考題庫附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 2024年04月北京中信銀行北京分行社會招考(429)筆試歷年參考題庫附帶答案詳解
- 專項債券培訓(xùn)課件
- 《會務(wù)的組織和管理》課件
- 2024年公司領(lǐng)導(dǎo)在新年動員會上的講話樣本(3篇)
- 《倒虹吸管安全評價導(dǎo)則》
- 2025年中國濕度傳感器行業(yè)深度分析、投資前景、趨勢預(yù)測報告(智研咨詢)
評論
0/150
提交評論