欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      EDA出租車自動計費(fèi)器[范文大全]

      時間:2019-05-12 03:43:33下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《EDA出租車自動計費(fèi)器》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《EDA出租車自動計費(fèi)器》。

      第一篇:EDA出租車自動計費(fèi)器

      EDA課程設(shè)計報告

      題目:出租車自動計費(fèi)器

      院系:

      信工系

      班級:

      電信二班

      學(xué)號:

      111608060211

      姓名:

      陳森

      目錄

      摘要...............................................................3 引言...............................................................4 第1章整體設(shè)計說明............................................5

      1、設(shè)計要求................................................................5

      2、設(shè)計內(nèi)容及思路.................................................5 第2章各模塊的介紹............................................6

      1、電平轉(zhuǎn)換模塊.........................................................6

      2、等待時間顯示模塊..................................................7

      3、行駛里程顯示模塊..................................................8

      4、計費(fèi)顯示模塊.........................................................9

      5、調(diào)用的計數(shù)器模塊................................................10

      6、頂層模塊..............................................................10 第3章管腳鎖定及硬件連線.................................12 第4章程序下載與調(diào)試.......................................14 設(shè)計心得體會..................................................15

      摘要

      Verilog HDL是一種硬件描述語言(HDL:Hardware Discription Language),是一種用文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的Verilog語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。

      Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀(jì)80年代中期開發(fā)出來的?,F(xiàn)在,隨著系統(tǒng)級FPGA以及片上系統(tǒng)的出現(xiàn),軟硬件協(xié)同設(shè)計和系統(tǒng)設(shè)計變得越來越重要。傳統(tǒng)意義上的硬件設(shè)計越來越傾向于與系統(tǒng)設(shè)計和軟件設(shè)計相結(jié)合。

      本文介紹了一種采用單片F(xiàn)PGA芯片進(jìn)行出租車計費(fèi)器的設(shè)計方法,主要闡述如何使用新興的EDA器件取代傳統(tǒng)的電子設(shè)計方法,利用FPGA的可編程性,簡潔而又多變的設(shè)計方法,縮短了研發(fā)周期,同時使出租車計費(fèi)器體積更小功能更強(qiáng)大。本設(shè)計實(shí)現(xiàn)了出租車計費(fèi)器所需的一些基本功能,計費(fèi)包括起步價、行車?yán)锍逃嬞M(fèi)、等待時間計費(fèi),同時考慮到出租車行業(yè)的一些特殊性,更注重了把一些新的思路加入到設(shè)計中。主要包括采用了FPGA芯片,使用VHDL語言進(jìn)行編程,使其具有了更強(qiáng)的移植性,更加利于產(chǎn)品升級。

      引言

      人類社會已經(jīng)進(jìn)入信息化時代,信息社會的發(fā)展離不開電子產(chǎn)品的進(jìn)步。現(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度降低的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實(shí)現(xiàn)這種進(jìn)步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,目前已進(jìn)展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)萬個晶體管;后者的核心就是EDA技術(shù)[1]。沒有EDA技術(shù)的支持,想要完成超大規(guī)模集成電路的設(shè)計制造是不可想象的,反過來,生產(chǎn)制造技術(shù)的不斷進(jìn)步又必須對EDA技術(shù)提出新要求。EDA代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計人員按照“自頂向下”的設(shè)計方法,對整個系統(tǒng)進(jìn)行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語言(Verilog HDL)完成系統(tǒng)行為級設(shè)計,最后通過綜合器和適配器生成最終的目標(biāo)器件[2]。

      Verilog HDL是一種全方位的硬件描述語言,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個設(shè)計層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為3種描述形式的混合描述,因此Verilog HDL幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或自底向上的電路設(shè)計過程都可以用Verilog HDL來完成。另外,Verilog HDL還有以下優(yōu)點(diǎn):Verilog HDL的寬范圍描述能力使它成為高層次設(shè)計的核心,將設(shè)計人員的工作重心轉(zhuǎn)移到了系統(tǒng)功能的實(shí)現(xiàn)和調(diào)試上,只需要花較少的精力用于物理實(shí)現(xiàn);Verilog HDL可以用簡潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯的設(shè)計,靈活且方便,而且也便于設(shè)計結(jié)果的交流、保存和重用;Verilog HDL的設(shè)計不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。Verilog HDL是一個標(biāo)準(zhǔn)語言,為眾多的EDA場上支持,因此移植性好。

      第1章整體設(shè)計說明

      1、設(shè)計要求

      設(shè)計一個出租車自動計費(fèi)器,計費(fèi)包括起步價,行車?yán)锍逃嬞M(fèi)、等待時間三部分,用三位數(shù)碼管顯示總金額,最大值為99.9元。起步價位5.0元,3km之內(nèi)按起步價計費(fèi),超過3km,每km增加1元,等待時間計費(fèi)為每分鐘0.1元。用兩位數(shù)碼管顯示總里程,最大值為99km,用兩位數(shù)碼管顯示等待時間,最大值為99min。

      2、設(shè)計內(nèi)容及思路

      此設(shè)計問題分為主控模塊、里程計數(shù)模塊、等待時間計數(shù)模塊、計費(fèi)模塊和掃描顯示模塊。

      在行車計費(fèi)模塊中,將行駛的里程數(shù)轉(zhuǎn)換為與之成正比的脈沖個數(shù)。每100個clk1·模擬1km,輸出100個脈沖。3km之內(nèi)為起步價,即300個clk1之內(nèi)為起步價,以后每km增加1元,即每10個clk1增加0.1元。在等待時間計數(shù)模塊中,設(shè)置行駛狀態(tài)輸入信號為drive,行駛顯示信號run,起步價預(yù)先固定在電路中,由drive信號異步置數(shù)至計費(fèi)模塊,同時使系統(tǒng)顯示為當(dāng)前行駛狀態(tài)run,里程計數(shù)工作,到3km后,每10 個clk1脈沖使計費(fèi)增

      加0.1元,計費(fèi)顯示在數(shù)碼管上。設(shè)置剎車信號break,等待狀態(tài)顯示信號pause,有break信號使系統(tǒng)顯示為當(dāng)前狀態(tài)pause,等待時間計數(shù)模塊工作,每分鐘計費(fèi)增加0.1元。

      第2章各模塊的介紹

      1、電平轉(zhuǎn)換模塊

      module EDGE_TO_PULSE(CLK,IN,OUT);input IN,CLK;output OUT;reg OUT,temp;always@(posedge CLK)

      //上升沿有效

      begin

      if(!temp&&IN)

      //上衣一個狀態(tài)與當(dāng)前狀態(tài)不一樣 OUT<=1;

      //輸出以為1 else if(temp==IN)

      //上一個狀態(tài)與當(dāng)前狀態(tài)一樣 OUT<=0;

      //輸出為你0 temp<=IN;end endmodule 此模塊的在輸入行駛的前一個狀態(tài)與后一個狀態(tài)不一樣時,在上升沿到來時輸出高電平,當(dāng)前一個狀態(tài)與后一個狀態(tài)一樣時,在上升沿到來時,輸出低電平。輸出端接計費(fèi)器的同步置位端,在開車時,將費(fèi)用置到起步價5元。

      模塊如下

      inst4INCLKOUTEDGE_TO_PULSE

      仿真波形如下

      2、等待時間顯示模塊

      module TO_BCD2(IN,OUT_H,OUT_L);input [6:0]IN;output [3:0]OUT_H,OUT_L;assign OUT_H=IN/10;

      //把輸入的十進(jìn)制數(shù)除以10取整得到十位數(shù)。assign OUT_L=IN%10;

      //把輸入的十進(jìn)制數(shù)數(shù)除以10取余得個位數(shù)。Endmodule 此模塊的功能是把7位二進(jìn)制表示的十進(jìn)制的輸入數(shù)據(jù)輸出成4為二進(jìn)制表示的16進(jìn)制數(shù),顯示在數(shù)碼管上。把輸入的十進(jìn)制數(shù)除以10取整得到十位數(shù)。把輸入的十進(jìn)制數(shù)數(shù)除以10取余得個位數(shù)。模塊如下:

      TO_BCD2IN[6..0]OUT_H[3..0]OUT_L[3..0]inst7

      仿真波形如下所示:

      3、行駛里程顯示模塊

      module TO_BCD(IN,OUT_H,OUT_L);input [6:0]IN;output [3:0]OUT_H,OUT_L;assign OUT_H=IN/100;

      //行駛里程除以100取整得到最高位。

      assign OUT_L=IN%100/10;//行駛里程除以100取余再除以10取整得到個位數(shù),最低位為0.1千米位,就不再顯示了。endmodule 此模塊的功能跟等待時間顯示模塊類似,為了計費(fèi)方便,把里程用三位十進(jìn)制數(shù)表示,最低位表示0.1千米位,不再顯示在數(shù)碼管中,將行駛里程除以100取整得到最高位,除以100取余再除以10取整得到個位數(shù)。模塊的圖形如下所示:

      TO_BCDIN[6..0]OUT_H[3..0]OUT_L[3..0] inst11 其仿真波形如圖所示:

      4、計費(fèi)顯示模塊

      module TO_BCD_B(IN,OUT_B,OUT_S,OUT_G);input [9:0]IN;output [3:0]OUT_B,OUT_S,OUT_G;assign OUT_B=IN/100;

      //金額除以100得到最高位

      assign OUT_S=IN%100/10;//金額除100取余再除10取整得到個位數(shù)。assign OUT_G=IN%10;//金額除以10取余得到最低位數(shù)據(jù) endmodule 此模塊的功能是把用10位二進(jìn)制表示的3位十進(jìn)制費(fèi)用,轉(zhuǎn)換為每一位都是用4位二進(jìn)制表示的16進(jìn)制數(shù)。用于顯示在數(shù)碼管上面。能夠顯示的最大金額為99.9元。金額除以100得到最高位,金額除100取余再除10取整得到個位數(shù),金額除以10取余得到最低位數(shù)據(jù)。模塊的形狀如下所示:

      TO_BCD_BIN[9..0]OUT_B[3..0]OUT_S[3..0]OUT_G[3..0]inst 其仿真波形如圖所示:

      5、調(diào)用的計數(shù)器模塊

      以上為調(diào)用的三個計數(shù)器模塊,模塊里程計數(shù)CNT_TIME和費(fèi)用計數(shù)CNT_KM的輸出接在一個或門上,當(dāng)里程計數(shù)和等待時間任何一個計數(shù)溢出,都向計費(fèi)CHARGE模塊進(jìn)位。CHARGE模塊上面接著aclr異步清零和aset同步置位端。使得在車啟動時把費(fèi)用置位到5起步價5元,在清零信號發(fā)生后,把費(fèi)用清零。

      6、頂層模塊

      module CONTROLLER(clear,brake,drive,K_OR_T,pause,run,EN_T,EN_K,min,km,CH

      ARGE_EN);input clear,brake,drive,K_OR_T;output pause,run,EN_T,EN_K,min,km,CHARGE_EN;reg [6:0] min,km;reg pause,run,EN_T,EN_K;assign CHARGE_EN=(km>=30);always@(brake,drive)case({drive,brake})//定義2位二進(jìn)制數(shù)來表示車的行駛狀態(tài)

      2'b10 :begin EN_K=1;EN_T=0;pause=0;run=1;end //drive為1,break為0的時候車處于行駛狀態(tài) 2'b11 :begin EN_K=0;EN_T=1;pause=1;run=0;end //drive為1,break為1的時候車處于行駛過程中的等待狀態(tài)

      default :begin EN_K=0;EN_T=0;pause=0;run=0;end endcase always@(posedge K_OR_T,posedge clear)if(clear)begin km=0;min=0;end //當(dāng)按下清零鍵的時候,使路程和等待時間都清零

      else

      case({drive,brake})2'b10 :km=km+1;

      2'b11 :min=min+1;default :begin km=km;min=min;end endcase endmodule 該模塊的功能是把其他模塊連接起來,整體過程是drive信號出現(xiàn)時,車開始行駛,同時計費(fèi)器初始化起步價為5元。當(dāng)行駛路程達(dá)到3KM后,每增加1KM費(fèi)用增加0.1元。在此同時,如果brake信號出現(xiàn)后,行駛里程停止計數(shù),等待時間開始計時,每增加1分鐘,費(fèi)用增加0.1元。按下clear清零鍵后,行駛里程、等待時間和費(fèi)用全部清零。模塊如下: CONTROLLERclearbrakedriveK_OR_TpauserunEN_TEN_Kmin[6..0]km[6..0]CHARGE_ENinst5

      頂層模塊連線后的圖形如下:

      仿真波形如下所示:

      第3章管腳鎖定及硬件連線

      所有模塊寫好,頂層模塊連接好,編譯無誤,仿真以后就可以進(jìn)行鎖定

      引腳了。

      根據(jù)硬件資源和需要選擇合適的引腳進(jìn)行鎖定,再根據(jù)實(shí)驗(yàn)手冊鎖定好以后的結(jié)果如下所示:

      引腳鎖定好以后,編譯無誤以后,接下來把導(dǎo)線連接好以后就可以下載了。

      第4章程序下載與調(diào)試

      點(diǎn)擊programmer按鈕進(jìn)入下載頁面:

      選擇好硬件以后,點(diǎn)擊Start開始下載。調(diào)試好以后的結(jié)果如下:

      設(shè)計心得體會

      感謝學(xué)校給我們提供的EDA課程設(shè)計課程,通過本次課程設(shè)計,從中感觸到了很多。

      在課程設(shè)計的過程中,增強(qiáng)了同學(xué)之間的互動性,在此同時,也對以前學(xué)過的EDA知識有了更加深刻的理解。在設(shè)計過程中,總是遇到這樣或那樣的問題。有時發(fā)現(xiàn)一個問題的時候,需要做大量的工作,花大量的時間才能解決。自然而然,我的耐心便在其中建立起來了。為以后的工作積累了經(jīng)驗(yàn),增強(qiáng)了信心。

      我認(rèn)為,不僅僅是此次考查設(shè)計,在整個這學(xué)期的實(shí)驗(yàn)中,不僅培養(yǎng)了獨(dú)立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實(shí)驗(yàn)課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。

      課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.我今天認(rèn)真的進(jìn)行課程設(shè)計,學(xué)會腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ).

      通過這次設(shè)計,本人在多方面都有所提高。同時各科相關(guān)的課程都有了全面的復(fù)習(xí),獨(dú)立思考的能力也有了提高。在這次設(shè)計過程中,體現(xiàn)出自己單獨(dú)設(shè)計模具的能力以及綜合運(yùn)用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。

      在此感謝我們的老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次設(shè)計的每個細(xì)節(jié)和每個數(shù)據(jù),都離不開老師您的細(xì)心指導(dǎo)。而您開朗的個性和寬容的態(tài)度,幫助我能夠很順利的完成了這次課程設(shè)計。

      第二篇:出租車自動計費(fèi)器設(shè)計(課程設(shè)計報告)

      目 錄 緒論....................................................................................................................................................1 1.1設(shè)計背景......................................................................................................................................1 1.2QUARTUS II簡介.......................................................................................................................1 1.3VHDL語言基礎(chǔ)..........................................................................................................................2 2 出租車計費(fèi)器總體設(shè)計結(jié)構(gòu).............................................................................................................2 2.1

      系統(tǒng)設(shè)計要求和目的..................................................................................................................2 2.2.1 系統(tǒng)設(shè)計要求......................................................................................................................2 2.2.1 系統(tǒng)設(shè)計目的......................................................................................................................2 2.2

      設(shè)計思路......................................................................................................................................3 2.3

      系統(tǒng)總體結(jié)構(gòu)..............................................................................................................................3 2.4出租車計費(fèi)器系統(tǒng)工作流程圖..................................................................................................4 3 出租車計費(fèi)器的實(shí)現(xiàn)........................................................................................................................5 3.1

      出租車計費(fèi)器的頂層原理圖......................................................................................................5 3.2

      系統(tǒng)各功能模塊的實(shí)現(xiàn)..............................................................................................................5 3.2.1 計費(fèi)模塊JIFEI....................................................................................................................5 3.2.2 計量模塊JILIANG..............................................................................................................6 3.2.3 顯示控制模塊SELTIME.....................................................................................................7 3.2.4 顯示模塊DELED................................................................................................................7 4 出租車計費(fèi)器系統(tǒng)仿真及分析.........................................................................................................8 4.1

      計費(fèi)系統(tǒng)的仿真..........................................................................................................................8 4.2

      單元模塊的仿真及分析............................................................................................................10 4.2.1 譯碼顯示模塊的仿真及分析............................................................................................10 4.2.2 顯示控制模塊的仿真及分析............................................................................................12 4.2.3 計量模塊的仿真及分析....................................................................................................13 4.2.4 計費(fèi)模塊的仿真及分析....................................................................................................13 5 鎖定管腳及硬件實(shí)現(xiàn)......................................................................................................................14 5.1

      鎖定管腳圖................................................................................................................................14 5.2

      硬件實(shí)現(xiàn)....................................................................................................................................14 5.2.1 顯示結(jié)果的幾種情況........................................................................................................15 5.2.2 硬件實(shí)現(xiàn)總結(jié)....................................................................................................................16 6 設(shè)計體會與總結(jié)..............................................................................................................................17 參考文獻(xiàn)................................................................................................................................................18 附

      錄................................................................................................................................................19 1

      JILIANG模塊的VHDL編程......................................................................................................19 2

      JIFEI模塊的VHDL編程............................................................................................................21 3

      SELTIME控制模塊的VHDL編程.............................................................................................22 4

      DELED模塊的VHDL編程........................................................................................................23

      出租車自動計費(fèi)器設(shè)計 緒論

      1.1 設(shè)計背景

      隨著我國社會經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營運(yùn)事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。于是,出租車行業(yè)以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計價器。汽車計價器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具,它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是具有一定意義的。出租車計費(fèi)器是出租車營運(yùn)收費(fèi)的專用智能化儀表,是出租車市場規(guī)范化,標(biāo)準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備,簡單易用,計量準(zhǔn)確的出租車計費(fèi)器是加強(qiáng)出租車行業(yè)管理,提高服務(wù)質(zhì)量的必需品。本設(shè)計就是采用VHDL硬件描述語言作為設(shè)計手段,采用自己的設(shè)計思路,得到一種出租車計價系統(tǒng)的軟件結(jié)構(gòu),通過Quartus II 6.0軟件下進(jìn)行仿真,證明所設(shè)計的電路系統(tǒng)完成了出租車計價的功能,各項(xiàng)指標(biāo)符合設(shè)計要求,具有一定的實(shí)用性。

      1.2 QUARTUS II簡介

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

      出租車自動計費(fèi)器設(shè)計

      1.3 VHDL語言基礎(chǔ)

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

      2.1 系統(tǒng)設(shè)計要求和目的

      2.2.1 系統(tǒng)設(shè)計要求

      1.起步價為5.0元,起步公里為3公里;

      2.超過3公里,每公里按1元收費(fèi),也可每0.1公里按0.1元收費(fèi); 3.等候時間累計1分鐘,按每分鐘0.1元收費(fèi);

      4.用三個數(shù)碼管顯示總金額,最大值為99.9元;用三個數(shù)碼管顯示總里程,最大值99.9公里;用兩個數(shù)碼管顯示等待時間,最大值99分鐘。2.2.1 系統(tǒng)設(shè)計目的

      1.通過這次實(shí)驗(yàn)設(shè)計使我們加深對EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計相關(guān)理論和概念的理解,培養(yǎng)我們的理論聯(lián)系實(shí)際的能力,特別是實(shí)際動手能力。

      2.學(xué)習(xí)使用QUARTUS II軟件設(shè)計。

      3.根據(jù)原理圖學(xué)會用VHDL語言設(shè)計時序電路。4.學(xué)會繪制功能仿真波形圖。

      出租車自動計費(fèi)器設(shè)計

      2.2 設(shè)計思路

      根據(jù)設(shè)計要求,電路具有計時、計程、計費(fèi)功能,用數(shù)碼管顯示行駛公里數(shù)、等待時間、收費(fèi)金額,行車?yán)锍毯偷却龝r間的處理電路將汽車行駛的里程數(shù)、轉(zhuǎn)換成與之成正比的計費(fèi)脈沖,然后由計費(fèi)電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個脈沖模擬汽車前進(jìn)十米,則每100個脈沖表示1公里,3公里以后每0.1公里產(chǎn)生一個計費(fèi)脈沖,一個1HZ的脈沖用來表示等待時間,60個脈沖代表1分鐘,1分鐘即60個脈沖產(chǎn)生一個等待計費(fèi)脈沖,然后用計費(fèi)電路對計費(fèi)脈沖進(jìn)行計費(fèi)。

      2.3 系統(tǒng)總體結(jié)構(gòu)

      圖2-1 系統(tǒng)總體結(jié)構(gòu)圖

      出租車計費(fèi)器的組成如上圖所示,通過控制模塊以高低脈沖模擬出租汽車啟動、行駛、暫停,具有控制作用;通過控制模塊控制出租車的狀態(tài)來選擇出租車是計里程還是計等待時間,相應(yīng)產(chǎn)生的時間計費(fèi)脈沖信號和里程脈沖信號來計費(fèi),譯碼/動態(tài)掃描模塊將等待時間、路程與費(fèi)用的數(shù)值譯碼后用動態(tài)掃描的方式驅(qū)動數(shù)碼管;數(shù)碼管顯示模塊將里程數(shù)、等待時間和計費(fèi)金額用數(shù)碼管顯示。

      出租車自動計費(fèi)器設(shè)計

      2.4 出租車計費(fèi)器系統(tǒng)工作流程圖

      圖2-2 出租車計費(fèi)系統(tǒng)工作流程圖

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

      出租車自動計費(fèi)器設(shè)計 出租車計費(fèi)器的實(shí)現(xiàn)

      3.1 出租車計費(fèi)器的頂層原理圖

      圖3-1 出租車計費(fèi)器頂層原理圖

      原理圖中輸入部分分別是CLK:秒脈沖信號,1個脈沖代表1秒,則60個脈沖表示1分鐘。CLK1:10米脈沖信號,1個脈沖代表10米,則10個脈沖表示100米,100個脈沖代表1公里。START:計程車開啟信號;DRIVE:計費(fèi)器啟動信號;BREAK:等待信號,SEL為計數(shù)控制信號輸出端。

      3.2 系統(tǒng)各功能模塊的實(shí)現(xiàn)

      3.2.1 計費(fèi)模塊JIFEI 計費(fèi)(JIFEI)模塊也是本系統(tǒng)的核心,完成起步價計費(fèi),等待時間計費(fèi),里程計費(fèi)功能。計費(fèi)器啟動,顯示起步價5.0元,之后每來一個行駛里程計費(fèi)脈沖或者等待時間計費(fèi)脈沖,計費(fèi)金額自動加0.1元。計費(fèi)顯示用3位數(shù)碼管,所

      出租車自動計費(fèi)器設(shè)計

      以計費(fèi)最大值為99.9元。其中CH2表示費(fèi)用的十位,CHI表示費(fèi)用的個位,CH0表示費(fèi)用的十分位。B為等待時間計費(fèi)脈沖信號或里程計費(fèi)脈沖信號。

      圖3-2 JIFEI模塊圖

      3.2.2 計量模塊JILIANG

      圖3-3 JILIANG模塊圖

      本模塊是系統(tǒng)的核心模塊之一,能夠?qū)ν獠康男旭偩嚯x脈沖、等待時間脈沖進(jìn)行計數(shù)。因?yàn)樾旭偩嚯x每脈沖代表10米,所以計滿100個數(shù)就輸出一個行駛距離計費(fèi)脈沖,因?yàn)?公里之內(nèi)屬于起步價,所以前3公里內(nèi)不輸出行駛距離計費(fèi)脈沖,因?yàn)橛?位數(shù)碼管來顯示行駛距離,其中兩位整數(shù),一位小數(shù),所以行駛距離最小分辨率為0.1公里,行駛距離脈沖每計10個數(shù),行駛距離輸出加0.1,行駛距離最大值為99.9公里。其中KM2為里程的十位,KM1為里程的個位,KM0為里程的十分位。等待時間脈沖頻率為1HZ,所以一個脈沖代表1秒,60個等待脈沖是1分鐘,輸出等待時間加1,等待時間滿1分鐘計一次費(fèi),所以對等待時間脈沖計數(shù),計滿60個數(shù)就輸出一個等待計費(fèi)脈沖。等待時間最大值為99分鐘。MIN1為等待時間的十位,MIN0為等待時間的個位。將行駛距離、等待時間送到SELTIME模塊,時間與里程計費(fèi)脈沖送到計費(fèi)模塊完成里程、等待時間的計費(fèi)功

      出租車自動計費(fèi)器設(shè)計

      能。B1為超過3公里后,每0.1公里產(chǎn)生的計費(fèi)脈沖。B2為每等待一分鐘產(chǎn)生的計費(fèi)脈沖。

      3.2.3 顯示控制模塊SELTIME

      圖3-4 SELTIME模塊圖

      SELTIME模塊起顯示控制作用,控制等待時間、行駛里程、費(fèi)用在數(shù)碼管上的顯示位置。sel為計數(shù)控制信號輸出端,功能主要是利用其計數(shù)的八個狀態(tài),使daout在其每個狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED模塊。dp為小數(shù)點(diǎn)脈沖控制信號,當(dāng)該模塊輸出的值為里程的個位、費(fèi)用的個位時,需要考慮小數(shù)點(diǎn)的存在,即此時dp=‘1’,在其他不需要小數(shù)點(diǎn)的情況下,dp=‘0’,最后dp將信號輸出到DELED模塊。3.2.4 顯示模塊DELED

      圖3-5 DELED模塊圖

      出租車自動計費(fèi)器設(shè)計

      DELED模塊把送入的每個四位數(shù)據(jù)轉(zhuǎn)換為7段碼送出顯示,能夠使數(shù)碼管正常顯示送入的數(shù)據(jù)。其中DP為小數(shù)點(diǎn)輸入信號。出租車計費(fèi)器系統(tǒng)仿真及分析

      4.1 計費(fèi)系統(tǒng)的仿真

      圖4-1 出租車啟動時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-1 可知,當(dāng)出租車未啟動時,里程、等待時間、費(fèi)用均為0。出租車剛啟動時,里程、等待時間為0,費(fèi)用為出租車起步價5元。

      出租車自動計費(fèi)器設(shè)計

      圖4-2 出租車等待時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-2可知,當(dāng)出租車在等待過程中,行駛里程16.2公里,等待時間為32分鐘時,出租車的費(fèi)用為:5+(16.2-3)×1+32×0.1=21.4元,與仿真結(jié)果一致。

      圖4-3 出租車行駛時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-3可知,當(dāng)出租車行駛到66.6千米,等待時間60分鐘時,由仿真結(jié)果可得出費(fèi)用為74.6元;根據(jù)設(shè)計要求計算可得費(fèi)用為:5+(66.6-3)×1+60×0.1=74.6元。仿真結(jié)果與計算值一致,驗(yàn)證了設(shè)計的正確性。

      出租車自動計費(fèi)器設(shè)計

      圖4-4 出租車停車時計費(fèi)系統(tǒng)功能仿真圖

      當(dāng)出租車停車時,出租車上的時間、里程和費(fèi)用清零,為下次計費(fèi)的開始做準(zhǔn)備。

      4.2 單元模塊的仿真及分析

      4.2.1 譯碼顯示模塊的仿真及分析

      圖4-5 譯碼顯示模塊的功能仿真圖

      圖4-5為譯碼顯示模塊的功能仿真波形圖,DP、S為信號輸入端,也是顯示

      出租車自動計費(fèi)器設(shè)計

      控制模塊的信號輸出端口,ABCDEFGH八個端口為八位二進(jìn)制的輸出端口。假設(shè)DOUT=“HGFEDCBA”,由上圖可以看出:

      1.DP=0時:

      當(dāng)S(3 downto 0)=”0000”,則DOUT=”00111111”; 當(dāng)S(3 downto 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”,則DOUT=”01111111”; 當(dāng)S(3 downto 0)=”1001”,則DOUT=”01101111”;

      當(dāng)S(3 downto 0)等于上述值以外的值時,則DOUT=”00000000”。2.DP=1時:

      當(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”,則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)等于上述值以外的值時,則DOUT=”10000000”。

      出租車自動計費(fèi)器設(shè)計

      4.2.2 顯示控制模塊的仿真及分析

      圖4-6 顯示控制模塊的功能仿真圖

      圖4-6為顯示控制模塊功能仿真圖,其中clk為時鐘脈沖輸入端,sel為計數(shù)控制信號輸出端,daout為sel所控制狀態(tài)下的輸出到數(shù)碼管的位選信號,dp為小數(shù)點(diǎn)控制輸出信號??梢钥闯?,當(dāng)時鐘沿上升時刻到來時,計數(shù)器的輸出sel就自動加1,當(dāng)計數(shù)器輸出端加到“111”時,再來一個脈沖上升沿,則計數(shù)的輸出端sel變?yōu)椤?00”,該顯示控制模塊的功能主要是利用其計數(shù)的八個狀態(tài),進(jìn)而去輪流控制數(shù)碼管的位選信號。由圖4-6可知:當(dāng)sel=“000”時,則daout=CH0;當(dāng)sel=“001”時,daout=CH1;當(dāng)sel=“010”時,daout=CH2;當(dāng)sel=“011”時,daout=KM0;當(dāng)sel=“100”時,daout=KM1;當(dāng)sel=“101”時,daout=KM2;當(dāng)sel=“110”時,daout=MIN0;當(dāng)sel=“111”時,daout=MIN1。由于KM1、CH1表示里程的個位和費(fèi)用的個位,其后都存在小數(shù),故在設(shè)計中當(dāng)顯示KM1、CH1時須加入小數(shù)點(diǎn),此時dp=‘1’,在其他沒有小數(shù)點(diǎn)的情況時dp=‘0’。

      出租車自動計費(fèi)器設(shè)計

      4.2.3 計量模塊的仿真及分析

      圖4-7 計量模塊的功能仿真圖

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

      圖4-8 計費(fèi)模塊的功能仿真圖

      圖4-8為計費(fèi)模塊的功能仿真圖當(dāng)START處于高電平且DRIVE處于高電平時,每送入一個計費(fèi)脈沖且計費(fèi)脈沖處于上升沿時,CH0自動加1(即每送入一

      出租車自動計費(fèi)器設(shè)計

      個計費(fèi)脈沖加0.1元)。CH0、CH1、CH2為十進(jìn)制計數(shù)。CH2表示費(fèi)用的十位,CH1表示費(fèi)用的個位,CH0表示費(fèi)用的十分位,計費(fèi)的最大值為99.9元。鎖定管腳及硬件實(shí)現(xiàn)

      5.1 鎖定管腳圖

      在驗(yàn)證出租車計費(fèi)器系統(tǒng)的功能之前,需要清楚實(shí)驗(yàn)箱與各個信號之間的對應(yīng)關(guān)系,參照資料得出本設(shè)計中各引腳的對應(yīng)情況如下:

      圖5-1 頂層原理圖

      5.2 硬件實(shí)現(xiàn)

      通過硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編輯.pin文件。完成管腳定義后選擇器件,編譯后生成.sof文件。選擇.sof文件進(jìn)行下載。

      下載完成后,將第一全局時鐘CLK1的跳線器接1Hz(作為秒脈沖信號),將第二全局時鐘CLK2的跳線器接1Hz(作為十米脈沖信號),將第三全局時鐘CLK3的跳線器接32768Hz,用撥位開關(guān)模擬控制出租車的啟動、行駛、暫停。觀察數(shù)

      出租車自動計費(fèi)器設(shè)計

      碼管上數(shù)據(jù)的變化是否符合設(shè)計標(biāo)準(zhǔn)。在試驗(yàn)箱上八個數(shù)碼管從左至右分別顯示的是:等待時間的十位、等待時間的個位、里程的十位、里程的個位、里程的十分位、費(fèi)用的十位、費(fèi)用的個位、費(fèi)用的十分位。5.2.1 顯示結(jié)果的幾種情況

      圖5-2 驗(yàn)證結(jié)果1 圖5-2表示出租車等待了1分鐘,行駛了3.9公里,即時車費(fèi)為6.0元。根據(jù)設(shè)計要求計算所得費(fèi)用為:5元+(3.9-3)公里×1元/公里+1分鐘×0.1元/分鐘=6.0元,計算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。

      圖5-3 驗(yàn)證結(jié)果2

      出租車自動計費(fèi)器設(shè)計

      圖5-3表示出租車等待了3分鐘,行駛了6.8公里,即時車費(fèi)為9.1元。根據(jù)設(shè)計要求計算所得費(fèi)用為:5元+(6.8-3)公里×1元/公里+3分鐘×0.1元/分鐘=9.1元,計算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。

      在試驗(yàn)箱驗(yàn)證過程中,我們可以看到,八位數(shù)碼管的右三位顯示起步價05.0,中間三個數(shù)碼管在以0.1為步長進(jìn)行加法顯示行駛里程,當(dāng)行駛里程超過3公里之后,每0.1公里計費(fèi)金額加0.1元,當(dāng)我們按下等待暫停鍵,每分鐘左邊兩個數(shù)碼管加1,其顯示的等待時間,當(dāng)?shù)却龝r間到1分鐘時,計費(fèi)金額加0.1元,由此我們可以判斷,系統(tǒng)設(shè)計符合要求。5.2.2 硬件實(shí)現(xiàn)總結(jié)

      通過對每一模塊的仿真和下載,可以實(shí)現(xiàn)各個模塊的邏輯功能,驗(yàn)證了各個模塊的正確性。在出租車計費(fèi)系統(tǒng)的4個模塊中,重點(diǎn)在于計量模塊(JILIANG),計費(fèi)模塊(JIFEI),顯示控制模塊(SELTIME),譯碼顯示模塊(DELED)。JILIANG模塊主要有汽車的開始、運(yùn)行、暫停,JILIANG模塊主要記錄出租車的行駛里程和等待時間,并將等待時間計費(fèi)脈沖和行駛里程計費(fèi)脈沖送入JIFEI模塊;JIFEI模塊主要是完成起步價計費(fèi)、等待時間計費(fèi)、行駛里程計費(fèi),并完成總費(fèi)用;SELTIME模塊起顯示控制作用,控制等待時間、行駛里程、費(fèi)用在八個數(shù)碼管上的位置。DELED模塊是把送入的每個四位數(shù)據(jù)轉(zhuǎn)換為7段碼,從而能在數(shù)碼管上正確的顯示。這四個模塊的組合成完整的出租車系統(tǒng),在設(shè)計過程中還需要改進(jìn)的是控制出租車計費(fèi)系統(tǒng)的控制功能。

      出租車計費(fèi)器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車開始、啟動、暫停、停止等功能,由數(shù)碼管顯示出租車等待時間,行駛里程,費(fèi)用。車暫等待時停止行駛里程計費(fèi),車費(fèi)僅由等待時間計費(fèi);出租車正常行駛時,僅根據(jù)里程收費(fèi)方式。若停止則車費(fèi)清零,等待下一次計費(fèi)的開始。出租車計費(fèi)系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個多層次的硬件描述語言本設(shè)計在實(shí)用方面具有一定的價值。

      該計費(fèi)器實(shí)現(xiàn)了按預(yù)置參數(shù)自動計費(fèi)(最大計費(fèi)金額為99.9元)、自動計程(最大計程公里數(shù)為99.9公里)等功能;能夠?qū)崿F(xiàn)起步價、每公里收費(fèi)、等待時間計費(fèi)的參數(shù)預(yù)置(如:起步價5.0元;3公里后1元每公里;等待時間0.1元每分鐘),且預(yù)置參數(shù)可調(diào)范圍廣。由于采用CPLD大規(guī)??删幊踢壿嬈骷?,整機(jī)功耗小、抗干擾能力強(qiáng)、系統(tǒng)穩(wěn)定、工作可靠、升級方便。

      出租車自動計費(fèi)器設(shè)計 設(shè)計體會與總結(jié)

      通過這次緊張而又充實(shí)的EDA課程設(shè)計,我感受到了VHDL語言和普通軟件語言之間的區(qū)別,也能夠更加熟練地運(yùn)用VHDL語言進(jìn)行邏輯電路的設(shè)計了,受益匪淺。我們所做的課題是出租車計費(fèi)器的設(shè)計。老師給了我們課程設(shè)計題目,在這半個月的實(shí)驗(yàn)操作中,不斷的完善自己的設(shè)計要求,將自己的想法融入到實(shí)驗(yàn)的程序中去。最終通過仿真達(dá)到了自己預(yù)想的效果。有種先苦后甜的成就感。

      同時在本次試驗(yàn)中,我們熟練的掌握了Quartus II軟件的使用。學(xué)會了如何把自己所設(shè)計的程序,通過軟件用波形仿真出來,再通過試驗(yàn)箱仿真出來。

      在這次課程設(shè)計過程中,要感謝陳老師在課程設(shè)計上給予我的幫助,提供給我的支持與建議,特別是幫助我解決了我半個月來一直遇到的運(yùn)行程序警告多的問題,這是我能順利完成這次報告的主要原因,讓我能把課程設(shè)計做得更加完善。在此期間,我不僅學(xué)到了許多新知識,而且也開闊了視野,提高了自己的設(shè)計能力。其次,我要感謝幫助過我的同學(xué)們,他們也為我解決了不少難題。這些東西是無法再平時上課的過程中學(xué)到的,實(shí)踐出真知,只有在實(shí)驗(yàn)中我們才能更好的學(xué)到東西,不用紙上談兵,做無用功。

      出租車自動計費(fèi)器設(shè)計

      參考文獻(xiàn)

      [1] 徐飛.EDA技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2011.[2] 王行,李衍.EDA技術(shù)入門與提高[M].西安:西安電子科技大學(xué)出版社,2005.[3] 劉昌華.數(shù)字邏輯EDA設(shè)計與實(shí)踐[M].北京:國防工業(yè)出版社,2011.[4] 李蓉.基于VHDL語言的出租車自動計費(fèi)器的設(shè)計[J].科技風(fēng),2008,24:33.出租車自動計費(fèi)器設(shè)計

      附 錄 JILIANG模塊的VHDL編程

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;

      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 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<=“0000”;K2<=“0000”;R1<=0;ELSIF CLK1'EVENT AND CLK1='1' THEN IF DRIVE='1'AND 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”;ELSE K2<=K2+1;

      END IF;ELSE K1<=K1+1;END IF;

      出租車自動計費(fèi)器設(shè)計

      ELSE K0<=K0+1;END IF;ELSE R1<=R1+1;B1<='0';END IF;K<=K2&K1;IF K>“00000010” THEN

      IF R1<9 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)BEGIN IF START='1' THEN IF DRIVE='0' THEN M0<=“0000”;M1<=“0000”;W1<=0;ELSIF CLK'EVENT AND CLK='1' THEN IF DRIVE='1' AND BREAK='1'THEN IF W1=59 THEN W1<=0;B2<='1';

      IF M0=“1001”THEN M0<=“0000”;M1<=M1+1;

      IF M1=“1001”THEN 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;

      出租車自動計費(fèi)器設(shè)計 JIFEI模塊的VHDL編程

      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_LOGIC_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 B'EVENT AND B='1' THEN

      IF C0=“1001” THEN C0<=“0000”;

      IF C1=“1001”THEN C1<=“0000”;

      IF C2=“1001”THEN 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;

      出租車自動計費(fèi)器設(shè)計 SELTIME控制模塊的VHDL編程

      library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

      entity seltime is port(clk : in std_logic;CH2,CH1,CH0 : in std_logic_vector(3 downto 0);KM2,KM1,KM0 : in std_logic_vector(3 downto 0);MIN1,MIN0 : in std_logic_vector(3 downto 0);dp : OUT STD_LOGIC;daout : out std_logic_vector(3 downto 0);sel : out std_logic_vector(2 downto 0));end seltime;

      architecture behav of seltime is signal sec : std_logic_vector(2 downto 0);begin process(clk)begin if(clk'event and clk='1')then

      if(sec=“111”)then sec<=“000”;else sec<=sec+1;end if;end if;end process;process(sec,MIN1,MIN0,CH2,CH1,CH0,KM2,KM1,KM0)begin case sec is when “000”=>daout<=CH0(3 downto 0);dp<='0';when “001”=>daout<=CH1(3 downto 0);dp<='1';when “010”=>daout<=CH2(3 downto 0);dp<='0';when “011”=>daout<=KM0(3 downto 0);dp<='0';when “100”=>daout<=KM1(3 downto 0);dp<='1';when “101”=>daout<=KM2(3 downto 0);dp<='0';when “110”=>daout<=MIN0(3 downto 0);dp<='0';

      when “111”=>daout<=MIN1(3 downto 0);dp<='0';when others=>daout<=“XXXX”;end case;end process;

      出租車自動計費(fèi)器設(shè)計

      sel<=sec;end behav;DELED模塊的VHDL編程

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

      ENTITY DELED IS PORT(DP: IN STD_LOGIC;S: IN STD_LOGIC_VECTOR(3 DOWNTO 0);A,B,C,D,E,F,G,H: OUT STD_LOGIC);END DELED;

      ARCHITECTURE BEHAV OF DELED IS SIGNAL DATA : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL DOUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN DATA<=S;PROCESS(DATA,DP)BEGIN IF DP='0' THEN

      CASE DATA IS

      WHEN “0000”=>DOUT<=“00111111”;

      WHEN “0001”=>DOUT<=“00000110”;

      WHEN “0010”=>DOUT<=“01011011”;

      WHEN “0011”=>DOUT<=“01001111”;

      WHEN “0100”=>DOUT<=“01100110”;

      WHEN “0101”=>DOUT<=“01101101”;

      WHEN “0110”=>DOUT<=“01111101”;

      WHEN “0111”=>DOUT<=“00000111”;

      WHEN “1000”=>DOUT<=“01111111”;

      WHEN “1001”=>DOUT<=“01101111”;

      WHEN OTHERS=>DOUT<=“00000000”;

      END CASE;ELSE

      CASE DATA IS

      WHEN “0000”=>DOUT<=“10111111”;

      WHEN “0001”=>DOUT<=“10000110”;

      WHEN “0010”=>DOUT<=“11011011”;

      WHEN “0011”=>DOUT<=“11001111”;

      WHEN “0100”=>DOUT<=“11100110”;

      WHEN “0101”=>DOUT<=“11101101”;

      出租車自動計費(fèi)器設(shè)計

      WHEN “0110”=>DOUT<=“11111101”;

      WHEN “0111”=>DOUT<=“10000111”;

      WHEN “1000”=>DOUT<=“11111111”;

      WHEN “1001”=>DOUT<=“11101111”;

      WHEN OTHERS=>DOUT<=“10000000”;

      END CASE;END IF;END PROCESS;H<=DOUT(7);G<=DOUT(6);F<=DOUT(5);E<=DOUT(4);D<=DOUT(3);C<=DOUT(2);B<=DOUT(1);A<=DOUT(0);END BEHAV;

      第三篇:出租車自動計費(fèi)器設(shè)計(課程設(shè)計報告)課件

      目錄 緒論....................................................................................................................................................1 1.1設(shè)計背景......................................................................................................................................1 1.2QUARTUS II簡介.......................................................................................................................1 1.3VHDL語言基礎(chǔ)..........................................................................................................................2 2 出租車計費(fèi)器總體設(shè)計結(jié)構(gòu).............................................................................................................2 2.1

      系統(tǒng)設(shè)計要求和目的..................................................................................................................2 2.2.1 系統(tǒng)設(shè)計要求......................................................................................................................2 2.2.1 系統(tǒng)設(shè)計目的......................................................................................................................2 2.2

      設(shè)計思路......................................................................................................................................3 2.3

      系統(tǒng)總體結(jié)構(gòu)..............................................................................................................................3 2.4出租車計費(fèi)器系統(tǒng)工作流程圖..................................................................................................4 3 出租車計費(fèi)器的實(shí)現(xiàn).........................................................................................................................5 3.1

      出租車計費(fèi)器的頂層原理圖......................................................................................................5 3.2

      系統(tǒng)各功能模塊的實(shí)現(xiàn)..............................................................................................................5 3.2.1 計費(fèi)模塊JIFEI....................................................................................................................5 3.2.2 計量模塊JILIANG..............................................................................................................6 3.2.3 顯示控制模塊SELTIME.....................................................................................................7 3.2.4 顯示模塊DELED................................................................................................................7 4 出租車計費(fèi)器系統(tǒng)仿真及分析.........................................................................................................8 4.1

      計費(fèi)系統(tǒng)的仿真..........................................................................................................................8 4.2

      單元模塊的仿真及分析............................................................................................................10 4.2.1 譯碼顯示模塊的仿真及分析............................................................................................10 4.2.2 顯示控制模塊的仿真及分析............................................................................................11 4.2.3 計量模塊的仿真及分析....................................................................................................12 4.2.4 計費(fèi)模塊的仿真及分析....................................................................................................12 5 鎖定管腳及硬件實(shí)現(xiàn).......................................................................................................................13 5.1

      鎖定管腳圖................................................................................................................................13 5.2

      硬件實(shí)現(xiàn)....................................................................................................................................13 5.2.1 顯示結(jié)果的幾種情況........................................................................................................14 5.2.2 硬件實(shí)現(xiàn)總結(jié)....................................................................................................................15 6 設(shè)計體會與總結(jié)...............................................................................................................................16 參考文獻(xiàn)................................................................................................................................................17 附

      錄................................................................................................................................................18 1

      JILIANG模塊的VHDL程序......................................................................................................18 2

      JIFEI模塊的VHDL程序............................................................................................................19 3

      SELTIME控制模塊的VHDL程序.............................................................................................20 4

      DELED模塊的VHDL程序........................................................................................................21 巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 緒論

      1.1 設(shè)計背景

      隨著我國社會經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營運(yùn)事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。于是,出租車行業(yè)以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計價器。汽車計價器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具,它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是具有一定意義的。出租車計費(fèi)器是出租車營運(yùn)收費(fèi)的專用智能化儀表,是出租車市場規(guī)范化,標(biāo)準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備,簡單易用,計量準(zhǔn)確的出租車計費(fèi)器是加強(qiáng)出租車行業(yè)管理,提高服務(wù)質(zhì)量的必需品。本設(shè)計就是采用VHDL硬件描述語言作為設(shè)計手段,采用自己的設(shè)計思路,得到一種出租車計價系統(tǒng)的軟件結(jié)構(gòu),通過Quartus II 6.0軟件下進(jìn)行仿真,證明所設(shè)計的電路系統(tǒng)完成了出租車計價的功能,各項(xiàng)指標(biāo)符合設(shè)計要求,具有一定的實(shí)用性。

      1.2 QUARTUS II簡介

      QUARTUS II 是Altera公司的綜合性CPLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整CPLD設(shè)計流程。QUARTUS II 支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。Altera QUARTUS II 作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強(qiáng)大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      1.3 VHDL語言基礎(chǔ)

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

      2.1 系統(tǒng)設(shè)計要求和目的

      2.2.1 系統(tǒng)設(shè)計要求

      1.起步價為5.0元,起步公里為3公里;

      2.超過3公里,每公里按1元收費(fèi),也可每0.1公里按0.1元收費(fèi); 3.等候時間累計1分鐘,按每分鐘0.1元收費(fèi);

      4.用三個數(shù)碼管顯示總金額,最大值為99.9元;用三個數(shù)碼管顯示總里程,最大值99.9公里;用兩個數(shù)碼管顯示等待時間,最大值99分鐘。2.2.1 系統(tǒng)設(shè)計目的

      1.通過這次實(shí)驗(yàn)設(shè)計使我們加深對EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計相關(guān)理論和概念的理解,培養(yǎng)我們的理論聯(lián)系實(shí)際的能力,特別是實(shí)際動手能力。

      2.學(xué)習(xí)使用QUARTUS II軟件設(shè)計。

      3.根據(jù)原理圖學(xué)會用VHDL語言設(shè)計時序電路。4.學(xué)會繪制功能仿真波形圖。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      2.2 設(shè)計思路

      根據(jù)設(shè)計要求,電路具有計時、計程、計費(fèi)功能,用數(shù)碼管顯示行駛公里數(shù)、等待時間、收費(fèi)金額,行車?yán)锍毯偷却龝r間的處理電路將汽車行駛的里程數(shù)、轉(zhuǎn)換成與之成正比的計費(fèi)脈沖,然后由計費(fèi)電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個脈沖模擬汽車前進(jìn)十米,則每100個脈沖表示1公里,3公里以后每0.1公里產(chǎn)生一個計費(fèi)脈沖,一個1HZ的脈沖用來表示等待時間,60個脈沖代表1分鐘,1分鐘即60個脈沖產(chǎn)生一個等待計費(fèi)脈沖,然后用計費(fèi)電路對計費(fèi)脈沖進(jìn)行計費(fèi)。

      2.3 系統(tǒng)總體結(jié)構(gòu)

      圖2-1 系統(tǒng)總體結(jié)構(gòu)圖

      出租車計費(fèi)器的組成如上圖所示,通過控制模塊以高低脈沖模擬出租汽車啟動、行駛、暫停,具有控制作用;通過控制模塊控制出租車的狀態(tài)來選擇出租車是計里程還是計等待時間,相應(yīng)產(chǎn)生的時間計費(fèi)脈沖信號和里程脈沖信號來計費(fèi),譯碼/動態(tài)掃描模塊將等待時間、路程與費(fèi)用的數(shù)值譯碼后用動態(tài)掃描的方式驅(qū)動數(shù)碼管;數(shù)碼管顯示模塊將里程數(shù)、等待時間和計費(fèi)金額用數(shù)碼管顯示。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      2.4 出租車計費(fèi)器系統(tǒng)工作流程圖

      圖2-2 出租車計費(fèi)系統(tǒng)工作流程圖

      出租車載客后,啟動計費(fèi)器,整個系統(tǒng)開始工作,進(jìn)入初始化狀態(tài),即計程從0開始,計費(fèi)從5.0元開始。再根據(jù)BREAK信號判斷行駛還是暫停。若是行駛狀態(tài),計費(fèi)器開始進(jìn)行里程計數(shù),當(dāng)里程超過3公里時,計費(fèi)器開始累加,按每0.1公里收費(fèi)0.1元計算,計程器則繼續(xù),否則計費(fèi)器不變。若是暫停狀態(tài),計費(fèi)器開始進(jìn)行等候時間計數(shù),當(dāng)?shù)群驎r間累計1分鐘,則每分鐘0.1元計費(fèi)。最后將等候時間、里程、計費(fèi)都顯示出來。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 出租車計費(fèi)器的實(shí)現(xiàn)

      3.1 出租車計費(fèi)器的頂層原理圖

      圖3-1 出租車計費(fèi)器頂層原理圖

      原理圖中輸入部分分別是CLK:秒脈沖信號,1個脈沖代表1秒,則60個脈沖表示1分鐘。CLK1:10米脈沖信號,1個脈沖代表10米,則10個脈沖表示100米,100個脈沖代表1公里。START:計程車開啟信號;DRIVE:計費(fèi)器啟動信號;BREAK:等待信號,SEL為計數(shù)控制信號輸出端。

      3.2 系統(tǒng)各功能模塊的實(shí)現(xiàn)

      3.2.1 計費(fèi)模塊JIFEI 計費(fèi)(JIFEI)模塊也是本系統(tǒng)的核心,完成起步價計費(fèi),等待時間計費(fèi),里程計費(fèi)功能。計費(fèi)器啟動,顯示起步價5.0元,之后每來一個行駛里程計費(fèi)脈沖或者等待時間計費(fèi)脈沖,計費(fèi)金額自動加0.1元。計費(fèi)顯示用3位數(shù)碼管,所以計費(fèi)最大值為99.9元。其中CH2表示費(fèi)用的十位,CHI表示費(fèi)用的個位,CH0表示費(fèi)用的十分位。B為等待時間計費(fèi)脈沖信號或里程計費(fèi)脈沖信號。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      圖3-2 JIFEI模塊圖

      3.2.2 計量模塊JILIANG

      圖3-3 JILIANG模塊圖

      本模塊是系統(tǒng)的核心模塊之一,能夠?qū)ν獠康男旭偩嚯x脈沖、等待時間脈沖進(jìn)行計數(shù)。因?yàn)樾旭偩嚯x每脈沖代表10米,所以計滿100個數(shù)就輸出一個行駛距離計費(fèi)脈沖,因?yàn)?公里之內(nèi)屬于起步價,所以前3公里內(nèi)不輸出行駛距離計費(fèi)脈沖,因?yàn)橛?位數(shù)碼管來顯示行駛距離,其中兩位整數(shù),一位小數(shù),所以行駛距離最小分辨率為0.1公里,行駛距離脈沖每計10個數(shù),行駛距離輸出加0.1,行駛距離最大值為99.9公里。其中KM2為里程的十位,KM1為里程的個位,KM0為里程的十分位。等待時間脈沖頻率為1HZ,所以一個脈沖代表1秒,60個等待脈沖是1分鐘,輸出等待時間加1,等待時間滿1分鐘計一次費(fèi),所以對等待時間脈沖計數(shù),計滿60個數(shù)就輸出一個等待計費(fèi)脈沖。等待時間最大值為99分鐘。MIN1為等待時間的十位,MIN0為等待時間的個位。將行駛距離、等待時間送到SELTIME模塊,時間與里程計費(fèi)脈沖送到計費(fèi)模塊完成里程、等待時間的計費(fèi)功能。B1為超過3公里后,每0.1公里產(chǎn)生的計費(fèi)脈沖。B2為每等待一分鐘產(chǎn)生的計費(fèi)脈沖。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      3.2.3 顯示控制模塊SELTIME

      圖3-4 SELTIME模塊圖

      SELTIME模塊起顯示控制作用,控制等待時間、行駛里程、費(fèi)用在數(shù)碼管上的顯示位置。sel為計數(shù)控制信號輸出端,功能主要是利用其計數(shù)的八個狀態(tài),使daout在其每個狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED模塊。dp為小數(shù)點(diǎn)脈沖控制信號,當(dāng)該模塊輸出的值為里程的個位、費(fèi)用的個位時,需要考慮小數(shù)點(diǎn)的存在,即此時dp=‘1’,在其他不需要小數(shù)點(diǎn)的情況下,dp=‘0’,最后dp將信號輸出到DELED模塊。3.2.4 顯示模塊DELED

      圖3-5 DELED模塊圖

      DELED模塊把送入的每個四位數(shù)據(jù)轉(zhuǎn)換為7段碼送出顯示,能夠使數(shù)碼管正常顯示送入的數(shù)據(jù)。其中DP為小數(shù)點(diǎn)輸入信號。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 出租車計費(fèi)器系統(tǒng)仿真及分析

      4.1 計費(fèi)系統(tǒng)的仿真

      圖4-1 出租車啟動時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-1 可知,當(dāng)出租車未啟動時,里程、等待時間、費(fèi)用均為0。出租車剛啟動時,里程、等待時間為0,費(fèi)用為出租車起步價5元。

      圖4-2 出租車等待時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-2可知,當(dāng)出租車在等待過程中,行駛里程16.2公里,等待時間為32分鐘時,出租車的費(fèi)用為:5+(16.2-3)×1+32×0.1=21.4元,與仿真結(jié)果一巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      致。

      圖4-3 出租車行駛時計費(fèi)系統(tǒng)功能仿真圖

      由圖4-3可知,當(dāng)出租車行駛到66.6千米,等待時間60分鐘時,由仿真結(jié)果可得出費(fèi)用為74.6元;根據(jù)設(shè)計要求計算可得費(fèi)用為:5+(66.6-3)×1+60×0.1=74.6元。仿真結(jié)果與計算值一致,驗(yàn)證了設(shè)計的正確性。

      圖4-4 出租車停車時計費(fèi)系統(tǒng)功能仿真圖

      當(dāng)出租車停車時,出租車上的時間、里程和費(fèi)用清零,為下次計費(fèi)的開始做準(zhǔn)備。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      4.2 單元模塊的仿真及分析

      4.2.1 譯碼顯示模塊的仿真及分析

      圖4-5 譯碼顯示模塊的功能仿真圖

      圖4-5為譯碼顯示模塊的功能仿真波形圖,DP、S為信號輸入端,也是顯示控制模塊的信號輸出端口,ABCDEFGH八個端口為八位二進(jìn)制的輸出端口。假設(shè)DOUT=“HGFEDCBA”,由上圖可以看出:

      1.DP=0時:

      當(dāng)S(3 downto 0)=”0000”,則DOUT=”00111111”; 當(dāng)S(3 downto 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”,則DOUT=”01111111”; 當(dāng)S(3 downto 0)=”1001”,則DOUT=”01101111”;

      當(dāng)S(3 downto 0)等于上述值以外的值時,則DOUT=”00000000”。2.DP=1時: 巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(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”,則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)等于上述值以外的值時,則DOUT=”10000000”。4.2.2 顯示控制模塊的仿真及分析

      圖4-6 顯示控制模塊的功能仿真圖

      圖4-6為顯示控制模塊功能仿真圖,其中clk為時鐘脈沖輸入端,sel為計數(shù)控制信號輸出端,daout為sel所控制狀態(tài)下的輸出到數(shù)碼管的位選信號,dp為小數(shù)點(diǎn)控制輸出信號??梢钥闯?,當(dāng)時鐘沿上升時刻到來時,計數(shù)器的輸出sel就自動加1,當(dāng)計數(shù)器輸出端加到“111”時,再來一個脈沖上升沿,則計數(shù)的輸出端sel變?yōu)椤?00”,該顯示控制模塊的功能主要是利用其計數(shù)的八個狀態(tài),進(jìn)而去輪流控制數(shù)碼管的位選信號。由圖4-6可知:當(dāng)sel=“000”時,則daout=CH0;當(dāng)sel=“001”時,daout=CH1;當(dāng)sel=“010”時,daout=CH2;當(dāng)sel=“011”時,daout=KM0;當(dāng)sel=“100”時,daout=KM1;當(dāng)sel=“101”時,daout=KM2;巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      當(dāng)sel=“110”時,daout=MIN0;當(dāng)sel=“111”時,daout=MIN1。由于KM1、CH1表示里程的個位和費(fèi)用的個位,其后都存在小數(shù),故在設(shè)計中當(dāng)顯示KM1、CH1時須加入小數(shù)點(diǎn),此時dp=‘1’,在其他沒有小數(shù)點(diǎn)的情況時dp=‘0’。4.2.3 計量模塊的仿真及分析

      圖4-7 計量模塊的功能仿真圖

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

      圖4-8為計費(fèi)模塊的功能仿真圖當(dāng)START處于高電平且DRIVE處于高電平時,每送入一個計費(fèi)脈沖且計費(fèi)脈沖處于上升沿時,CH0自動加1(即每送入一個計費(fèi)脈沖加0.1元)。CH0、CH1、CH2為十進(jìn)制計數(shù)。CH2表示費(fèi)用的十位,CH1表示費(fèi)用的個位,CH0表示費(fèi)用的十分位,計費(fèi)的最大值為99.9元。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      圖4-8 計費(fèi)模塊的功能仿真圖 鎖定管腳及硬件實(shí)現(xiàn)

      5.1 鎖定管腳圖

      在驗(yàn)證出租車計費(fèi)器系統(tǒng)的功能之前,需要清楚實(shí)驗(yàn)箱與各個信號之間的對應(yīng)關(guān)系,參照資料得出本設(shè)計中各引腳的對應(yīng)情況如下:

      圖5-1 頂層原理圖

      5.2 硬件實(shí)現(xiàn)

      通過硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編輯.pin文件。完成管腳定義后選擇器件,編譯后生成.sof文件。選擇.sof文件進(jìn)巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      行下載。

      下載完成后,將第一全局時鐘CLK1的跳線器接1Hz(作為秒脈沖信號),將第二全局時鐘CLK2的跳線器接1Hz(作為十米脈沖信號),將第三全局時鐘CLK3的跳線器接32768Hz,用撥位開關(guān)模擬控制出租車的啟動、行駛、暫停。觀察數(shù)碼管上數(shù)據(jù)的變化是否符合設(shè)計標(biāo)準(zhǔn)。在試驗(yàn)箱上八個數(shù)碼管從左至右分別顯示的是:等待時間的十位、等待時間的個位、里程的十位、里程的個位、里程的十分位、費(fèi)用的十位、費(fèi)用的個位、費(fèi)用的十分位。5.2.1 顯示結(jié)果的幾種情況

      圖5-2 驗(yàn)證結(jié)果1 圖5-2表示出租車等待了1分鐘,行駛了3.9公里,即時車費(fèi)為6.0元。根據(jù)設(shè)計要求計算所得費(fèi)用為:5元+(3.9-3)公里×1元/公里+1分鐘×0.1元/分鐘=6.0元,計算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。

      圖5-3表示出租車等待了3分鐘,行駛了6.8公里,即時車費(fèi)為9.1元。根據(jù)設(shè)計要求計算所得費(fèi)用為:5元+(6.8-3)公里×1元/公里+3分鐘×0.1元/分鐘=9.1元,計算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。

      在試驗(yàn)箱驗(yàn)證過程中,我們可以看到,八位數(shù)碼管的右三位顯示起步價05.0,中間三個數(shù)碼管在以0.1為步長進(jìn)行加法顯示行駛里程,當(dāng)行駛里程超過3公里之后,每0.1公里計費(fèi)金額加0.1元,當(dāng)我們按下等待暫停鍵,每分鐘左邊兩個數(shù)碼管加1,其顯示的等待時間,當(dāng)?shù)却龝r間到1分鐘時,計費(fèi)金額加0.1元,由此我們可以判斷,系統(tǒng)設(shè)計符合要求。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      圖5-3 驗(yàn)證結(jié)果2 5.2.2 硬件實(shí)現(xiàn)總結(jié)

      通過對每一模塊的仿真和下載,可以實(shí)現(xiàn)各個模塊的邏輯功能,驗(yàn)證了各個模塊的正確性。在出租車計費(fèi)系統(tǒng)的4個模塊中,重點(diǎn)在于計量模塊(JILIANG),計費(fèi)模塊(JIFEI),顯示控制模塊(SELTIME),譯碼顯示模塊(DELED)。JILIANG模塊主要有汽車的開始、運(yùn)行、暫停,JILIANG模塊主要記錄出租車的行駛里程和等待時間,并將等待時間計費(fèi)脈沖和行駛里程計費(fèi)脈沖送入JIFEI模塊;JIFEI模塊主要是完成起步價計費(fèi)、等待時間計費(fèi)、行駛里程計費(fèi),并完成總費(fèi)用;SELTIME模塊起顯示控制作用,控制等待時間、行駛里程、費(fèi)用在八個數(shù)碼管上的位置。DELED模塊是把送入的每個四位數(shù)據(jù)轉(zhuǎn)換為7段碼,從而能在數(shù)碼管上正確的顯示。這四個模塊的組合成完整的出租車系統(tǒng),在設(shè)計過程中還需要改進(jìn)的是控制出租車計費(fèi)系統(tǒng)的控制功能。

      出租車計費(fèi)器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車開始、啟動、暫停、停止等功能,由數(shù)碼管顯示出租車等待時間,行駛里程,費(fèi)用。車暫等待時停止行駛里程計費(fèi),車費(fèi)僅由等待時間計費(fèi);出租車正常行駛時,僅根據(jù)里程收費(fèi)方式。若停止則車費(fèi)清零,等待下一次計費(fèi)的開始。出租車計費(fèi)系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個多層次的硬件描述語言本設(shè)計在實(shí)用方面具有一定的價值。

      該計費(fèi)器實(shí)現(xiàn)了按預(yù)置參數(shù)自動計費(fèi)(最大計費(fèi)金額為99.9元)、自動計程(最大計程公里數(shù)為99.9公里)等功能;能夠?qū)崿F(xiàn)起步價、每公里收費(fèi)、等待時間計巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      費(fèi)的參數(shù)預(yù)置(如:起步價5.0元;3公里后1元每公里;等待時間0.1元每分鐘),且預(yù)置參數(shù)可調(diào)范圍廣。由于采用CPLD大規(guī)??删幊踢壿嬈骷麢C(jī)功耗小、抗干擾能力強(qiáng)、系統(tǒng)穩(wěn)定、工作可靠、升級方便。設(shè)計體會與總結(jié)

      通過這次緊張而又充實(shí)的EDA課程設(shè)計,我感受到了VHDL語言和普通軟件語言之間的區(qū)別,也能夠更加熟練地運(yùn)用VHDL語言進(jìn)行邏輯電路的設(shè)計了,受益匪淺。我們所做的課題是出租車計費(fèi)器的設(shè)計。老師給了我們課程設(shè)計題目,在這半個月的實(shí)驗(yàn)操作中,不斷的完善自己的設(shè)計要求,將自己的想法融入到實(shí)驗(yàn)的程序中去。最終通過仿真達(dá)到了自己預(yù)想的效果。有種先苦后甜的成就感。

      同時在本次試驗(yàn)中,我們熟練的掌握了Quartus II軟件的使用。學(xué)會了如何把自己所設(shè)計的程序,通過軟件用波形仿真出來,再通過試驗(yàn)箱仿真出來。

      在這次課程設(shè)計過程中,要感謝陳老師在課程設(shè)計上給予我的幫助,提供給我的支持與建議,特別是幫助我解決了我半個月來一直遇到的運(yùn)行程序警告多的問題,這是我能順利完成這次報告的主要原因,讓我能把課程設(shè)計做得更加完善。在此期間,我不僅學(xué)到了許多新知識,而且也開闊了視野,提高了自己的設(shè)計能力。其次,我要感謝幫助過我的同學(xué)們,他們也為我解決了不少難題。這些東西是無法再平時上課的過程中學(xué)到的,實(shí)踐出真知,只有在實(shí)驗(yàn)中我們才能更好的學(xué)到東西,不用紙上談兵,做無用功。巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      參考文獻(xiàn)

      [1] 徐飛.EDA技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2011.[2] 王行,李衍.EDA技術(shù)入門與提高[M].西安:西安電子科技大學(xué)出版社,2005.[3] 劉昌華.數(shù)字邏輯EDA設(shè)計與實(shí)踐[M].北京:國防工業(yè)出版社,2011.[4] 李蓉.基于VHDL語言的出租車自動計費(fèi)器的設(shè)計[J].科技風(fēng),2008,24:33.巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計

      錄 JILIANG模塊的VHDL程序 巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 JIFEI模塊的VHDL程序 巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 SELTIME控制模塊的VHDL程序 巢湖學(xué)院2013級《EDA技術(shù)》課程設(shè)計

      出租車自動計費(fèi)器設(shè)計 DELED模塊的VHDL程序

      第四篇:EDA課程設(shè)計—自動售票機(jī)

      燕 山 大 學(xué)

      EDA課程設(shè)計報告書

      題目:

      自動售票機(jī)

      姓名: 班級: 學(xué)號:

      成績:

      (注:此文件應(yīng)以同學(xué)學(xué)號為文件名)

      一、設(shè)計題目及要求 1.設(shè)計題目:自動售票機(jī) 2.設(shè)計要求:

      ⑴、每次投一枚硬幣,但可以連續(xù)投入數(shù)枚硬幣。硬幣種類兩種:1元和5角,各用一個按鍵表示。

      ⑵、設(shè)定票價為2.5元,每次售一張票。購票時先投入硬幣,當(dāng)投入的硬幣總金額達(dá)到或超過票的面值時,用LED發(fā)出指示,這時可以按取票鍵取出票。

      ⑶、如果所投硬幣超過票的面值則會有LED提示找零錢,取完票以后按找零鍵則可以取出零錢。

      ⑷、用兩位數(shù)碼管顯示已投幣金額,若剛好投幣2.5元,取票后金額歸零;若投幣超過2.5元,取票后顯示找零金額,按下找零鍵后金額再歸零。

      1總體設(shè)計的文字描述,即由哪幾個部分構(gòu)

      二、設(shè)計過程及內(nèi)容(包括○

      2主要模塊比較詳盡的文字描成的,各個部分的功能及如何實(shí)現(xiàn)方法;○述,并配以必要的圖片加以說明,但圖片數(shù)量無需太多)1.總體結(jié)構(gòu)如下:

      總體設(shè)計思路:此自動售票系統(tǒng)總共有5個主要模塊,分別是:累加模塊,比較器模塊,找零模塊,數(shù)字轉(zhuǎn)換模塊,顯示器模塊。⑴、累加模塊實(shí)現(xiàn)金額的累加功能。

      實(shí)現(xiàn)方法:該模塊設(shè)置3個輸入口(包括5角、1元、復(fù)位),8個輸出口(B1—B8)。該模塊將在給五角或一元高電平的同時實(shí)現(xiàn)金額的累加,復(fù)位則會將會對其進(jìn)行清零。該模塊由一片8位的加法器,2片4位寄存器及簡單門電路組成,利用8位加法器將輸入的金額(5、10)進(jìn)行二進(jìn)制相加(00000101、00001010),通過寄存器后返回到加法器實(shí)現(xiàn)累加功能。復(fù)位鍵則與寄存器復(fù)位清零短CLRN相連,實(shí)現(xiàn)復(fù)位的功能。

      ⑵、比較器模塊實(shí)現(xiàn)與票價進(jìn)行比較的功能。

      實(shí)現(xiàn)方法:該模塊設(shè)置了8個輸入口(A0—A7)1個取票口,4個輸出口。該模塊 將累加的錢幣與2.5元的票價比較,如果累加金額高于票價則黃燈亮,小于票價則紅燈亮,等于票價則綠燈亮。給取票輸入端高電平則會出票。該模塊由一片八位比較器及門電路組成,輸入的信號與二進(jìn)制的票價相比較(00011001)。⑶、找零模塊實(shí)現(xiàn)大于票價找零錢的功能。

      實(shí)現(xiàn)方法:該模塊設(shè)置了2個輸入口(zhaoling,H),8個輸出口(E1—E8)。該模塊將在輸入金額大于票價及出票之后的時候給予高電平,使在顯示器中顯示5。該模塊由兩個四位寄存器及少量門電路組成。給zhaoling輸入口高電平,使寄存器工作,之后輸出所找的零錢(二進(jìn)制輸出),通過數(shù)碼管顯示出來。⑷、數(shù)字轉(zhuǎn)換模塊實(shí)現(xiàn)TTL 二進(jìn)制—BCD代碼轉(zhuǎn)換的功能。

      實(shí)現(xiàn)方法:該模塊設(shè)置了8個輸入口(S1—S8),和8個輸出口(C1—C8)。該模塊由3個TTL 二進(jìn)制—BCD碼轉(zhuǎn)換器及門電路組成。將需要數(shù)碼管顯示的數(shù)字二進(jìn)制代碼輸入將輸出相應(yīng)的BCD碼。即用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個數(shù)碼。

      ⑸、顯示器模塊實(shí)現(xiàn)將在數(shù)碼管上顯示數(shù)字的功能。

      實(shí)現(xiàn)方法:該模塊設(shè)置了8個輸入口(A1—A7)輸入相應(yīng)的BCD碼,7個輸出口(Y1—Y7)輸出相應(yīng)的使數(shù)碼管亮的代碼及另外3個輸出口(str1,str2,str3)控制相應(yīng)的數(shù)碼管亮。該模塊由1個四位二進(jìn)制計數(shù)器和雙四選一數(shù)據(jù)選擇器和1個七段譯碼器及相應(yīng)門電路組成。將BCD碼輸入進(jìn)去,通過計數(shù)器控制雙位四選一數(shù)據(jù)選擇器的輸入端(00或01)。s0—s3通過00控制IC0的輸出,此時str2 str1 str0通過000來控制第一個數(shù)碼管亮,s4—s7通過01控制IC1口的輸出,此時str2 str1 str0通過001來控制第二個數(shù)碼管亮,將選擇的輸輸入到七段譯碼器中將進(jìn)行譯碼使數(shù)碼管顯示相應(yīng)數(shù)字。2.各個模塊電路圖及仿真模型 總體電路圖:

      超過2.5元即3元時結(jié)果如下:

      當(dāng)正好為2.5元時,結(jié)果如下:

      ⑴、累加模塊

      累加模塊仿真結(jié)果如下: ⑵、比較器模塊

      比較器模塊仿真模型:

      ⑶、找零模塊

      找零模塊仿真結(jié)果:

      ⑷、數(shù)字轉(zhuǎn)換模塊

      數(shù)字轉(zhuǎn)換模塊仿真結(jié)果:

      ⑸、顯示器模塊

      顯示器模塊仿真結(jié)果:

      三、設(shè)計結(jié)論(包括設(shè)計過程中出現(xiàn)的問題;對EDA課程設(shè)計感想、意 見和建議)

      經(jīng)過一周多的課程設(shè)計,我受益匪淺,學(xué)到了團(tuán)隊(duì)合作,提高信息檢索能力的重要性。在這次設(shè)計中遇到了很多實(shí)際性的問題,在實(shí)際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點(diǎn)一滴的解決,而在解決的過程當(dāng)中你會發(fā)現(xiàn)自己在飛速的提升。在實(shí)驗(yàn)過程中,根據(jù)任務(wù)書的要求,查找資料,設(shè)計了電路方案,在差額計算模塊、投幣模塊、選票模塊,有幾種預(yù)想方案,和同組人員仔細(xì)分析后確定了一套簡單實(shí)用的方案。

      在課程設(shè)計過程中,其中最具有代表性的錯誤就是累加模塊。當(dāng)信號輸入時,輸入信號與寄存器儲存信號相加時出現(xiàn)嚴(yán)重的延時問題,后來在老師以及同組同學(xué)的努力下,加入了延時器,解決了這個問題。還有在試驗(yàn)箱進(jìn)行仿真時,發(fā)現(xiàn)顯示數(shù)字很不準(zhǔn)確,在查閱資料和老師的幫助下,意識到是輸入抖動問題,我們在輸入端口加入了防抖動電路,很好的解決了這個問題。

      在進(jìn)行硬件方面測試的過程中,也遇到了一些問題,在進(jìn)行數(shù)據(jù)累加的過程中,數(shù)據(jù)很不穩(wěn)定,我們在摁鍵處加入了防抖動電路,便解決了這一問題。對設(shè)計的建議:

      ⑴課程設(shè)計是理論與實(shí)際相結(jié)合的應(yīng)用,對我們的學(xué)習(xí)幫助很大,讓我們更好的掌握所學(xué)知識,希望以后能更多的開展這樣的活動,讓我們有更多的機(jī)會運(yùn)用所學(xué)的知識。

      ⑵實(shí)際電路中,有些模塊在模擬軟件中無法進(jìn)行模擬仿真,這讓我們對自己設(shè)計的電路的可用性有些疑惑,希望學(xué)校能給我們提供能讓我們進(jìn)行實(shí)際仿真的實(shí)驗(yàn)室,讓我們能更加完善自己的電路。

      同時在整個EDA的設(shè)計中,老師給予了無私的,耐心的教導(dǎo),在此感謝老師的教誨,愿老師工作順利,身體健康。

      第五篇:EDA實(shí)習(xí)報告(自動售賣機(jī))

      EDA技術(shù)及應(yīng)用實(shí)習(xí)報告

      自動售賣機(jī)

      信息13-2班06號

      GMH

      北華大學(xué)電氣信息工程學(xué)院

      目 錄

      一、設(shè)計任務(wù)功能簡介............................................................................2

      1、設(shè)計任務(wù)......................................................................................2

      2、主要功能......................................................................................2

      二、原理、方案、框圖及任務(wù)分解........................................................2

      1、原理...............................................................................................2

      2、方案...............................................................................................2

      3、框圖...............................................................................................3

      4、任務(wù)分解......................................................................................3

      三、關(guān)鍵任務(wù)的設(shè)計代碼及注釋............................................................4

      四、調(diào)試中出現(xiàn)的問題及解決方案........................................................8

      1、問題一...........................................................................................8

      2、問題二...........................................................................................8

      五、產(chǎn)業(yè)化市場分析及預(yù)測....................................................................8

      六、測試及運(yùn)行結(jié)果................................................................................9

      七、參考文獻(xiàn)...........................................................................................1

      一、設(shè)計任務(wù)功能簡介

      1、設(shè)計任務(wù)

      自動售貨機(jī)設(shè)計。利用軟件QuartusII軟件,使用VHDL語言結(jié)合硬件要求對本題目設(shè)計功能進(jìn)行編程,并在完成整個硬件程序設(shè)計后,在軟件平臺上進(jìn)行編譯和電路仿真,最后生成的目標(biāo)文件下載到DE2-70實(shí)驗(yàn)板上實(shí)現(xiàn)上述所有功能并驗(yàn)證程序的可行性。

      2、主要功能

      本設(shè)計主要實(shí)現(xiàn)的功能為:貨物信息存儲功能、商品選擇功能、輸入錢數(shù)處理功能、貨架商品更換功能、語音提示功能、信息顯示等功能。

      二、原理、方案、框圖及任務(wù)分解

      1、原理

      自動售貨機(jī)(Vending Machine,VEM)是能根據(jù)投入的錢幣自動付貨的機(jī)器。自動售貨機(jī)是商業(yè)自動化的常用設(shè)備,它不受時間、地點(diǎn)的限制,能節(jié)省人力、方便交易。是一種全新的商業(yè)零售形式,又被稱為24小時營業(yè)的微型超市。能分為三種:飲料自動售貨機(jī)、食品自動售貨機(jī)、綜合自動售貨機(jī)。自動售貨機(jī)是臺機(jī)電一體化的自動化裝置,在接受到貨幣已輸入的前提下,靠觸摸控制按 扭輸入信號使控制器啟動相關(guān)位置的機(jī)械裝置完成規(guī)定動作,將貨物輸出。

      2、方案

      根據(jù)題目要求機(jī)器設(shè)有2個投幣孔,機(jī)器可以接受1元和5元的紙幣,分別有八種商品,價格分別為1元,4元,2元,3元,6元,7元,5元,8元,機(jī)器采用撥碼開關(guān)模擬機(jī)器的復(fù)位鍵、確認(rèn)購買鍵和商品選擇,并且通過開發(fā)板上的LED等分別顯示購買的不同情況,數(shù)碼管實(shí)時顯示購買金額,包括投入的價錢,找零的價錢。此設(shè)計按照EDA課程設(shè)計 的流程進(jìn)行源代碼的編寫、仿真。本設(shè)計主要利用QuartusⅡ等設(shè)計軟件進(jìn)行設(shè)計。

      3、框圖 依題目要求設(shè)計流程框圖如下所示:

      圖2-1 程序流程圖

      4、任務(wù)分解

      本設(shè)計主要包括按鍵模塊、顯示模塊、語音提示模塊。設(shè)計程序任務(wù)如下圖:

      圖2-2 程序任務(wù)圖

      任務(wù)一:存儲商品信息。商品名稱及商品價格等信息。

      任務(wù)二:響應(yīng)用戶選擇商品的操作。用戶用過按鍵選擇商品,售賣機(jī)要實(shí)時顯示商品名稱及價格信息。任務(wù)三:貨幣處理。待用戶選擇商品結(jié)束,售賣機(jī)要接收用戶投幣,包括判斷紙幣的面額、總金額、是否投幣結(jié)束等信息。

      任務(wù)四:人性化設(shè)計。售賣機(jī)要有良好的人性化交互界面,以及必要的文字、語音等提示信息。

      三、關(guān)鍵任務(wù)的設(shè)計代碼及注釋

      10000“;

      elsif item =”100“ then item_dis <=”10011001“;money_dis<=”11111001“;

      elsif item =”101“ then item_dis <=”10010010“;money_dis<=”10011001“;

      elsif item =”110“ then item_dis <=”10000010“;money_dis<=”10110000“;

      elsif item =”111“ then item_dis <=”11111000“;money_dis<=”10000000“;end if;end if;else

      item_dis<=”11111111“;money_dis 商品選擇進(jìn)程設(shè)計: data:process(START,sel_add)begin

      if START='1' then

      f sel_add'event and sel_add='1' then item<=item+1;if item =”000“ then item_dis <=”11000000“;money_dis<=”10011001“;elsif item =”001“ then item_dis <=”11111001“;money_dis<=”11111000“;elsif item =”010“ then item_dis <=”10100100“;money_dis<=”10100100“;elsif item =”011“ then item_dis <=”10110000“;money_dis<=”101<=“11111111”;price <=“0000”;end if;end process data;-------------------------付錢進(jìn)程設(shè)計:

      pay:process(finish ,one,five)begin if finish='1' then if one'event and one ='1' then pay_money_one<=pay_money_one+1;

      if five'event and five ='1' then pay_money_five<=pay_money_five+5;end if;pay_money

      <=

      when “0001” => <=

      pay_money_dis_g

      “11111001”;pay_money_dis_s <= “11000000”;when

      “0010”

      => <=

      pay_money_dis_g

      “10100100”;pay_money_dis_s <= “11000000”;when

      “0011”

      => <=

      pay_money_dis_g

      “10110000”;pay_money_dis_s <= “11000000”;when

      “0100”

      => <=

      pay_money_dis_g

      “10011001”;pay_money_dis_s <= “11000000”;when

      “0101”

      => <= pay_money_five+pay_money_one;case pay_money is when “0000”

      => <=

      pay_money_dis_g

      “10010010”;pay_money_dis_s <= “11000000”;when

      “0110”

      => <= pay_money_dis_g “11000000”;pay_money_dis_s <= “11000000”;

      pay_money_dis_g “10000010”;pay_money_dis_s <= “11000000”;when “0111”

      => <=

      when “1100” => <=

      pay_money_dis_g

      “10100100”;pay_money_dis_s <= “11111001”;when

      “1101”

      => <= pay_money_dis_g “11111000”;pay_money_dis_s <= “11000000”;when “1000”

      => <=

      pay_money_dis_g

      “10110000”;pay_money_dis_s <= “11111001”;when

      “1110”

      => <= pay_money_dis_g “10000000”;pay_money_dis_s <= “11000000”;when “1001”

      => <=

      pay_money_dis_g

      “10011001”;pay_money_dis_s <= “11111001”;when

      “1111”

      => <= pay_money_dis_g “10010000”;pay_money_dis_s <= “11000000”;when “1010”

      => <=

      pay_money_dis_g

      “10010010”;pay_money_dis_s <= “11111001”;

      when others => pay_money_dis_g <=“11000000”;pay_money_dis_g “11000000”;pay_money_dis_s <= “11111001”;when “1011”

      => <=

      pay_money_dis_s <= pay_money_dis_g “11000000”;end case;

      if pay_money >= price then “11111001”;pay_money_dis_s <= “11111001”;back <= pay_money-price;case back is when “0000” => money_back_dis <= “11000000”;when “0001” => money_back_dis <= “11111001”;when “0010” => money_back_dis <= “10100100”;when “0011” => money_back_dis <= “10110000”;when “0100” => money_back_dis <= “10011001”;when “0101” => money_back_dis <= “10010010”;when “0110” => money_back_dis <= “10000010”;when “0111” => money_back_dis <= “11111000”;when “1000” => money_back_dis <= “10000000”;

      when “1001” => money_back_dis <= “10010000”;

      when others => money_back_dis <=“11000000”;

      ----------------------聲音提示進(jìn)程設(shè)計:

      int:process(START,finish)

      begin

      if

      START ='1' and

      finish = '0' then sound<=“01”;

      elsif START ='1' and

      finish = '1' then sound<=“10”;

      elsif START ='0' and

      finish = '0' then sound<=“11”;

      end if;

      end process int;

      ----------------------end architecture behav;

      四、調(diào)試中出現(xiàn)的問題及解決方案

      1、問題一 問題描述:本設(shè)計語音芯片采用LJ600,選擇揚(yáng)聲器輸出模式,可存儲6段語音片段,對應(yīng)6個引腳下降沿觸發(fā)且低電平至少維持1ms,語音觸發(fā)之后必須處于高電平狀態(tài),否則影響其他語音輸出。綜上描述,觸發(fā)信號應(yīng)為一個門信號。由于系統(tǒng)未引入時鐘,且在同一進(jìn)程中不可對輸出信號重復(fù)賦值,產(chǎn)生問題。

      解決辦法:代碼如下圖,在if語句中實(shí)現(xiàn)狀態(tài)跳轉(zhuǎn)。

      2、問題二 變量初始化狀態(tài)必須明確定義高低電平。即狀態(tài)輸出時,必須考慮高低電平兩種狀態(tài),不可以出現(xiàn)不確定狀態(tài)。完全按照語法要求。

      五、產(chǎn)業(yè)化市場分析及預(yù)測

      隨著信息技術(shù)的發(fā)展及人們生活水平的不斷提高,人們的消費(fèi)觀念及消費(fèi)需求都在不斷地改變和提高。自動售賣機(jī)正是為了滿足人們的這種需求而在多年前被引入國內(nèi)的。但早期的自動售賣機(jī)在國內(nèi)并未獲得預(yù)期的市場反應(yīng)及消費(fèi)者的廣泛使用?,F(xiàn)階段大多數(shù)的自動售 賣機(jī)只投放在國內(nèi)一線城市,銷售的貨品也只停留在零食、飲料、飲用水、計生用品等有限的幾樣品種。在零售業(yè)市場競爭日趨白熱化的今天,壓縮經(jīng)營成本是增強(qiáng)企業(yè)市場競爭力的一個主要手段。然而無論是連鎖超市還是便利店,日益高漲的店面租金及人力成本,已經(jīng)成為他們無法忽視也無法回避的沉重負(fù)擔(dān)。而自動售賣機(jī)卻完全沒有上述所說的麻煩,它24小時營業(yè)、售貨便利、方便找零,占地面積小(一般僅需1平方米)、移動性強(qiáng),無須常駐人員盯守、省人工成本,時尚新穎、個性獨(dú)特、集高科技于一體,有利于樹立品牌形象,養(yǎng)護(hù)費(fèi)用低,日常免維護(hù)……這些優(yōu)勢勢必引領(lǐng)潮流,使得自動售賣機(jī)日發(fā)成為市場新寵,在零售業(yè)市場占領(lǐng)一席之地。

      六、測試及運(yùn)行結(jié)果

      售賣機(jī)整體結(jié)構(gòu)如下圖所示:

      圖6-1 整體結(jié)構(gòu)

      商品0的價格為4元。

      商品1價格為7元。

      商品7價格為8元,輸入11元,找零3元。

      商品選擇按鈕及確定按鍵。

      七、參考文獻(xiàn)

      [1]潘松,黃繼業(yè).EDA技術(shù)與VHDL.第4版.北京:清華大學(xué)出版社,2013.4 [2]潘松,王國棟.VHDL實(shí)用教程(修訂版).成都:成都電子科技大學(xué)出版社,2001 [3]曾繁泰,陳美金.VHDL程序設(shè)計.北京:清華大學(xué)出版社,2001.1

      下載EDA出租車自動計費(fèi)器[范文大全]word格式文檔
      下載EDA出租車自動計費(fèi)器[范文大全].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        EDA課程設(shè)計-簡易出租車計價器設(shè)計5則范文

        HBQY #20080230403 課程設(shè)計 EDA 課 程 設(shè) 計 [RTX于2012/2/22] 簡 易 出租車計價器設(shè)計 要求: ? 計價器按1.2元/公里計費(fèi),超過10公里后,則按1.8元/公里收費(fèi)。 ? 起步價6元(3公......

        基于EDA的自動售貨機(jī)系統(tǒng)的設(shè)計 開題報告

        畢業(yè)設(shè)計開題報告 課題名稱:基于學(xué)院: 專業(yè): EDA的自動售貨機(jī)系統(tǒng)的設(shè)計 電子電氣工程學(xué)院 電子信息工程 一 自動售貨機(jī)設(shè)計簡介 自動售貨是20世紀(jì)70年代在日本、歐美發(fā)展起來......

        EDA實(shí)驗(yàn)報告

        實(shí)驗(yàn)一:QUARTUS II 軟件使用及組合電路設(shè)計仿真 實(shí)驗(yàn)?zāi)康模? 學(xué)習(xí)QUARTUS II 軟件的使用,掌握軟件工程的建立,VHDL源文件的設(shè)計和波形仿真等基本內(nèi)容。 實(shí)驗(yàn)內(nèi)容: 1.四選一多路......

        EDA學(xué)習(xí)心得

        EDA 專業(yè); 姓名;學(xué)號;學(xué)習(xí)心 得 劉華 201530220109 電氣自動化技術(shù) 本學(xué)期對EDA技術(shù)的學(xué)習(xí)為我的專業(yè)知識學(xué)習(xí)打開了一個全新的窗口——微電子技術(shù)領(lǐng)域。對EDA技術(shù),我更......

        EDA學(xué)習(xí)心得

        EDA 學(xué)習(xí)心得 姓名:賀鑫 學(xué)號:20081001164 班號:072085-10 在本學(xué)期短短5周的EDA學(xué)習(xí)中,我初步對這一新的領(lǐng)域有了一個較為系統(tǒng)的理解,也為我的專業(yè)學(xué)習(xí)打開了一個新的思路,那就......

        EDA畢業(yè)論文

        現(xiàn)代EDA技術(shù)及其發(fā)展 引言 隨著大規(guī)模集成電路技術(shù)和計算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、醫(yī)學(xué)、工業(yè)自動化、計算機(jī)應(yīng)用、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計工作中,E......

        EDA 課程設(shè)計

        《電子系統(tǒng)設(shè)計自動化》課程設(shè)計報告 學(xué) 院: 機(jī)電工程學(xué)院 題 目: 數(shù)字時鐘電路設(shè)計 課 程: 《電子系統(tǒng)設(shè)計自動化》課程設(shè)計 專業(yè)班級: 電信10級2 班 學(xué)生姓名: 劉星 秦玉杰 王......

        《EDA課程設(shè)計》

        《EDA課程設(shè)計》 課程設(shè)計題目: 基于單片機(jī)的溫濕度采集系統(tǒng) 姓 名: xxx 學(xué)班時地 號:xxxx 級: xxxx 間:2014.4.21~ 2013.5.5 點(diǎn): xxxxx 指 導(dǎo)老師: xxxxx 目錄 一、電路原理......