EDA課程方案設(shè)計(jì)書報(bào)告_第1頁
EDA課程方案設(shè)計(jì)書報(bào)告_第2頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、封面作者:PanHongliang僅供個(gè)人學(xué)習(xí)1課題的主要功能設(shè)計(jì)一個(gè)出租車自動(dòng)計(jì)費(fèi)器,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)三部分,用四位數(shù)碼管顯示金額,最大值為 999.9 元,最小計(jì)價(jià)單元為圖2-1系統(tǒng)功能原理圖2.2功能模塊的算法分析由圖 2-1 系統(tǒng)功能原理圖可知:該設(shè)計(jì)問題自頂向下可分為分頻模塊、計(jì) 量模塊、計(jì)費(fèi)模塊、控制模塊、譯碼和動(dòng)態(tài)掃描顯示模塊。2.2.1 分頻模塊分頻模塊對頻率為 240Hz的輸入脈沖進(jìn)行分頻, 得到的頻率為 16Hz, 10Hz 和 1Hz的三種頻率。該模塊產(chǎn)生頻率信號用于計(jì)費(fèi),每個(gè) 1HZ 脈沖為 0.1 元計(jì) 費(fèi)控制,10HZ信號為 1 元的計(jì)費(fèi)控

2、制,16Hz 信號為 1.6 元計(jì)費(fèi)控制。2.2.2 計(jì)量控制模塊計(jì)量控制模塊是出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)的主體部分,該模塊主要完成等待 計(jì)時(shí)功能、計(jì)價(jià)功能、計(jì)程功能,同時(shí)產(chǎn)生3 分種的等待計(jì)時(shí)使能控制信號en1,行程 3 公里外的使能控制信號 en0。其中計(jì)價(jià)功能主要完成的任務(wù)是:行 程 3 公里內(nèi),且等待累計(jì)時(shí)間 3 分鐘內(nèi),起步費(fèi)為 8 元;3 公里外以每公里 1.6 元計(jì)費(fèi),等待累計(jì)時(shí)間 3 分鐘外以每分鐘 1 元計(jì)費(fèi);計(jì)時(shí)功能主要完成的任務(wù) 是:計(jì)算乘客的等待累計(jì)時(shí)間,計(jì)時(shí)器的量程為59 分,滿量程自動(dòng)歸零;計(jì)程功能主要完成的任務(wù)是:計(jì)算乘客所行駛的公里數(shù)。計(jì)程器的量程為99 公里,滿量程

3、自動(dòng)歸零。2.2.3 譯碼顯示模塊該模塊經(jīng)過 8 選 1 選擇器將計(jì)費(fèi)數(shù)據(jù)(4 位 BCD 碼)、計(jì)時(shí)數(shù)據(jù)(2 位 BCD 碼)、計(jì)程數(shù)據(jù)(2 位 BCD 碼)動(dòng)態(tài)選擇輸出。其中計(jì)費(fèi)數(shù)據(jù)送入顯示譯碼模 塊進(jìn)行譯碼,0.1 元,行程 3 公里內(nèi),且等待里,以每公里 1.6 元計(jì)費(fèi) 4 待時(shí)間單價(jià)為每分鐘里程,最大為 99分鐘內(nèi),起步費(fèi)為 8 元,超過 3 公1 元。用兩位數(shù)碼管顯示總2.1課題系統(tǒng)功能模塊模圖計(jì)費(fèi)模塊譯碼模塊出租車自動(dòng)計(jì)費(fèi)器功能的59min。控制模塊最后送至百元、十元、元、角為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為 999.9 元;計(jì)時(shí)數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至分為單位對

4、 應(yīng)的數(shù)碼管上顯示,最大顯示為 59 秒;計(jì)程數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼, 最后送至以公里為單位的數(shù)碼管上顯示,最大顯示為99 公里。3主要功能的實(shí)現(xiàn)3.1分頻功能的實(shí)現(xiàn)由圖 3-1 分頻模塊封裝圖可知:系統(tǒng)是對 240HZ 時(shí)鐘脈沖信號進(jìn)行分頻, 分別得到 16HZ、10HZ、1HZ 三種頻率;本設(shè)計(jì)中通過三種不同頻率的脈沖信號 實(shí)現(xiàn)在計(jì)程車在行駛、等待兩種情況下的不同計(jì)費(fèi)。圖3-1分頻模塊封裝圖3.2計(jì)量功能的實(shí)現(xiàn)由圖 3-2 可知:本模塊實(shí)現(xiàn)對于出租車在行駛和等待過程中的繼承和計(jì)時(shí) 功能;當(dāng)行駛里程大于 3KM 時(shí),本模塊中 en0 信號變?yōu)?1;當(dāng)?shù)却龝r(shí)間大于 3min 時(shí),本模塊中

5、 en1 信號變?yōu)?1; clk1 每來一個(gè)上升沿,計(jì)量模塊實(shí)現(xiàn)一次 計(jì)數(shù),里程數(shù)或者等待時(shí)間加 1。圖3-2計(jì)量模塊封裝圖3.3計(jì)費(fèi)功能的實(shí)現(xiàn)由圖 3-3 可知:輸入一個(gè)脈沖信號,同時(shí)當(dāng) start 為時(shí)開始計(jì)價(jià); c0、 c1、c2、c3 為價(jià)格的顯示信號。圖3-3計(jì)費(fèi)模塊封裝圖3.4控制功能的實(shí)現(xiàn)由圖 3-4 可知:本模塊主要是通過兩個(gè)不同的輸入使能信號,對兩個(gè)輸入 脈沖進(jìn)行選擇輸出,使能信號是計(jì)量模塊中的輸出,兩個(gè)輸入脈沖是分頻模塊 輸出的 16HZ10HZ 的脈沖。圖3-4控制模塊封裝圖3.5譯碼和動(dòng)態(tài)掃描功能實(shí)現(xiàn)由圖 3-5 可知: 該模塊首先以一個(gè) case 語句進(jìn)行通道的選擇,

6、 接著有以一 個(gè) case語句對所選的通道進(jìn)行動(dòng)態(tài)掃描,由于時(shí)間極小,因此我們?nèi)庋鄹杏X數(shù) 字是同時(shí)顯示出來的。圖3-5譯碼模塊封裝圖3.6總體功能原理圖圖3-6總體功能原理圖4程序調(diào)試4.1分頻模塊波形仿真圖圖4-1分頻模塊仿真波形圖由圖 4-1 可知:當(dāng)輸入 240HZ 的 clk 脈沖信號時(shí), clk 每出現(xiàn) 240 個(gè)脈沖時(shí) q1、q10、q16 分別出現(xiàn) 1、24、15 個(gè),相當(dāng)于計(jì)費(fèi) 0.01 元、1 元、1.6 元,幫助 計(jì)費(fèi)。4.2計(jì)量模塊波形仿真圖圖4-2計(jì)量模塊波形仿真圖由圖 4-2 可知:由于講輸入?yún)?shù) fin 一直設(shè)為高,將 stop 一直設(shè)為低。所以 k1、k0 記錄路

7、程的輸出量有值,而 m1、m0 記錄等待時(shí)間的輸出量沒有值。4.3計(jì)費(fèi)模塊波形仿真圖圖4-3計(jì)費(fèi)模塊波形仿真圖由圖4-3可知:輸入一個(gè)脈沖信號,同時(shí)當(dāng)start為高時(shí)開始計(jì) 價(jià);cO、cl、c2、c3為價(jià)格的顯示信號,逢9后一位將進(jìn)1。4.4控制模塊波形仿真圖圖4-4控制模塊波形仿真圖由圖 4-4 可知:本模塊主要是通過兩個(gè)不同的輸入使能信號,對兩個(gè)輸入 脈沖進(jìn)行選擇輸出,使能信號是計(jì)量模塊中的輸出,兩個(gè)輸入脈沖是分頻模塊 輸出的 16HZ、1OHZ 的脈沖。4.5譯碼顯示模塊波形仿真圖圖4-5譯碼模塊波形仿真圖由圖 4-5 可知:首先以一個(gè) case 語句進(jìn)行通道的選擇,以 8 為二進(jìn)制表

8、示。當(dāng)某一位為 1 時(shí),表示選擇該通道接著。接著又以一個(gè) case 語句對所選的 通道進(jìn)行動(dòng)態(tài)掃描,由于時(shí)間極小,因此在我們用肉眼感覺是同時(shí)顯示出來 的。4.6總模塊的波形仿真圖圖4-6總模塊的波形仿真圖5總結(jié)一周的數(shù)字系統(tǒng)和邏輯設(shè)計(jì)的課程設(shè)計(jì)結(jié)束了,我的收獲很大。通過課程 設(shè)計(jì)的編程和對編程過程中遇到的問題的思考,有效的提高了我對硬件描述語 言的認(rèn)識和理解,切實(shí)的提高了我的編程能力,補(bǔ)全了我的不足。通過這次課 程設(shè)計(jì),我不僅可以鞏固以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有 學(xué)到過的知識。這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理 論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)

9、踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為己為社會(huì)所用,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,同時(shí)在設(shè)計(jì)的過程 中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠 牢固,比如說代碼的指令不夠清楚要想寫好 vhdl 語言的程序,必須認(rèn)真對 待代碼的每一個(gè)細(xì)節(jié),還必須熟練的掌握各種命令,這對程序的調(diào)試是非常重 要的。這次課程設(shè)計(jì)讓我也體會(huì)到了團(tuán)隊(duì)精神的重要性,通過和同學(xué)的交流,我學(xué)到 了不同的思想。真的我們不僅要學(xué)好基本的書本知識,更要注重動(dòng)手能力。真 正讓理論與實(shí)際相結(jié)合。6附件6.1分頻功能實(shí)現(xiàn)的源代碼如下:library I

10、EEE。use IEEE.STD_LOGIC_1164.ALL 。 use IEEE.STD_LOGIC_ARITH.ALL 。use IEEE.STD_LOGIC_UNSIGNED.ALL 。 entity fp isport ( clk :in std_logic。end fp。architecture qq of fp is beginprocess(clk)variable cout16:integer range 0 to 1。4 variable cout10:integer range 0 to 2。3variable cout1:integer range 0 to 23。9b

11、eginif clkevent and clk=1the n if cout16=14-240hz 分頻為 16hzthen cout16:=C。q16=1。else cout16:=cout16+1。 q16=0。q16: out std_logic。q10: out std_logic。q1: out std_logic)。-頻率為 16 的時(shí)鐘-頻率為 10 的時(shí)鐘-頻率為 1 的時(shí)鐘end if。if cout10=23-240hz 分頻為 10hzthen cout10:=0。 q10=1。else cout10:=cout10+1。 q10=0。end if。if cout 仁 2

12、39-240hz 分頻為 1hzthen cout16:=0。 q1=1。else cout1:=cout1+1。 q1=0。end if。end if。end process。end qq。6.2計(jì)量功能模塊實(shí)現(xiàn)的源代碼library ieee。use ieee.std_logic_1164.a。use ieee.std_logic_arith.al。use ieee.std_logic_ un sig ned.a。entity jiliang isport( s: in std_logic。-計(jì)量開始信號fin: in std_logic。 - 計(jì)量路程的信號stop: in std_lo

13、gic。 -等待信號clk1: in std_logic。-計(jì)量驅(qū)動(dòng)信號en1,en0:buffer std_logic。-計(jì)量控制信號k1,k0: buffer std_logic_vector(3 downto 0)。-路程的計(jì)量m1,m0: buffer std_logic_vector(3 downto 0)。-時(shí)間的計(jì)量end jiliang。architecture rt2 of jiliang issignal w:integer range 0 to 59。beginprocess(clk1)beginif clk1event and clk1=1 then -驅(qū)動(dòng)信號發(fā)揮作用

14、if s=0 thenw=0。en 1=O。en0=0。m1=0000。m0=0000。-初始化值k1=0000。 k0=0000。elsif stop=1 then-等待信號為高,時(shí)間控制信號開始計(jì)時(shí)if w=59 then w=0。if m0=1001 then m0=0000 。if m1=0101 then m1=0000 。else m1=m1+1。end if。else m000000010then en 1=1。-當(dāng)時(shí)間大于 3min 時(shí)使能信號en1 開始使能else en1=0。end if。else w=w+1。 en1=0。end if。elsif fin=1 theni

15、f k0=1001 then k0=0000 。if k1=1001 then k1=0000。else k1=k1+1。end if。else k000000010 then en0=1。-當(dāng)路程大于 3km 時(shí),使能信號en0 開始發(fā)揮作用else en0=0。end if。else en1=0。 en0=0。end if 。end if 。end process。end rt2。6.3計(jì)費(fèi)功能實(shí)現(xiàn)的源代碼library IEEE 。use IEEE.STD_LOGIC_1164.ALL 。use IEEE.STD_LOGIC_ARITH.ALL 。use IEEE.STD_LOGIC_U

16、NSIGNED.ALL 。 entity jifei isport(clk2:in std_logic 。-計(jì)費(fèi)驅(qū)動(dòng)信號start: in std_logic。-計(jì)費(fèi)開始信號c0,c1,c2,c3: buffer std_logic_vector(3 downto 0)。 -費(fèi)用顯示信號 end jifei 。architecture rt3 of jifei isbeginprocess(clk2,start)beginif start=0 then c3=0000。c2=0000。c1=1000。c0=0000。elsif clk2event and clk2=1 thenif c0=10

17、01 then c0=0000。if c1=1001 then c1=0000。if c2=1001 then c2=0000。if c3=1001 then c3=0000。 -計(jì)費(fèi)功能else c3=c3+1。end if。else c2=c2+1。end if。else c1=c1+1。end if。else c0=c0+1。 end if 。end if 。end process。end rt3。6.4控制功能實(shí)現(xiàn)的源代碼如下:library IEEE 。use IEEE.STD_LOGIC_1164.ALL 。 use IEEE.STD_LOGIC_ARITH.ALL 。use IE

18、EE.STD_LOGIC_UNSIGNED.ALL 。entity kongzhi isport(ent0,ent1:in std_logic。clk_in1:in std_logic 。clk_in2:in std_logic 。clk_out:out std_logic)。 endkongzhi。architecture rt4of kongzhi is-輸入的使能選擇信號-輸入脈沖-輸入脈沖- 輸出脈沖beginprocess(ent0,ent1)beginif ent0=1 then-根據(jù)條件選擇所需的通道clk_out=clk_in1 。 elsif ent1=1 thenclk_o

19、ut=clk_in2 。end if。end process。end rt4。6.5譯碼和動(dòng)態(tài)掃描功能實(shí)現(xiàn)的源代碼如下:library ieee。use ieee.std_logic_1164.a。use ieee.std_logic_ un sig ned.a。entity yima isport(clk :in std_logic。m1,m0,k1,k0,c3,c2,c1,c0 : in std_logic_vector(3 downto 0。) sg:outstd_logic_vector(7 downto 0)。bt: out std_logic_vector(7 downto 0)。

20、end 。architecture behav of yima issignal cnt8:std_logic_vector( 2 downto 0)。 -定義信號signal a :std_logic_vector(3 downto 0)。signal b :std_logic_vector(7 downto 0)。signal c :std_logic_vector(7 downto 0)。 beginprocess(clk)beginif clkevent and clk=1then cnt8a=k0 。 c=0000000 1 。 b(7)a=k1 。c=00000010。b(7)a=

21、m0。c=00000 1 00 。b(7)a=m1。 c=00001000。 b(7)a=cO。c=00010000。ba=c1。 c=00100000。 b(7)a=c2。 c=01000000。 b(7)a=c3。 c=10000000。 b(7) null。end case。end process。process(a)-譯- 碼begincase a iswhen 0000=b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6 downto 0)b(6

22、downto 0)b(6 downto 0) null。end case。end process。sg=b。 btclk240,q16=m3,q10=m2,q1=.m1)。u2:jiliang port map(s=start,fin=fin,stop=stop,clk=m1,en1=n1,en0=n0,k1=temp3,k0=temp2,m1=temp1,m0=temp0)。u3:kongzhi port map(ent0=n1,ent1=n0,clk_int1=m2, clk_in2=m3,clkout=l) 。u4: jifei port map(clk2=l,start=start,c

23、0=p0,c1=p1, c2=p2,c3=p3)。u5:yimaportmap(clk=m1,m1=temp1,m0=temp0,k1=temp3,k0=temp2,c3=p3,c2=p2,c1=p1,c0=p0)。end behav。7評分表計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評分表課題名稱:出租車自動(dòng)計(jì)費(fèi)器教師簽名:日期:版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計(jì)等在網(wǎng)上搜集整項(xiàng)目評價(jià)設(shè)計(jì)方案的合理性與創(chuàng)造性設(shè)計(jì)與調(diào)試結(jié)果設(shè)計(jì)說明書的質(zhì)量答辯陳述與回答問題情況課程設(shè)計(jì)周表現(xiàn)情況綜合成績理。版權(quán)為潘宏亮個(gè)人所有This article in eludes some parts, in cludi n

24、g text,pictures, and desig n. Copyright is Pan Hon glia ngs pers onal ownership.用戶可將本文的內(nèi)容或服務(wù)用于個(gè)人學(xué)習(xí)、研究或欣賞,以及 其他非商業(yè)性或非盈利性用途,但同時(shí)應(yīng)遵守著作權(quán)法及其他相關(guān) 法律的規(guī)定,不得侵犯本網(wǎng)站及相關(guān)權(quán)利人的合法權(quán)利。除此以 外,將本文任何內(nèi)容或服務(wù)用于其他用途時(shí),須征得本人及相關(guān)權(quán) 利人的書面許可,并支付報(bào)酬。Users may use the contents or services of this article for personal study, research or appreciati on, and other

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論