1 系統設計
1.2設計要求
1.1.1 設計任務
設計并制作一臺出租車計費器。
1.1.2 性能指標要求
① 用EDA實訓儀的I/O設備和FPGA實現出租車計費器的設計。
② 出租車起步開始計程和計費,計程系統按實際公里數計程,計費系統首先顯示起步價(如7.0),車行駛2km以內,只收起步價7元。
③ 出租車行駛超過2km后,按每公里1.6元在7.0元的基礎上增加。
④ 出租車行駛超過10km后(或超過20元路費),每公里加收50%的車費,即車費變為每公里2.4元。
⑤ 出租車達到目的地后,(用一個按鈕)計程和計費數據清零,為下一次計費開始。
1.2 設計思路及設計框圖
1.2.1設計思路
計程和計費都是十進制位的輸入,通過脈沖實現計數。計程通過分頻器的輸出作為輸入,產生的秒脈沖以實現計數功能。計費在LED數碼管上分為個位十位(例如起步價為7元,顯示器上顯示70,三公里時為86......),計程器和計費器在一個程序內完成,分頻器用另一個程序完成,并將程序都生成一個元器件,用圖形法級聯在一起。上硬件仿真后,打開開關輸入脈沖,通過上升沿觸發使路程計算加一,并使總路計算模塊加一,到達相應的公里數后沒每公里收費也隨之改變。
1.2.2總體設計框圖
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計程計費器模塊
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
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;
路程計費器模塊
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;
3 調試過程
在編程代碼和編譯過程經常出現問題,尤其是always@(*)語句上經常出錯,以及在下載到硬件仿真的時候LED數碼管沒有反應,在向老師求助答疑后加入了些組合邏輯模塊,修改過后的程序能正常編譯,之后將程序下載到硬件中,打開開關檢查路程計算能正常運行,路程計費計算功能正常,可以達到驗收標準。
4 功能測試
4.1 測試儀器與設備
計算機一臺
EDA實訓儀
4.2 性能指標測試
打開開關后輸入脈沖可產生路程計算,隨著路程的遞增費用也按要求遞增,按下按鍵后數據可清零,也可以通過按下按鍵自行增加路程。
仿真波形圖(部分模塊)
-
FPGA設計
+關注
關注
9文章
428瀏覽量
26484 -
led數碼管
+關注
關注
2文章
73瀏覽量
22065 -
分頻器
+關注
關注
43文章
447瀏覽量
49810 -
EDA設計
+關注
關注
1文章
47瀏覽量
13678 -
計費器
+關注
關注
0文章
7瀏覽量
7325
發布評論請先 登錄
相關推薦
評論