freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga出租車計價器設(shè)計-wenkub

2022-11-28 21:56:55 本頁面
 

【正文】 理圖設(shè)計了頂層模塊, 對每個模塊和主程序分別進(jìn)行了仿真,并對仿真波形作了分析 。 國內(nèi)外發(fā)展?fàn)顩r 出租車行業(yè)在我國是八十年代初興起的一項新興行業(yè),隨著我國國民經(jīng)濟(jì)的高速發(fā)展,出租汽車已成為城市公共交通的重要組成部分,多年來國內(nèi)普遍使用的計價器只具備單一的計 量功能,許多國家正在研制新型的出租車計價器。用戶不僅要求計價器性能穩(wěn)定、計價準(zhǔn)確而且對它的 其它性能 要求也越來越高 。計價器是出租汽車的經(jīng)營者和乘坐出租汽車的消費(fèi)者之間用于公平貿(mào)易結(jié)算的工具,因而計價器計價準(zhǔn)確與否,直接關(guān)系到經(jīng)營者和消費(fèi)者的經(jīng)濟(jì)利益。它關(guān)系著交易雙方的利益。通過本課題的設(shè)計,能夠綜合運(yùn)用學(xué)過的數(shù)字系統(tǒng)、 VerilogHDL 硬件描述語言等知識,學(xué)習(xí)軟件環(huán)境的使用方法,進(jìn)行出租車計價器的設(shè)計。方案原理圖如圖 22 所示。 設(shè)計思想及原理 出租車的一般計費(fèi)過程為:出租車載客后,啟動計費(fèi)器,整個系統(tǒng)開始運(yùn)行,里程計數(shù)器和時間計數(shù)器從 0開始計數(shù),費(fèi)用計數(shù)器從 8開始計算。出租車到達(dá)目的地停止后,停止計費(fèi)器,顯示總費(fèi)用。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 3) FPGA 內(nèi)部有豐富的觸發(fā)器和 I/O 引腳。 此外, FPGA 有多種配置模式:并行主模式為一片 FPGA 加一片 EPROM 的方式;主從模式可以支持一片 PROM 編程多片 FPGA;串行模式可以采用串行 PROM 編程 FPGA; 外設(shè) 模式可以將 FPGA 作為 微處理器 的外設(shè),由微處理器對其編程。 硬件描述語言 Verilog HDL Verilog HDL 是硬件描述語言的一種,用于數(shù)字電子系統(tǒng)設(shè)計。在我國臺灣地區(qū)幾乎所有著名大學(xué)的墊子和及所及工程系都講授 Verilog 有關(guān)的課程。利用 Verilog HDL 語言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個模塊間的清晰層次結(jié)構(gòu),以此來描述極其復(fù)雜的大型設(shè)計,并對所做設(shè)計的邏輯電路進(jìn)行嚴(yán)格的驗證 [5]。它能夠?qū)崿F(xiàn)從設(shè)計輸入到下載的所有功能。 QuartusⅡ還支持 Altera 的 IP核,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。等待累計時間 2 分鐘,每 2分鐘加收費(fèi)用 1 元。 分頻模塊 計 程分頻模塊 圖 41 計 程分頻模塊 本設(shè)計為了模擬仿真假設(shè)車輪 每轉(zhuǎn)一圈為 1 米, 轉(zhuǎn)動 100 圈才產(chǎn)生一個脈沖,即一個脈沖代表 100米,則經(jīng)過 2020000分頻器后是每行駛 100米送一個脈沖到里 程計算模塊。 9 end else begin if(counter==1000000) begin counter=0。將 20M 的脈沖信號進(jìn)行 2020000 分頻,在 clk_20M 時鐘信號的上升沿, counter 進(jìn)行加 1 計數(shù),在counter=1000000 時, counter 進(jìn)行取反, clk_10 輸出的是 10Hz 的時鐘信號。 數(shù)碼管動態(tài)顯示分頻模塊仿真 圖 44 數(shù)碼管動態(tài)顯示分頻模塊 從波形圖 44可以看出在時鐘 信號 clk_20M 的控制下 ,進(jìn)行 25000 分頻,輸出 800Hz的時鐘信號。 11 圖 45 計程模塊電路 部分計程代碼如下: …… always(posedge clk_10 or negedge reset)//異步復(fù)位 begin if(!reset)//低電平復(fù)位 begin distance=1639。//計到 9 清零 ...... else distance[3:0]=distance[3:0]+139。d1。 計時模塊 計時模塊電路 此模塊用于模擬出租車停車等待的時間。 j=0。 time_enable=0。 計費(fèi)模塊 計費(fèi)模塊電路 費(fèi)用計數(shù)器模塊用于出租車啟動后,根據(jù)行駛路程和等待時間計算費(fèi)用。d0。//計到 9 清零 if(fee[7:4]==439。 部分里程計費(fèi)代碼如下: …… always( negedge reset or posedge clk_1 )//異步復(fù)位 begin if(!reset) //低電平有效 begin fee=1639。start==1) if(fee[3:0]==439。d9) begin fee[7:4] =439。 end else fee[3:0]=fee[3:0]+139。 16 2 計費(fèi)模塊仿真 圖 410 計費(fèi)模塊仿真 當(dāng)汽車處于行駛狀態(tài)( start=1) 并且復(fù)位信號 reset=1 時,行駛路程大 于 2公里時,出租車每行駛一公里,到 clk_1 的上升沿時,費(fèi)用計數(shù)器 fee 加 1元如圖 49所示。模塊內(nèi)部還包括了八選一數(shù)據(jù)選擇器,選擇進(jìn)行譯碼的數(shù)碼管,當(dāng) sel[2..0]是 000時,選擇的是第 1個數(shù)碼管;當(dāng) sel[2..0]是 001 時,選擇的是第 2個數(shù)碼管,以此類推當(dāng) sel[2..0]是 111 時,選擇的是第 8 個數(shù)碼管。 Div10 模塊將 20M的時鐘信號分頻成 10Hz 的時鐘信號,此 10Hz 時鐘信號作為 distancemokuai 模塊的時鐘信號。 Feeyong 模塊中當(dāng) start=1 且 en=1時,開時里程計費(fèi),每 1 公里加收費(fèi)用 1元;當(dāng) start=0 且 time_enable 端輸入時鐘信號時,開始等待時間計費(fèi),每 2分鐘加收費(fèi)用 1元。 圖 414 出租車起步費(fèi)用 圖 415模擬的是當(dāng)行程為 公里時,出租車計價器的顯示結(jié)果, start=1,reset=0時,在起步價 8元的基礎(chǔ)上,超出 2公里 ,每公里加收費(fèi)用 1 元,即加收費(fèi)用 2元,即總費(fèi)用為 10 元。 2)行程 2 公里,每公里加收費(fèi)用 1元 。 22 其中用四位數(shù)碼管顯示費(fèi)用,最大值為 9999 元,四位數(shù)碼管顯示行駛里程,最大 值為 。各 EDA公司相繼開發(fā)了用于 FPGA設(shè)計的綜合軟件,同時 , EDA技術(shù)和 FPGA集成度越來越高,它們的優(yōu)點(diǎn)也會進(jìn)一步得到完善,在一定程度上能夠滿足開發(fā)商和用戶更高的要求。FPGA對于標(biāo)準(zhǔn)信號頻率的精確測量,也能提高測量精度和縮短測量時間 [11]。 output clk_1。 counter = 0。 end end endmodule //里程分頻模塊 // module div10 (reset,clk_20M, clk_10)。 reg [32:0] counter。 clk_10= ~ clk_10。 output clk_800。 counter = 0。 end endmodule //等待時間計 時模塊 // module timemokuai(clk_1,reset,te, time_enable)。 28 reg [7:0] j。 time_enable=1。 input clk_10,start,reset。// 控制計費(fèi)的公里信號 reg distance_enable。d0。d0。d1。d1。d0。//輸出 distance_enable 信號 end end 30 endmodule //時間計費(fèi)模塊 // module feeshi(clk,reset, fee)。 //輸出的費(fèi)用 reg[15:0] fee。d9) //費(fèi)用的低四位是不是計到了 9 begin fee[3:0]=439。d0。 if(fee[15:12]==439。d1。d1。 input clk_1,en,start 。 always( negedge reset or posedge clk_1 )//異步復(fù)位 begin if(!reset) //低電平有效 begin fee=1639。start==1) if(fee[3:0]==439。d9) begin fee[7:4] =439。d0。 end else fee[15:12] = fee[15:12] +139。 end else fee[7:4]=fee[7:4]+139。// 費(fèi)用的低四位沒有計到 9 加 1 //end begin end//end always endmodule //總計費(fèi)模塊 // module fee(feemokuai,feeshi,fee)。 endmodule //數(shù)碼管顯示譯碼模塊 // module scan_led(clk_800,seg,sel,distance, fee,dp)。 output dp。 reg [6:0] r_seg。 reg dp。 //數(shù)碼管的選擇 end always( sel or distance or fee) begin case(sel) 439。 439。d2: begin disp_dat= fee[11:8]。dp=0。end //公里的低四位用第五個數(shù)碼管顯示。end 439。d7: begin disp_dat= distance[15:12]。 endcase end // *譯碼結(jié)果 *// always(disp_dat) begin case(disp_dat) 439。h1: r_seg=839。b1101101。// 顯示 3 439。h5: r_seg=839。b1011111。// 顯示 7 439。h9: r_seg=839。 endcase end endmodule//結(jié)束譯碼模塊 。// 顯示 9 default: r_seg=839。b1111111。h7: r_seg=839。// 顯示 5 439。b0110011。h3: r_seg=839。// 顯示 1 439。b1111110。end default: begin disp_dat=439。dp=1。d5: begin disp_dat= distance[7:4]。d4: begin disp_dat= distance[3:0]。end 439。dp=0。dp=0。 always(posedge clk_800) begin sel = sel +139。 reg [3:0] disp_dat。 // 譯碼結(jié)果 output[2:0] sel。 input[15:0] distance,fee。 output[15:0] fee。 end 32 else fee[3:0]=fee[3:0]+139。 end else fee[11:8] = fee[11:8] +139。d9) begin fee[15:12] =439。 if(fee[11:8]==439。d0。 end else if(en==1amp。 output[15:0]fee。d1。d1。d0。d9) begin fee[11:8] =439。//計到 9 清零 if(fee[7:4]==439。d0。 input reset。d29)// 大于 兩 公里的時候 begin distance_enable=139。d1。d1。d0。d0。d0。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1