<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 一種出租車計費器設計方案

          一種出租車計費器設計方案

          作者: 時間:2011-12-08 來源:網(wǎng)絡 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/190931.htm

          EDA使用戶在無需實際芯片、電路板和儀器儀表的情況下進行電路設計和分析;采用在系統(tǒng)編程技術,在現(xiàn)場對系統(tǒng)進行邏輯重構和升級,實現(xiàn)硬件設計軟件化。

          EDA技術以可編程邏輯器件FPGA和CPLD及其開發(fā)系統(tǒng)為硬件平臺,以EDA開發(fā)軟件如Max+PlusⅡ為開發(fā)工具,基于邏輯功能模塊的層次化設計方法設計數(shù)字系統(tǒng)。Max+PlusⅡ設計可采用原理圖、硬件描述語言(VHDL)等多種輸入方式,并支持這些文件的任意混合設計。對于不同層次,可采用不同的輸入方式進行設計。由于VHDL擅長描述模塊的邏輯功能,所以在對底層模塊設計中,常采用VHDL進行描述,而原理圖則擅長描述模塊間的連接關系,故在頂層設計中,常采用原理圖輸入方法。

          一般采用以單片機為核心的設計方法,設計不夠靈活方便。為此,在此介紹了采用EDA技術的層次化設計方法設計的方法。即用VHDL編寫各個功能模塊,實現(xiàn)低層設計;用原理圖輸入方式描述各模塊間的關系,實現(xiàn)頂層設計。采用FPGA可編程邏輯器件為系統(tǒng)控制單元,無需添加外圍電路,更新功能僅需修改軟件。實驗表明,該設計方法簡單快捷,所設計的系統(tǒng)性能可靠。應用該方法設計的數(shù)字電子系統(tǒng)具有很強的靈活性。

          1 功能

          出租車計費器的功能要求:

          (1)實現(xiàn)出租車按行駛里程收費,起步費為7.0元;

          (2)行駛3 km后再按2元/km計費,車停時不計費;

          (3)能預置起步費和每公里收費,并能模擬汽車啟動、停止、車速等狀態(tài)。

          根據(jù)VHDL特點,設計者不再需要考慮選擇固定功能的標準芯片,而是從實現(xiàn)系統(tǒng)功能與性能出發(fā)來,建立出租車計費器系統(tǒng)模塊,如圖1所示。

          19.jpg

          2 出租車計費器的設計與實現(xiàn)

          本系統(tǒng)分底層和頂層2個層次設計,底層設計采用VHDL編寫各個功能模塊,頂層設計采用原理圖方式描述各模塊間的連接。

          2.1 底層文件的設計

          底層模塊包括:出租車車速控制模塊;計費器里程計數(shù)模塊;計費器計費計數(shù)模塊3個模塊。

          以出租車車速控制模塊為例介紹。

          出租車車速控制模塊用于控制出租車的車速。圖1中,當起/停開關及清零信號RESET都為“1”時,汽車啟動就開始進入里程計數(shù)和計費器工作狀態(tài)。通過改變“車速選擇”端的輸入值可以控制汽車行駛快慢。用CLK6作為車速控制模塊的時鐘輸入,CLOCK6作為輸出,用A、B作為車速選擇變量,分別取值從“00”→“01”→“10”→“11”時,車速越來越塊。其VHDL程序代碼如下:

          15.jpg

          以上程序代碼經(jīng)過編譯后生成相應模塊符號,如圖2所示,供頂層設計時調(diào)用。

          16.jpg


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();