版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、EDA課程設(shè)計(jì)題目:基于VHDL的串口設(shè)計(jì)院系:機(jī)電學(xué)院班級(jí):電氣103姓名:張明軍學(xué)號(hào):20100744113日期:2012.12.102012.12.1714目錄1、任務(wù)要求1、1課題要求1、2設(shè)計(jì)目標(biāo)2、系統(tǒng)設(shè)計(jì)2、1層次模塊劃分2、2分頻模塊的設(shè)計(jì)2、3發(fā)送電路的波特率發(fā)生器的設(shè)計(jì)2、4接受模塊的設(shè)計(jì)2、5接收電路的波特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì)3、VHDL的描述思路4、總體電路的描述5、系統(tǒng)仿真驗(yàn)證5、1發(fā)送電路的波特率發(fā)生器的VHDL的仿真5、2發(fā)送模塊VHDL的仿真5、3特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì)的VHDL仿真5、4接受模塊的描述的VHDL仿真5、5綜合仿真6、結(jié)果與分析6.1實(shí)現(xiàn)
2、功能說明6.2器件資源分析6.3故障和問題分析7、總結(jié)體會(huì)8、參考文獻(xiàn)9、附錄以上模塊分別生成符號(hào)文件,最后在頂層模塊中進(jìn)行連接。2、2分頻模塊的設(shè)計(jì)由于UART是異步傳輸,沒有傳輸同步時(shí)鐘。為了能保證數(shù)據(jù)傳輸?shù)恼_性,UART采用26倍數(shù)據(jù)波特率 的時(shí)鐘進(jìn)行采樣。每個(gè)數(shù)據(jù)有16個(gè)時(shí)鐘采樣,取中間的采樣值,以保證采樣不會(huì)滑碼或誤碼。一般UART-幀 的數(shù)據(jù)位數(shù)為8,這樣即使每個(gè)數(shù)據(jù)有一個(gè)時(shí)鐘的誤差,接收端也能正確地采樣到數(shù)拯。這里采用常用的數(shù)據(jù)波特率為9600bps,則所需時(shí)鐘的頻率為16*9600.系統(tǒng)時(shí)鐘為50MHz,則分頻系數(shù)為 50000000/(16*9600) =325.52,取整
3、為 325。分頻器實(shí)現(xiàn)相對(duì)簡單,這里對(duì)其設(shè)計(jì)流程圖不做詳細(xì)介紹。只是將設(shè)計(jì)過程和結(jié)果簡述如下:首先用VHDL語言進(jìn)行設(shè)計(jì)輸入,并生成模塊文件如圖2-1所示,其中elk為50M系統(tǒng)時(shí)鐘輸入,clkout為 325分頻后時(shí)鐘輸岀。 elk divi inst4-圖2-1分頻模塊然后建立波形文件,對(duì)以上模塊進(jìn)行時(shí)序仿真,仿真結(jié)果如圖22所示,方正結(jié)果說明,分頻輸出實(shí)現(xiàn) 了對(duì)輸入的325分頻,分頻模塊設(shè)訃正確。NameValue at9.83 ns110elkA 1 utA 09.825 nsJ515.3,520呷 us 25.2 孔平圖2-2分頻模塊仿真結(jié)果2、3發(fā)送電路的波特率發(fā)生器的設(shè)計(jì)要產(chǎn)生4
4、800波特率,要有一個(gè)不低于4800Hz的時(shí)鐘才可以。為產(chǎn)生高精度的時(shí)鐘,我選了16KHz的晶振來提供外部時(shí)鐘。當(dāng)然,你也可以選其它頻率的時(shí)鐘來產(chǎn)生4800Hz的時(shí)鐘。對(duì)于16KHz時(shí)鐘,需要 設(shè)計(jì)一個(gè)13進(jìn)制的分頻器來產(chǎn)生4800波特率的時(shí)鐘信號(hào)。發(fā)送過程:空閑狀態(tài),線路處于高電平;當(dāng)受到發(fā)送數(shù)據(jù)指令后,拉低線路一個(gè)數(shù)據(jù)位的時(shí)間T,接著 數(shù)據(jù)按地位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送停止位(停止位為高電平),一幀數(shù)據(jù)發(fā)送結(jié)朿。(1)模塊流程圖根據(jù)以上發(fā)送過程,發(fā)送模塊算法示意圖設(shè)計(jì)如圖2-3所示。發(fā)送數(shù)圖23 UART發(fā)送數(shù)據(jù)算法示意圖(2)生成模塊文件新建一原理圖文件,將VHDL源文件
5、生成對(duì)應(yīng)的模塊文件如圖2-4所示,其中elk為時(shí)鐘輸入,datain為需 要發(fā)送的數(shù)據(jù)輸入,wrsig為發(fā)送命令輸入idle為忙閑信號(hào)輸岀,tx為串行數(shù)據(jù)輸岀端。=uarttxX1J1? elkiidle r5-? datairi7 0tx r 評(píng) wrsig5-iV? inst49圖24 UART發(fā)送模塊圖25 UART發(fā)送模塊仿貞原理圖2、4接受模塊的設(shè)計(jì)根據(jù)采用的幀格式,需要發(fā)送的數(shù)據(jù)為10位(1位開始位、8位數(shù)據(jù)位、1位停止位),在發(fā)送完這10位后,就應(yīng) 該停止發(fā)送,并使發(fā)送端電平處于邏輯1,然后等候下次的發(fā)送.接收電路比發(fā)送電路要復(fù)雜的多,接收電路要時(shí)實(shí)檢測起始位的到來,一旦檢測到起
6、始位到,就要將這一幀數(shù) 據(jù)接收下來。串行接收電路首先要能判斷接收數(shù)據(jù)的到來,即每一幀的開始,然后對(duì)數(shù)據(jù)進(jìn)行3次采樣,最后判決輸岀。為簡 化設(shè)計(jì),幀格式仍然采用:1位開始位+8位數(shù)據(jù)位+1位停止位。UART接收模塊的功能:時(shí)時(shí)檢測線路,當(dāng)線路產(chǎn)生下降沿時(shí),即認(rèn)為線路有數(shù)據(jù)傳輸,啟動(dòng)接收數(shù)據(jù) 進(jìn)程進(jìn)行接收,按從低位到高位接收數(shù)據(jù)。(1)模塊流程圖根據(jù)以上描述的接收模塊的功能,可將接收模塊算法示意圖設(shè)汁如圖2-6所示。開接收數(shù)14圖26接收模塊算法示意圖(2)生成模塊文件新建一原理圖文件,將VHDL源文件生成對(duì)應(yīng)的模塊文件如圖4.10所示,其中elk為時(shí)鐘輸入,rx為需要串行數(shù)據(jù)輸入,dataout
7、為并行輸岀,uartrxelk dataout7.Orxrdsigrdsig為忙閑信號(hào)輸岀。inst4圖2-7 UART接收模塊(3)波形仿真新建一個(gè)原理圖文件,加入各功能模塊,并添加輸入輸出端口,各個(gè)模塊的連接如圖2-8所示。c: ckotr;testuart1ickdotaout(7.0svrsigiiii instickIdfesainp .ujIXwrsiginot2UCfttXck data:UF 0 rvrdsigh3vozrlnip圖2-8 UART接收模塊仿貞原理圖保存原理圖為uartrxts.bdf.編譯工程文件,編譯無誤后新建波形仿真文件,加入輸入輸出信號(hào),設(shè)置系 統(tǒng)時(shí)鐘e
8、lk為50MHz,保存為uartrxts.vwf,進(jìn)行UART數(shù)據(jù)接收的波形仿真,波形仿真報(bào)告如圖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é)果對(duì)上圖分析看
9、出,UART接收模塊接收到的數(shù)據(jù)與UART發(fā)送模塊發(fā)送的數(shù)據(jù)相一至,每接收到一個(gè)數(shù)拯 都有一個(gè)讀取數(shù)據(jù)指示rdisg. UART接收模塊得到正確驗(yàn)證2、5接收電路的波特率發(fā)生器和采樣時(shí)鐘的設(shè)汁為提髙接收的準(zhǔn)確性,減少誤碼率,每一位數(shù)據(jù)都用3倍頻的波特率對(duì)數(shù)據(jù)進(jìn)行采樣,然后對(duì)3次采樣結(jié)果進(jìn) 行判決:如果3次采樣中至少有2次為高電平,則接收這一位數(shù)據(jù)被判決為髙電平,否者,為低電平。為完成3次采樣,除了頻率為9600Hz的接收時(shí)鐘外,還要有一個(gè)3倍頻的采樣時(shí)鐘3 VHDL描述思路第二部分“系統(tǒng)設(shè)計(jì)”中對(duì)系統(tǒng)的功能和邏輯結(jié)構(gòu)、以及模塊劃分都有了詳細(xì)的敘述,模塊間的耦合和信號(hào) 的傳遞關(guān)系已經(jīng)淸晰。可以使
10、用VHDL語言描述硬件電路了。發(fā)送模塊和接收模塊的VHDL語言描述按照事先的設(shè)汁進(jìn)行編寫可以使電路思想明晰化,避免編程過程中用 軟件的思維去描述硬件的電路系統(tǒng),也可有效避免錯(cuò)誤。由于進(jìn)行了細(xì)致的模塊劃分,模塊的間的耦合程度降到了很低,這就使得電路設(shè)計(jì)的可靠性大為增強(qiáng),只要 模塊的輸出滿足了功能左義,整個(gè)系統(tǒng)就能正常工作,即便個(gè)別模塊岀現(xiàn)問題,也不會(huì)過多影響到英他模塊。實(shí) 際測試過程中也印證了這一點(diǎn)。4總體電路的描述頂層符號(hào)文件描述如下:CLK.DIV5系統(tǒng)仿真驗(yàn)證系統(tǒng)仿真分為兩個(gè)步驟進(jìn)行,首先是關(guān)鍵模塊的仿真,驗(yàn)證子系統(tǒng)功能的正確性,然后是綜合仿真,驗(yàn)證整 個(gè)系統(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í)鐘的設(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實(shí)現(xiàn)功能說明本實(shí)
15、驗(yàn)完成的RS232串口通信控制器,完成了課題要求的所有功能。由于頂層設(shè)計(jì)采用了子系統(tǒng)分模塊描述的方法,使得控制器具有很好的擴(kuò)展性。可以在不改變系統(tǒng)框架和模 塊間電路連接關(guān)系,增加其他模塊,實(shí)現(xiàn)其他功能。本課題中并沒有在數(shù)據(jù)幀中加入校驗(yàn)位,僅僅實(shí)現(xiàn)了 i位起始位,1位停止位和8位數(shù)據(jù)位的傳輸。初步實(shí) 現(xiàn)了單片機(jī)和CPLD之間的通信。數(shù)字系統(tǒng)的設(shè)計(jì),真正的重點(diǎn)在于把系統(tǒng)層而的設(shè)計(jì)做好,系統(tǒng)架構(gòu)淸晰,層次明確,穩(wěn)左性好,可擴(kuò)展和 可移植性好,這樣的系統(tǒng)給到用戶,只要添加用戶模塊或者稍作修改即可完成非特圧的功能。6.2器件資源分析在設(shè)計(jì)階段,對(duì)系統(tǒng)描述采用過多種方式,嘗試了多種描述,代碼的長度在增加,
16、模塊在增多,但系統(tǒng)穩(wěn)左 性和可擴(kuò)展性也在增強(qiáng),層次結(jié)構(gòu)和模塊設(shè)計(jì)也更加完善。設(shè)訃之初對(duì)資源使用沒有多少概念,時(shí)常以軟件的思想描述硬件,在描述中使用乘法等資源耗費(fèi)嚴(yán)重的操作, 也曾使用過嵌套多層的IF-ELSE語句,產(chǎn)生很長的選擇器,降低了模塊的可靠性,增加處理延時(shí)。隨著設(shè)計(jì)的深 入,加上反復(fù)求精的過程磨練,逐步對(duì)硬件描述綜合出的實(shí)際電路形式有了更多的理解,對(duì)延時(shí)和資源占用有了 初步概念。一個(gè)顯見的結(jié)論是描述代碼的長度和綜合后的電路形式與資源占用無必然聯(lián)系。需要關(guān)注編譯器在綜 合時(shí)如何將VHDL行為級(jí)描述轉(zhuǎn)化為結(jié)構(gòu)化的門級(jí)電路,才能分析淸楚資源占用率和電路結(jié)構(gòu)。行為級(jí)描述可能 與實(shí)際綜合的電路產(chǎn)
17、生不一致,需要謹(jǐn)慎對(duì)待。6.3故障和問題分析實(shí)驗(yàn)中由于詳細(xì)劃分了子模塊、各模塊的實(shí)現(xiàn)都仔細(xì)進(jìn)行了描述,故沒有出現(xiàn)太多的故障。但是在最后將個(gè) 子模塊進(jìn)行綜合的時(shí)候出現(xiàn)了仿真結(jié)果不正確的現(xiàn)象,后經(jīng)過多次修改終于得到正確的結(jié)果。由于對(duì)VHDL語言的學(xué)習(xí)與理解還停留在低層次上,故在編譯時(shí)岀現(xiàn)了很多錯(cuò)誤,在査閱了諸多相關(guān)資料后 對(duì)VHDL的語法基本熟悉,逐漸深入,從最初的模塊初步成型到最后全模塊化,自頂向下設(shè)汁系統(tǒng),完成VHDL描述。最深的感受在于,開始時(shí)一心專注于代碼的編寫和 語法的使用,忽視了系統(tǒng)設(shè)計(jì),導(dǎo)致設(shè)訃結(jié)果不令人滿意,后來逐步采用自頂向下的設(shè)計(jì)思路,先從邏輯上把系 統(tǒng)的功能和子系統(tǒng)的劃分描述
18、淸楚,然后設(shè)計(jì)各個(gè)模塊的接口和定義,最后分別去描述底層各個(gè)模塊的功能和實(shí) 現(xiàn),淸晰明了,一氣呵成。這也是系統(tǒng)沒有多少故障的主要原因。7、總結(jié)體會(huì)對(duì)這次設(shè)訃的題目起初不是很了解,后來通過同學(xué)、老師的解答和上網(wǎng)搜尋對(duì)設(shè)計(jì)有了一左的了解,對(duì)課題 的設(shè)計(jì)業(yè)采用了很多方法,有復(fù)雜的也有簡單的,最終決左采用這個(gè)方案,當(dāng)然,在使用這個(gè)方案設(shè)計(jì)程序的時(shí) 候也遇到了許多問題,有VHDL語言的語法問題也有硬件下載和仿貞問題,后來都在同學(xué)和老師的幫助下解決了, 解決問題的主要方法還是要加強(qiáng)對(duì)VHDL語言的學(xué)習(xí)和對(duì)硬件操作的學(xué)習(xí),要注意只是與應(yīng)用相結(jié)合。8、參考文獻(xiàn)1 EDA技術(shù)實(shí)驗(yàn)開發(fā)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書,啟東計(jì)算機(jī)廠有
19、限公司。2 CPLD/FPGA可編程邏輯器件實(shí)用教程,馬歿,王丹利,王麗英,機(jī)械工業(yè)出版社,2010, 7。3 .微機(jī)原理與接口技術(shù)(第二版),田輝,高等教育岀版社.20114 .EDA技術(shù)實(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í)鐘設(shè)計(jì)的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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)環(huán)保項(xiàng)目的實(shí)施計(jì)劃
- 中班幼兒數(shù)學(xué)教案《小小設(shè)計(jì)師》
- 幼兒園大班工作總結(jié)五篇
- 2024年度金融機(jī)構(gòu)不可撤銷連帶責(zé)任擔(dān)保書3篇
- 公關(guān)行業(yè)美工公關(guān)活動(dòng)海報(bào)公關(guān)策略圖
- 招生方案范文7篇
- 中醫(yī)科護(hù)士的工作總結(jié)
- 預(yù)防科護(hù)士推廣疾病預(yù)防
- 2024全新車展活動(dòng)車輛展示區(qū)清潔維護(hù)合同3篇
- 2024醫(yī)院單位護(hù)士崗位聘用合同書3篇
- 大型能源集團(tuán)公司信息化規(guī)劃(二)數(shù)據(jù)架構(gòu)規(guī)劃課件
- 中國醫(yī)院質(zhì)量安全管理 第4-6部分:醫(yī)療管理 醫(yī)療安全(不良)事件管理 T∕CHAS 10-4-6-2018
- 2.秸稈和落葉的有效處理課件
- 教育中的心理效應(yīng)
- 提高玻璃幕墻擦窗機(jī)軌道安裝質(zhì)量
- T∕CEMIA 020-2019 顯示面板用N-甲基-2-吡咯烷酮
- 考古繪圖(課堂PPT)
- 注塑機(jī)冷卻水系統(tǒng)工程
- 工業(yè)管道材料選用規(guī)定
- PE管熱熔對(duì)接施工方案完整
- 中醫(yī)腫瘤臨床路徑
評(píng)論
0/150
提交評(píng)論