2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  隨著我國經(jīng)濟(jì)社會的全面發(fā)展,各大中小城市的出租車營運事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。出租車計價器是出租車營運收費的專用智能化儀表,是使出租車市場規(guī)范化、標(biāo)準(zhǔn)化的重要設(shè)備。一種功能完備,簡單易用,計量準(zhǔn)確的出租車計價器是加強(qiáng)出租車行業(yè)管理,提高服務(wù)質(zhì)量的必需品。本設(shè)計采用VHDL硬件描述語言作為設(shè)計

2、手段,采用自頂向下的設(shè)計思路,得到一種出租車計價系統(tǒng)的軟件結(jié)構(gòu),通過QuartusⅡ軟件下進(jìn)行仿真,證明所設(shè)計的電路系統(tǒng)完成了出租車計價的功能,各項指標(biāo)符合設(shè)計要求。該設(shè)計雖然功能簡單,智能化水平比較低,但仍具有一定的實用性。</p><p>  該設(shè)計是在VHDL的基礎(chǔ)上對出租車計價器進(jìn)行設(shè)計來實現(xiàn)其基本功能的,與以往的基于單片機(jī)的數(shù)?;旌想娐废啾?,F(xiàn)PGA具有穩(wěn)定性好,抗干擾能力強(qiáng)等優(yōu)點,且非常適合做為出租車

3、計價器的控制核心,所以選擇用VHDL來對計價器進(jìn)行設(shè)計來實現(xiàn)其功能。</p><p>  關(guān)鍵詞 : 計價器 QuartusⅡ 數(shù)碼管</p><p><b>  一、設(shè)計目的和要求</b></p><p>  設(shè)計一個出租車計價器,該計價器計費系統(tǒng)技術(shù)參數(shù)和設(shè)計要求:</p><p>  (1)實現(xiàn)計費功

4、能,計費標(biāo)準(zhǔn)為:起步均價6元,并在車行駛3公里后以每公里1.6元計費,當(dāng)計費器達(dá)到或超過20元時,每公里加收50%的車費,車輛停止和暫停時不收費。計價范圍:0—999.9元,計價分辨率:0.01元;計程范圍:0—99公里,計程分辨率:0.01公里。</p><p> ?。?)數(shù)碼管動態(tài)顯示功能,能顯示行駛公里數(shù)、總費用。</p><p> ?。?)汽車具有啟動、停止、暫停和換擋等狀態(tài)。&l

5、t;/p><p><b>  二、設(shè)計原理</b></p><p><b>  1設(shè)計模塊</b></p><p>  本設(shè)計是對出租車計價器的四個模塊進(jìn)行分析的,綜述如下:</p><p>  分頻模塊:分頻模塊是其它模塊的基礎(chǔ),輸入時鐘選為32Hz,分頻后的時鐘頻率為1Hz,為后續(xù)模塊提供基本時鐘。

6、</p><p>  路程模塊:該模塊是對車輛行駛路程進(jìn)行計數(shù),以1Hz時鐘為基礎(chǔ),檢測行程脈沖,路程模塊中有內(nèi)部變量來判斷路程,當(dāng)大于3公里、20公里時,分別有相應(yīng)的使能信號對此作出記錄,最大路程顯示為99公里。</p><p>  計費模塊:該模塊是基于等待時間模塊和路程模塊對費用進(jìn)行控制的。通過內(nèi)部使能信號分別計算3公里以內(nèi)、3-20公里以及20公里以后的費用。</p>

7、<p>  譯碼顯示模塊:該模塊經(jīng)過8選1選擇器將計費數(shù)據(jù)(4位BCD碼)、計時數(shù)據(jù)(2位BCD碼)、計程數(shù)據(jù)(2位BCD碼)動態(tài)選擇輸出。</p><p>  本設(shè)計是基于VHDL進(jìn)行編程,然后在QuartusⅡ進(jìn)行波形仿真,實現(xiàn)出租車計價器的基本功能。</p><p><b>  2原理描述 </b></p><p>  

8、根據(jù)層次化設(shè)計理論,該設(shè)計問題自頂向下可分為分頻模塊,控制模塊 計量模塊、譯碼和動態(tài)掃描顯示模塊,其系統(tǒng)框圖如圖6-63所示,各模塊功能如下:</p><p>  圖6-63出租車自動計費器系統(tǒng)框圖</p><p><b>  2.1分頻模塊</b></p><p>  分頻模塊對頻率為240Hz的輸入脈沖進(jìn)行分頻,得到的頻率為16Hz,10H

9、z和1Hz的三種頻率。該模塊產(chǎn)生頻率信號用于計費,每個1HZ脈沖為0.1元計費控制,10HZ信號為1元的計費控制,16Hz信號為1.6元計費控制。</p><p>  2.2 路程和計費模塊</p><p>  計量控制模塊是出租車自動計費器系統(tǒng)的主體部分,該模塊主要完成等待計時功能、計價功能、計程功能,同時產(chǎn)生3分種的等待計時使能控制信號en1, 行程 3公里外的使能控制信號en0。其中

10、計價功能主要完成的任務(wù)是:行程 3公里內(nèi),且等待累計時間3分鐘內(nèi),起步費為8元;3公里外以每公里1.6元計費,等待累計時間3分鐘外以每分鐘1元計費;計時功能主要完成的任務(wù)是:計算乘客的等待累計時間,計時器的量程為59分,滿量程自動歸零;計程功能主要完成的任務(wù)是:計算乘客所行駛的公里數(shù)。計程器的量程為99公里,滿量程自動歸零。</p><p>  2.3 譯碼顯示模塊</p><p>  該

11、模塊經(jīng)過8選1選擇器將計費數(shù)據(jù)(4位BCD碼)、計時數(shù)據(jù)(2位BCD碼)、計程數(shù)據(jù)(2位BCD碼)動態(tài)選擇輸出。其中計費數(shù)據(jù)jifei4~ jifei1~送入顯示譯碼模塊進(jìn)行譯碼,最后送至百元、十元、元、角為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為999.9元;計時數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至分為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為59秒;計程數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至以公里為單位的數(shù)碼管上顯示,最大顯示為99公里。<

12、;/p><p><b>  三、設(shè)計內(nèi)容</b></p><p><b>  1設(shè)計思路</b></p><p>  輸入2個時鐘信號,分別模擬時間和路程。對等待時間、路程計數(shù),進(jìn)而統(tǒng)計費用。系統(tǒng)結(jié)構(gòu)框圖如圖2-1。</p><p>  圖2-1自動計價器的系統(tǒng)方框圖</p><p&

13、gt;<b>  2 設(shè)計流程圖</b></p><p>  乘客上車后,按下啟動按鈕,計價器開始工作,首先進(jìn)入初始化狀態(tài),即計程從0開始,計費從6開始。再根據(jù)單程信號判斷是否為單程,進(jìn)而確定計費方式。單程:里程計數(shù)器開始計數(shù),當(dāng)路程超過3公里時,計費開始累加,按1.6元每公里計算,路程超過20公里時每公里2.4元。乘客下車后,按下復(fù)位鍵,則所有計數(shù)器進(jìn)入初始狀態(tài)。</p>&

14、lt;p><b>  3總體設(shè)計封裝圖</b></p><p>  總體設(shè)計封裝圖如下圖所示。</p><p><b>  4模塊設(shè)計</b></p><p><b>  4.1分頻模塊</b></p><p>  秒分頻模塊對頻率為240Hz的輸入脈沖進(jìn)行分頻,得到的頻

15、率為16Hz,15Hz和1Hz的三種頻率。該模塊產(chǎn)生頻率信號用于計費,每個1HZ脈沖為0.1元計費控制,15HZ信號為1.5元的計費控制,16Hz信號為1.6元計費控制。</p><p><b>  4.2計費模塊</b></p><p>  控制模塊是系統(tǒng)的核心部分,對計價器的狀態(tài)進(jìn)行控制。</p><p>  行程3公里內(nèi),起步費為8元;3

16、公里外以每公里1元計費,等待累計時間1分鐘外以每分鐘1元計費。20公里外以每公里1.5元計費,等待累計時間1分鐘外以每分鐘1.5元計費。計費數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至以百元、十元、元、角為單位對應(yīng)的數(shù)碼管上顯示。</p><p><b>  4.3譯碼顯示模塊</b></p><p>  譯碼顯示模塊完成計價、計時、計程數(shù)據(jù)顯示。</p>&

17、lt;p>  該模塊經(jīng)過8選1選擇器將計費數(shù)據(jù)(4位BCD碼)、計時數(shù)據(jù)(2位BCD碼)、計程數(shù)據(jù)(2位BCD碼)動態(tài)選擇輸出。其中計費數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至百元、十元、元、角為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為999.9元;計時數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至分為單位對應(yīng)的數(shù)碼管上顯示,最大顯示為99分鐘;計程數(shù)據(jù)送入顯示譯碼模塊進(jìn)行譯碼,最后送至以公里為單位的數(shù)碼管上顯示,最大顯示為99公里。</p

18、><p>  5系統(tǒng)仿真結(jié)果及分析</p><p><b>  仿真波形圖分析</b></p><p><b>  各信號說明:</b></p><p>  輸入信號:clk:系統(tǒng)時鐘信號,頻率32Hz;</p><p>  mile:車速時鐘,頻率8Hz;</p>

19、<p>  start::啟動信號,當(dāng)start=1時,出租車啟動,計數(shù)器開始計數(shù);否則計數(shù)器停止計數(shù);</p><p>  rst:復(fù)位信號,當(dāng)rst=1時,各計數(shù)器清0;當(dāng)rst=0時,計數(shù)器可以開始計數(shù),start=1表示計數(shù)開始;</p><p>  one_way:單程信號,單程時由司機(jī)輸入;</p><p>  輸出信號:km0,km1:里程

20、,單位為公里;</p><p>  cost0,cost1,cost2,cost3:費用,單位為元,其中cost0表示小數(shù)位。</p><p>  啟動鍵、單程鍵有效,由圖可知,3公里之內(nèi)計費顯示為6元;3-20公里之間每公里1.6元累計;超過20公里每公里2.4元累計。</p><p>  啟動鍵、單程鍵有效,乘客下車時顯示費用25元,復(fù)位信號有效,計數(shù)器清零,當(dāng)

21、啟動信號有效時重新計數(shù)。</p><p><b>  四、總結(jié)與致謝</b></p><p>  通過為期兩周的課程設(shè)計,出租車計價器系統(tǒng)的設(shè)計已基本完成,能按預(yù)期的效果模擬汽車啟動、等待、停止、復(fù)位等功能,并顯示車費數(shù)目等待時間及行駛路程。出租車計費系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個多層次的硬件描述語言及CPLD器件速度快,使用方便,便于修改等特

22、點,本設(shè)計在實用方面具有一定的價值。</p><p>  在本次設(shè)計中還存在很多不足,可以改進(jìn)的地方目前有以下幾點:</p><p>  一、該設(shè)計雖然實現(xiàn)了基本的計費和計程,但是很多問題并沒有解決,如本設(shè)計只實了一種車速的計費。若要實現(xiàn)出租車的不同檔位下的計程計費,還需要進(jìn)一步討論。</p><p>  二、該設(shè)計智能化水平較低,啟動、等待、復(fù)位等信號需要人為輸入

23、,若在實際中出現(xiàn)操作偏差,會導(dǎo)致計費不準(zhǔn)確。</p><p>  同時,感謝課程設(shè)計過程中楊紅娟老師的耐心指導(dǎo),感謝同學(xué)們的相互糾正。</p><p><b>  五、參考文獻(xiàn)</b></p><p>  [1] 黃仁欣.EDA技術(shù)實用教程.北京:清華大學(xué)出版社,2006</p><p>  [2] 潘松,黃繼業(yè).EDA

24、技術(shù)與VHDL.北京:清華大學(xué)出版社,2009</p><p>  [3] 江國強(qiáng)編著.EDA技術(shù)與應(yīng)用(第三版)..北京:電子工業(yè)出版社,2010</p><p>  [4] 夏宇聞編著.Verilog HDL數(shù)字系統(tǒng)設(shè)計教程..北京:北京航空航天大學(xué)出版社,2008</p><p>  [5] 周祖成,程曉軍,馬卓釗編著.?dāng)?shù)字電路與系統(tǒng)教學(xué)實驗教程.北京:科學(xué)出

25、版社,2010</p><p>  [6] 周潤景,蘇良碧.基于Quartus II 的數(shù)字系統(tǒng)Verilog HDL設(shè)計實例詳解.北京:電子工業(yè)出版社,2010</p><p>  [7] (美國)Sanir Palnitkar 譯者:夏宇聞 胡燕祥 刁嵐松.Verilog HDL數(shù)字設(shè)計與綜合(第2版).北京:電子工業(yè)出版社,2009</p><p>  [8]

26、 云創(chuàng)工作室.Verilog HDL程序設(shè)計與實踐.北京:人民郵電出版社,2009</p><p>  [9] 劉福奇,劉波.Verilog HDL應(yīng)用程序設(shè)計實例精講.北京:電子工業(yè)出版社,2009</p><p>  [10] 張延偉,楊金巖,葛愛學(xué).verilog hdl程序設(shè)計實例詳解.北京:人民郵電出版社,2008</p><p><b>  附

27、錄(程序源代碼)</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p&g

28、t;<p>  entity taxi is</p><p>  port(clk:in std_logic;</p><p>  start:in std_logic;</p><p>  wait_signal:in std_logic;</p><p>  mile:in std_logic;</p><

29、;p>  one_way:in std_logic;</p><p>  rst:in std_logic;</p><p>  cost0,cost1,cost2,cost3:out std_logic_vector(3 downto 0);</p><p>  min0,min1:out std_logic_vector(3 downto 0);</

30、p><p>  km0,km1:out std_logic_vector(3 downto 0));</p><p><b>  end;</b></p><p>  architecture bhv of taxi is</p><p>  signal mile_r1,mile_r2,mile_clk,start_r,c

31、lk1hz:std_logic;</p><p>  signal count:integer range 0 to 29;</p><p>  signal sec:integer range 0 to 59;</p><p>  signal c0,c1,c2,c3:std_logic_vector(3 downto 0);</p><p&g

32、t;  signal k0,k1,m0,m1:std_logic_vector(3 downto 0);</p><p>  signal en0,en1:std_logic;</p><p>  signal wait_clk,cost_clk:std_logic;</p><p><b>  begin</b></p><

33、;p>  U1:process( rst,clk)</p><p><b>  begin</b></p><p>  if rst='0' then</p><p>  if clk'event and clk='1' then</p><p>  if count=5 t

34、hen</p><p>  count<=0;clk1hz<='1';</p><p><b>  else</b></p><p>  count<=count+1;clk1hz<='0';</p><p><b>  end if;</b>

35、</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  U2:process(rst,clk1hz,start,wait_signal)</p><p><

36、;b>  begin</b></p><p>  if rst='1' then</p><p>  m0<="0000";m1<="0000";</p><p>  elsif start='0'then</p><p>  wait_cl

37、k<='0';</p><p>  elsif clk1hz'event and clk1hz='1' then</p><p>  if wait_signal='1'then</p><p>  if sec=5 then</p><p>  sec<=0;wait_cl

38、k<='1';</p><p>  if m0="1001"then</p><p>  m0<="0000";</p><p>  if m1="0101"then</p><p>  m1<="0000";</p>

39、<p><b>  else</b></p><p>  m1<=m1+'1';</p><p><b>  end if;</b></p><p><b>  else </b></p><p>  m0<=m0+'1'

40、;;</p><p><b>  end if;</b></p><p><b>  else </b></p><p>  wait_clk<='0';</p><p>  sec<=sec+1;</p><p><b>  end i

41、f;</b></p><p><b>  else</b></p><p>  wait_clk<='0';</p><p><b>  end if;</b></p><p><b>  end if;</b></p><

42、p>  end process;</p><p>  U3:process( rst,clk1hz,mile,start)</p><p><b>  begin</b></p><p>  if rst='0' then</p><p>  if clk1hz'event and clk1

43、hz='1'then</p><p>  mile_r2<=mile_r1;mile_r1<=mile;start_r<=start;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end

44、 process;</p><p>  mile_clk<=mile_r1 and not(mile_r2);</p><p>  cost_clk<= wait_clk when wait_signal='1'else</p><p>  mile_clk when en0='1' or en1 ='1'

45、else</p><p><b>  '0';</b></p><p>  U4:process(rst,start,mile_clk)</p><p><b>  begin</b></p><p>  if rst='1' then</p><

46、p>  k0<="0000"; k1<="0000";</p><p>  elsif start='0' then</p><p>  k0<="0000"; k1<="0000"; en0<='0';en1<='0';

47、</p><p>  elsif mile_clk'event and mile_clk='1' then</p><p>  if k1 & k0>="00100000" and one_way='1' then</p><p>  en1<='1';en0<=&

48、#39;0';</p><p><b>  end if; </b></p><p>  if k1 & k0="00000011" then</p><p><b>  en0<='1';</b></p><p><b>  e

49、nd if; </b></p><p>  if k0="1001" then</p><p>  k0<="0000";</p><p>  if k1="1001" then</p><p>  k1<="0000";</p&g

50、t;<p><b>  else </b></p><p>  k1<=k1+'1';</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  k0<=k0+'1&#

51、39;;</p><p><b>  end if;</b></p><p>  end if; </p><p>  end process;</p><p>  U5:process( rst,start,cost_clk,start_r)</p><p><b>  begi

52、n</b></p><p>  if rst='1' then</p><p>  c0<="0000";c1<="0000"; c2<="0000";c3<="0000"; </p><p>  elsif start='1&

53、#39; and start_r='0' then</p><p>  c0<="0000";c1<="1000";c2<="0000"; c3<="0000"; </p><p>  elsif cost_clk'event and cost_clk=

54、9;1'then</p><p>  if en1='0' and en0='1'then</p><p>  if c1="1001"then</p><p>  c1<="0000";</p><p>  if c2="1001"th

55、en</p><p>  c2<="0000";</p><p>  if c3="1001"then</p><p>  c3<="0000";</p><p><b>  else</b></p><p>  c3<

56、=c3+'1';</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  c2<=c2+'1';</p><p><b>  end if;</b></p><

57、;p><b>  else</b></p><p>  c1<=c1+'1'; c0<="0000";</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  i

58、f (c0="0101" and c1="1000")or c1="1001"then</p><p>  if c1="1001" and c0="0101" then</p><p>  c0<="0000"; c1<="0001";&

59、lt;/p><p>  elsif c1="1001" and c0="0000" then</p><p>  c0<="0101";c1<="0000";</p><p>  elsif c1="1000" and c0="0101"

60、then</p><p>  c0<="0000";c1<="0000";</p><p><b>  end if;</b></p><p>  if c2="1001" then</p><p>  c2<="0000"

61、;</p><p>  if c3="1001"then</p><p>  c3<="0000";</p><p><b>  else</b></p><p>  c3<=c3+'1';</p><p><b>  

62、end if;</b></p><p><b>  else</b></p><p>  c2<=c2+'1';</p><p><b>  end if;</b></p><p>  elsif c0="0000"then</p>

63、<p>  c0<="0101";c1<=c1+'1';</p><p><b>  else</b></p><p>  c0<="0000";c1<=c1+"0010";</p><p><b>  end if;<

64、;/b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  min0<=m0;</b></p><p><b

65、>  min1<=m1;</b></p><p><b>  km0<=k0;</b></p><p><b>  km1<=k1;</b></p><p>  cost0<=c0;</p><p>  cost1<=c1;</p>&l

66、t;p>  cost2<=c2;</p><p>  cost3<=c3;</p><p><b>  end; </b></p><p><b>  摘要1</b></p><p>  一、設(shè)計目的和要求2</p><p><b>  二、

67、設(shè)計原理3</b></p><p><b>  1設(shè)計模塊3</b></p><p><b>  2原理描述3</b></p><p><b>  2.1分頻模塊3</b></p><p>  2.2 路程和計費模塊4</p><p&g

68、t;  2.3 譯碼顯示模塊4</p><p><b>  三、設(shè)計內(nèi)容5</b></p><p><b>  1設(shè)計思路5</b></p><p><b>  2 設(shè)計流程圖6</b></p><p>  3總體設(shè)計封裝圖6</p><p>

69、<b>  4模塊設(shè)計7</b></p><p><b>  4.1分頻模塊7</b></p><p><b>  4.2計費模塊7</b></p><p>  4.3譯碼顯示模塊7</p><p>  5系統(tǒng)仿真結(jié)果及分析8</p><p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論