設(shè)計(jì)并制作一臺(tái)出租車計(jì)費(fèi)器。 1.1.2 性能指標(biāo)要求 ① 用EDA實(shí)訓(xùn)儀的I/O設(shè)備和PLD芯片實(shí)現(xiàn)出租車計(jì)費(fèi)器的設(shè)計(jì)。 ② 出租車起步開(kāi)始計(jì)程和計(jì)費(fèi),計(jì)程系統(tǒng)按實(shí)際公里數(shù)計(jì)程,計(jì)費(fèi)系統(tǒng)首先顯示起步價(jià)(如7.0),車行駛2km以內(nèi),只收起步價(jià)7元。 ③ 出租車行駛超過(guò)2km后,按每公里1.6元在7.0元的基礎(chǔ)上增加。 ④ 出租車行駛超過(guò)10km后(或超過(guò)20元路費(fèi)),每公里加收50%的車費(fèi),即車費(fèi)變?yōu)槊抗?.4元。 ⑤ 出租車達(dá)到目的地后,(用一個(gè)按鈕)計(jì)程和計(jì)費(fèi)數(shù)據(jù)清零,為下一次計(jì)費(fèi)開(kāi)始。 1.2 設(shè)計(jì)思路及設(shè)計(jì)框圖 1.2.1設(shè)計(jì)思路 本次設(shè)計(jì)首先在QuartusⅡ環(huán)境中對(duì)出租車計(jì)費(fèi)器的各個(gè)部分利用verilog HDL這一硬件描述語(yǔ)言予以設(shè)計(jì)、生成模塊。而整個(gè)設(shè)計(jì)的核心部分就在分頻/計(jì)量模塊和路程車費(fèi)計(jì)數(shù)模塊,分頻/計(jì)量模塊的功能主要是用來(lái)產(chǎn)生路程脈沖功能,路程車費(fèi)技術(shù)模塊主要包括計(jì)算路程和車費(fèi),通過(guò)路程和車費(fèi)之間的關(guān)系,當(dāng)路程少于一定公里數(shù)時(shí)車費(fèi)保持不變,達(dá)到一定公里數(shù)按照規(guī)則每公里增加車費(fèi),超過(guò)某公里時(shí),再每公里加收車費(fèi)。待所有模塊的功能正確之后,運(yùn)用原理圖搭建頂層電路并進(jìn)行整體仿真直至達(dá)到設(shè)計(jì)要求,最后再在實(shí)驗(yàn)箱上檢驗(yàn)設(shè)計(jì)的正確與否。在實(shí)現(xiàn)基本功能的基礎(chǔ)上,做了一個(gè)創(chuàng)新,設(shè)計(jì)流水燈,當(dāng)乘客上車時(shí),流水燈開(kāi)始運(yùn)轉(zhuǎn),乘客下車時(shí),流水燈停止。
51hei.png (6.17 KB, 下載次數(shù): 111)
下載附件
2020-11-4 21:38 上傳
2.1一秒鐘分頻器路程計(jì)數(shù)器的設(shè)計(jì) 通過(guò)秒脈沖來(lái)實(shí)現(xiàn)計(jì)費(fèi)器調(diào)價(jià),超過(guò)9自動(dòng)進(jìn)一位、實(shí)現(xiàn)計(jì)費(fèi)脈沖。
路程模塊用于控制數(shù)碼管SEG4~SEG7的顯示,輸入有2個(gè),分別是nclk,clrn。這里還有一個(gè)寄存器類型的輸出d,是為了給計(jì)費(fèi)器進(jìn)行一個(gè)路程提示。 。
計(jì)費(fèi)模塊是用來(lái)計(jì)出租車的路費(fèi)的,一共有3個(gè)輸入,d,clrn,j。 d是計(jì)圈模塊給的一個(gè)輸出,主要給計(jì)費(fèi)器提供一個(gè)路程的提示,開(kāi)始計(jì)費(fèi)。2公里內(nèi),數(shù)碼管顯示起步價(jià)7.0元;2公里到10公里,按每公里1.6元在7.0元的基礎(chǔ)上增加;10公里以外,每公里2.4元;期間,低位的逢十進(jìn)一。另外輸入j是用來(lái)給計(jì)程車一個(gè)起步價(jià)的設(shè)定的。clrn仍未清零端。 
流水燈模塊是出租車計(jì)費(fèi)器設(shè)計(jì)的創(chuàng)新點(diǎn),一共有2個(gè)輸入,clk,key。給led燈賦初值為1,然后設(shè)置一個(gè)中間變量temp,將led燈的初值給temp。然后在key=0時(shí)執(zhí)行對(duì)led燈的左移,左移完成后給led賦temp的值,即又回到初值,循環(huán)執(zhí)行。
3 調(diào)試過(guò)程 將程序鎖好實(shí)訓(xùn)箱上的管腳后,將程序下載到實(shí)訓(xùn)箱模擬出租車的路程計(jì)費(fèi)。實(shí)訓(xùn)箱前四個(gè)數(shù)碼管表示路程,后四個(gè)數(shù)碼管表示車費(fèi)。將分頻器的按鍵置于高電平狀態(tài),分頻器開(kāi)始輸送1秒時(shí)鐘信號(hào),將控制路程開(kāi)始的按鍵置于高電平,模擬乘客上車,車費(fèi)數(shù)碼管開(kāi)始顯示起步價(jià)7.0元,路程開(kāi)始計(jì)算,2公里內(nèi),車費(fèi)數(shù)碼管一直顯示7.0元,路程大于2公里后小于10公里時(shí),車費(fèi)數(shù)碼管開(kāi)始每公里增加1.6元,路程大于10公里后,車費(fèi)數(shù)碼管開(kāi)始每公里增加2.4元,之后將按鍵置于低電平,按下清零鍵,8個(gè)數(shù)碼管重置,恢復(fù)起步價(jià)。并且當(dāng)乘客上車時(shí),路程和計(jì)費(fèi)都開(kāi)始增加,流水燈也會(huì)一直轉(zhuǎn)著,當(dāng)乘客下車時(shí),流水燈就停止,這是實(shí)訓(xùn)的創(chuàng)新也是亮點(diǎn)。 4 功能測(cè)試 4.1 測(cè)試儀器與設(shè)備 EDA實(shí)訓(xùn)箱,數(shù)據(jù)連接線,電腦quartus仿真。 4.2 性能指標(biāo)測(cè)試 ① 用EDA實(shí)訓(xùn)儀的I/O設(shè)備和PLD芯片實(shí)現(xiàn)出租車計(jì)費(fèi)器的設(shè)計(jì)。 ② 出租車起步開(kāi)始計(jì)程和計(jì)費(fèi),計(jì)程系統(tǒng)按實(shí)際公里數(shù)計(jì)程,計(jì)費(fèi)系統(tǒng)首先顯示起步價(jià)(如7.0),車行駛2km以內(nèi),只收起步價(jià)7元。 ③ 出租車行駛超過(guò)2km后,按每公里1.6元在7.0元的基礎(chǔ)上增加。 ④ 出租車行駛超過(guò)10km后(或超過(guò)20元路費(fèi)),每公里加收50%的車費(fèi),即車費(fèi)變?yōu)槊抗?.4元。 ⑤ 出租車達(dá)到目的地后,(用一個(gè)按鈕)計(jì)程和計(jì)費(fèi)數(shù)據(jù)清零,為下一次計(jì)費(fèi)開(kāi)始。 性能指標(biāo)要求指標(biāo)全部完成。
5 心得體會(huì) EDA的學(xué)習(xí)在某些方面和CAD很像。也涉及到軟件Quartus II的應(yīng)用,還涉及到數(shù)電與c語(yǔ)言的學(xué)習(xí),可以說(shuō)結(jié)合很多知識(shí)。而且程序?qū)懗鰜?lái)后,編譯有錯(cuò)誤又應(yīng)該一個(gè)個(gè)改錯(cuò),然后還要驗(yàn)證能否在實(shí)驗(yàn)箱上實(shí)現(xiàn)功能,驗(yàn)證和實(shí)現(xiàn)
6 參考文獻(xiàn) 《EDA技術(shù)與應(yīng)用》第3版 江國(guó)強(qiáng)編著 電子工業(yè)出版社
附錄 附錄1:仿真波形圖(部分模塊) 
附錄2:程序清單
(1)計(jì)費(fèi)模塊:
module jf(d,clrn,q,j);
input j,d,clrn ;
output reg[15:0] q;
reg[3:0] c;
always @(posedge d&&j or negedge clrn)
begin
if(clrn==0) begin c=0;q=0;end
else begin c=c+1;
if(c<=2) q[7:4]=7;
else if(c<=10) begin q[3:0]=q[3:0]+6;q[7:4]=q[7:4]+1;
if(q[3:0]>9)begin q[3:0]=q[3:0]%10;q[7:4]=q[7:4]+1;end
if(q[7:4]>9)begin q[7:4]=q[7:4]%10;q[11:8]=q[11:8]+1; end
end
else if(c>10) begin q[3:0]=q[3:0]+4;q[7:4]=q[7:4]+2;
if(q[3:0]>9)begin q[3:0]=q[3:0]%10;q[7:4]=q[7:4]+1;end
if(q[7:4]>9)begin q[7:4]=q[7:4]%10;q[11:8]=q[11:8]+1;
if(q[11:8]>9)begin q[11:8]=q[11:8]%10;q[15:12]=q[15:12]+1;end
end
end
end
end
endmodule
(2)路程模塊:
module lc (nclk,clrn,d,q);
input nclk,clrn;
output reg[15:0] q;
output reg d;
reg[11:0]i;
always @(negedge clrn or posedge nclk)
begin
if(clrn==0) begin q=0;i=0; end
else
begin i=i+5;
if(i>9)
begin q[3:0]=q[3:0]+1;i=0; d=1;
if(q[3:0]>9)
begin
q[3:0]=0;q[7:4]=q[7:4]+1;
//if(q[7:0]<=2) d=1;
if(q[7:4]>9)
begin
q[7:4]=0;q[11:8]=q[11:8]+1;
if(q[11:8]>9)
begin
q[11:8]=0;q[15:12]=q[15:12]+1;
end
end
end
end
else d=0;
end
end
endmodule
(4)分頻器模塊:
module fpq(clk,kaishi,clk_1s);
input clk,kaishi;
output reg clk_1s;
reg[24:0] qs;
always @(posedge clk)
if(kaishi==1)
begin
if(qs==20000000-1) qs=0;
else qs=qs+1;
if(qs==20000000-1) clk_1s=0;
else clk_1s=1;
end
endmodule
(5)流水燈模塊:
module deng(led,key,clk);
input clk,key;
output[11:0] led;
reg[11:0] led;
reg temp;
initial led=12'b000000000001;
always @(posedge clk)
begin
if(key==0)
begin
temp=12'b000000000001;
led=led<<1;
if(led==12'b000000000000)
led=temp;
end
end
endmodule
51hei.png (10.14 KB, 下載次數(shù): 115)
下載附件
2020-11-4 21:37 上傳
全部資料51hei下載地址:
出租車計(jì)費(fèi)器.7z
(523.9 KB, 下載次數(shù): 59)
2020-11-4 20:55 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
出租車計(jì)費(fèi)器.doc
(106 KB, 下載次數(shù): 36)
2020-11-4 20:54 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|