




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
I出租車計費器的設(shè)計與實現(xiàn)目錄70471前言 168562開發(fā)環(huán)境及相關(guān)技術(shù)概括 1322802.1QUARTUSII軟件 1156412.1.1QuartusII軟件的工具及功能簡介 2247592.1.2QuartusII軟件的用戶界面 3168132.2VHDL語言 3128732.2.1VHDL語言的功能特點 43022.2.2VHDL語言的設(shè)計特點 4247712.3EDA技術(shù) 545813出租車計費系統(tǒng)的整體設(shè)計和模塊設(shè)計 6124963.1設(shè)計原理 659643.2設(shè)計內(nèi)容 7193433.1設(shè)計框圖 890423.4設(shè)計模塊 8315764基于VHDL的出租車計費系統(tǒng)的設(shè)計 9241974.1車輪脈沖計數(shù)模塊 960664.2里程計數(shù)模塊 1058214.3計費模塊 12250474.4動態(tài)掃描模塊 1441004.5譯碼模塊 15241885基于VHDL的出租車計費系統(tǒng)的實現(xiàn) 1645535.1車輪脈沖計數(shù)模塊 16242475.2里程計數(shù)模塊 17150095.3計費模塊 18146485.4動態(tài)掃描模塊 20141175.5譯碼模塊 21323085.6綜合設(shè)計模塊 2273465.6.1出租車計費系統(tǒng)的頂層設(shè)計原理圖 229425.6.2出租車計費系統(tǒng)的頂層設(shè)計仿真波形圖 23284226結(jié)論 2321765參考文獻(xiàn) 251前言出租車計價器由如計量組件,稅控組件等不同的組件組成,整個計價器包括里程傳感器、空車待租標(biāo)志、單片機(jī)、顯示屏、打印機(jī)這五個部件。當(dāng)出租車開始行駛時,里程傳感器將出租汽車變速器輸出的轉(zhuǎn)動信號轉(zhuǎn)換成電脈沖信號,然后輸入計價器,根據(jù)脈沖信號,計價器中微處理器(單片機(jī))可以測量行駛時間、行駛車速和行駛里程,并計算得出乘客應(yīng)付的車費,最后將金額通過計價器的顯示屏顯示出來,還可通過打印機(jī)將本次行駛的實際路程及應(yīng)付金額打印出來,將小票交給乘客,完成本次行駛交易。不同時間不同行駛狀態(tài)都會對出租車計價器輸出的結(jié)果產(chǎn)生影響,需要有一套嚴(yán)格的計費標(biāo)準(zhǔn)才能讓出租車計價器成為乘客與司機(jī)雙方的交易準(zhǔn)則。當(dāng)出租汽車運營候客時豎起空車待租標(biāo)志,計價器處于空車狀態(tài);當(dāng)乘客上車起步后,應(yīng)壓下空車待租標(biāo)志,計價器處于乘車狀態(tài),此時計價器主機(jī)單價顯示屏顯示單價,金額屏顯示基價,計程和計時屏顯示本次運營累計的行駛里程和等候時間;夜間運營時空車待租標(biāo)志和頂燈同時熄滅,計價器開始按距離、時間并計式的計費方式進(jìn)行計費;當(dāng)車速低于切換速度或者停車時計價器開始計時,高于切換速度時只計行駛時程;在出租車到達(dá)目的地后,司機(jī)按下暫停鍵停止計費,乘客需支付儀表上顯示的金額;完成行駛交易后,豎起空車待租標(biāo)志,計價器處于空車狀態(tài),計價器顯示屏顯示歸零。本文主要針對出租車計費系統(tǒng)進(jìn)行設(shè)計,將實際操作過程轉(zhuǎn)化為仿真模擬。2開發(fā)環(huán)境及相關(guān)技術(shù)概括2.1QUARTUSII軟件QuartusII軟件基于開發(fā)環(huán)境FDGA/CPLD,它支持VHDL,VeriloGHDL和AHDL等不同設(shè)計的輸入形式,以及完成從輸入設(shè)計到硬件配置的完整PLD電源,該軟件擁有自己的合成器和模擬器,也可以在不同的操作系統(tǒng)如XP,Linux和UNIX上使用。TCL腳本可以用于用戶圖形界面的設(shè)計,它具有快速輔助操作,保持界面風(fēng)格一致,功能綜合,易于學(xué)習(xí)和易于使用等特點。QuartusII支持Altera的IP內(nèi)核,包括LPM庫,允許用戶充分利用已經(jīng)記錄的模塊,這樣可以簡化設(shè)計的復(fù)雜性并加快設(shè)計速度。QuartusII軟件集成了AlteraFDGA/CPLD開發(fā)過程中涉及的所有工具和第三方軟件接口,通過這個開發(fā)工具,設(shè)計師可以方便的創(chuàng)建,組織和管理他們自己的設(shè)計,QuartusII軟件開發(fā)過程如圖2-1所示設(shè)計輸入設(shè)計輸入綜合布局布線時序分析仿真編程和配置功耗分析調(diào)試工程更改管理時序逼近圖2-1QuartusII軟件的開發(fā)流程2.1.1QuartusII軟件的工具及功能簡介QuartusII軟件提供了完整的多平臺設(shè)計環(huán)境,可輕松滿足特定的設(shè)計要求,并且是SOPC設(shè)計的集成環(huán)境,此外,QuartusII軟件允許用戶在設(shè)計過程的每個階段使用其軟件圖形用戶界面,EDA工具界面或命令行。1.設(shè)計輸入:輸入模式采用QuartusII軟件模塊,輸入模式,輸入模式和中央輸入EDA設(shè)計工具來表達(dá)用戶電路的概念,并通過任務(wù)編輯器設(shè)置初始設(shè)計約束。2.合成:將所述HDL語言,示意性設(shè)計,并且所述第二輸入邏輯鏈路(網(wǎng)表),一個基本的邏輯單元(例如NAND,RAM,觸發(fā)等),并根據(jù)所生成的邏輯優(yōu)化目標(biāo)和要求Link和輸出標(biāo)準(zhǔn)格式的網(wǎng)表文件,如.EDF或.VQM,用于路由設(shè)備的部署和布局。3.布局:綜合布局分析結(jié)果,布局優(yōu)化,增量布局反向指示類似。4.時序分析:允許用戶分析所有邏輯設(shè)計的時序性能,布局并幫助引導(dǎo)分析,以滿足設(shè)計的時間要求。5.仿真:分為功能仿真和時序仿真。仿真功能是檢查電路的功能是否滿足結(jié)構(gòu)要求,包括仿真時序延遲信息,最好是反應(yīng)芯片的設(shè)計工作。6.編程和配置:將器件,邏輯器件和布局引腳分配轉(zhuǎn)換為器件分配文件到芯片進(jìn)行測試。2.1.2QuartusII軟件的用戶界面QuartusII是Altera公司的FPGA設(shè)計軟件,與FPGA片內(nèi)的硬件相關(guān)的設(shè)計都在這個軟件工具中完成。啟動軟件后,其默認(rèn)界面如圖2-2所示。由標(biāo)題欄、菜單欄、工具欄、資源管理窗、編輯狀態(tài)顯示窗、信息顯示窗和工程工作區(qū)等組成部分。圖2-2QuartusII軟件的用戶界面2.2VHDL語言VHDL的全稱是VHSIC硬件描述語言,VHSIC創(chuàng)建于20世紀(jì)80年代,當(dāng)時美國國防部的背景令人懷疑,并最終導(dǎo)致了VHDL語言的出現(xiàn)。在1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)的硬件描述語言,它主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口,除了許多具有硬件特性的陳述之外,VHDL的語言形式和描述類型與高級語言中的普通計算機(jī)非常相似,其結(jié)構(gòu)特征是工程設(shè)計或設(shè)計單元(其可以是一個組件,電路模塊或系統(tǒng))被分成外部(或可見部分和端口)和內(nèi)部(或不可見的部分),這兩個它涉及該設(shè)備的內(nèi)部運作和算法的完成部分。為設(shè)計設(shè)備定義外部接口后,其他設(shè)計一旦完成內(nèi)部開發(fā),可直接調(diào)用該設(shè)備,這種將設(shè)計單元分為內(nèi)部和外部兩部分的概念是VHDL系統(tǒng)設(shè)計的基本點。2.2.1VHDL語言的功能特點VHDL語言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。與其他硬件描述語言相比,VHDL具有以下優(yōu)點:1)VHDL語言支持自頂向下(自頂向下)和基于庫的設(shè)計方法。它還支持同步電路,異步電路,F(xiàn)PGA和其他隨機(jī)電路的設(shè)計。2)VHDL語言能夠從系統(tǒng)的數(shù)學(xué)模型到不同層次描述系統(tǒng)的硬件功能門級電路及其高級描述可與低級別的RTL描述和結(jié)構(gòu)描述結(jié)合使用。他們還可以定制數(shù)據(jù)類型,為程序員提供更大的自由和便利。3)VHDL相對獨立于設(shè)計描述。設(shè)計人員無法理解硬件結(jié)構(gòu),也不需要關(guān)閉硬件。4)VHDL具有可確保設(shè)計精度的電路仿真和驗證功能。用戶甚至不必寫。如何測試可以在源代碼級別進(jìn)行測試,設(shè)計人員可以輕松比較它們。該解決方案的可行性和優(yōu)點和缺點不需要任何實際的電路測試。VHDL語言可以在沒有技術(shù)的情況下編程;VHDL的語言標(biāo)準(zhǔn)和規(guī)范很容易共享和重用。2.2.2VHDL語言的設(shè)計特點當(dāng)電路系統(tǒng)采用VHDL語言進(jìn)行硬件設(shè)計時,與傳統(tǒng)電路設(shè)計方法相比,具有以下特點:采用自頂向下的設(shè)計方法。換句話說,從系統(tǒng)的總體要求進(jìn)行設(shè)計,以完善從頂部內(nèi)容底部,整個系統(tǒng)的硬件設(shè)計的最終完成,系統(tǒng)可以分為三個級別進(jìn)行設(shè)計:1、第一級是行為描述,它是描述整個系統(tǒng)的數(shù)學(xué)模型,以便識別在被在系統(tǒng)設(shè)計的初始階段通過行為仿真所描述的系統(tǒng)的設(shè)計的問題。2、第二個層次是RTL路線圖,即注冊轉(zhuǎn)移描述,實現(xiàn)硬件的具體實現(xiàn),VHDL語言程序行為描述的方式應(yīng)改寫為RTL描述,換句話說,系統(tǒng)使用RTL描述導(dǎo)出系統(tǒng)邏輯表達(dá)式并執(zhí)行邏輯綜合。3、第三個層次是邏輯綜合,即利用邏輯綜合工具,在RTL文件(柵級網(wǎng)表)與由結(jié)果輸出邏輯示意表示的基本邏輯元件,模擬上的柵極電平中所公開的轉(zhuǎn)換器,并且控制所述定時關(guān)系。(2)主設(shè)計文件是用VHDL語言編寫的源程序,與傳統(tǒng)的接線圖相比,使用VHDL源代碼有很多優(yōu)點:①數(shù)據(jù)少,易于保存。另一種是世襲的,在設(shè)計其他硬件電路時,可以在該過程中使用某些庫文件,其他過程描述了一些本地硬件電路。第三個是簡單的閱讀,閱讀程序比閱讀電路圖更容易,讀者可以很容易地看到程序中電路的工作原理和邏輯,為了從原理圖中了解它的工作原理,更多的硬件需要知識和經(jīng)驗。2.3EDA技術(shù)EDA是電子設(shè)計自動化的縮寫,這是新技術(shù)的快速發(fā)展,硬件表達(dá)式語言是在設(shè)計欄系統(tǒng)上表達(dá)邏輯的最重要的方式,它是由大型可編程邏輯器件的計算機(jī),開發(fā)軟件和實驗開發(fā)系統(tǒng)設(shè)計而成,它可以自動完成。其設(shè)計方法是在電子系統(tǒng)中為硬件系統(tǒng)設(shè)計新技術(shù),可以實現(xiàn)邏輯編譯,邏輯簡化,邏輯劃分,邏輯綜合和優(yōu)化,邏輯布局和邏輯仿真,完成特定目標(biāo)芯片的匹配和編譯,邏輯映射,編程和下載,最終形成集成電子系統(tǒng)或ASIC芯片。EDA代表了電子設(shè)計技術(shù)的最新發(fā)展,這意味著電子設(shè)計師可以從概念,算法,協(xié)議等設(shè)計電子系統(tǒng)。許多工作都可以通過電腦完成,電子產(chǎn)品可以從電路設(shè)計,性能分析,IC布局或PCB布局設(shè)計。整個過程在計算機(jī)上自動處理,設(shè)計人員采用的設(shè)計方法是一種新的高層次自上而下的設(shè)計方法,從系統(tǒng)設(shè)計開始,在頂層進(jìn)行功能框圖的分區(qū)和結(jié)構(gòu)設(shè)計。仿真和糾錯在程序框圖級執(zhí)行,高級系統(tǒng)行為用硬件描述語言描述,設(shè)計師的工作僅限于使用軟件,即使用硬件描述語言和EDA軟件來完成系統(tǒng)硬件功能的實現(xiàn)。由于設(shè)計的主要仿真和調(diào)試過程在高層完成,不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計錯誤,而且避免了設(shè)計工作的浪費,減少了邏輯功能仿真的工作量,并提高了設(shè)計的一次性成功率。隨著現(xiàn)代電子產(chǎn)品復(fù)雜性和集成度的不斷提高,中小規(guī)模集成電路的普遍組合已不能滿足要求。嵌入式處理器軟核的成熟使SOPC進(jìn)入了一個大規(guī)模的應(yīng)用階段,除了成熟的數(shù)字技術(shù)之外,電路系統(tǒng)的傳統(tǒng)設(shè)計建模概念在EDA領(lǐng)域發(fā)生了很大變化。同時,EDA使得電子領(lǐng)域各個學(xué)科的界限更加模糊和更具包容性,這對于設(shè)計人員使用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(例如全定制或半定制ASIC設(shè)計,F(xiàn)PGA/CPLD開發(fā)和印刷電路板)是有益的。根據(jù)EDA技術(shù)的特點,與傳統(tǒng)的數(shù)字電子系統(tǒng)或IC設(shè)計相比,EDA技術(shù)具有獨特的優(yōu)勢。手動設(shè)計在傳統(tǒng)數(shù)字電子系統(tǒng)或IC的設(shè)計中占較大的比例。所以也有很多缺點。例如,設(shè)計和調(diào)試復(fù)雜的電路是非常困難的;如果沒有硬件系統(tǒng)仿真,如果在某個過程中出現(xiàn)錯誤,發(fā)現(xiàn)和修改是非常不方便的;在設(shè)計中很難管理和管理大量文檔。相比之下,EDA技術(shù)則非常不同。它使用HDL來描述數(shù)字系統(tǒng)的抽象行為和功能,以詳細(xì)描述內(nèi)部線路結(jié)構(gòu),可以用來驗證設(shè)計過程的正確性,這可以大大降低設(shè)計成本,縮短設(shè)計周期。由于各種圖書館的支持,我們可以完成各種自動設(shè)計流程,它極大地簡化了設(shè)計文檔的管理,邏輯設(shè)計,仿真和測試變得越來越強(qiáng)大,VHDLEDA是目前EDA設(shè)計中應(yīng)用最廣泛的,并且?guī)缀踔С炙兄髁鞴ぞ摺?出租車計費系統(tǒng)的整體設(shè)計和模塊設(shè)計3.1設(shè)計原理計價器系統(tǒng)已被廣泛使用在生活中,通常由微控制器控制,但結(jié)構(gòu)簡單,故障率高,和現(xiàn)場可編程門陣列(FPGA),其具有高密度可編程軟件和強(qiáng)大的支撐特性,為什么所設(shè)計的產(chǎn)品功能強(qiáng)大,功能強(qiáng)大,可靠性高,靈活性強(qiáng)。本文詳細(xì)說明了出租車會計系統(tǒng)設(shè)計的總體框圖和各系統(tǒng)模塊的詳細(xì)設(shè)計過程。該系統(tǒng)是EPM1270T144C5芯片(見圖3-1)根據(jù)出租車的計費系統(tǒng),采用VHDL編程,用的QuartusⅡ軟件為仿真和驗證程序的開發(fā)平臺,以獲得相關(guān)計價器功能。系統(tǒng)分為五個模塊,包括輔助計數(shù)器模塊,里程表模塊,計費模塊,動態(tài)掃描和解碼模塊。每個軟件模塊提供內(nèi)核代碼及其模擬波形圖。本文采用VHDL語言,采用先進(jìn)的FPGA技術(shù)設(shè)計電子產(chǎn)品的稅收系統(tǒng),實現(xiàn)稅表最重要的功能。操作穩(wěn)定可靠。EDA技術(shù)是計算機(jī)數(shù)字系統(tǒng)意味著完成邏輯綜合,仿真,布局和設(shè)計工作,電路設(shè)計人員不需要該系統(tǒng)的唯一完整描述的作品,可以通過被設(shè)計為一個計算機(jī)軟件系統(tǒng)處理給出設(shè)計的結(jié)果和改變該方案與改變軟件一樣舒適。例如。如果沒有硬件支持電路可以開始繳費系統(tǒng)的價格,公里等待收費標(biāo)準(zhǔn)和VHDL源程序中的預(yù)設(shè)的延遲直接變化。圖3-1本設(shè)計采用EPM1270T144C5芯片3.2設(shè)計內(nèi)容本實驗具體要求如下:1、能夠?qū)崿F(xiàn)計費功能
成本是根據(jù)行駛里程計算的。出租車的起步價是7元。駕駛不到3公里時,價格按起始價格計算。當(dāng)行程大于3公里時,賬單收費為每人1.6元千米??偨痤~超過30元時,按2.4元收費公里,汽車停止和結(jié)束計費。(總費用=起價費用+(里程-3km)*1.6,總額〈30元或總費用=起價費用+(里程-3km)*2.4,總額〉30元)2、能夠?qū)崿F(xiàn)顯示的功能
1)顯示汽車行駛的里程,用4位數(shù)字顯示,顯示的方式為“XX.X”.單位為km。計程范圍為0~99.9km。
2)顯示總費用:用3位數(shù)字顯示,顯示的方式為“XX.X”.單位為元。計價范圍為0~99.9元。3、重點要求*車費總額可顯示最大值99.9元,能同步顯示對應(yīng)行駛里程。*要求所設(shè)計的系統(tǒng)能模擬滑行開始,暫停,停止等,并設(shè)計動態(tài)掃描電路以顯示動態(tài)掃描電路完成的總里程和總票價。臨時停車不收費,票價保持不變;如果汽車停止,票價將被清除并等待下一個計費開始。3.1設(shè)計框圖出租車計費系統(tǒng)的整體設(shè)計框圖如3-2所示,主要模塊包括:車輪脈沖計數(shù)、路程計數(shù)、價格計算、動態(tài)掃描以及譯碼模塊。圖3-2出租車計費系統(tǒng)的整體設(shè)計框圖3-2出租車計費系統(tǒng)的整體設(shè)計框3.4設(shè)計模塊1、車輪脈沖計數(shù):用于接收啟動,暫停和停止出租車操作信號等信號,并接收來自輪椅的脈沖信號。計數(shù)器對發(fā)送的脈沖信號(每轉(zhuǎn)一圈)和車輪型號進(jìn)行計數(shù)。不同型號的車輪直徑可能不一樣。通過設(shè)置編程代碼(此實驗是為520毫米直徑的車輪設(shè)計的)進(jìn)行車輪型號選擇,最后轉(zhuǎn)換100米的驅(qū)動信號。2、公里計數(shù)器:負(fù)責(zé)計數(shù)100m的驅(qū)動信號并獲取驅(qū)動數(shù)據(jù)信號;計數(shù)器對百米脈沖進(jìn)行累加并輸出實際行駛里程數(shù),計數(shù)結(jié)果以3組4位的BCD碼輸出給動態(tài)掃描及譯碼模塊,計數(shù)范圍由0-99.9km。3、計費模塊:根據(jù)行駛里程以及車費規(guī)則,得到車費總金額數(shù)據(jù)信號;計數(shù)器實現(xiàn)步長可變(即單價可調(diào))的累加計數(shù),通過編程代碼設(shè)置用來完成起步價初值7元,超價30元后每千米加費到2.4元等。4、動態(tài)掃描模塊及譯碼模塊:接收行駛里程和車費總金額數(shù)據(jù)的信號并送入供外部譯碼管顯示;動態(tài)掃描模塊利用視覺持續(xù)性并使用動態(tài)掃描電路,顯示數(shù)字管的8位數(shù)轉(zhuǎn)換距離和4位十進(jìn)制數(shù)值,節(jié)省了硬件資源和能源。模塊通過八進(jìn)制掃描模塊再次顯示距離和票價。解碼模塊將模塊4位BCD碼轉(zhuǎn)換為7段數(shù)碼管顯示的二進(jìn)制數(shù)據(jù),輸入端口d[3..0]輸入掃描模塊選擇要顯示的BCD碼,數(shù)碼管的顯示碼為Seg[6..0]輸出。這種設(shè)計中的數(shù)碼管是一個普通的陰極數(shù)碼管。4基于VHDL的出租車計費系統(tǒng)的設(shè)計4.1車輪脈沖計數(shù)模塊車輪脈沖模塊接收來自車輪傳感器的脈沖信號。由于車輪種類不同,直徑不同,每行駛100米行車輪數(shù)不同,即輪孔發(fā)出的脈沖信號數(shù)量不同,因此需要區(qū)分不同的車輪。處理后,車輪直徑與每轉(zhuǎn)匝數(shù)的比率。公里如表4-1所示。表4-1車輪直徑與每千米所轉(zhuǎn)圈數(shù)對應(yīng)表車輪直徑500mm520mm540mm560mm580mm圈數(shù)/千米637612590569549本設(shè)計中以車輪直徑為520mm進(jìn)行討論車輪脈沖計數(shù)模塊IFreset='1'THENs_state<=s0;temp<="000000";ELSIF(clk'EVENTANDclk='1')THENCASEs_stateISWHENs0=>temp<="000000";IFstart='1'THENs_state<=s1;ELSEs_state<=s0;WHENs1=>temp<="000000";IFstart='1'THENs_state<=s1;ELSEtemp<=temp+1;s_state<=s1;ELSEs_state<=s0;在程序設(shè)計中,當(dāng)復(fù)位鍵復(fù)位=1時,模塊進(jìn)入停止計數(shù)模式(s0),復(fù)位鍵復(fù)位=0,同時啟動/暫停鍵啟動=1,模塊進(jìn)入計數(shù)頻率定界模式(s1)。當(dāng)暫停鍵開始=0時,模塊返回停止計數(shù)模式(s0)并停止分時倒計時。車輪脈沖計數(shù)模塊設(shè)計框圖如4-2所示停止信號停止信號啟動/暫停信號時鐘信號clk百米脈沖信號開始計數(shù)開始計數(shù)送入61個脈沖送入61個脈沖圖4-2計數(shù)分頻狀態(tài)實驗圖以上框圖為模塊處于計數(shù)分頻狀態(tài)時,即按下出租車計價器的啟動鍵,此時開始計數(shù),時鐘信號clk會送入61個脈沖即產(chǎn)生一個百米脈沖信號clk_out。4.2里程計數(shù)模塊里程計數(shù)模塊的主要功能是統(tǒng)計來自脈沖計數(shù)模塊的百米信號,計算行駛路程,計數(shù)結(jié)果以BCD碼的形式輸出給下一級模塊。(BCD碼即用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個數(shù)碼。是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代碼。)里程計數(shù)模塊主要為實現(xiàn)統(tǒng)計百米脈沖信號,結(jié)果以產(chǎn)生三組4位BCD碼的形式輸出,計數(shù)范圍由0-99.9km。在系統(tǒng)進(jìn)入停車狀態(tài),停止信號reset=1時,模塊停止計數(shù)并清零;在非停車狀態(tài),啟動/暫停信號sp=0時,系統(tǒng)進(jìn)入暫停等待狀態(tài)(s0),模塊不計數(shù)且輸出鎖存;若啟動/暫停信號sp=1時,則系統(tǒng)進(jìn)入里程計數(shù)狀態(tài)(s1),模塊接收百米脈沖信號且計算,并對二進(jìn)制計算結(jié)果進(jìn)行BCD碼的轉(zhuǎn)換,將得到的12位BCD碼分成三組4位BCD碼輸出給下一級模塊。ifreset='1'THENtemp:="000000000000";elsif(clk'EVENTANDclk='1')THENCASEkm_stateISWHEN'0'=>IFsp='0'THENkm_state<='0';ELSEkm_state<='1';ENDIF;WHEN'1'=>IFtemp(3DOWNTO0)+"0001">"01001"THENtemp:=temp+"000000000110"+1;ELSEtemp:=temp+1;endif;IFtemp(7DOWNTO4)>"1001"THENtemp:=temp+"000001100000";ENDIF;IFtemp(11DOWNTO8)>"1001"THENtemp:=temp+"011000000000";ENDIF;IFsp='0'THENkm_state<='0';2、里程計數(shù)模塊設(shè)計框圖如4-3所示:百米信號百米信號千米信號十千米信號停止信號啟動/暫停信號時鐘信號clk里里程計數(shù)以BCD碼形式輸出以BCD碼形式輸出接收并計算百米脈沖接收并計算百米脈沖圖4-3里程計數(shù)狀態(tài)實驗框圖以上框圖為模塊處于里程計數(shù)狀態(tài)(s1),時鐘信號clk需要接收并計算來自上一個模塊的百米脈沖信號,即當(dāng)出租車啟動后,出租車計價器按下啟動鍵,會產(chǎn)生行駛里程,若遇到紅燈等待狀態(tài),即可暫停信號,不繼續(xù)產(chǎn)生行駛里程,最終輸出信號以三組4位BCD碼輸出給計費模塊。4.3計費模塊計費模塊中設(shè)置行駛范圍為3千米,車費初始值為7元,若當(dāng)行駛里程超過3千米后,開始按每千米收費,當(dāng)車費總值大于30元后,每千米收費標(biāo)準(zhǔn)由1.6元變?yōu)?.4元,計費總數(shù)以BCD碼形式送入下一級。計費模塊在程序中,主要部分是兩個過程kmcharge1和kmcharge2,其中kmcharge1過程是一個激活信號,每公里產(chǎn)生一個里程為3公里,單位價格信號為1.6元。公里;過程kmcharge2計算停車信號復(fù)位時的車票價格=1時,車票計算停止,票價被移除以進(jìn)入停車模式。如果停止信號復(fù)位=0,則根據(jù)接收的100m脈沖接收輸出信號clk_s和激活信號。然后計算里程并輸出結(jié)果以三組四位BCD碼的形式發(fā)送到下一級。IFcash>="001100000000"THENprice<="00100100";ELSEprice<="00010110";ENDIF;IFkmc2>"0011"ORkmc3>"0000"THENen<='1';ELSEen<='0';IFreset='1'THENreg2:="000001110000";ELSIF(clk'EVENTANDclk='1')THENIF(clk_s='1'ANDen='1')THENclk_cnt:=kmc1;IFclk_cnt="0000"THENreg2:=cash;IFreg2(3DOWNTO0)+price(3DOWNTO0)>"01001"THENreg2:=reg2+"000000000110"+price;ELSEreg2:=reg2+price;ENDIF;IFreg2(7DOWNTO4)>"1001"THENreg2:=reg2+"000001100000";ENDIF;IFreg2(11DOWNTO8)>"1001"THENreg2:=reg2+"011000000000";ENDIF;2、計費模塊實設(shè)計圖如4-4所示:停止信號停止信號啟動/暫停信號百米脈沖信號使能信號單價信號角元十元脈沖計數(shù)模塊新計費標(biāo)準(zhǔn)開始計費開始計費以BCD碼形式輸出以BCD碼形式輸出里程達(dá)到3km后,1.6元/km;里程達(dá)到3km后,1.6元/km;計費達(dá)到30元后,2.4元/km時鐘信號clk時鐘信號clk圖4-4計費狀態(tài)實驗框圖以上框圖為停止信號為零,模塊處于計費狀態(tài),根據(jù)脈沖計數(shù)模塊接收到的百米脈沖輸出信號和來自程序中的進(jìn)程1里描述的計費標(biāo)準(zhǔn)(即使能信號和單位定價信號)計算里程成本,并且使用BCD碼將計費結(jié)果輸出到動態(tài)掃描和解碼模塊。4.4動態(tài)掃描模塊該模塊利用人為現(xiàn)象現(xiàn)象,對外部8位數(shù)字顯示電路進(jìn)行快速位選擇,實現(xiàn)動態(tài)掃描效果。8位數(shù)碼管可精確顯示公里數(shù)和總成本。動態(tài)掃描模塊在接收到外部時鐘信號clk,公里計數(shù)公里公里hm,km,tkm和計費模塊圖像信號J,Y時,由芯片選擇信號Sel分別選通外部8個數(shù)字管。字母,數(shù)字和小數(shù)可以正確顯示。數(shù)字化數(shù)碼管從左至右顯示字母“L”,10公里,1公里(十進(jìn)制),100米,字母“F”,十位數(shù)字和元標(biāo)記。(小數(shù)點)和角度位置。IF(clk'EVENTANDclk='1')THENIFsel<"111"THENsel<=sel+1;ELSEsel<="000";WHEN"000"=>qout<="1010";dp<='0';WHEN"001"=>qout<=tkm;dp<='0';WHEN"010"=>qout<=km;dp<='1';WHEN"011"=>qout<=hm;dp<='0'; WHEN"100"=>qout<="1011";dp<='0';WHEN"101"=>qout<=sy;dp<='0';WHEN"110"=>qout<=y;dp<='1';WHEN"111"=>qout<=j;dp<='0';WHENOTHERS=>NULL;2、動態(tài)掃描模塊設(shè)計框圖如4-5所示:時鐘信號clk時鐘信號clk里程信號車費信號里程計數(shù)模塊計費模塊外部譯碼模塊小數(shù)點信號位選信號BCD信號圖4-5動態(tài)掃描模塊實驗框圖以上框圖為動態(tài)掃描模塊的實現(xiàn)流程,輸入端口有接收來自外部或其他模塊的三個信號,為時鐘信號、里程信號和車費信號,將這些信號通過位選信號sel向外部8個數(shù)碼管一一選通,并能顯示字母、小數(shù)點和數(shù)字,最終輸出結(jié)果以BCD碼的形式傳遞給譯碼模塊。4.5譯碼模塊譯碼模塊根據(jù)7段式數(shù)碼管的電路編碼原理,設(shè)計出適合出租車計費系統(tǒng)的譯碼程序,并且能夠正確顯示出字母和十進(jìn)制數(shù)字。譯碼模塊從動態(tài)掃描模塊接收4位BCD碼d[3..0],并將其轉(zhuǎn)換為適合7段顯示的二進(jìn)制數(shù)據(jù)段[6..0]。seg<="0111111"WHENd="0000"ELSE"0000110"WHENd="0001"ELSE"1011011"WHENd="0010"ELSE"1001111"WHENd="0011"ELSE"1100110"WHENd="0100"ELSE"1101101"WHENd="0101"ELSE"1111101"WHENd="0110"ELSE"0000111"WHENd="0111"ELSE"1111111"WHENd="1000"ELSE"1101111"WHENd="1001"ELSE"0111000"WHENd="1010"ELSE"1110001"WHENd="1011"ELSE"0000000";2、譯碼模塊設(shè)計框圖如4-6所示:動態(tài)掃描模塊動態(tài)掃描模塊BCD碼二進(jìn)制數(shù)據(jù)轉(zhuǎn)換轉(zhuǎn)換圖4-6譯碼模塊實驗框圖以上框圖是在譯碼模塊中將4位BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)的過程,才能符合出租車計費系統(tǒng)中的7段數(shù)碼管電路顯示。5基于VHDL的出租車計費系統(tǒng)的實現(xiàn)5.1車輪脈沖計數(shù)模塊1、下圖所示的是車輪脈沖計數(shù)模塊的仿真波形圖圖5-1車輪脈沖計數(shù)模塊的仿真波形圖從上圖中可以看出,首先設(shè)時鐘信號clk的周期為10ns,占空比為50%,設(shè)百米脈沖信號clk_out的周期為2.5,占空比為0.01的輸入信號;當(dāng)reset為高電平時,進(jìn)入停止?fàn)顟B(tài),不進(jìn)行計數(shù)和信號輸出;當(dāng)reset為低電平,start為高電平時,進(jìn)入計數(shù)分頻狀態(tài),開始計數(shù)和信號輸出,此時車輪傳感器輸入信號,時鐘信號clk每送入61個脈沖,輸出信號clk_out就產(chǎn)生一個百米脈沖信號;當(dāng)start為低電平時,又回到停止?fàn)顟B(tài),整個車輪脈沖模塊停止計數(shù)和輸出。2、下圖所示的是車輪脈沖計數(shù)模塊的符號圖5-2車輪脈沖計數(shù)模塊的符號輸入端口有:車輪脈沖信號clk;停止信號reset;啟動/暫停信號start。輸出端口有:百米脈沖信號clk_out。5.2里程計數(shù)模塊1、下圖所示的是里程計數(shù)模塊的仿真波形圖圖5-3里程計數(shù)模塊的仿真波形圖kmc1—百米計數(shù)值;kmc2—千米計數(shù)值;kmc3—十千米計數(shù)值。從里程計數(shù)模塊的仿真波形圖中可以看出,首先設(shè)時鐘信號clk的周期為2.5,占空比為0.01的輸入信號;當(dāng)reset為低電平,sp為高電平時,整個模塊處于里程計數(shù)狀態(tài),開始計算百米脈沖信號;當(dāng)reset為高電平時,模塊停止計數(shù),且里程結(jié)果清零;當(dāng)reset為低電平,sp同為低電平時,模塊處于暫定等待狀態(tài),整個模塊也將暫停計數(shù)。從圖中可以看到kmc1、kmc2、kmc3按照十進(jìn)制加法計數(shù)的方式計數(shù),仿真結(jié)果滿足里程計數(shù)模塊的設(shè)計要求。2、里程計數(shù)模塊的符號如圖5-4所示圖5-4里程計數(shù)模塊的符號輸入端口有:停止信號reset;百米脈沖信號clk;啟動/暫停信號sp。輸出端口有:百米信號輸出端kmc1[3..0];千米信號輸出端kmc2[3..0];十千米信號輸出端kmc3[3..0]。5.3計費模塊1、計費模塊的仿真波形圖如圖5-5所示圖5-5計費模塊的仿真波形圖從計費模塊的仿真波形圖中可以看出,首先設(shè)時鐘信號clk的周期為10ns,占空比為50%,設(shè)百米脈沖信號clk_s及百米里程信號kmc1的周期為3,占空比為50%的輸入信號;cnt1—計費金額的“角”位;cnt2—計費金額的“元”位;cnt3—計費金額的“十元”位。當(dāng)reset為低電平時,開始計費,行駛里程小于3千米,車費為初始值7元,超過3千米按每千米標(biāo)準(zhǔn)1.6元收費;當(dāng)車費總金額超過30元后按每千米2.4元收費。當(dāng)reset為高電平時,模塊停止計費,車費顯示初始值為7元。從圖中可以看到cnt1、cnt2、cnt3按照十進(jìn)制加法計數(shù)的方式計數(shù),仿真結(jié)果滿足計費模塊的設(shè)計要求。2、計費模塊的符號如圖5-6所示圖5-6計費模塊的符號輸入端口是:時鐘脈沖信號clk;100m脈沖信號clk_s,停止信號復(fù)位;100m里程信號輸入端kmc1[3..0],公里公里信號輸入端kmc2[3..0],十公里里程輸入端kmc3[3..0]。輸出端口為:計費量角度輸出端子cnt1[3..0],元位輸出端子cnt2[3..0]。5.4動態(tài)掃描模塊1、動態(tài)掃描模塊的仿真波形圖如圖5-7所示圖5-7動態(tài)掃描模塊的仿真波形圖從動態(tài)掃描模塊的仿真波形圖中可以看出,首先設(shè)時鐘信號clk的周期為3,占空比為50%的輸入信號;2、動態(tài)掃描模塊的符號如圖5-8所示圖5-8動態(tài)掃描模塊的符號輸入端口是:時鐘信號clk;100米里程信號輸入端hm[3..0];km公里信號輸入端km[3..0];十公里里程信號輸入端tkm[3..0]票價信號輸入端J[3..0];元件位置信號輸入端子y[3..0];十位信號輸入端子s[3..0]。輸出端口為:小數(shù)點輸出端子Dp;位置選擇器輸出端子sel[3..0];BCD信號輸出端子Qout[3..0]。5.5譯碼模塊1、譯碼模塊的仿真波形圖如圖5-9所示圖5-9動態(tài)掃描模塊的仿真波形圖當(dāng)d-輸入是0110B,即十進(jìn)制值6時,簽名輸出“1111101”,然后是數(shù)字管g,f,e,d,c,b,a的7段分別為1,1,1,1,1,0,1,高電平指示燈,顯示值“6”;當(dāng)d輸入為1011B(十進(jìn)制值11)時,顯示輸出“1110001”和字母“F”。2、譯碼模塊的符號如圖5-10所示圖5-10譯碼模塊的符號輸入端口為d[3..0];輸出端口為seg[6..0]。5.6綜合設(shè)計模塊5.6.1出租車計費系統(tǒng)的頂層設(shè)計原理圖如圖5-11所示,設(shè)置時鐘信號clk2、啟動/暫停信號start/sp、停止信號stop、車輪傳感器脈沖信號clk1,經(jīng)過仿真輸出數(shù)碼管位選信號sel[2..0];段選信號seg[6..0];以及小數(shù)點信號dp,經(jīng)檢驗仿真結(jié)果符合出
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國非接觸式傳感行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國認(rèn)證檢驗檢測行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資研究報告
- 2025-2030中國蔬菜烘干脫水機(jī)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030中國腦脊髓液管理裝置行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國白酒包裝印刷行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資發(fā)展研究報告
- 2025至2030年圓柱蝸桿減速器項目投資價值分析報告
- 2025至2030年光收發(fā)一體化組件項目投資價值分析報告
- 2025年防靜電PCB板架項目可行性研究報告
- 2025年鋼架框架項目可行性研究報告
- 2025年路口禁止樁項目可行性研究報告
- 高級考評員職業(yè)技能鑒定考試題及答案
- 智能建筑工程分部(子分部)工程質(zhì)量驗收
- 建筑工程住宅水泥制品排氣道系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 2024年中國紅木家具市場調(diào)查研究報告
- DNM-9602酶標(biāo)分析儀操作規(guī)程
- 四川省宜賓龍文學(xué)校2022-2023學(xué)年八年級下學(xué)期6月檢測(期末模擬)歷史試卷
- 初中語文必考必背古詩詞、古文61篇大全
- 以退為進(jìn)的中國惠民保發(fā)展-基于73款停售惠民保產(chǎn)品的分析-【復(fù)旦許閑】20240719
- 公積金個人貸款合同模板
- 智能紡織技術(shù)的家居家紡應(yīng)用
- DL∕T 5161.14-2018 電氣裝置安裝工程質(zhì)量檢驗及評定規(guī)程 第14部分:起重機(jī)電氣裝置施工質(zhì)量檢驗
評論
0/150
提交評論