出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第1頁(yè)
出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第2頁(yè)
出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第3頁(yè)
出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第4頁(yè)
出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目目 錄錄1 緒論緒論.11.1 設(shè)計(jì)背景.11.2 QUARTUS II 簡(jiǎn)介.11.3 VHDL 語言基礎(chǔ) .22 出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu)出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu).22.1 系統(tǒng)設(shè)計(jì)要求和目的.22.2.1 系統(tǒng)設(shè)計(jì)要求.22.2.1 系統(tǒng)設(shè)計(jì)目的.22.2 設(shè)計(jì)思路.32.3 系統(tǒng)總體結(jié)構(gòu).32.4 出租車計(jì)費(fèi)器系統(tǒng)工作流程圖.43 出租車計(jì)費(fèi)器的實(shí)現(xiàn)出租車計(jì)費(fèi)器的實(shí)現(xiàn).53.1 出租車計(jì)費(fèi)器的頂層原理圖.53.2 系統(tǒng)各功能模塊的實(shí)現(xiàn).53.2.1 計(jì)費(fèi)模塊 JIFEI.53.2.2 計(jì)量模塊 JILIANG.63.2.3 顯示控制模塊 SELTIME.73.2.4 顯示模塊 DEL

2、ED .74 出租車計(jì)費(fèi)器系統(tǒng)仿真及分析出租車計(jì)費(fèi)器系統(tǒng)仿真及分析.84.1 計(jì)費(fèi)系統(tǒng)的仿真.84.2 單元模塊的仿真及分析.104.2.1 譯碼顯示模塊的仿真及分析.104.2.2 顯示控制模塊的仿真及分析.124.2.3 計(jì)量模塊的仿真及分析.134.2.4 計(jì)費(fèi)模塊的仿真及分析.135 鎖定管腳及硬件實(shí)現(xiàn)鎖定管腳及硬件實(shí)現(xiàn).145.1 鎖定管腳圖.145.2 硬件實(shí)現(xiàn).145.2.1 顯示結(jié)果的幾種情況.155.2.2 硬件實(shí)現(xiàn)總結(jié).166 設(shè)計(jì)體會(huì)與總結(jié)設(shè)計(jì)體會(huì)與總結(jié).17參考文獻(xiàn)參考文獻(xiàn).18附附 錄錄.191 JILIANG 模塊的 VHDL 編程.192 JIFEI 模塊的 VH

3、DL 編程.213 SELTIME 控制模塊的 VHDL 編程.224 DELED 模塊的 VHDL 編程 .23出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)11 1 緒論緒論1.11.1 設(shè)計(jì)背景設(shè)計(jì)背景隨著我國(guó)社會(huì)經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營(yíng)運(yùn)事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。于是,出租車行業(yè)以低價(jià)高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計(jì)價(jià)器。汽車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具,它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無論是對(duì)廣大出租車

4、司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價(jià)器的研究也是具有一定意義的。出租車計(jì)費(fèi)器是出租車營(yíng)運(yùn)收費(fèi)的專用智能化儀表,是出租車市場(chǎng)規(guī)范化,標(biāo)準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備,簡(jiǎn)單易用,計(jì)量準(zhǔn)確的出租車計(jì)費(fèi)器是加強(qiáng)出租車行業(yè)管理,提高服務(wù)質(zhì)量的必需品。本設(shè)計(jì)就是采用 VHDL 硬件描述語言作為設(shè)計(jì)手段,采用自己的設(shè)計(jì)思路,得到一種出租車計(jì)價(jià)系統(tǒng)的軟件結(jié)構(gòu),通過 Quartus II 6.0軟件下進(jìn)行仿真,證明所設(shè)計(jì)的電路系統(tǒng)完成了出租車計(jì)價(jià)的功能,各項(xiàng)指標(biāo)符合設(shè)計(jì)要求,具有一定的實(shí)用性。1.21.2 QUARTUSQUARTUS IIII 簡(jiǎn)介簡(jiǎn)介QUARTUS I

5、I 是 Altera 公司的綜合性 CPLD/FPGA 開發(fā)軟件,支持原理圖、VHDL、VerilogHDL 等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 CPLD 設(shè)計(jì)流程。QUARTUS II 支持 Altera 的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。Altera QUARTUS II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)21.31.3 VHDLVHDL 語言基礎(chǔ)語言基礎(chǔ)一般而言,一個(gè)相對(duì)完整的

6、VHDL 語言程序至少應(yīng)三個(gè)基本組成部分:庫(kù)(Library)、程序包(Package)使用說明;實(shí)體(Entity)說明;實(shí)體對(duì)應(yīng)的結(jié)構(gòu)體(Architecture)說明。其中,庫(kù)、程序包使用說明用于打開(調(diào)用)本設(shè)計(jì)實(shí)體將要用到的庫(kù)、程序包;實(shí)體說明用于描述該設(shè)計(jì)實(shí)體與外界的接口信號(hào)說明,是可視部分;結(jié)構(gòu)體說明用于描述該設(shè)計(jì)實(shí)體內(nèi)部工作的邏輯關(guān)系,是不可視部分。在一個(gè)實(shí)體中,允許含有一個(gè)或多個(gè)結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體中又可以含有一個(gè)或多個(gè)進(jìn)程以及其他的語句。根據(jù)需要,實(shí)體還可以有配置說明語句。配置說明語句主要用于以層次化的方式對(duì)特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體。2

7、 2 出租車計(jì)費(fèi)器出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu)總體設(shè)計(jì)結(jié)構(gòu)2.12.1 系統(tǒng)設(shè)計(jì)要求和目的系統(tǒng)設(shè)計(jì)要求和目的2.2.12.2.1 系統(tǒng)設(shè)計(jì)要求系統(tǒng)設(shè)計(jì)要求1.起步價(jià)為 5.0 元,起步公里為 3 公里;2.超過 3 公里,每公里按 1 元收費(fèi),也可每 0.1 公里按 0.1 元收費(fèi);3.等候時(shí)間累計(jì) 1 分鐘,按每分鐘 0.1 元收費(fèi);4.用三個(gè)數(shù)碼管顯示總金額,最大值為 99.9 元;用三個(gè)數(shù)碼管顯示總里程,最大值 99.9 公里;用兩個(gè)數(shù)碼管顯示等待時(shí)間,最大值 99 分鐘。2.2.12.2.1 系統(tǒng)設(shè)計(jì)目的系統(tǒng)設(shè)計(jì)目的1.通過這次實(shí)驗(yàn)設(shè)計(jì)使我們加深對(duì) EDA 技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì)相關(guān)理論和概念

8、的理解,培養(yǎng)我們的理論聯(lián)系實(shí)際的能力,特別是實(shí)際動(dòng)手能力。2.學(xué)習(xí)使用 QUARTUS II 軟件設(shè)計(jì)。 3.根據(jù)原理圖學(xué)會(huì)用 VHDL 語言設(shè)計(jì)時(shí)序電路。4.學(xué)會(huì)繪制功能仿真波形圖。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)32.22.2 設(shè)計(jì)思路設(shè)計(jì)思路根據(jù)設(shè)計(jì)要求,電路具有計(jì)時(shí)、計(jì)程、計(jì)費(fèi)功能,用數(shù)碼管顯示行駛公里數(shù)、等待時(shí)間、收費(fèi)金額,行車?yán)锍毯偷却龝r(shí)間的處理電路將汽車行駛的里程數(shù)、轉(zhuǎn)換成與之成正比的計(jì)費(fèi)脈沖,然后由計(jì)費(fèi)電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個(gè)脈沖模擬汽車前進(jìn)十米,則每 100 個(gè)脈沖表示 1 公里,3 公里以后每 0.1公里產(chǎn)生一個(gè)計(jì)費(fèi)脈沖,一個(gè) 1HZ 的脈沖用來表示等待時(shí)間,60 個(gè)脈沖代表

9、1分鐘,1 分鐘即 60 個(gè)脈沖產(chǎn)生一個(gè)等待計(jì)費(fèi)脈沖,然后用計(jì)費(fèi)電路對(duì)計(jì)費(fèi)脈沖進(jìn)行計(jì)費(fèi)。2.32.3 系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)圖 2-1 系統(tǒng)總體結(jié)構(gòu)圖出租車計(jì)費(fèi)器的組成如上圖所示,通過控制模塊以高低脈沖模擬出租汽車啟動(dòng)、行駛、暫停,具有控制作用;通過控制模塊控制出租車的狀態(tài)來選擇出租車是計(jì)里程還是計(jì)等待時(shí)間,相應(yīng)產(chǎn)生的時(shí)間計(jì)費(fèi)脈沖信號(hào)和里程脈沖信號(hào)來計(jì)費(fèi),譯碼/動(dòng)態(tài)掃描模塊將等待時(shí)間、路程與費(fèi)用的數(shù)值譯碼后用動(dòng)態(tài)掃描出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)4的方式驅(qū)動(dòng)數(shù)碼管;數(shù)碼管顯示模塊將里程數(shù)、等待時(shí)間和計(jì)費(fèi)金額用數(shù)碼管顯示。2.42.4 出租車計(jì)費(fèi)器系統(tǒng)工作流程圖出租車計(jì)費(fèi)器系統(tǒng)工作流程圖圖 2-2 出租

10、車計(jì)費(fèi)系統(tǒng)工作流程圖出租車載客后,啟動(dòng)計(jì)費(fèi)器,整個(gè)系統(tǒng)開始工作,進(jìn)入初始化狀態(tài),即計(jì)程從 0 開始,計(jì)費(fèi)從 5.0 元開始。再根據(jù) BREAK 信號(hào)判斷行駛還是暫停。若是行駛狀態(tài),計(jì)費(fèi)器開始進(jìn)行里程計(jì)數(shù),當(dāng)里程超過 3 公里時(shí),計(jì)費(fèi)器開始累加,按每 0.1 公里收費(fèi) 0.1 元計(jì)算,計(jì)程器則繼續(xù),否則計(jì)費(fèi)器不變。若是暫停狀態(tài),計(jì)費(fèi)器開始進(jìn)行等候時(shí)間計(jì)數(shù),當(dāng)?shù)群驎r(shí)間累計(jì) 1 分鐘,則每分鐘 0.1 元計(jì)費(fèi)。最后將等候時(shí)間、里程、計(jì)費(fèi)都顯示出來。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)53 3 出租車計(jì)費(fèi)器的實(shí)現(xiàn)出租車計(jì)費(fèi)器的實(shí)現(xiàn)3.13.1 出租車計(jì)費(fèi)器的頂層原理圖出租車計(jì)費(fèi)器的頂層原理圖圖 3-1 出租車計(jì)費(fèi)器頂

11、層原理圖原理圖中輸入部分分別是 CLK:秒脈沖信號(hào),1 個(gè)脈沖代表 1 秒,則 60 個(gè)脈沖表示 1 分鐘。CLK1:10 米脈沖信號(hào),1 個(gè)脈沖代表 10 米,則 10 個(gè)脈沖表示 100 米,100 個(gè)脈沖代表 1 公里。START:計(jì)程車開啟信號(hào);DRIVE:計(jì)費(fèi)器啟動(dòng)信號(hào);BREAK:等待信號(hào),SEL 為計(jì)數(shù)控制信號(hào)輸出端。3.23.2 系統(tǒng)各功能模塊的實(shí)現(xiàn)系統(tǒng)各功能模塊的實(shí)現(xiàn)3.2.13.2.1 計(jì)費(fèi)模塊計(jì)費(fèi)模塊 JIFEIJIFEI計(jì)費(fèi)(JIFEI)模塊也是本系統(tǒng)的核心,完成起步價(jià)計(jì)費(fèi),等待時(shí)間計(jì)費(fèi),出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)6里程計(jì)費(fèi)功能。計(jì)費(fèi)器啟動(dòng),顯示起步價(jià) 5.0 元,之后每來一

12、個(gè)行駛里程計(jì)費(fèi)脈沖或者等待時(shí)間計(jì)費(fèi)脈沖,計(jì)費(fèi)金額自動(dòng)加 0.1 元。計(jì)費(fèi)顯示用 3 位數(shù)碼管,所以計(jì)費(fèi)最大值為 99.9 元。其中 CH2 表示費(fèi)用的十位,CHI 表示費(fèi)用的個(gè)位,CH0 表示費(fèi)用的十分位。B 為等待時(shí)間計(jì)費(fèi)脈沖信號(hào)或里程計(jì)費(fèi)脈沖信號(hào)。圖 3-2 JIFEI 模塊圖3.2.23.2.2 計(jì)量模塊計(jì)量模塊 JILIANGJILIANG圖 3-3 JILIANG 模塊圖本模塊是系統(tǒng)的核心模塊之一,能夠?qū)ν獠康男旭偩嚯x脈沖、等待時(shí)間脈沖進(jìn)行計(jì)數(shù)。因?yàn)樾旭偩嚯x每脈沖代表 10 米,所以計(jì)滿 100 個(gè)數(shù)就輸出一個(gè)行駛距離計(jì)費(fèi)脈沖,因?yàn)?3 公里之內(nèi)屬于起步價(jià),所以前 3 公里內(nèi)不輸出行

13、駛距離計(jì)費(fèi)脈沖,因?yàn)橛?3 位數(shù)碼管來顯示行駛距離,其中兩位整數(shù),一位小數(shù),所以行駛距離最小分辨率為 0.1 公里,行駛距離脈沖每計(jì) 10 個(gè)數(shù),行駛距離輸出加 0.1,行駛距離最大值為 99.9 公里。其中 KM2 為里程的十位,KM1 為里程的個(gè)位,KM0 為里程的十分位。等待時(shí)間脈沖頻率為 1HZ,所以一個(gè)脈沖代表 1秒,60 個(gè)等待脈沖是 1 分鐘,輸出等待時(shí)間加 1,等待時(shí)間滿 1 分鐘計(jì)一次費(fèi),所以對(duì)等待時(shí)間脈沖計(jì)數(shù),計(jì)滿 60 個(gè)數(shù)就輸出一個(gè)等待計(jì)費(fèi)脈沖。等待時(shí)間最出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)7大值為 99 分鐘。MIN1 為等待時(shí)間的十位,MIN0 為等待時(shí)間的個(gè)位。將行駛距離、等待時(shí)

14、間送到 SELTIME 模塊,時(shí)間與里程計(jì)費(fèi)脈沖送到計(jì)費(fèi)模塊完成里程、等待時(shí)間的計(jì)費(fèi)功能。B1 為超過 3 公里后,每 0.1 公里產(chǎn)生的計(jì)費(fèi)脈沖。B2 為每等待一分鐘產(chǎn)生的計(jì)費(fèi)脈沖。3.2.33.2.3 顯示控制模塊顯示控制模塊 SELTIMESELTIME圖 3-4 SELTIME 模塊圖SELTIME 模塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在數(shù)碼管上的顯示位置。sel 為計(jì)數(shù)控制信號(hào)輸出端,功能主要是利用其計(jì)數(shù)的八個(gè)狀態(tài),使 daout 在其每個(gè)狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED 模塊。dp 為小數(shù)點(diǎn)脈沖控制信號(hào),當(dāng)該模塊輸出的值為里程的個(gè)位、費(fèi)用的個(gè)位

15、時(shí),需要考慮小數(shù)點(diǎn)的存在,即此時(shí) dp=1,在其他不需要小數(shù)點(diǎn)的情況下,dp=0,最后 dp 將信號(hào)輸出到 DELED 模塊。3.2.43.2.4 顯示模塊顯示模塊 DELEDDELED出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)8圖 3-5 DELED 模塊圖DELED 模塊把送入的每個(gè)四位數(shù)據(jù)轉(zhuǎn)換為 7 段碼送出顯示,能夠使數(shù)碼管正常顯示送入的數(shù)據(jù)。其中 DP 為小數(shù)點(diǎn)輸入信號(hào)。4 4 出租車計(jì)費(fèi)器系統(tǒng)仿真及分析出租車計(jì)費(fèi)器系統(tǒng)仿真及分析4.14.1 計(jì)費(fèi)系統(tǒng)的仿真計(jì)費(fèi)系統(tǒng)的仿真圖 4-1 出租車啟動(dòng)時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖 4-1 可知,當(dāng)出租車未啟動(dòng)時(shí),里程、等待時(shí)間、費(fèi)用均為 0。出租出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)9

16、車剛啟動(dòng)時(shí),里程、等待時(shí)間為 0,費(fèi)用為出租車起步價(jià) 5 元。圖 4-2 出租車等待時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖 4-2 可知,當(dāng)出租車在等待過程中,行駛里程 16.2 公里,等待時(shí)間為32 分鐘時(shí),出租車的費(fèi)用為:5+(16.2-3)1+320.1=21.4 元,與仿真結(jié)果一致。圖 4-3 出租車行駛時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖 4-3 可知,當(dāng)出租車行駛到 66.6 千米,等待時(shí)間 60 分鐘時(shí),由仿真結(jié)果可得出費(fèi)用為 74.6 元;根據(jù)設(shè)計(jì)要求計(jì)算可得費(fèi)用為:5+(66.6-3)1+600.1=74.6 元。仿真結(jié)果與計(jì)算值一致,驗(yàn)證了設(shè)計(jì)的正確性。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)10圖 4-4 出租車停車

17、時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖當(dāng)出租車停車時(shí),出租車上的時(shí)間、里程和費(fèi)用清零,為下次計(jì)費(fèi)的開始做準(zhǔn)備。4.24.2 單元模塊的仿真及分析單元模塊的仿真及分析4.2.14.2.1 譯碼顯示模塊的仿真及分析譯碼顯示模塊的仿真及分析圖 4-5 譯碼顯示模塊的功能仿真圖圖 4-5 為譯碼顯示模塊的功能仿真波形圖,DP、S 為信號(hào)輸入端,也是顯出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)11示控制模塊的信號(hào)輸出端口,ABCDEFGH 八個(gè)端口為八位二進(jìn)制的輸出端口。假設(shè) DOUT=“HGFEDCBA”,由上圖可以看出:1. DP=0 時(shí):當(dāng) S(3 downto 0)=”0000”,則 DOUT=”00111111”;當(dāng) S(3 dow

18、nto 0)=”0001”,則 DOUT=”00000110”;當(dāng) S(3 downto 0)=”0010”,則 DOUT=”01011011”;當(dāng) S(3 downto 0)=”0011”,則 DOUT=”01001111”;當(dāng) S(3 downto 0)=”0100”,則 DOUT=”01100110”;當(dāng) S(3 downto 0)=”0101”,則 DOUT=”01101101”;當(dāng) S(3 downto 0)=”0110”,則 DOUT=”01111101”;當(dāng) S(3 downto 0)=”0111”,則 DOUT=”00000111”;當(dāng) S(3 downto 0)=”1000”

19、,則 DOUT=”01111111”;當(dāng) S(3 downto 0)=”1001”,則 DOUT=”01101111”;當(dāng) S(3 downto 0)等于上述值以外的值時(shí),則 DOUT=”00000000”。2. DP=1 時(shí):當(dāng) S(3 downto 0)=”0000”,則 DOUT=”10111111”;當(dāng) S(3 downto 0)=”0001”,則 DOUT=”10000110”;當(dāng) S(3 downto 0)=”0010”,則 DOUT=”11011011”;當(dāng) S(3 downto 0)=”0011”,則 DOUT=”11001111”;當(dāng) S(3 downto 0)=”0100”

20、,則 DOUT=”11100110”;當(dāng) S(3 downto 0)=”0101”,則 DOUT=”11101101”;當(dāng) S(3 downto 0)=”0110”,則 DOUT=”11111101”;當(dāng) S(3 downto 0)=”0111”,則 DOUT=”10000111”;當(dāng) S(3 downto 0)=”1000”,則 DOUT=”11111111”;當(dāng) S(3 downto 0)=”1001”,則 DOUT=”11101111”;當(dāng) S(3 downto 0)等于上述值以外的值時(shí),則 DOUT=”10000000”。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)124.2.24.2.2 顯示控制模塊的仿真

21、及分析顯示控制模塊的仿真及分析圖 4-6 顯示控制模塊的功能仿真圖圖 4-6 為顯示控制模塊功能仿真圖,其中 clk 為時(shí)鐘脈沖輸入端,sel 為計(jì)數(shù)控制信號(hào)輸出端,daout 為 sel 所控制狀態(tài)下的輸出到數(shù)碼管的位選信號(hào),dp 為小數(shù)點(diǎn)控制輸出信號(hào)。可以看出,當(dāng)時(shí)鐘沿上升時(shí)刻到來時(shí),計(jì)數(shù)器的輸出 sel 就自動(dòng)加 1,當(dāng)計(jì)數(shù)器輸出端加到“111”時(shí),再來一個(gè)脈沖上升沿,則計(jì)數(shù)的輸出端 sel 變?yōu)椤?00”,該顯示控制模塊的功能主要是利用其計(jì)數(shù)的八個(gè)狀態(tài),進(jìn)而去輪流控制數(shù)碼管的位選信號(hào)。由圖 4-6 可知:當(dāng) sel=“000”時(shí),則 daout=CH0;當(dāng) sel=“001”時(shí),dao

22、ut=CH1;當(dāng) sel=“010”時(shí),daout=CH2;當(dāng) sel=“011”時(shí),daout=KM0;當(dāng) sel=“100”時(shí),daout=KM1;當(dāng) sel=“101”時(shí),daout=KM2;當(dāng) sel=“110”時(shí),daout=MIN0;當(dāng)sel=“111”時(shí),daout=MIN1。由于 KM1、CH1 表示里程的個(gè)位和費(fèi)用的個(gè)位,其后都存在小數(shù),故在設(shè)計(jì)中當(dāng)顯示 KM1、CH1 時(shí)須加入小數(shù)點(diǎn),此時(shí)dp=1,在其他沒有小數(shù)點(diǎn)的情況時(shí) dp=0。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)134.2.34.2.3 計(jì)量模塊的仿真及分析計(jì)量模塊的仿真及分析圖 4-7 計(jì)量模塊的功能仿真圖圖 4-7 為計(jì)量模塊的

23、功能仿真圖,START 信號(hào)為高電平時(shí)(即出租車啟動(dòng))。當(dāng) DRIVE 為高電平且 BREAK 為低電平時(shí),出租車為行駛狀態(tài),此時(shí)里程計(jì)數(shù)模塊開始計(jì)數(shù),每經(jīng)過 10 個(gè) CLK1 脈沖信號(hào),里程加 0.1 公里,當(dāng)里程計(jì)數(shù)大于 3 公里時(shí),每計(jì) 0.1 公里產(chǎn)生 1 個(gè) B1 脈沖信號(hào)。當(dāng) DRIVE 為高電平且 BREAK為高電平時(shí),出租車為暫停狀態(tài),此時(shí)等待時(shí)間計(jì)數(shù)模塊開始計(jì)數(shù),每經(jīng)過 60個(gè) CLK 脈沖信號(hào),時(shí)間加 1 分鐘,每計(jì) 1 分鐘產(chǎn)生一個(gè) B2 脈沖信號(hào)。B1 和 B2分別為里程計(jì)費(fèi)脈沖和等待時(shí)間計(jì)費(fèi)脈沖。4.2.44.2.4 計(jì)費(fèi)模塊的仿真及分析計(jì)費(fèi)模塊的仿真及分析圖 4-

24、8 計(jì)費(fèi)模塊的功能仿真圖圖 4-8 為計(jì)費(fèi)模塊的功能仿真圖當(dāng) START 處于高電平且 DRIVE 處于高電平時(shí),每送入一個(gè)計(jì)費(fèi)脈沖且計(jì)費(fèi)脈沖處于上升沿時(shí),CH0 自動(dòng)加 1(即每送入一出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)14個(gè)計(jì)費(fèi)脈沖加 0.1 元)。CH0、CH1、CH2 為十進(jìn)制計(jì)數(shù)。CH2 表示費(fèi)用的十位,CH1 表示費(fèi)用的個(gè)位,CH0 表示費(fèi)用的十分位,計(jì)費(fèi)的最大值為 99.9 元。5 5 鎖定管腳及硬件實(shí)現(xiàn)鎖定管腳及硬件實(shí)現(xiàn)5.15.1 鎖定管腳圖鎖定管腳圖在驗(yàn)證出租車計(jì)費(fèi)器系統(tǒng)的功能之前,需要清楚實(shí)驗(yàn)箱與各個(gè)信號(hào)之間的對(duì)應(yīng)關(guān)系,參照資料得出本設(shè)計(jì)中各引腳的對(duì)應(yīng)情況如下:圖 5-1 頂層原理圖5.

25、25.2 硬件實(shí)現(xiàn)硬件實(shí)現(xiàn)通過硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編輯pin 文件。完成管腳定義后選擇器件,編譯后生成.sof 文件。選擇.sof 文件進(jìn)行下載。下載完成后,將第一全局時(shí)鐘 CLK1 的跳線器接 1Hz(作為秒脈沖信號(hào)),將第二全局時(shí)鐘 CLK2 的跳線器接 1Hz(作為十米脈沖信號(hào)),將第三全局時(shí)鐘 CLK3的跳線器接 32768Hz,用撥位開關(guān)模擬控制出租車的啟動(dòng)、行駛、暫停。觀察出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)15數(shù)碼管上數(shù)據(jù)的變化是否符合設(shè)計(jì)標(biāo)準(zhǔn)。在試驗(yàn)箱上八個(gè)數(shù)碼管從左至右分別顯示的是:等待時(shí)間的十位、等待時(shí)間的個(gè)位、里程的十位、里程的個(gè)位、里程的十分位、費(fèi)用

26、的十位、費(fèi)用的個(gè)位、費(fèi)用的十分位。5.2.15.2.1 顯示結(jié)果的幾種情況顯示結(jié)果的幾種情況圖 5-2 驗(yàn)證結(jié)果 1圖 5-2 表示出租車等待了 1 分鐘,行駛了 3.9 公里,即時(shí)車費(fèi)為 6.0 元。根據(jù)設(shè)計(jì)要求計(jì)算所得費(fèi)用為:5 元+(3.9-3)公里1 元/公里+1 分鐘0.1元/分鐘=6.0 元,計(jì)算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。圖 5-3 驗(yàn)證結(jié)果 2出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)16圖 5-3 表示出租車等待了 3 分鐘,行駛了 6.8 公里,即時(shí)車費(fèi)為 9.1 元。根據(jù)設(shè)計(jì)要求計(jì)算所得費(fèi)用為:5 元+(6.8-3)公里1 元/公里+3 分鐘0.1元/分鐘=9.1 元,計(jì)算結(jié)果與試驗(yàn)箱上所

27、得顯示結(jié)果相同。在試驗(yàn)箱驗(yàn)證過程中,我們可以看到,八位數(shù)碼管的右三位顯示起步價(jià)05.0,中間三個(gè)數(shù)碼管在以 0.1 為步長(zhǎng)進(jìn)行加法顯示行駛里程,當(dāng)行駛里程超過 3 公里之后,每 0.1 公里計(jì)費(fèi)金額加 0.1 元,當(dāng)我們按下等待暫停鍵,每分鐘左邊兩個(gè)數(shù)碼管加 1,其顯示的等待時(shí)間,當(dāng)?shù)却龝r(shí)間到 1 分鐘時(shí),計(jì)費(fèi)金額加 0.1 元,由此我們可以判斷,系統(tǒng)設(shè)計(jì)符合要求。5.2.25.2.2 硬件實(shí)現(xiàn)總結(jié)硬件實(shí)現(xiàn)總結(jié)通過對(duì)每一模塊的仿真和下載,可以實(shí)現(xiàn)各個(gè)模塊的邏輯功能,驗(yàn)證了各個(gè)模塊的正確性。在出租車計(jì)費(fèi)系統(tǒng)的 4 個(gè)模塊中,重點(diǎn)在于計(jì)量模塊(JILIANG),計(jì)費(fèi)模塊(JIFEI),顯示控制模塊

28、(SELTIME),譯碼顯示模塊(DELED)。JILIANG 模塊主要有汽車的開始、運(yùn)行、暫停,JILIANG 模塊主要記錄出租車的行駛里程和等待時(shí)間,并將等待時(shí)間計(jì)費(fèi)脈沖和行駛里程計(jì)費(fèi)脈沖送入 JIFEI 模塊;JIFEI 模塊主要是完成起步價(jià)計(jì)費(fèi)、等待時(shí)間計(jì)費(fèi)、行駛里程計(jì)費(fèi),并完成總費(fèi)用;SELTIME 模塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在八個(gè)數(shù)碼管上的位置。DELED 模塊是把送入的每個(gè)四位數(shù)據(jù)轉(zhuǎn)換為 7 段碼,從而能在數(shù)碼管上正確的顯示。這四個(gè)模塊的組合成完整的出租車系統(tǒng),在設(shè)計(jì)過程中還需要改進(jìn)的是控制出租車計(jì)費(fèi)系統(tǒng)的控制功能。 出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)

29、期的效果進(jìn)行模擬汽車開始、啟動(dòng)、暫停、停止等功能,由數(shù)碼管顯示出租車等待時(shí)間,行駛里程,費(fèi)用。車暫等待時(shí)停止行駛里程計(jì)費(fèi),車費(fèi)僅由等待時(shí)間計(jì)費(fèi);出租車正常行駛時(shí),僅根據(jù)里程收費(fèi)方式。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始。出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)中體現(xiàn)了 VHDL 覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言本設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。 該計(jì)費(fèi)器實(shí)現(xiàn)了按預(yù)置參數(shù)自動(dòng)計(jì)費(fèi)(最大計(jì)費(fèi)金額為 99.9 元)、自動(dòng)計(jì)程(最大計(jì)程公里數(shù)為 99.9 公里)等功能;能夠?qū)崿F(xiàn)起步價(jià)、每公里收費(fèi)、等待時(shí)間計(jì)費(fèi)的參數(shù)預(yù)置(如:起步價(jià) 5.0 元;3 公里后 1 元每公里;等待時(shí)間 0.1 元每分鐘),且預(yù)置

30、參數(shù)可調(diào)范圍廣。由于采用 CPLD 大規(guī)??删幊踢壿嬈骷麢C(jī)功耗小、抗干擾能力強(qiáng)、系統(tǒng)穩(wěn)定、工作可靠、升級(jí)方便。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)176 6 設(shè)計(jì)體會(huì)與總結(jié)設(shè)計(jì)體會(huì)與總結(jié)通過這次緊張而又充實(shí)的 EDA 課程設(shè)計(jì),我感受到了 VHDL 語言和普通軟件語言之間的區(qū)別,也能夠更加熟練地運(yùn)用 VHDL 語言進(jìn)行邏輯電路的設(shè)計(jì)了,受益匪淺。我們所做的課題是出租車計(jì)費(fèi)器的設(shè)計(jì)。老師給了我們課程設(shè)計(jì)題目,在這半個(gè)月的實(shí)驗(yàn)操作中,不斷的完善自己的設(shè)計(jì)要求,將自己的想法融入到實(shí)驗(yàn)的程序中去。最終通過仿真達(dá)到了自己預(yù)想的效果。有種先苦后甜的成就感。同時(shí)在本次試驗(yàn)中,我們熟練的掌握了 Quartus II 軟件

31、的使用。學(xué)會(huì)了如何把自己所設(shè)計(jì)的程序,通過軟件用波形仿真出來,再通過試驗(yàn)箱仿真出來。在這次課程設(shè)計(jì)過程中,要感謝陳老師在課程設(shè)計(jì)上給予我的幫助,提供給我的支持與建議,特別是幫助我解決了我半個(gè)月來一直遇到的運(yùn)行程序警告多的問題,這是我能順利完成這次報(bào)告的主要原因,讓我能把課程設(shè)計(jì)做得更加完善。在此期間,我不僅學(xué)到了許多新知識(shí),而且也開闊了視野,提高了自己的設(shè)計(jì)能力。其次,我要感謝幫助過我的同學(xué)們,他們也為我解決了不少難題。這些東西是無法再平時(shí)上課的過程中學(xué)到的,實(shí)踐出真知,只有在實(shí)驗(yàn)中我們才能更好的學(xué)到東西,不用紙上談兵,做無用功。出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)18參考文獻(xiàn)參考文獻(xiàn)1 徐飛.EDA 技術(shù)與

32、實(shí)踐M.北京:清華大學(xué)出版社,2011.2 王行,李衍.EDA 技術(shù)入門與提高M(jìn).西安:西安電子科技大學(xué)出版社,2005.3 劉昌華.數(shù)字邏輯 EDA 設(shè)計(jì)與實(shí)踐M.北京:國(guó)防工業(yè)出版社,2011.4 李蓉.基于 VHDL 語言的出租車自動(dòng)計(jì)費(fèi)器的設(shè)計(jì)J.科技風(fēng),2008,24:33.出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)19附附 錄錄1 1 JILIANGJILIANG 模塊的模塊的 VHDLVHDL 編程編程LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL

33、;ENTITY JILIANG IS PORT(CLK,CLK1 : IN STD_LOGIC; START : IN STD_LOGIC; DRIVE : IN STD_LOGIC; BREAK : IN STD_LOGIC; B1,B2 : OUT STD_LOGIC; KM2,KM1,KM0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); MIN1,MIN0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END JILIANG;ARCHITECTURE BEHAVE OF JILIANG IS SIGNAL R1:INTEGER RANGE

34、0 TO 9; SIGNAL K:STD_LOGIC_VECTOR (7 DOWNTO 0); SIGNAL K2,K1,K0 :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL W1:INTEGER RANGE 0 TO 59; SIGNAL M1:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL M0:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN RUN:PROCESS(CLK1,DRIVE,BREAK,K0,K1,K2) BEGIN IF START=1 THEN IF DRIVE=0 THEN K0=0000;K1

35、=0000;K2=0000;R1=0; ELSIF CLK1EVENT AND CLK1=1 THEN IF DRIVE=1AND BREAK=0 THEN IF R1=9 THEN R1=0; IF K0=1001 THEN K0=0000;k1=k1+1; IF K1=1001 THEN K1=0000;k2=k2+1; IF K2=1001 THEN K2=0000;出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)20 ELSE K2=K2+1; END IF; ELSE K1=K1+1; END IF; ELSE K0=K0+1; END IF; ELSE R1=R1+1;B1=0; END IF; K00000

36、010 THEN IF R19 THEN R1=R1+1;B1=0; ELSE R1=0; B1=1; END IF; END IF; END IF; END IF; ELSE K0=0000;K1=0000;K2=0000; END IF; KM0=K0;KM1=K1;KM2=K2; END PROCESS;PAUSE:PROCESS(CLK,DRIVE,BREAK,M0,M1) BEGINIF START=1 THEN IF DRIVE=0 THEN M0=0000;M1=0000;W1=0; ELSIF CLKEVENT AND CLK=1 THEN IF DRIVE=1 AND BRE

37、AK=1THEN IF W1=59 THEN W1=0;B2=1; IF M0=1001THEN M0=0000; M1=M1+1; IF M1=1001THEN M1=0000; ELSE M1=M1+1; END IF; ELSE M0=M0+1; END IF; ELSE W1=W1+1;B2=0; END IF; END IF; END IF; ELSE M0=0000;M1=0000; END IF; MIN0=M0; MIN1=M1; END PROCESS;END ARCHITECTURE ;出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)212 2 JIFEIJIFEI 模塊的模塊的 VHDLVHDL 編

38、程編程 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JIFEI IS PORT(B :IN STD_LOGIC; START:IN STD_LOGIC; DRIVE:IN STD_LOGIC; CH2,CH1,CH0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END JIFEI; ARCHITECTURE BEHAVE OF JIFEI IS SIGNAL C2,C1,C0:STD_LO

39、GIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(B,DRIVE,C0,C1,C2) BEGIN IF DRIVE=0 THEN C0=0000;C1=0101;C2=0000; ELSIF DRIVE=1 THEN IF BEVENT AND B=1 THEN IF C0=1001 THEN C0=0000; IF C1=1001THEN C1=0000; IF C2=1001THEN C2=0000; ELSE C2=C2+1; END IF; ELSE C1=C1+1;END IF;ELSE C0=C0+1; END IF; END IF;END IF;ELSE C0=0000;C1=0000;C2=0000;END IF;CH0=C0;CH1=C1;CH2=C2; END PROCESS; END;出租車自動(dòng)計(jì)費(fèi)器設(shè)計(jì)223 3 SELTIMESELTIME 控制模塊的控制模塊的 VHDLVHDL 編程編程librar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論