




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.z---.--總結資料摘要:本次EDA課程設計是利用VerilogHDL來設計的,使用MA*ⅡEPM570T144C5N型號的FPGA來設計一個自動飲料售賣機,機器設有2個投幣孔,機器可以承受1元和0.5元的硬幣。每瓶飲料2.5元,1元和0.5元可用2個按鍵來代替。機器還設有2個輸出,這個設計要求機器有對找錢和輸出飲料的提示信號。此設計按照EDA課程設計的流程進展源代碼的編寫、前仿真、綜合、布局和布線、設計出電路原理圖。本設計主要利用QuartusⅡ、protel99SE等設計軟件進展設計。關鍵詞:自動飲料售賣機、計數(shù)器、控制器;脈沖;設計Abstract:ThecurriculumdesignistheuseofEDAVerilogHDLtodesign,usingMA*ⅡEPM570T144C5NmodelsofFPGAtodesignanautomaticbeveragevendingmachines.SlotmachineswithtwoCoinholes,itcanaccept1yuanand0.5yuancoins.2.5yuanperbottledrinks,1yuanand0.5yuanusedtwokeysinstead.Machinealsohastwooutputs,thedesignrequirementsonthemachinegivechangeandoutputsignalsprompteddrinks.ThisdesigncoursedesignprocessinaccordancewithEDAsourcecodetowrite,theformersimulation,synthesis,placementandrouting,designacircuitschematic.ThedesignmainlyusesQuartusⅡ,protel99SEdesignsoftwaretodesign.Keywords:Automaticbeveragewendingmachines,Counter,Controller,Pulse,Design前言3二.總體方案設計:4三設計實現(xiàn)63.1各單元模塊功能介紹及電路設計6投幣信號產(chǎn)生電路:6電源模塊的構成如下列圖:63.1.4數(shù)碼顯示7四.系統(tǒng)調試與驗證84.1對計數(shù)功能的驗證程序及仿真結果:84.2投幣功能的實現(xiàn):94.3顯示功能的實現(xiàn):104.4對取貨功能的實現(xiàn):134.5總體功能的實現(xiàn):154.6對局部功能的仿真如下列圖:18五設計總結23六參考文獻24參考文獻:24前言近年來,集成電路技術的迅猛開展,特別是可編程邏輯器件的高速開展,電子設計自動化EDA技術成為電子設計工程師的新寵。EDA技術以計算機為工具完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設計仿真等工作。電路設計者只需要完成對系統(tǒng)功能的描述,就可以由計算機軟件進展系統(tǒng)處理,最后得到設計結果,并且修改設計方案如同修改軟件一樣方便。利用EDA工具可以極大地提高設計效率。VHDL是指超高速集成電路硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的構造、行為、功能、和接口,除了含有許多具有硬件特征的語句外,VHDL的程序構造特點是,將一項工程設計或稱設計實體分成外部和內部。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部的概念是VHDL系統(tǒng)設計的根本點。利用VHDL語言的方便與強大功能的特點設計了一套自動飲料售貨機系統(tǒng)。其用方便、可靠、節(jié)省人力的自動飲料售賣機機將在社會生活中成為一種趨勢,它的出現(xiàn)一定程度上也表達了現(xiàn)代文明的開展程度。本設計是一套構造簡單,操作方便,性能可靠的自動飲料售賣機產(chǎn)品。自動飲料售賣機電路設計采用選擇商品電路、投幣累加電路、統(tǒng)計賣出商品電路等四個根本電路構成。自動售貨機在承受投入錢幣后,通過與商品價格比較,確定是否能夠售出商品和把算出剩余的錢找回。當商品輸出后售貨機自動把上次賣出商品的價格和投入的錢幣的總和清零,這時才可以進展下次交易。自動售貨機還應滿足商家查看銷售商品的總和及使其清零,和控制該售貨機進展整體復位。該售貨機可以幫助商家更好的銷售商品,并且節(jié)省人力,獲得更大的利潤自動飲料售賣機是能夠根據(jù)投入的錢幣自動取出飲料的機器,它是商業(yè)自動化的常用設備,不受時間、地點的限制,能節(jié)省人力、方便交易。現(xiàn)代的自動飲料售賣機的種類、構造和功能依出售的飲料種類而異。錢幣裝置是自動飲料售賣機的核心,其主要功能是確認投入錢幣的真?zhèn)?,分選錢幣的種類,計算金額。如果投入的金額到達購置物品的數(shù)值即發(fā)出售貨信號,并找出余錢。自動飲料售賣機自動輸出顧客所要的商品。因此,自動售貨機在商業(yè),食品行業(yè)越來越普及,更方便消費者購置自己所需的商品。自動售賣機是本世紀70年代在日本、歐美開展起來的高新技術現(xiàn)代應用產(chǎn)品,被稱為24小時營業(yè)的微型超市,售貨領域已擴展至小食品、小用品、香煙、卡、車票、郵票等。目前在40多個國家已經(jīng)廣泛使用,日本平均每23人一臺,美國平均每40人一臺,歐洲平均每60人一臺。在鄰國日本,70%份額的罐裝飲料市場是通過自動售貨機售出的;美國可口可樂公司擁有五十余萬臺飲料自動售貨機分布在世界各地。通過自動售貨機銷售將成為商品零售業(yè)不可分割的重要組成局部。二.總體方案設計:方案1
此方案中,自動售貨機系統(tǒng)以FPGA器件作為處理和控制核心,能完成貨物的信息存儲,進程控制,硬幣處理,余額計算,顯示等功能。系統(tǒng)根據(jù)用戶輸入的貨幣,判斷錢幣是否足夠,足夠則售貨,不夠則提示并退出。系統(tǒng)自動的計算出應找錢幣余額、庫存數(shù)量并顯示。系統(tǒng)按功能分為:分頻模塊、控制模塊、譯碼模塊、譯碼顯示模塊。方案1的系統(tǒng)組成方框圖:時鐘時鐘分頻器RAM譯碼按鍵數(shù)據(jù)控制器顯示方案2
自動售貨機控制系統(tǒng)設計主要有三個功能模塊,一個為售貨機模塊:該模塊能完成貨物信息的存儲,硬幣處理,余額計算。一個為動態(tài)掃描模塊:功能主要是硬件實驗板上讓兩路信號同時在兩個7段數(shù)碼管上顯示出來。另一個為輸出控制模塊:該模塊主要是控制OUT和OUT1輸出信號來控制閥門翻開與找錢,并且控制閥門的翻開時間。
設計思路:控制信號輸入到售貨機模塊,售貨機進展各項功能操作,輸出信號在7段數(shù)碼管上顯示出來。
選擇:方案1功能模塊較多,且每個功能模塊下還包括幾個程序模塊,設計起來,程序輸入必然很多很繁瑣,當然涉及到的問題就較多,較復雜,而且對clk的分頻也有屢次,這不太利于功能和時序仿真,也不太利于最后在硬件實驗板上進展模擬實驗。方案2功能模塊較少,但是功能實現(xiàn)都一樣,這就減少了程序的繁冗,最后電路圖顯得就更加簡短明了,越少的中間環(huán)節(jié),實際操作起來肯定相對要容易一些,所以最后選擇方案。方案2的系統(tǒng)組成框圖:時鐘脈沖時鐘脈沖閥門控制譯碼投幣信號輸入與處理控制器顯示本系統(tǒng)由對外部投入硬幣的檢測來產(chǎn)生脈沖,并對產(chǎn)生的脈沖進展計數(shù),其中a表示投入的是0.5元的硬幣,b表示投入的是1元的硬幣,每次根據(jù)投入的硬幣不同而分別計數(shù),并將投入的總金額用兩位數(shù)碼管顯示出來,當?shù)竭_了交易金額時,out產(chǎn)生一個正脈沖,此正脈沖控制閘門翻開,汽水掉出來,當超出了交易金額,則out1會產(chǎn)生一個正脈沖,飲料售賣機找回0.5元錢。三設計實現(xiàn)3.1各單元模塊功能介紹及電路設計自動飲料售貨機主要是由以下幾個局部構成,電源電路、數(shù)碼顯示、時鐘脈沖、投幣脈沖、閘門時間控制等,各部件形成一個簡單的自動售貨機系統(tǒng)。此設計主要用到MA*ⅡEPM570T144C5N芯片,其實現(xiàn)主要的功能是對投幣信號的計數(shù)與計算,判斷是否到達所買物品的價格,如果缺乏的顯示所投的錢數(shù),錢足則控制閘門三秒后放出飲料。3.1.1投幣信號產(chǎn)生電路:自動售貨機的所有信號均由同步時鐘信號CLK的正邊沿觸發(fā),由于售貨機的硬幣接收器一般是一個機械裝置,投幣時產(chǎn)生的信號要比同步信號慢得多,一般可以持續(xù)好幾個周期。必須對投幣輸入信號進展處理,使每一次投幣時在CLK脈沖周期內只能產(chǎn)生一個脈沖作為功能控制模塊的投幣驅動信號。基于一面的功能要求,設計了下面所示的投幣輸入信號的處理電路投幣信號產(chǎn)生3.1.2電源模塊的構成如下列圖:此電路是5V轉3.3V的電源電路圖,芯片的工作電壓是在3.3V到達最正確狀態(tài),二極管的額定電流值應大于最大負載電流的1.2倍,但考慮到負載短路的情況,二極管的額定電流值應大于LM2575的最大電流限制;另外二極管的反向電壓應大于最大輸入電壓的1.25倍。輸入電容應大于47μF,并要求盡量靠近電路。而輸出電容推薦使用的電容量為100μF~470μF,其耐壓值應大于額定輸出的1.5~2倍。對于5V電壓輸出,推薦使用耐壓值為16V的電容。3.1.3時鐘電路在功能實現(xiàn)模塊中,售貨機在放出飲料的時候需要延時三秒鐘,程序中count1數(shù)3000下,因此需要1KHZ的時鐘脈沖,設計中為同步時鐘,所以此時鐘脈沖電路為芯片提供“脈搏〞。圖中是一種1KHz脈沖發(fā)生電路。它由集成電路CD4060和晶振、電阻和電容等元件組成。CD4060是14位二進制串行計數(shù)、分頻器和振蕩器。CD4060內局部為兩局部,其中一局部是14級計數(shù)/分頻器,其分頻系數(shù)為16~16348;另一局部既可與外接電阻和電容構成RC振蕩器,又可與外接晶體構成高精度的晶體振蕩器。在采用一定頻率的晶振組成晶振振蕩器,其震蕩信號經(jīng)過CD4060內局部頻后,在Q輸出相應頻率的脈沖信號。設計中需要1000hz的時鐘脈沖,所以外接30720Hz的晶振,在Q5端輸出大約是1000HZ的時鐘脈沖。3.1.4數(shù)碼顯示根據(jù)程序中,在不滿足交易金額的時候,需要把所投的幣數(shù)額顯示在數(shù)碼管上,利用一個控制信號wei*uan來控制數(shù)碼管的顯示位置,當wei*uan為0時著在低位顯示,當wei*uan為1時選擇高位。硬件中選用兩個數(shù)碼管來顯示,芯片輸出的電流不能驅動數(shù)碼管來顯示,因此需要74HC245來驅動數(shù)碼管的顯示,E端必須接地,這樣芯片才能正常工作,DIR端的功能是:當為高的時候數(shù)據(jù)A到B,為低的時候B到A。設計中使用兩片芯片,一片來讓數(shù)碼管顯示數(shù)值,一片來控制wei*uan讓數(shù)碼選擇顯示的位置。在74HC245與數(shù)碼管之間需要用一個電阻。當投入五角的硬幣的時候,由于不滿足交易金額則數(shù)碼管上顯示0.5,為一元的時候則為01。數(shù)碼管存放器-.z四.系統(tǒng)調試與驗證通過對以下各段程序的仿真得出了總的原理圖,通過繪圖得出了以下電路圖:4.1對計數(shù)功能的驗證程序及仿真結果:modulejishu(a,b,out,a1,b1);inputa,out,b;outputa1,b1;reg[4:1]a1,b1;//汽水出來后計數(shù)值清零always(posedgeaorposedgeout)beginif(out==1)a1<=0;//汽水出來后計數(shù)值清零elsea1<=a1+4'b1;endalways(posedgeborposedgeout)beginif(out==1)b1<=0;//汽水出來后計數(shù)值清零elseb1<=b1+4'b1;endendmodule該局部程序生成的原理圖如下;仿真圖如下:4.2投幣功能的實現(xiàn):程序如下:moduletoubi(clk,a1,b1,out,out1);inputclk;input[3:0]a1,b1;outputout;//out為高電平時售賣機閘門翻開,汽水掉出來outputout1;//out1為高電平時候找0.5元regout,out1;always(posedgeclk)beginif(a1==5)out<=1;//因為汽水為2.5,可以給5個0.5元elseif(a1==3&&b1==1)out<=1;//可以給3個0.5元和1個1元elseif(a1==1&&b1==2)out<=1;//,可以給1個0.5元和2個1元elseif(b1==3)beginout<=1;out1<=1;endendendmodule程序仿真結果:4.3顯示功能的實現(xiàn):程序如下:module*ianshi(clk,a,b,a1,b1,duan*uan,wei*uan,);inputclk;inputa,b;input[3:0]a1,b1;//a為投入0.5元信號,b為投入1元信號output[8:1]duan*uan;//輸出8位段選信號outputwei*uan;//輸出1位位選信號regwei*uan;reg[8:1]duan*uan;reg[31:0]count;//數(shù)碼管動態(tài)掃描計數(shù)reg[31:0]count1;//用于計算售賣機閘門翻開時間always(posedgeclk)beginif(a1==0&&b1==0)begin count<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b00111111;//0endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b00111111;count<=0;endendelseif(a==1)//投幣0.5元,顯示0.5,假設數(shù)碼管為共陰極的begincount<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b01101101;//5endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b10111111;//0.count<=0;endendelseif(b==1)//投幣1元,顯示01begincount<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b00000110;//1endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b00111111;//0count<=0;endendendendmodule仿真圖如下:4.4對取貨功能的實現(xiàn):程序如下:modulequhuo(clk,a1,b1,out,out1);inputclk;input[3:0]a1,b1;outputout;//out為高電平時售賣機閘門翻開,汽水掉出來outputout1;//out1為高電平時候找0.5元regout,out1;reg[31:0]count1;always(posedgeclk)beginif(a1==5)out<=1;//因為汽水為2.5,可以給5個0.5元elseif(a1==3&&b1==1)out<=1;//可以給3個0.5元和1個1元elseif(a1==1&&b1==2)out<=1;//,可以給1個0.5元和2個1元elseif(b1==3)beginout<=1;out1<=1;endif(out==1)beginif(count1==3000)//讓閘門翻開3秒,由于為1KHz時鐘,故要數(shù)3000下beginout<=0;out1<=0;count1<=0;endelsecount1<=count1+1;endendendmodule程序生成原理圖如下:仿真圖如下:4.5總體功能的實現(xiàn):程序如下:moduleshoumaiji(clk,a,b,duan*uan,wei*uan,out,out1);inputclk;inputa,b;//a為投入0.5元信號,b為投入1元信號output[8:1]duan*uan;//輸出8位段選信號outputwei*uan;//輸出1位位選信號outputout;//out為高電平時售賣機閘門翻開,汽水掉出來outputout1;//out1為高電平時候找0.5元regwei*uan;reg[8:1]duan*uan;reg[31:0]count;//數(shù)碼管動態(tài)掃描計數(shù)reg[31:0]count1;//用于計算售賣機閘門翻開時間reg[4:1]a1,b1;//用a1,b1存放投入的0.5元和1元硬幣數(shù)目regout,out1;always(posedgeaorposedgeout)beginif(out==1)a1<=0;//汽水出來后計數(shù)值清零elsea1<=a1+4'b1;endalways(posedgeborposedgeout)beginif(out==1)b1<=0;//汽水出來后計數(shù)值清零elseb1<=b1+4'b1;endalways(posedgeclk)beginif(a1==5)out<=1;//因為汽水為2.5,可以給5個0.5元elseif(a1==3&&b1==1)out<=1;//可以給3個0.5元和1個1元elseif(a1==1&&b1==2)out<=1;//,可以給1個0.5元和2個1元elseif(b1==3)beginout<=1;out1<=1;end//可以給3個一塊的elseif(a1==0&&b1==0)begin count<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b00111111;//0endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b00111111;count<=0;endendelseif(a==1)//投幣0.5元,顯示0.5,假設數(shù)碼管為共陰極的begincount<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b01101101;//5endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b10111111;//0.count<=0;endendelseif(b==1)//投幣1元,顯示01begincount<=count+1;if(count==50)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b0;duan*uan<=8'b00000110;//1endif(count==100)//如果實際運行中發(fā)現(xiàn)數(shù)碼管有閃爍,可以將此數(shù)值調小beginwei*uan<=1'b1;duan*uan<=8'b00111111;//0count<=0;endendif(out==1)beginif(count1==3000)//讓閘門翻開3秒,由于為1KHz時鐘,故要數(shù)3000下beginout<=0;out1<=0;count1<=0;endelsecount1<=count1+1;endendendmodule程序生成的原理圖如下:仿真圖如下:4.6對局部功能的仿真如下列圖:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理學戒酒師考試試題及答案
- 動物科普試題及答案
- 山航筆試試題及答案
- 變態(tài)心靈測試題及答案
- 化工基礎考試題及答案
- 金融直播面試題及答案
- 2025年工程軟件專業(yè)畢業(yè)設計開題報告
- 北京市海淀區(qū)2024-2025學年高三上學期10月月考語文試卷(解析版)
- 2025年廚師中級技師考試題庫
- 2025年大學重點班面試題及答案
- 企業(yè)注銷考試題庫及答案
- 2025北京北投集團“畢業(yè)季”校園招聘17人筆試參考題庫附帶答案詳解
- 工藝執(zhí)行管理辦法
- 體育機構推廣方案模板(3篇)
- 2025年大學輔導員考試題庫真題及答案
- 腮紅畫法教學課件
- 二零二五版便利店員工勞動合同模板
- 弱電設備運輸方案模板(3篇)
- 2025-2030中國重水市場運行態(tài)勢與未來競爭力剖析報告
- GB 17051-2025二次供水設施衛(wèi)生規(guī)范
- 品牌管理部組織架構及崗位職責
評論
0/150
提交評論