EDA課程設(shè)計(jì)出租車自動(dòng)計(jì)費(fèi)器_第1頁
EDA課程設(shè)計(jì)出租車自動(dòng)計(jì)費(fèi)器_第2頁
EDA課程設(shè)計(jì)出租車自動(dòng)計(jì)費(fèi)器_第3頁
EDA課程設(shè)計(jì)出租車自動(dòng)計(jì)費(fèi)器_第4頁
EDA課程設(shè)計(jì)出租車自動(dòng)計(jì)費(fèi)器_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . 課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱: EDA課程設(shè)計(jì) 專 業(yè) 班 級(jí) : 電科1002班 學(xué) 生 姓 名 :XXX 學(xué)號(hào) : 2010483602XX 指 導(dǎo) 教 師 : XXX 課程設(shè)計(jì)時(shí)間:2013-2-252013-3-8電子信息科學(xué)與技術(shù)專業(yè)課程設(shè)計(jì)任務(wù)書學(xué)生XXX專業(yè)班級(jí)電科1002班學(xué)號(hào)2010483602XX題目出租車自動(dòng)計(jì)價(jià)器設(shè)計(jì)課題性質(zhì)A課題來源D指導(dǎo)教師王勝軒同組主要容設(shè)計(jì)一個(gè)出租車計(jì)價(jià)器,該計(jì)價(jià)器計(jì)費(fèi)系統(tǒng)要求:行程3公里,且等待累計(jì)時(shí)間3分鐘,起步費(fèi)10元;3公里以外以每公里1.6元計(jì)費(fèi),等待累計(jì)時(shí)間3分鐘外以每分鐘1.5元計(jì)費(fèi)。并能顯示行駛公里數(shù)、等待累計(jì)時(shí)間、總費(fèi)

2、用。設(shè)計(jì)的主要技術(shù)指標(biāo):(1)計(jì)價(jià)圍:0999.9元 計(jì)價(jià)分辨率:0.1元(2)計(jì)程圍:099公里 計(jì)程分辨率:1公里(3)計(jì)時(shí)圍:059分 計(jì)時(shí)分辨率:1分任務(wù)要求(1) 制定完整地設(shè)計(jì)方案,結(jié)合框圖進(jìn)行說明。(2) 給出主要模塊的VHDL程序。(3) 如有可能,在實(shí)驗(yàn)箱上進(jìn)行下載驗(yàn)證。(4) 給出完整地設(shè)計(jì)報(bào)告。參考文獻(xiàn)(1)黃智偉. FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐 電子工業(yè) 2005.1(2)焦素敏. EDA課程設(shè)計(jì)指導(dǎo)書 工業(yè)大學(xué) 2008.2(3)焦素敏. EDA應(yīng)用技術(shù) 清華大學(xué) 2005.4審查意見指導(dǎo)教師簽字:教研室主任簽字:慶輝 2013年 2月 25日一、 設(shè)計(jì)任務(wù)與要求設(shè)計(jì)一個(gè)出

3、租車計(jì)價(jià)器:計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)3部分。用3位數(shù)碼管顯示金額,最大值為999.9元,最小計(jì)價(jià)單元為0.1元;行程3公里,且等待時(shí)間累計(jì)3分鐘,起步價(jià)10元,超過3公里,以每公里1.6元計(jì)費(fèi),等待時(shí)間單價(jià)為每分鐘1.5元;用兩位數(shù)碼管顯示總里程,最大值為99公里用兩位數(shù)碼管顯示等待時(shí)間,最大值為59min。 二、設(shè)計(jì)原理與總體框圖出租車自動(dòng)計(jì)費(fèi)器分為分頻模塊、控制模塊、計(jì)量模塊、計(jì)費(fèi)模塊、譯碼和顯示模塊。 A)、設(shè)計(jì)原理:(1)分頻模塊分頻模塊對(duì)頻率為240HZ的輸入脈沖進(jìn)行分頻,得到的頻率為16HZ、15HZ、和1HZ的3種頻率。該模塊產(chǎn)生頻率信號(hào)用于計(jì)費(fèi),每個(gè)脈沖為0.

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

5、)譯碼顯示模塊該模塊利用實(shí)驗(yàn)板上的譯碼器和數(shù)碼管分別將輸出的計(jì)費(fèi)數(shù)據(jù)(4位BCD碼)、計(jì)時(shí)數(shù)據(jù)(2位BCD碼)和計(jì)程數(shù)據(jù)(2位BCD碼)顯示輸出。其中計(jì)費(fèi)數(shù)據(jù)最后以百元、十元、元、叫、角為單位對(duì)應(yīng)的數(shù)碼管上顯示,最大顯示為999.9元;計(jì)時(shí)數(shù)據(jù)最后送至以分為單位對(duì)應(yīng)的數(shù)碼管上顯示,最大顯示為59s;計(jì)程數(shù)據(jù)最后送至以公里為單位的數(shù)碼管上顯示,最大公里為99公里。B)、總體框圖: 根據(jù)層次化設(shè)計(jì)理論將該問題自頂向下可分為分頻模塊、計(jì)量模塊、控制模塊、譯碼和顯示模塊各模塊功能如下:三、程序設(shè)計(jì)與編譯仿真1)、分頻模塊:對(duì)頻率為240HZ的輸入脈沖進(jìn)行分頻,得到的頻率為16HZ、15HZ、和1HZ的

6、3種頻率。程序如下:library IEEE; use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity fp is port ( clk :in std_logic; q16: out std_logic; -頻率為16的時(shí)鐘 q15: out std_logic; -頻率為15的時(shí)鐘 q1: out std_logic); -頻率為1的時(shí)鐘 end fp; architecture of fp is begin process(clk) variable

7、 cout16:integer range 0 to 14; variable cout15:integer range 0 to 15; variable cout1:integer range 0 to 239; begin if (clk'event and clk='1') then if cout16=14 -240hz分頻為16hz then cout16:=0;q16<='1' else cout16:=cout16+1;q16<='0' end if; if cout15=15 -240hz分頻為15hz th

8、en cout15:=0;q15<='1' else cout15:=cout15+1;q15<='0' end if; if cout1=239 -240hz分頻為1hz then cout1:=0;q1<='1' else cout1:=cout1+1;q1<='0' end if; end if; end process; end ;仿真波形:2)計(jì)量模塊:該模塊主要完成等待計(jì)時(shí)功能、計(jì)價(jià)功能、計(jì)程功能,同時(shí)產(chǎn)生3分鐘的等待計(jì)時(shí)使能控制信號(hào)en1、行程3公里外的使能控制信號(hào)en0。以與進(jìn)行滿量程清零。

9、library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity jiliang is port( s: in std_logic; -計(jì)量開始信號(hào) fin: in std_logic; - 計(jì)量路程的信號(hào) stop: in std_logic; -等待信號(hào) clk1: in std_logic; -計(jì)量驅(qū)動(dòng)信號(hào) en1,en0: buffer std_logic; -計(jì)量控制信號(hào) k1,k0: buffer std_logic_vec

10、tor(3 downto 0); -路程的計(jì)量 m1,m0: buffer std_logic_vector(3 downto 0); -時(shí)間的計(jì)量 end jiliang; architecture rt2 of jiliang is signal w:integer range 0 to 59; begin process(clk1) begin if (clk1'event and clk1='1') then -驅(qū)動(dòng)信號(hào)發(fā)揮作用 if s='0' then w<=0;en1<='0'en0<='0'

11、;m1<="0000"m0<="0000"k1<="0000"k0<="0000" -初始化值 elsif stop='1' then -等待信號(hào)為高時(shí)間控制信號(hào)開始計(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; el

12、se m0<=m0+1; end if; -計(jì)時(shí) if m1&m0>"00000010"then en1<='1' -當(dāng)時(shí)間大于3min時(shí)使能信號(hào) en1開始使能 else en1<='0' end if; else w<=w+1;en1<='0' end if; elsif fin='1' then if k0="1001" then k0<="0000" if k1="1001" then k1&l

13、t;="0000" else k1<=k1+1; end if; else k0<=k0+1; end if; -記路程 if k1&k0>"00000010" then en0<='1' -當(dāng)路程大于3km時(shí)使能信號(hào) en0開始發(fā)揮作用 else en0<='0' end if; else en1<='0'en0<='0' end if; end if; end process; end rt2;仿真波形:3)、控制模塊:該模塊主要進(jìn)行時(shí)間

14、和里程的切換。library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity kongzhi is port(ent0,ent1:in std_logic; -輸入的使能選擇信號(hào) clk_in1:in std_logic; -輸入脈沖 clk_in2:in std_logic; -輸入脈沖 clk_out:out std_logic); -輸出脈沖 end kongzhi; architecture rt4 of kongzhi is

15、 begin process(ent0,ent1)begin if ent0='1' then -根據(jù)條件選擇所需的通道 clk_out<=clk_in1; elsif ent1='1' then clk_out<=clk_in2; end if; end process; end rt4;仿真波形:4)、計(jì)費(fèi)模塊: 該程序主要進(jìn)行起步價(jià)設(shè)置,和計(jì)費(fèi)功能。library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNE

16、D.ALL; entity jifei is port(clk2:in std_logic; -計(jì)費(fèi)驅(qū)動(dòng)信號(hào) start: in std_logic; -計(jì)費(fèi)開始信號(hào) c0,c1,c2,c3: buffer std_logic_vector(3 downto 0);-費(fèi)用顯示信號(hào) end jifei; architecture rt3 of jifei is begin process(clk2,start) begin if start='0' then c3<="0000"c2<="0001"c1<="00

17、00"c0<="0000" elsif (clk2'event and clk2='1') then if c0="1001" 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 c

18、3<=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; endrt3;仿真波形:5)、譯碼顯示模塊:譯碼顯示模塊是應(yīng)用實(shí)驗(yàn)工具箱上的自帶的硬件電路顯示譯碼。6)頂層原理圖:仿真波形:五、 硬件調(diào)試與結(jié)果分析在MAX+plus II中對(duì)頂層文件進(jìn)行編輯、編譯、綜合、適配和仿真。選擇實(shí)驗(yàn)電路結(jié)構(gòu)NO.5,進(jìn)行引腳鎖定,CLK接到CLOCK0上,開始計(jì)費(fèi)鍵START鎖定到鍵3(PIO0)上,里程控制信號(hào)FIN鎖定到鍵2(PIO1)上,等待時(shí)間控制信號(hào)鎖定到鍵1(PIO)上。計(jì)費(fèi)輸出信號(hào)c0,c1,c2,c3分別鎖定到PIO31PIO28, PIO27PIO24, PIO23PIO20, PIO19PIO16上;時(shí)間輸出信號(hào)M1,M0分別鎖定到PIO39PIO36,PIO35PIO32上;里程輸出信號(hào)K1,K0分別鎖定到PIO47PIO44, PIO43PIO40上。仿真后下載到硬件實(shí)驗(yàn)箱的電路上,選擇圖NO.5

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論