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

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位: 信息工程學(xué)院 題 目: 出租車自動(dòng)計(jì)費(fèi)器的設(shè)計(jì) 一、設(shè)計(jì)目的根據(jù)設(shè)計(jì)要求,完成對出租車自動(dòng)計(jì)費(fèi)器的設(shè)計(jì)。進(jìn)一步加強(qiáng)對quartus的應(yīng)用和對vhdl語言的使用。二、設(shè)計(jì)內(nèi)容和要求設(shè)計(jì)一個(gè)出租車自動(dòng)計(jì)費(fèi)器,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)3部分,用4位數(shù)碼管顯示金額、最大值為999.9元,最小計(jì)價(jià)單元為0.1元,行程3公里內(nèi),且等待累計(jì)時(shí)間3分鐘內(nèi),起步費(fèi)為8元,超過3公里,以每公里1.6元計(jì)費(fèi),等待時(shí)間單價(jià)為每分鐘1元;用兩位數(shù)碼管顯示等待時(shí)間,最大值為59min。掌握quartus的操作和使用方法。利用quartus軟件

2、對所設(shè)計(jì)的電路進(jìn)行仿真分析。 三、初始條件cpld,七段數(shù)碼管,時(shí)鐘信號,3-8譯碼器,撥碼開關(guān)等。四、時(shí)間安排1、2008年6月30日集中,作課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、2008年6月30日至2008年7月3日,查閱相關(guān)資料,學(xué)習(xí)電路的工作原理。3、2008年7月4日至2008年7月9日,電路調(diào)試和設(shè)計(jì)說明書撰寫。4、2008年7月10日上交課程設(shè)計(jì)成果及報(bào)告,同時(shí)進(jìn)行答辯。課設(shè)答疑地點(diǎn):鑒主13樓電子科學(xué)與技術(shù)實(shí)驗(yàn)室。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日22武漢理工大學(xué)電子科學(xué)與技術(shù)專業(yè)課程設(shè)計(jì)課程設(shè)計(jì)說明書目 錄摘 要1緒 論12設(shè)計(jì)內(nèi)容

3、及要求22.1 設(shè)計(jì)的目的及主要任務(wù)2 2.1.1 設(shè)計(jì)的目的 2 2.1.2 設(shè)計(jì)任務(wù)及主要技術(shù)指標(biāo)22.2 設(shè)計(jì)思想23 設(shè)計(jì)原理及單元模塊設(shè)計(jì)33.1設(shè)計(jì)原理及方法33.2單元模塊設(shè)計(jì)33.2.1分頻/計(jì)量控制模塊33.2.2譯碼顯示模塊73.3頂層電路的設(shè)計(jì)114電路的仿真及分析134.1單元模塊的仿真及分析134.1.1分頻/計(jì)量控制模塊134.1.2譯碼顯示模塊144.2頂層電路的仿真及分析155硬件調(diào)試176 心得體會18參考文獻(xiàn)19摘要本文介紹了一種采用單片cpld芯片進(jìn)行出租車計(jì)費(fèi)器的設(shè)計(jì)方法,主要闡述如何使用新興的eda器件取代傳統(tǒng)的電子設(shè)計(jì)方法,利用cpld的可編程性,簡

4、潔而又多變的設(shè)計(jì)方法,縮短了研發(fā)周期,同時(shí)使出租車計(jì)費(fèi)器體積更小功能更強(qiáng)大。本設(shè)計(jì)實(shí)現(xiàn)了出租車計(jì)費(fèi)器所需的一些基本功能,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi),同時(shí)考慮到出租車行業(yè)的一些特殊性,更注重了把一些新的思路加入到設(shè)計(jì)中。主要包括采用了cpld芯片,使用vhdl語言進(jìn)行編程,使其具有了更強(qiáng)的移植性,更加利于產(chǎn)品升級。關(guān)鍵詞:vhdl;計(jì)費(fèi)器;quartus;cpldabstract this paper describes the use of a single chip cpld for the design of accounting-fee machine, mainly o

5、n how to use the emerging eda electronic devices designed to replace traditional methods, using the programmable cpld, concise and changing the design ways to shorten the development cycle, so that taxi accounting-fee machine in a smaller more powerful. the design and implementation of the taxi acco

6、unting-fee machine for some basic functions, including billing starting price, driving metered, the waiting time billing, taking into account the special nature of some of the taxi industry, to pay more attention to a number of new ideas into the design. mainly including the use of the cpld chip, th

7、e use of vhdl programming, so as to make it a stronger transplanted, and more conducive to product upgrades. key words: vhdl, accounting-fee machine , quartus , cpld1 緒論人類社會已經(jīng)進(jìn)入信息化時(shí)代,信息社會的發(fā)展離不開電子產(chǎn)品的進(jìn)步。現(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度降低的同時(shí),價(jià)格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實(shí)現(xiàn)這種進(jìn)步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計(jì)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,目前已進(jìn)展到深

8、亞微米階段,可以在幾平方厘米的芯片上集成數(shù)萬個(gè)晶體管;后者的核心就是eda技術(shù)。沒有eda技術(shù)的支持,想要完成超大規(guī)模集成電路的設(shè)計(jì)制造是不可想象的,反過來,生產(chǎn)制造技術(shù)的不斷進(jìn)步又必須對eda技術(shù)提出新要求。eda代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”的設(shè)計(jì)方法,對整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(asic)實(shí)現(xiàn),然后采用硬件描述語言(vhdl)完成系統(tǒng)行為級設(shè)計(jì),最后通過綜合器和適配器生成最終的目標(biāo)器件1??删幊踢壿嬈骷?0世紀(jì)70年代以來,經(jīng)歷了pal、gal、cpld、fpga幾個(gè)發(fā)展階段,其中cpld、f

9、pga屬高密度可編程邏輯器件,目前集成度以高達(dá)200萬門/片,它將掩膜asic集成度高的優(yōu)點(diǎn)和可編程邏輯器件設(shè)計(jì)生產(chǎn)方便的特點(diǎn)結(jié)合在一起,特別適合于樣品研制和小批量產(chǎn)品開發(fā),使產(chǎn)品能以最快的速度上市,而當(dāng)市場擴(kuò)大時(shí),它可以和容易地轉(zhuǎn)由asic實(shí)現(xiàn),因此開發(fā)風(fēng)險(xiǎn)也大為降低。cpld/fpga器件已成為現(xiàn)代高層次電子設(shè)計(jì)方法的實(shí)現(xiàn)載體。 vhdl是一種全方位的硬件描述語言,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個(gè)設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為3種描述形式的混合描述,因此vhdl幾乎覆蓋了以往各種硬件描述語言的功能,整個(gè)自頂向下或自底向上的電路設(shè)計(jì)過程都可以用vhdl來完成。另外,vhdl還有以

10、下優(yōu)點(diǎn):vhdl的寬范圍描述能力使它成為高層次設(shè)計(jì)的核心,將設(shè)計(jì)人員的工作重心轉(zhuǎn)移到了系統(tǒng)功能的實(shí)現(xiàn)和調(diào)試上,只需要花較少的精力用于物理實(shí)現(xiàn);vhdl可以用簡潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯的設(shè)計(jì),靈活且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保存和重用;vhdl的設(shè)計(jì)不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。vhdl是一個(gè)標(biāo)準(zhǔn)語言,為眾多的eda場上支持,因此移植性好2。2 設(shè)計(jì)內(nèi)容及要求2.1設(shè)計(jì)的目的及主要任務(wù)2.1.1設(shè)計(jì)的目的學(xué)會在quartus環(huán)境中運(yùn)用vhdl語言設(shè)計(jì)方法構(gòu)建具有一定邏輯功能的模塊,并能運(yùn)用圖形設(shè)計(jì)方法完成頂層原理圖的設(shè)計(jì)。掌握出租車自動(dòng)計(jì)費(fèi)器的主要功能與在cpld中的實(shí)現(xiàn)

11、方法。 2.1.2 設(shè)計(jì)任務(wù)及主要技術(shù)指標(biāo)設(shè)計(jì)一個(gè)出租車自動(dòng)計(jì)費(fèi)器,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)3部分,用4位數(shù)碼管顯示金額、最大值為999.9元,最小計(jì)價(jià)單元為0.1元,行程3公里內(nèi),且等待累計(jì)時(shí)間3分鐘內(nèi),起步費(fèi)為8元,超過3公里,以每公里1.6元計(jì)費(fèi),等待時(shí)間單價(jià)為每分鐘1元;用兩位數(shù)碼管顯示等待時(shí)間,最大值為59min。運(yùn)用quartus軟件中的仿真功能對所設(shè)計(jì)的出租車自動(dòng)計(jì)費(fèi)器的各個(gè)模塊及頂層電路的功能進(jìn)行仿真分析。將所設(shè)計(jì)的整個(gè)系統(tǒng)寫入cpld器件中,加上需要的外圍電路在實(shí)驗(yàn)箱上實(shí)現(xiàn)整個(gè)系統(tǒng)的硬件搭建。2.2設(shè)計(jì)思想本次設(shè)計(jì)首先在quartus環(huán)境中對出租車自動(dòng)計(jì)費(fèi)器

12、的各個(gè)部分利用vhdl這一硬件描述語言予以設(shè)計(jì),生成模塊。而整個(gè)設(shè)計(jì)的核心部分就在分頻/計(jì)量模塊,該模塊完成的功能主要包括計(jì)費(fèi)脈沖的產(chǎn)生,等待計(jì)時(shí)、計(jì)價(jià)、計(jì)程功能。隨后運(yùn)用quartus中的仿真功能對其予以仿真,從仿真的結(jié)果中分析程序的正確性。待所有模塊的功能正確之后,運(yùn)用原理圖搭建頂層電路并進(jìn)行整體仿真直至達(dá)到最初的設(shè)計(jì)要求,最后再在實(shí)驗(yàn)箱上檢驗(yàn)設(shè)計(jì)的正確與否。3 設(shè)計(jì)原理及單元模塊設(shè)計(jì)3.1 設(shè)計(jì)原理及方法根據(jù)層次化設(shè)計(jì)理論,該設(shè)計(jì)問題自頂向下可分為分頻模塊、控制模塊、計(jì)量模塊、譯碼動(dòng)態(tài)掃描顯示模塊,其系統(tǒng)框圖如圖所示3。圖3-1 出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)框圖3.2 單元模塊設(shè)計(jì)3.2.1分頻

13、/計(jì)量控制模塊分頻模塊對頻率為240hz的輸入脈沖進(jìn)行分頻,得到16hz、10hz、和1hz的三種頻率。該模塊產(chǎn)生頻率信號用于計(jì)費(fèi),每1hz脈沖為0.1元計(jì)費(fèi)控制,10hz信號為1元的計(jì)費(fèi)控制,16hz信號為1.6元計(jì)費(fèi)控制。計(jì)量控制模塊是出租車計(jì)費(fèi)的主體部分,該模塊主要完成等待計(jì)時(shí)功能、計(jì)價(jià)功能、計(jì)程功能,同時(shí)產(chǎn)生3分鐘的等待計(jì)時(shí)始能控制信號en1 、行程3公里外的是能控制信號en0。其中計(jì)價(jià)功能主要完成的任務(wù)是:行程3公里內(nèi),且等待累計(jì)時(shí)間在3分鐘內(nèi),起步費(fèi)為8元;3公里以外以每公里1.6元計(jì)費(fèi)。等待時(shí)間3分鐘以外以每分鐘1元計(jì)費(fèi)。計(jì)時(shí)功能主要完成的任務(wù)是:計(jì)算乘客的等待累計(jì)時(shí)間,計(jì)時(shí)的量

14、程為59分,滿量程自動(dòng)歸零。計(jì)程功能主要完成的任務(wù)是:計(jì)算乘客所行駛的公里數(shù),計(jì)程器的量程為99公里,滿量程自動(dòng)歸零4。根據(jù)前面的描述,該電路的核心部分就是分頻/計(jì)量控制電路,通過vhdl語言的順序語句if-then-else根據(jù)一個(gè)或一組條件來選擇某一特定的執(zhí)行通道,生成計(jì)費(fèi)數(shù)據(jù)、計(jì)時(shí)數(shù)據(jù)和里程數(shù)據(jù)。其vhdl源程序如下。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity taxi isport(clk_240:in std_l

15、ogic; -頻率為240hz的時(shí)鐘 start:in std_logic; -計(jì)價(jià)使能信號 stop:in std_logic; -等待信號 fin:in std_logic; -公里脈沖信號 cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); -費(fèi)用數(shù)據(jù) km1,km0:out std_logic_vector(3 downto 0); -公里數(shù)據(jù) min1,min0:out std_logic_vector(3 downto 0); -等待時(shí)間end taxi;architecture behav of taxi issignal

16、f_10,f_16,f_1:std_logic; -頻率為10hz,16hz,1hz的信號signal q_10:integer range 0 to 23; -24分頻器signal q_16:integer range 0 to 14; -15分頻器signal q_1:integer range 0 to 239; -240分頻器signal w:integer range 0 to 59; -秒計(jì)數(shù)器signal c3,c2,c1,c0:std_logic_vector(3 downto 0); -十制制費(fèi)用計(jì)數(shù)器signal k1,k0:std_logic_vector(3 down

17、to 0); -公里計(jì)數(shù)器signal m1:std_logic_vector(2 downto 0); -分的十位計(jì)數(shù)器 signal m0:std_logic_vector(3 downto 0); -分的個(gè)位計(jì)數(shù)器signal en1,en0,f:std_logic; -使能信號beginfeipin:process(clk_240,start)begin if clk_240event and clk_240=1 then if start=0 then q_10=0;q_16=0;f_10=0;f_16=0;f_1=0;f=0; else if q_10=23 then q_10=0

18、;f_10=1; -此if語句得到頻率為10hz的信號 else q_10=q_10+1;f_10=0; end if; if q_16=14 then q_16=0;f_16=1; -此if語句得到頻率為16hz的信號 else q_16=q_16+1;f_16=0; end if; if q_1=239 then q_1=0;f_1=1; -此if語句得到頻率為1hz的信號 else q_1=q_1+1;f_1=0; end if; if en1=1 then f=f_10; -此if語句得到計(jì)費(fèi)脈沖f elsif en0=1 then f=f_16; else f=0; end if;

19、end if; end if;end process;main:process(f_1)begin if start=0 then w=0;en1=0;en0=0;m1=000;m0=0000;k1=0000;k0=0000; elsif f_1event and f_1=1 then if stop=1 then if w=59 then w=0; -此if語句完成等待計(jì)時(shí) if m0=1001 then m0=0000; -此if語句完成分計(jì)數(shù) if m1=101 then m1=000; else m1=m1+1; end if; else m00000010 then en1=1;en

20、0=0; -此if語句得到en1使能信號 else en1=0;en0=0; end if; else w=w+1;en1=0;en0=0; end if; elsif fin=1 then if k0=1001 then k0=0000; -此if語句完成公里脈沖計(jì)數(shù) if k1=1001 then k1=0000; else k1=k1+1; end if; else k000000010 then en0=1; -此if語句得到en0使能信號 else en0=0; end if; else en1=0;en0=0; end if;cha3=c3;cha2=c2;cha1=c1;cha0

21、=c0; -費(fèi)用數(shù)據(jù)輸出km1=k1;km0=k0;min1=0&m1;min0=m0; -公里數(shù)據(jù)、分鐘數(shù)據(jù)輸出 end if;end process main;jifei:process(f,start)begin if start=0 then c3=0000; c2=0000; c1=1000; c0=0000; elsif fevent and f=1 then if c0=1001 then c0=0000; -此if語句完成對費(fèi)用的計(jì)數(shù) if c1=1001 then c1=0000; if c2=1001 then c2=0000; if c3=1001 then c3=000

22、0; else c3=c3+1; end if; else c2=c2+1; end if; else c1=c1+1; end if; else c0=c0+1; end if; end if;end process jifei;end behav;該源程序包含3個(gè)進(jìn)程模塊。fenpin進(jìn)程對頻率為240hz的輸入脈沖進(jìn)行分頻,得到的頻率為16hz、10hz和1hz的3種計(jì)費(fèi)頻率信號,供main進(jìn)程和jifei進(jìn)程進(jìn)行計(jì)費(fèi)、計(jì)時(shí)、計(jì)程之用;main進(jìn)程完成等待計(jì)時(shí)功能、計(jì)程功能,該模塊將等待時(shí)間和行駛公里數(shù)變換成脈沖個(gè)數(shù)計(jì)算,同時(shí)產(chǎn)生3 分鐘的等待計(jì)時(shí)使能控制信號en1、行程3公里外的使能控

23、制信號en0;jifei進(jìn)程將起步價(jià)8預(yù)先固定在電路中,通過對計(jì)費(fèi)脈沖個(gè)數(shù)的統(tǒng)計(jì),計(jì)算出整個(gè)費(fèi)用數(shù)據(jù)。生成的元件符號如圖3-2所示。圖3-2 出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)的主體fpga電路taxi的元件符號3.2.2 譯碼顯示模塊該模塊經(jīng)過8選1選擇器將計(jì)費(fèi)數(shù)據(jù)(4位bcd 碼)、計(jì)時(shí)數(shù)據(jù)(2位bcd碼)、計(jì)程數(shù)據(jù)(2位bcd碼)動(dòng)態(tài)顯示輸出。其中計(jì)費(fèi)數(shù)據(jù)jifei4jifei1送入譯碼顯示模塊進(jìn)行譯碼,然后送至以百元、十元、元、角為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為999.9元;計(jì)時(shí)數(shù)據(jù)送入譯碼顯示模塊進(jìn)行譯碼,最后送至一分為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為59s ;計(jì)程數(shù)據(jù)送入譯碼顯示模塊進(jìn)行譯

24、碼,最后送至以公里為單位的數(shù)碼管上顯示,最大顯示為99公里。該模塊包含8選1 選擇器、模8計(jì)數(shù)器、七段顯示譯碼器3個(gè)子模塊。其vhdl源程序如下。模8計(jì)數(shù)器se的vhdl源程序。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity se is port(clk:in std_logic; a:out std_logic_vector(2downto 0);end se;architecture rt1 of se isbegin process(clk) variable b:std_lo

25、gic_vector(2 downto 0); begin if(clkevent and clk=1)then if(b=111)then b:=000; else b:=b+1; end if; end if; ad=a1;dpd=a2;dpd=a3;dpd=a4;dpd=b1;dpd=b2;dpd=t1;dpd=t2;dpnull; end case; end process;end rt1;源程序中輸入信號c2.0為系統(tǒng)選擇輸入,a1a2a3a4為計(jì)費(fèi)器數(shù)據(jù)bcd碼輸入,b1b2為里程數(shù)bcd碼輸入,t1t2為計(jì)時(shí)時(shí)間的bcd碼輸出,d為4位bcd碼輸出,dp為小數(shù)點(diǎn)信號。生成的元件符

26、號如圖3-4所示。圖3-4選擇器mux8_1的元件符號七段數(shù)碼顯示譯碼器di_led的vhdl源程序。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity di_led is port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0);end di_led;architecture rt1 of di_led isbegin process(d) begin case d is when0000=qq

27、qqqqqqqq=1101111; end case; end process;end rt1;源程序中輸入信號d3.0位bcd碼輸入,q6.0為七段譯碼輸出(高電平有效)。生成的元件符號如圖3-5所示。圖3-5七段數(shù)碼顯示譯碼器di_led的元件符號3.3頂層電路的設(shè)計(jì)根據(jù)圖3-1出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)框圖,出租車自動(dòng)計(jì)費(fèi)頂層電路分為4個(gè)模塊,它們是出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)的主體fpga電路taxi模塊,模8計(jì)數(shù)器se模塊,8選1選擇器mux8_1模塊,七段數(shù)碼顯示譯碼器di_led模塊,生成動(dòng)態(tài)掃描顯示片選信號的3-8譯碼器模塊decode3_8。按已經(jīng)確立的層次化設(shè)計(jì)思路,在圖形編輯中調(diào)入前面

28、的層次化設(shè)計(jì)方案中所設(shè)計(jì)的底層的元件符號taxi.sym、mux8_1.sym、se.sym、di_led. sym,并加入相應(yīng)的輸入輸出引腳與輔助元件。由于實(shí)驗(yàn)箱中有已經(jīng)帶有3-8譯碼器,所以在頂層電路的設(shè)計(jì)中就不再需要此模塊。然后完成出租車自動(dòng)計(jì)費(fèi)器的頂層原理圖搭建,最終得到的頂層電路原理圖如圖3-6所示。圖3-6 出租車自動(dòng)計(jì)費(fèi)器頂層電路原理圖4電路的仿真及分析在vhdl設(shè)計(jì)流程中,設(shè)計(jì)的驗(yàn)證是一個(gè)重要但費(fèi)時(shí)的環(huán)節(jié)。由于驗(yàn)證方法手段不斷改進(jìn)和提高,對于一個(gè)系統(tǒng)的設(shè)計(jì),提倡用軟件、硬件協(xié)同驗(yàn)證方法,加速仿真過程。有經(jīng)驗(yàn)的設(shè)計(jì)師認(rèn)為,一個(gè)設(shè)計(jì)項(xiàng)目的成功與否,關(guān)鍵是仿真,其中涉及工作的90%時(shí)

29、間花在仿真驗(yàn)證上。仿真有功能仿真與時(shí)序仿真之分。在邏輯綜合和布線之前對vhdl模型的邏輯功能進(jìn)行仿真,可以有效提高效率。以下是對本次設(shè)計(jì)的各個(gè)模塊以及頂層電路進(jìn)行的功能仿真及分析5。4.1 單元模塊的仿真及分析4.1.1分頻/計(jì)量控制模塊源程序中輸入信號fin是汽車傳感器提供的距離脈沖信號;start為汽車計(jì)價(jià)啟動(dòng)信號,當(dāng)start=1時(shí),表示開始計(jì)費(fèi)(高電平有效),此時(shí)將計(jì)價(jià)器計(jì)費(fèi)數(shù)據(jù)初值80(即8.0元)送入,計(jì)費(fèi)信號變量(cha3cha2cha1cha0=0080),里程數(shù)清零(km1km0=00),計(jì)時(shí)計(jì)數(shù)器清零(min1min0=00);stop為汽車停止等待信號(高電平有效),當(dāng)s

30、top=1時(shí)表示停車等待狀態(tài),并開始等待計(jì)時(shí)計(jì)費(fèi)。其無等待時(shí)間的仿真輸出波形如圖4-1所示。圖4-1 出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)的主體fpga電路taxi仿真輸出波形(1)在圖4-1中,stop=0即全程無停止等待時(shí)間,因此計(jì)時(shí)顯示輸出為00,該圖中出租車總行駛22公里,等待累計(jì)時(shí)間為0分鐘,總費(fèi)用為38.4元;同理論計(jì)算的結(jié)果一致,仿真結(jié)果正確。有等待時(shí)間的仿真輸出波形如圖4-2所示。圖4-2 出租車自動(dòng)計(jì)費(fèi)器系統(tǒng)的主體fpga電路taxi仿真輸出波形(2)圖4-2中停車等待累計(jì)時(shí)間為4分鐘,出租車總行駛36公里,總費(fèi)用為61.8元;同力路計(jì)算的結(jié)果一致,仿真結(jié)果正確。4.1.2 譯碼顯示模塊該模

31、塊包含8選1 選擇器、模8計(jì)數(shù)器、七段顯示譯碼器3個(gè)子模塊,其仿真輸出如下。模8計(jì)數(shù)器se的仿真,其仿真輸出波形如圖4 -3所示。圖4-3 模8計(jì)數(shù)器se仿真輸出波形圖4-3中隨著輸入時(shí)鐘clk上升沿的到來,輸出a在07之間的作周期性變化。8選1選擇器mux8_1的仿真,其中c2.0為系統(tǒng)選擇輸入,a1a2a3a4為計(jì)費(fèi)器數(shù)據(jù)bcd碼輸入,b1b2為里程數(shù)bcd碼輸入,t1t2為計(jì)時(shí)時(shí)間的bcd碼輸出,d為4位bcd碼輸出,dp為小數(shù)點(diǎn)信號(僅計(jì)費(fèi)數(shù)據(jù)輸出時(shí)有一位小數(shù))。其仿真輸出波形如圖4 -4所示。圖4-4 選擇器mux8_1仿真輸出波形圖4-4中隨著系統(tǒng)的選擇輸入c從0依次變化到7,系統(tǒng)

32、的輸出d依次選擇輸出a1a2a3a4 b1b2 t1t2的值,同時(shí)小數(shù)點(diǎn)信號dp在d選擇輸出a3時(shí)為高電平。七段數(shù)碼顯示譯碼器di_led的仿真,其中d3.0為bcd碼輸入,q6.0為七段譯碼輸出(高電平有效)。其仿真輸出波形如圖4-5所示。圖4-5 七段數(shù)碼顯示譯碼器di_led仿真輸出波形4.2 頂層電路的仿真及分析根據(jù)圖3-6完成出租車自動(dòng)計(jì)費(fèi)器的頂層原理圖輸入。電路連好線,對其編譯和仿真。正確編譯后輸出的仿真波形如圖4-6所示。圖4-6 出租車自動(dòng)計(jì)費(fèi)器頂層電路仿真輸出波形在圖4-6中,stop=0即全程無停止等待時(shí)間,因此計(jì)時(shí)顯示輸出為3f(00),該電路中出租車總行駛3f(0)7d

33、(6)(即6公里),等待累計(jì)時(shí)間為3f(0)3f(0)(0分鐘),總費(fèi)用為06(1)5b(2)7f(8)(即12.8元),仿真結(jié)果真確。vhdl語言設(shè)計(jì)的出現(xiàn)從根本上改變了以往數(shù)字電路的設(shè)計(jì)模式,使電路由硬件設(shè)計(jì)轉(zhuǎn)變?yōu)檐浖O(shè)計(jì),使電子設(shè)計(jì)的核心轉(zhuǎn)化為vhdl語言的編程設(shè)計(jì),這樣提高了設(shè)計(jì)的靈活性,降低了電路的復(fù)雜程度,修改起來也很方便。并且整個(gè)設(shè)計(jì)很大一部分由電腦輔助來完成,大大縮短了設(shè)計(jì)周期,減少了設(shè)計(jì)費(fèi)用,降低了設(shè)計(jì)風(fēng)險(xiǎn)6。 5 硬件調(diào)試仿真結(jié)果正確后,就可將文件下載到芯片中。連接硬件系統(tǒng)后,通上電源,經(jīng)quartus中的“programmer”菜單,調(diào)出編程器窗口。一切就緒后,按下編程器

34、窗口中的“start”按鈕,設(shè)計(jì)的內(nèi)容就開始下載到cpld芯片中。要想硬件調(diào)試能夠取得成功,外圍電路的設(shè)置是非常重要的。本次設(shè)計(jì)的硬件調(diào)試過程中的相關(guān)設(shè)置包括以下幾個(gè)方面:時(shí)鐘模塊采用程序設(shè)計(jì)中最為相近的頻率305hz(相關(guān)跳線設(shè)置為jp1=1/16,jp2=1/16,jp3=1/16,jp=1/8,jp11=1/2);fin、start、stop均用撥碼開關(guān)控制;數(shù)碼管的段選及小數(shù)點(diǎn)只需對應(yīng)連接即可;為選信號與sel2.0對應(yīng)相連即可。打開電源,數(shù)碼管有正確的數(shù)字顯示。實(shí)驗(yàn)測試表明:該計(jì)費(fèi)器實(shí)現(xiàn)了按預(yù)制參數(shù)自動(dòng)計(jì)費(fèi)(最大計(jì)費(fèi)金額為9999元)、自動(dòng)計(jì)程(最大計(jì)程公里數(shù)為99公里)、自動(dòng)計(jì)時(shí)(最大計(jì)時(shí)時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論