基于VHDL語言的出租車計費系統設計
發布時間:2008/5/27 0:00:00 訪問次數:1398
    
    
    作者:席礪莼 董麗梅 田夢周 閆宏偉
    
    摘 要:利用vhdl語言設計出租車計費系統,使其實現計費以及預置和模擬汽車啟動、停止、暫停等功能,并設計動態掃描電路顯示車費數目,突出了其作為硬件描述語言的良好的可讀性、可移植性和易理解等優點。此程序通過下載到特定芯片后,可應用于實際的出租車計費系統中。
    關鍵詞:超高速集成電路硬件描述語言;計數器;max+plusⅱ;高速集成電路
    
    1 前言
    目前,電子系統正向集成化、大規模和高速度的方向發展,集成電路的規模越來越大,復雜程度越來越高,因此傳統的門級描述方法顯得過于瑣碎,難以理解掌握。由美國國防部提出的vhdl(very high speed integrated circuit hardware description language)即超高速集成電路硬件描述語言,采用高層次的、自頂向下的設計方法來描述硬件,非常適合當前需要。美國國防部為了要解決項目間的信息交換困難和設計維護困難,同時也為解決當時的超高速集成電路(vhsic,very high speed integrated circuit)計劃而提出的一種硬件描述語言。1987年12月ieee接受vhdl為標準的hdl,這就是今天的ieee std1076-1987和ieee std1076-1993。
    max+plusⅱ(multiple array matrix and programmable logic user systems)是電子設計不可缺少的工具,他可以接受多種方式的輸入:原理圖輸入、文本輸入(硬件描述語言)、第三方eda工具提供的接口等。max+plusⅱ的仿真器具有很強靈活性,可以控制對單器件或多器件的仿真。max+plusⅱ還提供了豐富的幫助庫。
    本文采用vhdl語言來設計實現出租車計費系統,源程序經美國altera公司的max+plusⅱ軟件調試優化,下載到特定芯片(max系列的epm 7128slc8415)后,可應用于實際的出租車計費系統中。
    2 出租車計費系統的設計
    2.1 出租車計費器工作原理
    實際中出租車的計費工作原理一般分成3個階段:
    (1)車起步開始計費。首先顯示起步價(本次設計起步費為7.00元),車在行駛3 km以內,只收起步價7.00元。
    (2)車行駛超過3 km后,按每公里2.2元計費(在7.00元基礎上每行駛1 km車費加2.2元),車費依次累加。
    (3)行駛路程達到或超過9 km后(車費達到20元),每公里加收50%的車費,車費變成按每公里3.3元開始計費。車暫時停止(行駛中遇紅燈或中途暫時停車)不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。
    2.2 基本設計思想
    (1)根據出租車計費原理,將出租車計費部分由5個計數器來完成分別為countera,counterb,counterc,counterd,countere。①計數器a完成車費百位。②計數器b完成車費十位和個位。③計數器c完成車費角和分。④計數器d完成計數到30(完成車費的起步價)。⑤計數器e完成模擬實現車行駛100 m的功能。
    (2)行駛過程中車費附加50%的功能:由比較器實現。
    (3)車費的顯示:由動態掃描電路來完成。用專用模塊來實現,完成數據的輸入即動態數據的顯示。
    (4)通過分析可以設計出系統的頂層框圖如圖1所示:
    
    
    
    2.3 具體模塊劃分并實現及部分程序
    計費器按里程收費,每100 m開始一次計費.圖2為原理結構圖,各模塊功能如下:
    (1)計數器a為十進制計數器,其結果為車費的百位,與5位數碼管的最高位相連,計數時鐘為進位脈沖。程序如下:
    
    
    
    
    
    (2)計數器b為帶預置的模100十進制計數器,預置數為出租車起步價,車費的十位和個位,與數碼管的第2位和第3位相連。計數時鐘為計數器c的進位脈沖信號。
    (3)計數器c為可變步長的模100十進制計數器,帶預置端,預置數為計數步長。計數器c主要用于累加,
    
    
    作者:席礪莼 董麗梅 田夢周 閆宏偉
    
    摘 要:利用vhdl語言設計出租車計費系統,使其實現計費以及預置和模擬汽車啟動、停止、暫停等功能,并設計動態掃描電路顯示車費數目,突出了其作為硬件描述語言的良好的可讀性、可移植性和易理解等優點。此程序通過下載到特定芯片后,可應用于實際的出租車計費系統中。
    關鍵詞:超高速集成電路硬件描述語言;計數器;max+plusⅱ;高速集成電路
    
    1 前言
    目前,電子系統正向集成化、大規模和高速度的方向發展,集成電路的規模越來越大,復雜程度越來越高,因此傳統的門級描述方法顯得過于瑣碎,難以理解掌握。由美國國防部提出的vhdl(very high speed integrated circuit hardware description language)即超高速集成電路硬件描述語言,采用高層次的、自頂向下的設計方法來描述硬件,非常適合當前需要。美國國防部為了要解決項目間的信息交換困難和設計維護困難,同時也為解決當時的超高速集成電路(vhsic,very high speed integrated circuit)計劃而提出的一種硬件描述語言。1987年12月ieee接受vhdl為標準的hdl,這就是今天的ieee std1076-1987和ieee std1076-1993。
    max+plusⅱ(multiple array matrix and programmable logic user systems)是電子設計不可缺少的工具,他可以接受多種方式的輸入:原理圖輸入、文本輸入(硬件描述語言)、第三方eda工具提供的接口等。max+plusⅱ的仿真器具有很強靈活性,可以控制對單器件或多器件的仿真。max+plusⅱ還提供了豐富的幫助庫。
    本文采用vhdl語言來設計實現出租車計費系統,源程序經美國altera公司的max+plusⅱ軟件調試優化,下載到特定芯片(max系列的epm 7128slc8415)后,可應用于實際的出租車計費系統中。
    2 出租車計費系統的設計
    2.1 出租車計費器工作原理
    實際中出租車的計費工作原理一般分成3個階段:
    (1)車起步開始計費。首先顯示起步價(本次設計起步費為7.00元),車在行駛3 km以內,只收起步價7.00元。
    (2)車行駛超過3 km后,按每公里2.2元計費(在7.00元基礎上每行駛1 km車費加2.2元),車費依次累加。
    (3)行駛路程達到或超過9 km后(車費達到20元),每公里加收50%的車費,車費變成按每公里3.3元開始計費。車暫時停止(行駛中遇紅燈或中途暫時停車)不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。
    2.2 基本設計思想
    (1)根據出租車計費原理,將出租車計費部分由5個計數器來完成分別為countera,counterb,counterc,counterd,countere。①計數器a完成車費百位。②計數器b完成車費十位和個位。③計數器c完成車費角和分。④計數器d完成計數到30(完成車費的起步價)。⑤計數器e完成模擬實現車行駛100 m的功能。
    (2)行駛過程中車費附加50%的功能:由比較器實現。
    (3)車費的顯示:由動態掃描電路來完成。用專用模塊來實現,完成數據的輸入即動態數據的顯示。
    (4)通過分析可以設計出系統的頂層框圖如圖1所示:
    
    
    
    2.3 具體模塊劃分并實現及部分程序
    計費器按里程收費,每100 m開始一次計費.圖2為原理結構圖,各模塊功能如下:
    (1)計數器a為十進制計數器,其結果為車費的百位,與5位數碼管的最高位相連,計數時鐘為進位脈沖。程序如下:
    
    
    
    
    
    (2)計數器b為帶預置的模100十進制計數器,預置數為出租車起步價,車費的十位和個位,與數碼管的第2位和第3位相連。計數時鐘為計數器c的進位脈沖信號。
    (3)計數器c為可變步長的模100十進制計數器,帶預置端,預置數為計數步長。計數器c主要用于累加,
上一篇:光纖光纜名詞術語