加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

EDA程序設(shè)計(jì)-出租車計(jì)費(fèi)器

08/27 13:24
758
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

1? 系統(tǒng)設(shè)計(jì)

1.1 設(shè)計(jì)要求

1.1.1 設(shè)計(jì)任務(wù)

設(shè)計(jì)并制作一臺(tái)出租車計(jì)費(fèi)器。

1.1.2 性能指標(biāo)要求

① 用EDA實(shí)訓(xùn)儀的I/O設(shè)備和FPGA實(shí)現(xiàn)出租車計(jì)費(fèi)器的設(shè)計(jì)。

② 出租車起步開始計(jì)程和計(jì)費(fèi),計(jì)程系統(tǒng)按實(shí)際公里數(shù)計(jì)程,計(jì)費(fèi)系統(tǒng)首先顯示起步價(jià)(如7.0),車行駛2km以內(nèi),只收起步價(jià)7元。

③ 出租車行駛超過2km后,按每公里1.6元在7.0元的基礎(chǔ)上增加。

④ 出租車行駛超過10km后(或超過20元路費(fèi)),每公里加收50%的車費(fèi),即車費(fèi)變?yōu)槊抗?.4元。

⑤ 出租車達(dá)到目的地后,(用一個(gè)按鈕)計(jì)程和計(jì)費(fèi)數(shù)據(jù)清零,為下一次計(jì)費(fèi)開始。

1.2 設(shè)計(jì)思路及設(shè)計(jì)框圖

1.2.1設(shè)計(jì)思路

計(jì)程和計(jì)費(fèi)都是十進(jìn)制位的輸入,通過脈沖實(shí)現(xiàn)計(jì)數(shù)。計(jì)程通過分頻器的輸出作為輸入,產(chǎn)生的秒脈沖以實(shí)現(xiàn)計(jì)數(shù)功能。計(jì)費(fèi)在LED數(shù)碼管上分為個(gè)位十位(例如起步價(jià)為7元,顯示器上顯示70,三公里時(shí)為86......),計(jì)程器和計(jì)費(fèi)器在一個(gè)程序內(nèi)完成,分頻器用另一個(gè)程序完成,并將程序都生成一個(gè)元器件,用圖形法級(jí)聯(lián)在一起。上硬件仿真后,打開開關(guān)輸入脈沖,通過上升沿觸發(fā)使路程計(jì)算加一,并使總路計(jì)算模塊加一,到達(dá)相應(yīng)的公里數(shù)后沒每公里收費(fèi)也隨之改變。

1.2.2總體設(shè)計(jì)框圖

2.1 總體電路圖

2.2 分頻器模塊

module? fpq_(clk,KS,clk_1s);

input? clk,KS;

output? reg? clk_1s;

reg[26:0]? qs;

always??? @(posedge?? clk)

if(KS==1)

begin

if(qs==49999999)????? qs=0;

else?? qs=qs+1;

if(qs==24999999)?? clk_1s=0;

else? clk_1s=1;

end

endmodule

分頻器

2.3計(jì)程計(jì)費(fèi)器模塊

module CZCJFQ(clk,clrn,clk2,L1,L2,L3,L4,L5,L6);

input? clk,clrn,clk2;

output L1,L2,L3,L4,L5,L6;

wire[15:0] Q;

reg[7:0]? km;

reg[11:0]? ZJ;

reg? clk1;

reg [6:0] L1,L2,L3,L4,L5,L6;

initial??? clk1=1;

always? @(posedge?? clk^clk2?? or? negedge?? clrn)

begin

if(~clrn)?? km[3:0]=0;

else?? begin

if(km[3:0]==9)?? km[3:0]=0;

else? km[3:0]=km[3:0]+1;

if(km[3:0]==9)? clk1=0;

else?? clk1=1;

end

end

always? @(posedge? clk1 or? negedge? clrn)

begin

if(~clrn)???? km[7:4]=0;

else? begin

if( km[7:4]==9)?? km[7:4]=0;

else? km[7:4]= km[7:4]+1;

end

end

initial?? ZJ[11:0]=70;

always?? @(posedge? clk^clk2? or? negedge?? clrn)

begin

if(~clrn) ZJ[11:0]=70;

else?? begin

if(ZJ[11:0]>9999)?? ZJ[11:0]=70;

else? if(km[7:0]>'h9)?? ZJ[11:0]=ZJ[11:0]+24;

else? if(km[7:0]>'h1)?? ZJ[11:0]=ZJ[11:0]+16;

else? ZJ[11:0]=ZJ[11:0];

end

end

assign{Q[3:0]}={ZJ[11:0]}%10;

assign{Q[7:4]}={ZJ[11:0]}/10%10;

assign{Q[11:8]}={ZJ[11:0]}/100%10;

assign{Q[15:12]}={ZJ[11:0]}/1000;

路程計(jì)費(fèi)器模塊

2.4 組合邏輯模塊(部分)

always@ (Q[0],Q[1],Q[2],Q[3])

begin

case ({Q[3],Q[2],Q[1],Q[0]})

4'B0000:L1=7'B1000000;

4'B0001:L1=7'B1111001;

4'B0010:L1=7'B0100100;

4'B0011:L1=7'B0110000;

4'B0100:L1=7'B0011001;

4'B0101:L1=7'B0010010;

4'B0110:L1=7'B0000010;

4'B0111:L1=7'B1111000;

4'B1000:L1=7'B0000000;

4'B1001:L1=7'B0010000;

4'B1010:L1=7'B0001000;

4'B1011:L1=7'B0000011;

4'B1100:L1=7'B1000110;

4'B1101:L1=7'B0100001;

4'B1110:L1=7'B0000110;

4'B1111:L1=7'B0001110;

endcase

end

always@ (Q[4],Q[5],Q[6],Q[7])

begin

case ({Q[7],Q[6],Q[5],Q[4]})

4'B0000:L2=7'B1000000;

4'B0001:L2=7'B1111001;

4'B0010:L2=7'B0100100;

4'B0011:L2=7'B0110000;

4'B0100:L2=7'B0011001;

4'B0101:L2=7'B0010010;

4'B0110:L2=7'B0000010;

4'B0111:L2=7'B1111000;

4'B1000:L2=7'B0000000;

4'B1001:L2=7'B0010000;

4'B1010:L2=7'B0001000;

4'B1011:L2=7'B0000011;

4'B1100:L2=7'B1000110;

4'B1101:L2=7'B0100001;

4'B1110:L2=7'B0000110;

4'B1111:L2=7'B0001110;

endcase

end

.......

3? 調(diào)試過程

在編程代碼和編譯過程經(jīng)常出現(xiàn)問題,尤其是always@(*)語句上經(jīng)常出錯(cuò),以及在下載到硬件仿真的時(shí)候LED數(shù)碼管沒有反應(yīng),在向老師求助答疑后加入了些組合邏輯模塊,修改過后的程序能正常編譯,之后將程序下載到硬件中,打開開關(guān)檢查路程計(jì)算能正常運(yùn)行,路程計(jì)費(fèi)計(jì)算功能正常,可以達(dá)到驗(yàn)收標(biāo)準(zhǔn)。

4? 功能測試

4.1 測試儀器與設(shè)備

計(jì)算機(jī)一臺(tái)

EDA實(shí)訓(xùn)儀

4.2 性能指標(biāo)測試

打開開關(guān)后輸入脈沖可產(chǎn)生路程計(jì)算,隨著路程的遞增費(fèi)用也按要求遞增,按下按鍵后數(shù)據(jù)可清零,也可以通過按下按鍵自行增加路程。

仿真波形圖(部分模塊)

需要全部資料可在我的資源里下載,包括程序文檔、源程序。

需要完整的資料可在我的資源里下載,也可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤下載地址及提取碼。

紛傳?點(diǎn)擊用微信打開即可,過程有點(diǎn)繁瑣請見諒

  • 有需要資料的可了解一下.docx

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
ECS-160-10-30B-CKM-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal,

ECAD模型

下載ECAD模型
$7.67 查看
ECS-2520S18-384-EN-TR 1 ECS International Inc HCMOS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$1.86 查看
ASFLMPLV-100.000MHZ-LR-T 1 Abracon Corporation MEMS OSC XO 100.0000MHZ LVDS SMD

ECAD模型

下載ECAD模型
$4.88 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜