版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于 VHDL的出租車(chē)計(jì)費(fèi)器設(shè)計(jì)摘要近年來(lái),隨著人們生活水平的提高, 出租車(chē)已經(jīng)成為人們出行必 不可少的交通工具之一。而出租車(chē)計(jì)費(fèi)器是出租車(chē)上的一個(gè)重要儀 器,它是乘客與司機(jī)雙方的公平交易準(zhǔn)則。在出租車(chē)的需求量不斷加 大的情況下,對(duì)出租車(chē)計(jì)費(fèi)器系統(tǒng)的穩(wěn)定性,靈活性的要求增加,具 有良好性能的計(jì)費(fèi)器對(duì)于司機(jī)和乘客都是很有必要的。 本文設(shè)計(jì)了一 個(gè)基于 VHDL的出租車(chē)計(jì)費(fèi)器系統(tǒng), 該系統(tǒng)分為計(jì)費(fèi)和顯示兩大模塊。 計(jì)費(fèi)模塊是實(shí)現(xiàn)系統(tǒng)功能的核心,根據(jù)輸入信號(hào),將里程、計(jì)費(fèi)和等 候時(shí)間以 BCD碼形式顯示出來(lái),顯示模塊將其譯碼輪流掃描顯示。本 設(shè)計(jì)首先在 Quartus 軟件中,用 VHDL語(yǔ)言對(duì)各個(gè)
2、模塊進(jìn)行設(shè)計(jì), 其 次畫(huà)出頂層原理圖, 然后對(duì)頂層文件進(jìn)行仿真測(cè)試,最后將仿真成功 的設(shè)計(jì)文件下載到 EDA實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。 驗(yàn)證結(jié)果具有計(jì)時(shí)、計(jì)里程、 計(jì)費(fèi)等功能 。 矚慫潤(rùn)厲釤瘞睞櫪廡賴(lài)。關(guān)鍵詞: 出租車(chē)計(jì)費(fèi)器; VHDL; Quartus ;設(shè)計(jì)Design of Taximeter Based on VHDLAbstractWith the development of peoples living standard, taxi has become an important transportation in recent years. And taxi meter is an im
3、portant instrument in taxi, it is the fair trade standards in both passengers and drivers. In the situation that the demand of taxi is increasing continuously and the requirements of taxi meter systems stability and flexibility are increase, the taxi meter which have a good performance is very neces
4、sary for drivers and passengers. This paper designs a taxi meter based on VHDL, the taxi meter system is divided into two modules: charge control and display control. The charge control module is the core to realize the function of the system, according to the input signal, display the mileage, char
5、ge and waiting time by BCD code. The display module will be scan and display decoding alternately. Firstly, using VHDL language compile the various parts in Quartus software, and draw the top diagram. Then the simulation test. Finally, the success of simulation program will be downloaded into the ED
6、A experiment box. The validation result comply with the design requirements, there are many functions, as record the time, mileage and charge. 聞創(chuàng)溝燴鐺險(xiǎn)愛(ài)氌譴凈。Key woords: taximeter; VHDL; Quartus ; design目錄中文摘要 . 殘騖樓諍錈瀨濟(jì)溆塹籟。英文摘要 .1 引言 釅1錒極額閉鎮(zhèn)檜豬訣錐。1.1 設(shè)計(jì)背景 彈1貿(mào)攝爾霽斃攬磚鹵廡。1.2 VHDL 簡(jiǎn)介 謀1蕎摶篋飆鐸懟類(lèi)蔣薔。1.3 Quartus簡(jiǎn)介
7、 3廈礴懇蹣駢時(shí)盡繼價(jià)騷。2 出租車(chē)計(jì)費(fèi)器的設(shè)計(jì) 煢3 楨廣鰳鯡選塊網(wǎng)羈淚。2.1 系統(tǒng)設(shè)計(jì)要求 鵝3婭盡損鵪慘歷蘢鴛賴(lài)。2.2 設(shè)計(jì)思路 籟4叢媽羥為贍僨蟶練淨(jìng)。2.3 出租車(chē)計(jì)費(fèi)器系統(tǒng)工作流程圖 4預(yù)頌圣鉉儐歲齦訝驊糴。3 出租車(chē)計(jì)費(fèi)器的實(shí)現(xiàn) 滲6 釤嗆儼勻諤鱉調(diào)硯錦。3.1 出租車(chē)計(jì)費(fèi)器的頂層原理圖 6鐃誅臥瀉噦圣騁貺頂廡。3.2 系統(tǒng)各功能模塊的實(shí)現(xiàn) 6擁締鳳襪備訊顎輪爛薔。3.2.1 模塊 taxi:charge_control 贓6 熱俁閫歲匱閶鄴鎵騷。3.2.2 模塊 display:display_control 7壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚。4 出租車(chē)計(jì)費(fèi)器系統(tǒng)仿真及分析 8蠟變黲
8、癟報(bào)倀鉉錨鈰贅。4.1 頂層實(shí)體的仿真波形 8買(mǎi)鯛鴯譖曇膚遙閆擷凄。4.2 計(jì)費(fèi)模塊的仿真波形 9綾鏑鯛駕櫬鶘蹤韋轔糴。4.3 顯示模塊的仿真波形 10驅(qū)躓髏彥浹綏譎飴憂(yōu)錦。4.4 管腳鎖定 1貓0蠆驢繪燈鮒誅髏貺廡。4.5 顯示結(jié)果的幾種情況 1鍬1 籟饗逕瑣筆襖鷗婭薔。5 總結(jié) 1構(gòu)1氽頑黌碩飩薺齦話(huà)騖。參考文獻(xiàn) 1輒2嶧陽(yáng)檉籪癤網(wǎng)儂號(hào)澩。致 謝 1堯3側(cè)閆繭絳闕絢勵(lì)蜆贅。附 錄 1識(shí)4饒鎂錕縊灩筧嚌儼淒。巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )1 引言1.1 設(shè)計(jì)背景出租車(chē)行業(yè)在我國(guó)八十年代初開(kāi)始興起, 因?yàn)槠浞奖憧旖莸奶攸c(diǎn)受到人們的 歡迎。尤其是近幾年里,人們物質(zhì)生活水平得到提高
9、以及生活節(jié)奏加快了,很多 城市的出租車(chē)行業(yè)迅速發(fā)展, 出租車(chē)已經(jīng)成為人們出行的普遍選擇之一。 而出租 車(chē)計(jì)費(fèi)器是出租車(chē)內(nèi)重要的儀器之一, 它能夠規(guī)范出租車(chē)市場(chǎng), 減小乘客與司機(jī) 之間發(fā)生糾紛的可能性。 要想加強(qiáng)出租車(chē)行業(yè)的管理, 提高服務(wù)的質(zhì)量就必須要 有一種功能齊全,準(zhǔn)確計(jì)量,簡(jiǎn)單又易用的出租車(chē)計(jì)費(fèi)器。因?yàn)槌鲎廛?chē)計(jì)費(fèi)器計(jì) 數(shù)是連續(xù)累加的, 所以它可以顯示出任一時(shí)刻乘客應(yīng)付的費(fèi)用。 我國(guó)最初所使用 的計(jì)費(fèi)器只有一種功能,即計(jì)量。我國(guó)第一家生產(chǎn)計(jì)費(fèi)器的是重慶起重機(jī)廠,早 期的計(jì)費(fèi)器就是個(gè)里程表 , 因?yàn)樗鼈兌际怯玫臋C(jī)械齒輪結(jié)構(gòu),只能實(shí)現(xiàn)最簡(jiǎn)單的 計(jì)程功能。如今我國(guó)有上百家企業(yè)生產(chǎn)出租車(chē)計(jì)費(fèi)器,
10、這些企業(yè)主要分布在北京, 上海,廣州和沈陽(yáng)等地。隨著時(shí)代的發(fā)展,第一代計(jì)費(fèi)器已經(jīng)不能滿(mǎn)足人們的需 求,科學(xué)技術(shù)的發(fā)展使第二代計(jì)費(fèi)器應(yīng)運(yùn)而生。 它實(shí)現(xiàn)了半機(jī)械半電子化的設(shè)計(jì), 采用的是手搖計(jì)算機(jī)與機(jī)械結(jié)構(gòu)相結(jié)合的方式, 它不僅能實(shí)現(xiàn)計(jì)程的功能, 同時(shí) 還能完成計(jì)價(jià)的工作, 給計(jì)費(fèi)器的使用者帶來(lái)了方便。 而大規(guī)模集成電路的發(fā)展 又給計(jì)費(fèi)器帶來(lái)了新的變化,產(chǎn)生了第三代計(jì)費(fèi)器,即全電子化的計(jì)費(fèi)器。它的 功能變得更多,同時(shí)也在不斷完善的過(guò)程之中。在改進(jìn)和完善的過(guò)程中,產(chǎn)生了 很多實(shí)用的附加功能,給人們帶來(lái)了更多的方便。例如: (1)LED 顯示功能。在 計(jì)費(fèi)器中添加數(shù)碼管,讓計(jì)費(fèi)器多屏顯示的功能得以實(shí)現(xiàn)
11、; (2) 永久時(shí)鐘功能。 將日歷時(shí)鐘芯片運(yùn)用到計(jì)費(fèi)器當(dāng)中, 即使是在非營(yíng)運(yùn)的狀態(tài)下, 計(jì)費(fèi)器上的時(shí)鐘 也可以永久顯示; (3) 存儲(chǔ)功能。計(jì)費(fèi)器可長(zhǎng)時(shí)間存儲(chǔ)多項(xiàng)營(yíng)運(yùn)數(shù)據(jù),以便于需 要的時(shí)候查詢(xún) 1 。凍鈹鋨勞臘鍇癇婦脛糴。1.2 VHDL 簡(jiǎn)介硬件描述語(yǔ)言已經(jīng)有幾十年的發(fā)展歷史,并且在系統(tǒng)的仿真、驗(yàn)證和設(shè)計(jì)、 綜合等方面得到成功的應(yīng)用。 目前常用的硬件描述語(yǔ)言有 VHDL、 Verilog HDL 、出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)ABEL等234 。VHDL則起源于 20世紀(jì) 70 年代末和 80 年代初,美國(guó)國(guó)防部提出 的 VHSIC計(jì)劃,目標(biāo)是為下一代集成電路的生產(chǎn)、 實(shí)踐階段性的工藝極限和完
12、成 10 萬(wàn)門(mén)級(jí)以上的電路設(shè)計(jì)而建立一種新的描述方法5 。 VHDL 的英文全稱(chēng)為Very-High-Speed Integrated Circuit Hardware Description Language, 是 IEEE 標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,并且已經(jīng)成為系統(tǒng)描述的國(guó)際公認(rèn)標(biāo)準(zhǔn),得到眾多 EDA 公司的支持。 恥諤銪滅縈歡煬鞏鶩錦。VHDL具有很多的優(yōu)點(diǎn)使它能夠被大多數(shù)人認(rèn)可,被廣泛應(yīng)用在邏輯電路的 設(shè)計(jì)方面,并且成為了標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,其優(yōu)點(diǎn)如下: 鯊腎鑰詘褳鉀溈懼統(tǒng)庫(kù)。(1) 功能強(qiáng)大和設(shè)計(jì)靈活。 一個(gè)簡(jiǎn)潔的使用 VHDL語(yǔ)言編寫(xiě)的程序就可以描述 一個(gè)復(fù)雜的邏輯電路,因?yàn)?VHD
13、L擁有強(qiáng)大的語(yǔ)言結(jié)構(gòu) 6 。VHDL多層次的設(shè)計(jì)描 述功能可以有效地控制設(shè)計(jì)的實(shí)現(xiàn), 支持設(shè)計(jì)庫(kù)和可重復(fù)使用的元件生成, 還支 持多種設(shè)計(jì)方式,如層次化設(shè)計(jì)、模塊化設(shè)計(jì)和同步、異步和隨機(jī)電路設(shè)計(jì)。 碩 癘鄴頏謅攆檸攜驤蘞。(2) 與具體器件無(wú)關(guān)。用 VHDL設(shè)計(jì)硬件電路時(shí)不用先確定設(shè)計(jì)要用到哪種器 件,也不用特別熟悉器件的內(nèi)部結(jié)構(gòu), 這樣可以使設(shè)計(jì)人員專(zhuān)注于進(jìn)行系統(tǒng)設(shè)計(jì)。 設(shè)計(jì)完成后,可以根據(jù)消耗的資源選擇合適的器件,而不造成資源的浪費(fèi)。 閿擻輳 嬪諫遷擇楨秘騖。(3) 很強(qiáng)的移植能力。 VHDL由很多不同的工具支持,同一個(gè)設(shè)計(jì)的程序可以 在包括綜合工具、仿真工具、系統(tǒng)平臺(tái)等工具中使用。 氬嚕
14、躑竄貿(mào)懇彈瀘頷澩。(4) 強(qiáng)大的硬件描述能力。 VHDL可以描述系統(tǒng)級(jí)電路和門(mén)級(jí)電路,而且描述 方式多樣,可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以用其混合 描述方式。同時(shí), VHDL可以準(zhǔn)確地建立硬件電路模型,因?yàn)樗С謶T性延遲和 傳輸延遲。 VHDL的數(shù)據(jù)類(lèi)型很豐富,支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類(lèi)型,當(dāng)標(biāo)準(zhǔn)定義的 數(shù)據(jù)類(lèi)型不能滿(mǎn)足用戶(hù)的需求時(shí), 用戶(hù)可以自己定義的所需要的數(shù)據(jù)類(lèi)型, 增加 了設(shè)計(jì)的自由度。 釷鵒資贏車(chē)贖孫滅獅贅。(5) 語(yǔ)法規(guī)范,易于共享。當(dāng)把用 VHDL編寫(xiě)的代碼文件看作是程序時(shí),它可 以作為設(shè)計(jì)人員之間的交流內(nèi)容; 當(dāng)把它看作是文檔時(shí), 可以作為簽約雙方的合 同文本。
15、VHDL易于共享的特點(diǎn),使得大規(guī)模的協(xié)作開(kāi)發(fā)容易實(shí)現(xiàn)。同時(shí),這些 特點(diǎn)也促進(jìn)了 VHDL的發(fā)展和完善。 慫闡譜鯪逕導(dǎo)嘯畫(huà)長(zhǎng)涼。綜上所述, VHDL有很多其他的硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。但是, VHDL 仍然存在一些缺點(diǎn),主要是 3 個(gè)方面。 諺辭調(diào)擔(dān)鈧諂動(dòng)禪瀉類(lèi)。巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )(1) 要求設(shè)計(jì)者對(duì)硬件電路知識(shí)甚至是芯片結(jié)構(gòu)方面的知識(shí)了解較多。應(yīng)該 擺脫一般的高級(jí)語(yǔ)言程序設(shè)計(jì)思路,因?yàn)樵陔娐肥澜缋锏氖录芏嗍遣⑿邪l(fā)生 的,并且硬件電路系統(tǒng)內(nèi)部的模塊可以是互相獨(dú)立的,也可以是互為因果的,所 以,在用 VHDL設(shè)計(jì)硬件電路時(shí)應(yīng)擺脫一般的高級(jí)語(yǔ)言程序設(shè)計(jì)思路。在設(shè)計(jì)電
16、 路時(shí),應(yīng)先構(gòu)思電路,然后才能描述。 嘰覲詿縲鐋囁偽純鉿錈。(2) 不能進(jìn)行太抽象的系統(tǒng)描述。 因?yàn)?EDA工具無(wú)法綜合抽象性太強(qiáng)的系統(tǒng) 故用 VHDL描述系統(tǒng)電路時(shí)不能太抽象。目前的 VHDL很難綜合實(shí)際的硬件電路, 只能適用于系統(tǒng)建模。 熒紿譏鉦鏌觶鷹緇機(jī)庫(kù)。(3) 不能描述模擬電路。對(duì)于模擬電路而言, VHDL并不是一種理想的硬件描 述語(yǔ)言。但可以預(yù)見(jiàn), 未來(lái)硬件描述語(yǔ)言的發(fā)展方向是模擬電路和數(shù)?;旌想娐?的描述方式。 鶼漬螻偉閱劍鯫腎邏蘞。1.3 Quartus 簡(jiǎn)介Quartus II 是 Altera 公司的綜合性 PLD開(kāi)發(fā)軟件,可以采用多種輸入方式, 如 VHDL、 Veril
17、og HDL 、AHDL(Altera Hardware Description Language) 及電路 圖等。它支持一些比較成熟的模塊,如 LPM/MegaFunction 宏功能模塊庫(kù)等,設(shè) 計(jì)者可以直接調(diào)用這些模塊, 從而使設(shè)計(jì)的復(fù)雜性降低了, 設(shè)計(jì)的速度也加快了。 Quartus II 內(nèi)帶有綜合器和仿真器, 可以完成從設(shè)計(jì)輸入到硬件配置的完整 PLD 設(shè)計(jì)流程,減少了設(shè)計(jì)者的工作量。 Quartus II 是一種綜合性的開(kāi)發(fā)平臺(tái),在 Quartus II 中可以進(jìn)行系統(tǒng)級(jí)設(shè)計(jì)嵌入式的軟件開(kāi)發(fā)和可編程邏輯的設(shè)計(jì)。 Quartus II 越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎,是因?yàn)?Qua
18、rtus II 擁有強(qiáng)大 的設(shè)計(jì)能力和直觀易用的接口, 可以在多種平臺(tái)上使用, 如 XP、Linux 以及 Unix 等,具有完善的用戶(hù)圖形界面設(shè)計(jì)方式,運(yùn)行速度快,功能集中,易學(xué)易用等特 點(diǎn)78 。 紂憂(yōu)蔣氳頑薟驅(qū)藥憫騖。2 出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)要求系統(tǒng)設(shè)計(jì)要求為:出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)(1) 起步價(jià)為 8.00 元,起步公里為 3 公里;(2) 超過(guò) 3 公里,每公里按 1.00 元收費(fèi);(3) 單程行駛里程超過(guò) 20 公里,每公里租價(jià)加收 50%;(4) 等候時(shí)間累計(jì) 1 分鐘,則每分鐘折算 1 公里里程價(jià)。 要求顯示里程、計(jì)費(fèi)及等候時(shí)間。乘客上車(chē)后,按下啟動(dòng)鍵,開(kāi)始計(jì)費(fèi)
19、,除非同一乘客往返乘車(chē),否則按下單 程鍵,這樣當(dāng)行駛里程超過(guò) 20 公里時(shí),每公里收費(fèi) 1.5 元。 穎芻莖蛺餑億頓裊賠瀧。2.2 設(shè)計(jì)思路根據(jù)系統(tǒng)的功能要求,分為 2 個(gè)模塊來(lái)實(shí)現(xiàn),分別是計(jì)費(fèi)模塊,顯示模塊。 計(jì)費(fèi)模塊是實(shí)現(xiàn)系統(tǒng)功能的核心,里面有分為分頻、計(jì)時(shí)、公里計(jì)數(shù)、計(jì)費(fèi)等部 分。分頻部分是把外部提供的 300Hz進(jìn)行分頻得到系統(tǒng)工作需要的工作脈沖, 計(jì) 費(fèi)部分包括兩個(gè)內(nèi)容, 一個(gè)是正常行駛的里程數(shù)所產(chǎn)生的費(fèi)用, 另一個(gè)是車(chē)行中 途暫停的時(shí)間所產(chǎn)生的費(fèi)用。 然后將里程、 計(jì)費(fèi)和等候時(shí)間以 BCD碼形式顯示出 來(lái),顯示模塊將其譯碼輪流掃描顯示。 濫驂膽閉驟羥闈詔寢賻。2.3 出租車(chē)計(jì)費(fèi)器系
20、統(tǒng)工作流程圖對(duì)出租車(chē)計(jì)費(fèi)器系統(tǒng)的功能要求進(jìn)行分析,得到如下工作流程圖:巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )圖 1 工作流程圖出租車(chē)載客后,啟動(dòng)計(jì)費(fèi)器,整個(gè)系統(tǒng)開(kāi)始工作,進(jìn)入初始化狀態(tài),即計(jì)程 從 0 開(kāi)始,計(jì)費(fèi)從 8 開(kāi)始。再根據(jù) stop 信號(hào)判斷行駛還是暫停。若是行駛狀態(tài), 計(jì)費(fèi)器開(kāi)始進(jìn)行里程計(jì)數(shù),當(dāng)里程超過(guò) 3 公里時(shí),計(jì)費(fèi)器開(kāi)始累加,按 1.00 元 每公里計(jì)算,計(jì)程器則繼續(xù),否則計(jì)費(fèi)器不變。當(dāng)里程超過(guò) 20 公里,按 1.50 每 公里進(jìn)行累加。若是暫停狀態(tài),計(jì)費(fèi)器開(kāi)始進(jìn)行等候時(shí)間計(jì)數(shù),當(dāng)?shù)群驎r(shí)間累計(jì) 1分鐘,則每分鐘折算 1公里里程價(jià)。 最后將等候時(shí)間、 里程、計(jì)費(fèi)都顯示
21、出來(lái)。 銚銻縵嚌鰻鴻鋟謎諏涼。出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)3 出租車(chē)計(jì)費(fèi)器的實(shí)現(xiàn)3.1 出租車(chē)計(jì)費(fèi)器的頂層原理圖圖 2 頂層原理圖原理圖中輸入部分分別是 clk :系統(tǒng)時(shí)鐘信號(hào);mile :公里脈沖信號(hào);single : 單程鍵; start :計(jì)費(fèi)器啟動(dòng)信號(hào); stop :等待信號(hào)。輸出部分為七段譯碼 show 和位選碼 sel ,show 顯示出來(lái)的是等候時(shí)間、里程和計(jì)費(fèi)。 擠貼綬電麥結(jié)鈺贖嘵類(lèi)。描述系統(tǒng)頂層實(shí)體的 VHDL程序見(jiàn)附錄。3.2 系統(tǒng)各功能模塊的實(shí)現(xiàn)3.2.1 模塊 taxi:charge_control6巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )圖 3 計(jì)費(fèi)模塊設(shè)計(jì)計(jì)費(fèi)模塊
22、的難點(diǎn)在于小數(shù)計(jì)算,由計(jì)費(fèi)規(guī)則知,單程行駛里程超過(guò) 20 公里,每公里租價(jià)加收 50%,即每公里租價(jià) 1.5 元。20 公里是臨界值, 在此以后, 計(jì)費(fèi)以 1.5 元累加,需要對(duì)計(jì)數(shù)進(jìn)行討論,因?yàn)閭€(gè)位為 8或 9都可能導(dǎo)致進(jìn)位。 等候時(shí)間累計(jì) 1分鐘,則每分鐘折算 1 公里里程價(jià),所以,等候和行駛都可使計(jì) 費(fèi)增加。為此,設(shè)計(jì) 2 個(gè)時(shí)鐘脈沖,公里脈沖和等候脈沖,根據(jù)汽車(chē)行駛還是等 候選擇計(jì)費(fèi)脈沖。 賠荊紳諮侖驟遼輩襪錈。描述計(jì)費(fèi)模塊的 VHDL程序見(jiàn)附錄。3.2.2 模塊 display:display_control圖 4 顯示模塊顯示模塊用來(lái)將計(jì)費(fèi)模塊輸出譯碼,然后輪流掃描數(shù)碼管。如圖5,
23、出租車(chē)計(jì)費(fèi)器共有 8 個(gè)數(shù)碼管,帶一個(gè)使能端,高電平有效。 塤礙籟饈決穩(wěn)賽釙冊(cè)庫(kù)。abh g f e d c b a8 7 6 5 4 3 2 1ch圖 5 七段數(shù)碼管與向量元素對(duì)應(yīng)表 1 七段數(shù)碼管段位碼十進(jìn)制數(shù)字段位碼0001111111000001107出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)201011011301100111401100110501101101601111101700100111801111111901101111滅00000000描述顯示模塊的 VHDL程序見(jiàn)附錄4 出租車(chē)計(jì)費(fèi)器系統(tǒng)仿真及分析4.1 頂層實(shí)體的仿真波形圖 6 系統(tǒng)頂層實(shí)體仿真波形圖之一圖 7 系統(tǒng)頂層實(shí)體仿真波形圖
24、之由圖 7 可知 001(表示 c1) 對(duì)應(yīng) 11101111(表示 9.) , 100(表示 k0) 對(duì)應(yīng) 01100110(表示 4) ,其余均對(duì)應(yīng) 00111111(表示 0) ,即顯示為行駛 4公里,費(fèi)用 為 9.0 元。 裊樣祕(mì)廬廂顫諺鍘羋藺。巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )4.2 計(jì)費(fèi)模塊的仿真波形圖 8(a)圖 8(b)圖 8(c)圖 8 均為計(jì)費(fèi)模塊的仿真波形圖, 由圖 8(a) 可看出汽車(chē)是單程行駛, 圖 8(b) 可看出汽車(chē)在中途暫停了一段時(shí)間,在圖 8(c) 中可直觀地看出汽車(chē)行駛了 75 公 里,等候時(shí)間為 4分鐘,應(yīng)付的費(fèi)用為 113.5 元。 倉(cāng)嫗盤(pán)紲
25、囑瓏詁鍬齊驁。出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)4.3 顯示模塊的仿真波形鐘,將計(jì)費(fèi)模塊輸出譯碼,然后輪流掃描數(shù)碼管,顯示各個(gè)數(shù)據(jù),等候時(shí)間 4 分 里程 75 公里,計(jì)費(fèi) 113.5 元。 綻萬(wàn)璉轆娛閬蟶鬮綰瀧。4.4 管腳鎖定在驗(yàn)證出租車(chē)計(jì)費(fèi)器系統(tǒng)的功能之前, 需要清楚實(shí)驗(yàn)箱與各個(gè)信號(hào)之間的對(duì) 應(yīng)關(guān)系,參照資料得出本設(shè)計(jì)中各引腳的對(duì)應(yīng)情況如下: 驍顧燁鶚巰瀆蕪領(lǐng)鱺賻。圖 10 管腳鎖定管腳鎖定后將頂層文件下載到 EDA實(shí)驗(yàn)箱芯片中,驗(yàn)證計(jì)費(fèi)器的功能10巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )4.5 顯示結(jié)果的幾種情況圖 11 表示汽車(chē)行駛 21 公里,應(yīng)付費(fèi) 26.5 元,符合設(shè)計(jì)要求圖 12
26、 驗(yàn)證結(jié)果 2圖 12 表示汽車(chē)行駛 25 公里,在行駛 20公里之后的一段時(shí)間內(nèi)停留 4 分鐘, 應(yīng)付費(fèi) 38.5 元,符合設(shè)計(jì)要求。 瑣釙濺曖惲錕縞馭篩涼。5 總結(jié)本設(shè)計(jì)采用 VHDL硬件描述語(yǔ)言 , 通過(guò) Quartus 開(kāi)發(fā)平臺(tái)設(shè)計(jì)了出租車(chē)計(jì)費(fèi) 器系統(tǒng),經(jīng)過(guò)編譯仿真基本無(wú)誤,在此次設(shè)計(jì)中我主要做了以下工作: 鎦詩(shī)涇艷損樓 紲鯗餳類(lèi)。1對(duì)所選題目進(jìn)行仔細(xì)的審閱,理順?biāo)悸罚私馐煜ぴO(shè)計(jì)的基本思路,掌 握整個(gè)設(shè)計(jì)工作的框架;2學(xué)習(xí)設(shè)計(jì)所需要用到的 Quartus 軟件,做到熟練掌握軟件的各種仿真 功能;11出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)3學(xué)習(xí) VHDL硬件描述語(yǔ)言,做到能讀懂 VHDL程序,并能夠
27、編寫(xiě)本設(shè)計(jì)所 需要的程序;4用軟件對(duì)程序進(jìn)行編譯和仿真,觀察波形,符合設(shè)計(jì)的要求后,準(zhǔn)備硬 件下載工作;5在實(shí)驗(yàn)室把程序下載到實(shí)驗(yàn)板上,經(jīng)過(guò)數(shù)碼管顯示結(jié)果符合設(shè)計(jì)要求, 完成整個(gè)設(shè)計(jì)工作部分的實(shí)驗(yàn)環(huán)節(jié)。出租車(chē)計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,能夠按照預(yù)期的效果顯示等候時(shí) 間、里程和車(chē)費(fèi)數(shù)目。車(chē)行駛或暫停按其各自的計(jì)費(fèi)規(guī)則進(jìn)行計(jì)費(fèi),車(chē)費(fèi)總數(shù)為 兩項(xiàng)之和,若停止則車(chē)費(fèi)清零,等待下一次計(jì)費(fèi)的開(kāi)始 9 。在出租車(chē)計(jì)費(fèi)器系統(tǒng) 的兩個(gè)模塊計(jì)費(fèi)模塊、顯示模塊中,計(jì)費(fèi)模塊是實(shí)現(xiàn)系統(tǒng)功能的核心,里面 又分為分頻、計(jì)時(shí)、公里計(jì)數(shù)、計(jì)費(fèi)等部分;顯示模塊將顯示等候時(shí)間,里程和 費(fèi)用。各模塊成功編譯運(yùn)行后,再將它們組合到一
28、起,完成完整的出租車(chē)系統(tǒng)的 設(shè)計(jì)10 。櫛緶歐鋤棗鈕種鵑瑤錟。通過(guò)這次的論文設(shè)計(jì), 我對(duì) VHDL編程語(yǔ)言有了更深層次的了解, 對(duì) Quartus 軟件的應(yīng)用更加的熟練, 加強(qiáng)了我的動(dòng)手能力, 使我在理論學(xué)習(xí)和編程練習(xí)方 面都有了較大的收獲。 轡燁棟剛殮攬瑤麗鬮應(yīng)。參考文獻(xiàn)1 李蓉.基于 VHDL語(yǔ)言的出租車(chē)自動(dòng)計(jì)費(fèi)器的設(shè)計(jì) J.科技風(fēng), 2008,24: 42-462 侯伯亨,顧新 .VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì) (修訂版 )M. 西安: 西安電子科技大學(xué)出版社, 2005:3-9 峴揚(yáng)斕滾澗輻灄興渙藺。3 孟慶海,張洲 .VHDL基礎(chǔ)及經(jīng)典實(shí)例開(kāi)發(fā) M. 西安:西安交通大學(xué)出版社
29、, 2008,4:1-5 詩(shī)叁撻訥燼憂(yōu)毀厲鋨驁。4 王行,李衍 .EDA技術(shù)入門(mén)與提高 M. 西安:西安電子科技大學(xué)出版社, 2005:17-325 周彩寶等 .VHDL語(yǔ)言及其應(yīng)用 J. 計(jì)算機(jī)工程, 1998,10:17-206 孫冰等. VHDL 在計(jì)算機(jī)組成原理實(shí)驗(yàn)中的應(yīng)用研究 J.價(jià)值工 程,2011,30(27): 56-59 則鯤愜韋瘓賈暉園棟瀧。7 黃正瑾等編著 .CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門(mén)與應(yīng)用 M. 北京: 電子工業(yè)出版12巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )社,2002:13-23 脹鏝彈奧秘孫戶(hù)孿釔賻。8 劉愛(ài)榮等編著 . EDA 技術(shù)與 CPLD/FPGA開(kāi)發(fā)
30、應(yīng)用簡(jiǎn)明教程 M. 北京: 清華大 學(xué)出版社 ,2007:45-56 鰓躋峽禱紉誦幫廢掃減。9 席礪莼等 . 基于 VHDL語(yǔ)言的出租車(chē)計(jì)費(fèi)系統(tǒng)設(shè)計(jì) J. 現(xiàn)代電子技術(shù), 2003,3:57-6110 高健等.基于 Verilog HDL 出租車(chē)計(jì)費(fèi)系統(tǒng)的研制 J. 實(shí)驗(yàn)室研究與探索 , 2004,10: 34-37 稟虛嬪賑維嚌妝擴(kuò)踴糶。致謝在這次畢業(yè)設(shè)計(jì)的設(shè)計(jì)過(guò)程中, 得到了很多人的幫助。 首先要感謝我的指導(dǎo) 老師陳初俠老師,在課程設(shè)計(jì)上給予我的指導(dǎo),提供給我的支持和幫助,讓 我能把系統(tǒng)做得更加完善。在完成畢業(yè)論文的過(guò)程中,我學(xué)到了許多新的知識(shí), 也鞏固了一些已經(jīng)學(xué)過(guò)的知識(shí),彌補(bǔ)了以前的不
31、足之處,鍛煉了我的動(dòng)手能力, 使我的設(shè)計(jì)能力得到提高。其次,我要感謝幫助過(guò)我的同學(xué)們,他們也為我解決 了不少難題,同時(shí)也感謝學(xué)院為我提供了良好的做畢業(yè)設(shè)計(jì)的環(huán)境。最后,要感 謝各位老師抽出時(shí)間對(duì)本文進(jìn)行評(píng)閱。 陽(yáng)簍埡鮭罷規(guī)嗚舊巋錟。13出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)附錄頂層實(shí)體的 VHDL編程:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;port(clk: in std_logic;- 輸入 300Hz 時(shí)鐘start: in std_log
32、ic;- 計(jì)費(fèi)器啟動(dòng)stop: in std_logic;- 等待信號(hào)mile: in std_logic;- 公里脈沖信號(hào)single: in std_logic;- 單程鍵sel: out std_logic_vector(2 downto 0);- 位選show: out std_logic_vector(7 downto 0);-7 段數(shù)碼管譯碼輸出entity taximeter is應(yīng)。end taximeter;溈氣嘮戇萇鑿鑿櫧諤14巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )architecture structural of taximeter is component t
33、axiport(clk: in std_logic;start: in std_logic;stop: in std_logic;mile: in std_logic;singlein std_logic;藺。char0: out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出小數(shù)點(diǎn)位鋇嵐縣緱虜榮產(chǎn)濤團(tuán)char1: out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出個(gè)位char2: out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出十位char3: out std_logic_vector(3 downto 0);
34、- 計(jì)費(fèi)輸出百位min0: out std_logic_vector(3 downto 0);- 等待時(shí)間輸出個(gè)位懨俠劑鈍觸樂(lè)鷴燼觶騮。min1: out std_logic_vector(3 downto 0);- 等待時(shí)間輸出十位謾飽兗爭(zhēng)詣繚鮐癩別瀘。km0: out std_logic_vector(3 downto 0);- 行駛公里輸出個(gè)位咼鉉們歟謙鴣餃競(jìng)蕩賺。km1: out std_logic_vector(3 downto 0);- 行駛公里輸出十位瑩諧齷蘄賞組靄縐嚴(yán)減。end component; component display port(clk : in std_log
35、ic;char0 : in std_logic_vector(3 downto 0); char1 : in std_logic_vector(3 downto 0); char2 : in std_logic_vector(3 downto 0); char3 : in std_logic_vector(3 downto 0);min0: in std_logic_vector(3 downto 0);min1: in std_logic_vector(3 downto 0);km0: in std_logic_vector(3 downto 0);km1: in std_logic_vec
36、tor(3 downto 0);sel: out std_logic_vector(2 downto 0);show : out std_logic_vector(7 downto 0)end component;signal char0 :std_logic_vector(3 downto 0);signal char1 :std_logic_vector(3 downto 0);signal char2 :std_logic_vector(3 downto 0);signal char3 :std_logic_vector(3 downto 0);signal min0std_logic_
37、vector(3 downto 0);signal min1std_logic_vector(3 downto 0);signal km0: std_logic_vector(3 downto 0);signal km1: std_logic_vector(3 downto 0);begincharge_control:taxi15出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)port map(clk= clk,start= start,stop= stop,mile= mile,single= single,char0= char0,char1= char1,char2= char2,char3= char3,m
38、in0= min0,min1= min1,km0= km0,km1= km1);display_control:displayport map(clk= clk,char0= char0,char1= char1,char2= char2,char3= char3,min0= min0,min1= min1,km0= km0,km1= km1,sel= sel,show= show)end structural;計(jì)費(fèi)模塊的 VHDL編程:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ie
39、ee.std_logic_arith.all;entity taxi isport(clk: instd_logic;- 輸入 300Hz 時(shí)鐘start: instd_logic;- 計(jì)費(fèi)器啟動(dòng)stop: instd_logic;- 等待信號(hào)mile: instd_logic;- 公里脈沖信號(hào)singleinstd_logic;- 單程鍵麩肅鵬鏇轎騍鐐縛縟糶。char0 : out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出小數(shù)點(diǎn)位 char1 : out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出個(gè)位 char2 : out std_
40、logic_vector(3 downto 0);- 計(jì)費(fèi)輸出十位 char3 : out std_logic_vector(3 downto 0);- 計(jì)費(fèi)輸出百位 min0 : out std_logic_vector(3 downto 0);- 等待時(shí)間輸出 min1 : out std_logic_vector(3 downto 0);- 等待時(shí)間輸出16巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )km0: out std_logic_vector(3 downto 0);- 行駛公里輸出km1: out std_logic_vector(3 downto 0);- 行駛公里輸出 納
41、疇鰻吶鄖禎銣膩鰲錟。end taxi;architecture behave of taxi isconstant n signal f_mile1 signal f_mile2 signal f_mile_r signal start_r signal clk1hz signal q signal sec: integer := 30;: std_logic;- 延遲時(shí)間: std_logic;- 延遲時(shí)間: std_logic;- 延遲時(shí)間: std_logic;- 延遲時(shí)間: std_logic;- 分頻所得 1Hz 時(shí)鐘: integer range 0 to n-1;- 分頻器: i
42、nteger range 0 to 59;signal c3,c2,c1,c0 : std_logic_vector(3 downto 0);- 計(jì)費(fèi)寄存器 風(fēng)攆鮪貓鐵頻鈣薊糾廟。signal k0 signal k1 signal m1 signal m0 signal en0 signal en1 signal f_wait signal f: std_logic_vector(3 downto 0);- 公里寄存器 滅噯駭諗鋅獵輛覯餿藹。: std_logic_vector(3 downto 0);- 公里寄存器 鐒鸝餉飾鐔閌貲諢癱騮。: std_logic_vector(3 downt
43、o 0);- 等待時(shí)間寄存器 攙閿頻嶸陣澇諗譴隴瀘。: std_logic_vector(3 downto 0);- 等待時(shí)間寄存器 趕輾雛紈顆鋝討躍滿(mǎn)賺。: std_logic;- 路程大于 3 公里,使能有效: std_logic;- 單程且大于 20 公里,使能有效: std_logic;- 等待時(shí)間, 1 脈沖 / 分鐘: std_logic;- 計(jì)費(fèi)時(shí)鐘begin-輸出顯示min0 = m0;min1 = m1;km0 = k0;km1 = k1;char0 = c0; char1 = c1; char2 = c2; char3 = c3;-分頻進(jìn)程u1:process(clk)be
44、ginif rising_edge(clk) then if q=299 then q=0;else q=q+1;end if;end if;17出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)end process;clk1hz = 0 when qinteger(n/2) else 1;-等待計(jì)時(shí)進(jìn)程u2:process(clk1hz,start)beginif start=0 thenf_wait=0;elsif rising_edge(clk1hz) thenif stop=1 then if sec=59 then sec=0; f_wait=1;if m0=1001 then m0=0000;if m1=
45、0101 then m1=0000;else m1=m1+1;end if;else m0=m0+1;end if;elsef_wait=0; sec=sec+1;end if;else f_wait=0;end if;end if;end process;-延遲信號(hào),檢測(cè)上升沿u3:process(clk1hz)beginif rising_edge(clk1hz) then f_mile2 = f_mile1; f_mile1 = mile; start_r = start;end if;end process;18巢湖學(xué)院 2012 屆本科畢業(yè)論文 (設(shè)計(jì) )f_mile_r= f_mi
46、le1 and not(f_mile2);-選擇不同的計(jì)費(fèi)時(shí)鐘f= f_wait when stop=1 else f_mile_r when en0=1 else 0;-公里計(jì)數(shù)進(jìn)程u4:process(start,f_mile_r)begin if start=0 thenk0=0000; k1=0000;en0=0; en1=0;elsif rising_edge(f_mile_r) then if k0=1001 then k0=0000;if k1=1001 then k1=0000;else k1=k1+1;end if; elsek0=k0+1; end if;-大于 3 公里,
47、使能有效 if k0=0011 thenen0=1; end if;-單程且大于 20 公里,使能有效 if k1=0001 and k0=1001 and single=1 then en1=1;end if;end if;end process;-計(jì)費(fèi)進(jìn)程u5:process(start,f,start_r)beginif start=1 and start_r=0 then19出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)及實(shí)現(xiàn)c0=0000;c1=1000;c2=0000;c3=0000;elsif rising_edge(f) thenif en1=0 then-小于 20 公里時(shí),每公里 1元if c1=10
48、01 thenc1=0000;if c2=1001 thenc2=0000;if c3=1001 thenc3=0000;elsec3=c3+1;end if;elsec2=c2+1;end if;elsec1=c1+1;end if;else-超過(guò) 20 公里,每公里 1.5 元 if(c0=0101 and c1=1000) or c1=1001 then- 等于 XX9.5 時(shí),累加得 XX1.0 if c1=1001 and c0=0101 thenc0=0000;c1=0001;- 等于 XX9.0 ,累加得 XX0.5 elsif c1=1001 and c0=0000 then c0=0101;c1=0000;- 等于 XX8.5 時(shí),累加得 XX0.0 e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)質(zhì)押資產(chǎn)重組合同示范文本3篇
- 二零二五年度鋼材倉(cāng)儲(chǔ)物流服務(wù)合同9篇
- 二零二五年度路燈照明設(shè)施安全檢測(cè)合同樣本2篇
- 二零二五年度:勞動(dòng)合同法實(shí)務(wù)操作與案例分析合同3篇
- 二零二五年度船舶建造與設(shè)備安裝合同2篇
- 二零二五年度農(nóng)產(chǎn)品質(zhì)量檢測(cè)合同范本3篇
- 二零二五年度安置房買(mǎi)賣(mài)合同電子支付與結(jié)算規(guī)范3篇
- 3、2025年度綠色出行接送機(jī)服務(wù)合同范本2篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)合作開(kāi)發(fā)合同范本3篇
- 家里陪護(hù)合同(2篇)
- 手術(shù)室護(hù)理實(shí)踐指南2023年
- 電力安全工作規(guī)程(變電部分)課件
- 新人教版六年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)課件
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)告知卡
- 卵石地層樁基旋挖鉆施工方案
- 江蘇對(duì)口單招英語(yǔ)考綱詞匯總結(jié)
- (完整word版)手卡模板
- GB/T 4091-2001常規(guī)控制圖
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗(yàn)方法
- GB 18399-2001棉花加工機(jī)械安全要求
- 陜西省延安市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
評(píng)論
0/150
提交評(píng)論