版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 PAGE37 / NUMPAGES40畢業(yè)設(shè)計中文摘要基于FPGA的自動售貨機控制系統(tǒng)設(shè)計摘要: 隨著我國商品市場的不斷繁榮和城市現(xiàn)代化程度的不斷提高,自動售貨機也已悄然步入了我國的大中城市。豐富了中國的商業(yè)產(chǎn)業(yè)結(jié)構(gòu),開創(chuàng)了一個全新的自動銷售和自助服務(wù)時代。該課題將以EDA技術(shù)實現(xiàn)自動售貨機控制系統(tǒng)設(shè)計。應(yīng)用EDA技術(shù)實現(xiàn)的自動售貨機控制系統(tǒng),以其可減少商品開發(fā)周期,降低開發(fā)成本,增加設(shè)計一次性成功通過的可能性等優(yōu)點,使自動售貨機可開發(fā)性增強,成本降低。該課題包含兩部分:硬件系統(tǒng)設(shè)計和FPGA部電路的編程設(shè)計。FPGA部電路的編程設(shè)計采用硬件描述語言(VHDL)對自動售貨機的功能進行描述;選
2、擇ALTERA公司的FPGA芯片為目標器件。硬件系統(tǒng)設(shè)計是圍繞所選合適的FPGA器件的硬件電路設(shè)計。本文介紹了一種基于FPGA的自動售貨機的整體設(shè)計與工作原理,詳細闡述了投幣模塊,商品選擇模塊,主控模塊等模塊的軟件設(shè)計與實現(xiàn),對所設(shè)計的FPGA部功能進行仿真驗證。關(guān)鍵詞: FPGAEDA 自動售貨機 VHDL畢業(yè)設(shè)計外文摘要Title The Design of Vending machine control systembased on FPGAAbstractWith the continuously prosperity of chinas commodity market and wi
3、th the rapid develepment of modernization level , vending machines has enterd into large and medium-sized citiesquietly,it enriches chinas commercial industrial structure and creates a new era of automatic selling and self-service.Thissubject will accomplish the control system of vending machine wit
4、h EDA technology.Since it has the advantages of shortening product development cycle,reducing product develepment cost , increasing the possibility of first-time success and so on,it can enhence the exploitability of aotomatic machinea and lower the costs.The issue consists of two parts: hardware sy
5、stem design and fpga internal circuit design. Fpga internal circuit design uses hardware describe language ( vhdl ) to describe the fuction of vending machine; and fpga chip of ALTERA Corporation is choosen for the target device.Hardware system design is a hardware circuit design thatcenter on the s
6、elected appropriate fpga device. and the design of the internal functions of FPGA is simulated.Keywords: FPGAEDAvending machine VHDL目 次1 引言 21.1 自動售貨機的歷史21.2 自動售貨機的研究現(xiàn)狀31.3 未來的發(fā)展和研究方向31.4 本文的章節(jié)安排42 關(guān)鍵技術(shù) 52.1 EDA技術(shù)52.2 可編輯邏輯器件 52.3 vhdl描述語言 52.4 相關(guān)技術(shù)的發(fā)展與應(yīng)用情況63 硬件系統(tǒng)的設(shè)計 83.1 芯片的選擇 83.2 時鐘發(fā)生器 93.3 電源電路1
7、03.4 硬件鍵盤103.5 下載驅(qū)動器以與存儲器的設(shè)計113.6 顯示器設(shè)計113.7 硬件電路圖124 軟件系統(tǒng)設(shè)計124.1 設(shè)計思想134.2 軟件設(shè)計14結(jié)論35參考文獻36致37 附錄381 引言自動售貨機是能根據(jù)投入的錢幣自動付貨的機器。自動售貨機是商業(yè)自動化的常用 HYPERLINK :/baike.baidu /view/209665.htm t _blank 設(shè)備,它不受時間、地點的限制,能節(jié)省人力、方便交易。一般的自動售貨機由錢幣裝置、指示裝置、貯藏售貨裝置等組成。錢幣裝置是售貨機的核心,其主要功能是確認投入錢幣的真?zhèn)?,分選錢幣的種類,計算金額。如果投入的金額達到購買物品
8、的數(shù)值即發(fā)出售貨信號,并找出余錢。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號,把顧客選擇的商品送至付貨口。一般售貨機的錢幣裝置由投幣口、選別裝置、確認 HYPERLINK :/baike.baidu /view/79732.htm t _blank 錢幣真?zhèn)蔚臋z查裝置、計算金額的計算裝置和找錢裝置組成。70年代以來,出現(xiàn)了采用微型計算機控制的各種新型自動售貨機和利用信用卡代替錢幣并與計算機連接的更大規(guī)模的無人售貨系統(tǒng),如無人自選商場、車站的自動售票和檢票系統(tǒng)、銀行的現(xiàn)金自動支付機等。從西歐、北美、日本和國等地區(qū)和國家的情況來看,自動售貨機在人們?nèi)粘I钪邪缪菰絹?/p>
9、越重要的角色。1962年,出現(xiàn)了以自動售貨機為主體的流通領(lǐng)域的革命。到了20世紀80年代,自動售貨機在美國和日本被廣泛使用,后逐漸散布世界各地,主要是發(fā)達國家。其產(chǎn)品特點是科技含量高;24 小時服務(wù),售貨便利;無需專人盯守,省人工,省成本;售貨圍廣泛;此外還是一種新穎獨特的廣告媒體。目前,隨著移動商務(wù)的發(fā)展,自動售貨機作為一種方便、直觀的移動商務(wù)工具,開始在全球各地迅速普與和發(fā)展。1.1 自動售貨機的歷史自動售貨機是一種全新的商業(yè)零售形式,20世紀70年代自日本和歐美發(fā)展起來。它又被稱為24小時營業(yè)的微型超市。在日本,70的罐裝飲料是通過自動售貨機售出的。全球著名飲料商 HYPERLINK :
10、/baike.baidu /view/5842.htm t _blank 可口可樂公司在全世界就布有50萬臺飲料自動售貨機。 在日本全國各地,共設(shè)有550萬臺自動售貨機(據(jù)1998年的統(tǒng)計),銷售額達6兆8969億4887萬日元,為世界第一。在售貨機的顯示屏幕上進行操作,輸入商品和購買數(shù)量,并投入錢幣后,商品就會從取貨口出來,甚至從食品自動售貨機上還能買到熱呼呼的面條和米飯團。雖然日本的自動售貨機總臺數(shù)低于 HYPERLINK :/baike.baidu /view/2398.htm t _blank 美國(據(jù)1997年的統(tǒng)計為689萬臺),但是,從人口占有數(shù)來看卻是世界上最高的,美國平均35
11、人占有一臺,而日本為23人占有一臺。 1.2 自動售貨機的研究現(xiàn)狀現(xiàn)在,自動售貨機產(chǎn)業(yè)正在走向信息化并進一步實現(xiàn)合理化。例如實行聯(lián)機方式,通過線路將自動售貨機的庫存信息與時地傳送各營業(yè)點的電腦中,從而確保了商品的發(fā)送、補充以與商品選定的順利進行。并且,為防止地球暖化,自動售貨機的開發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動售貨機成為該行業(yè)的主流。在夏季電力消費高峰時,這種機型的自動售貨機即使在關(guān)掉冷卻器的狀況下也能保持低溫,與以往的自動售貨機相比,它能夠節(jié)約1015的電力。進入21世紀時,自動售貨機也將進一步向節(jié)省資源和能源以與高功能化的方向發(fā)展。 自動售貨咖啡機是一種既可以出冷熱咖啡也可以同時出
12、奶茶果汁飲料的咖啡飲料自動售貨機,省時方便快捷。既可以作投資來使用,也可作為員工福利來使用。1.3 未來發(fā)展和研究方向隨著科技的發(fā)展與人們生活水平的提高,自動售貨機市場的發(fā)展呈現(xiàn)出多元化與個性化的需求,通過自動售貨機進行自助購物正逐漸成為市民的一種新的消費時尚和追求高品質(zhì)生活的需要。傳統(tǒng)的自動售貨機控制系統(tǒng)采用單片機作為控制核心,不僅需要在輸入輸出接口上做大量的工作,而且系統(tǒng)的抗干擾性也比較差。FPGA 具有可靠性高、編程簡單、維護方便等優(yōu)點,已在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用?,F(xiàn)如今長生了基于了一種用FPGA 實現(xiàn)的自動售貨機主控制系統(tǒng)的硬件設(shè)計和軟件設(shè)計,通過此次畢業(yè)設(shè)計闡述了基于FPGA的自動
13、售貨機的控制系統(tǒng)設(shè)計并進行了軟件仿真和硬件設(shè)計實驗,實驗表明該控制系統(tǒng)是可行的?,F(xiàn)在,自動售貨機產(chǎn)業(yè)正在走向信息化并進一步實現(xiàn)合理化。例如實行聯(lián)機方式,通過線路將自動售貨機的庫存信息與時地傳送各營業(yè)點的電腦中,從而確保了商品的發(fā)送、補充以與商品選定的順利進行。并且,為防止地球暖化,自動售貨機的開發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動售貨機成為該行業(yè)的主流。在夏季電力消費高峰時,這種機型的自動售貨機即使在關(guān)掉冷卻器的狀況下也能保持低溫,與以往的自動售貨機相比,它能夠節(jié)約1015的電力。進入21世紀時,自動售貨機也將進一步向節(jié)省資源和能源以與高功能化的方向發(fā)展。作為一種商務(wù)工具,自動售貨機在生活中
14、應(yīng)用愈加廣泛,綜合分析現(xiàn)代自動售貨機的研究現(xiàn)狀和研究重點,以與自動售貨機所處的市場現(xiàn)狀和對社會的影響,根據(jù)日本、美國等國家的經(jīng)驗,自動售貨機將在全球圍得到更大的普與。自動售貨機的機體部結(jié)構(gòu)已經(jīng)相當完善,影響其普與的關(guān)鍵因素為:如何在現(xiàn)有的各種通信網(wǎng)絡(luò)平臺上,讓自動售貨機形成一種銷售連鎖網(wǎng),為其提供更方便的營銷方式和管理機制,以其最大限度地降低生產(chǎn)、運營成本。目前,無論是基于Internet還是基于移動通信網(wǎng)或其他網(wǎng)絡(luò)平臺,其運作的機制都不太成熟,不過這并不影響自動售貨機的發(fā)展?jié)摿ΑR虼?自動售貨機未來的發(fā)展趨勢是將其納入到一個更廣闊、更便利的移動商務(wù)網(wǎng)絡(luò)平臺。1.4 本文的章節(jié)安排本文第一章為
15、總體描述自動售貨機的歷史以與研究現(xiàn)狀等相關(guān)知識,第二章主要介紹本課題所應(yīng)用的關(guān)鍵技術(shù),第三章主要描述本課題所設(shè)計的自動售貨機控制系統(tǒng)的相關(guān)硬件設(shè)計,第四章主要闡述本課題的軟件系統(tǒng)的各個模塊以與仿真。附錄將指出本課題所用到的相關(guān)文獻以與所需要的硬件元器件。2 關(guān)鍵技術(shù)系統(tǒng)所應(yīng)用到的技術(shù)有可編程邏輯器件與EDA技術(shù),應(yīng)用VHDL語言實現(xiàn)自動售貨機控制系統(tǒng)的設(shè)計,應(yīng)用PROTEL軟件輔助完成硬件系統(tǒng)設(shè)計。2.1 EDA技術(shù)EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,是一種以計算機為基礎(chǔ)的工作平臺;是利用電子技術(shù),計算機技術(shù),智能化技術(shù)等多種應(yīng)用學(xué)科的最新
16、成果,開發(fā)出的一整套電子CAD(計算機輔助設(shè)計)軟件;是一種幫助電子設(shè)計工程師從事電子元件產(chǎn)品和系統(tǒng)設(shè)計的綜合技術(shù)。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極提高了電路設(shè)計的效率和可操作性,減輕了設(shè)計者的勞動強度。2.2 可編程邏輯器件FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,是實現(xiàn)EDA的主流器件,他的特點是直接面向用戶,具有極大的靈活性和通用性,
17、使用方便,硬件測試和實現(xiàn)快捷,開發(fā)效率高,成本低,上市時間短,技術(shù)維護簡單,工作可靠性強等。 關(guān)于FPGA芯片的選擇將在下文進行介紹。2.3 VHDL描述語言VHDL ( very high speed integrated circuit hard2ware descrip tion language)是指超高速集成電路硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式,以與描述風(fēng)格與句法,類似于一般的計算機高級語言,如C語言。VHDL的程序結(jié)構(gòu)特點是,將一項工程設(shè)計或稱設(shè)計實體(可以是一個元件、一個電路模塊或一個系統(tǒng))分
18、成外部(或稱可視部分,即端口)和部(或稱不可視部分) 。在對一個設(shè)計實體定義了外部界面后,一旦其部開發(fā)完成,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。2.4 相關(guān)技術(shù)的發(fā)展與應(yīng)用情況1)FPGA的應(yīng)用FPGA的應(yīng)用可分為三個層面:電路設(shè)計,產(chǎn)品設(shè)計,系統(tǒng)設(shè)計。(1)電路設(shè)計中FPGA的應(yīng)用連接邏輯,控制邏輯是FPGA早期發(fā)揮作用比較大的領(lǐng)域也是FPGA應(yīng)用的基石。事實上,在電路設(shè)計中應(yīng)用FPGA的難度還是比較大的,這要求開發(fā)者要具備相應(yīng)的硬件知識(電路知識)和軟件應(yīng)用能力(開發(fā)工具)。這方面的人才總是緊缺的,往往都從事新技術(shù),新產(chǎn)品的開發(fā)。成功
19、的產(chǎn)品將變成市場主流基礎(chǔ)產(chǎn)品,供產(chǎn)品設(shè)計者應(yīng)用。在不遠的將來,通用和專用IP的設(shè)計將成為一個熱門行業(yè)。(2)產(chǎn)品設(shè)計把相對成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域如通訊,視頻,信息處理等等,開發(fā)出滿足行業(yè)需要并能被行業(yè)客戶接受的產(chǎn)品。這方面主要是 HYPERLINK :/baike.baidu /view/1664013.htm t _blank FPGA技術(shù)和專業(yè)技術(shù)的結(jié)合問題,此外,關(guān)與專業(yè)客戶的界面問題,產(chǎn)品設(shè)計分為專業(yè)工具類產(chǎn)品與民用產(chǎn)品,前者重點在性能,后者對價格敏感,產(chǎn)品設(shè)計以實現(xiàn)產(chǎn)品功能為主要目的。在這個領(lǐng)域FPGA技術(shù)是一個實現(xiàn)手段,F(xiàn)PGA因為具備接口,控制,功能IP,嵌CPU等特點,有
20、條件實現(xiàn)一個構(gòu)造簡單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計,這將是FPGA技術(shù)應(yīng)用最廣大的市場。(3)系統(tǒng)級應(yīng)用系統(tǒng)級的應(yīng)用是FPGA與傳統(tǒng)的計算機技術(shù)結(jié)合,實現(xiàn)一種FPGA版的計算機系統(tǒng):如用XilinxV-4, V-5系列的FPGA,實現(xiàn)嵌POWERPCCPU, 然后再配合各種外圍功能,實現(xiàn)一個基本環(huán)境,在這個平臺上跑LINIX等系統(tǒng),這個系統(tǒng)也就支持各種標準外設(shè)和功能接口(如圖像接口)了。這對于快速構(gòu)成FPGA大型系統(tǒng)來講是很有幫助的。2)EDA的應(yīng)用利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出
21、IC版圖或PCB版圖的整個過程,在計算機上自動處理完成?,F(xiàn)在對EDA的概念或疇用得很寬。在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機制造過程中,從設(shè)計、性能測試與特性分析直到飛行模擬,都可能涉與到EDA技術(shù)。3 硬件系統(tǒng)的設(shè)計本控制系統(tǒng)的硬件外圍設(shè)備分為:外部存儲器,外部電源,晶振信號發(fā)生器,以與FPGA芯片,LED外部顯示燈,出貨裝置。3.1 芯片的選擇 本文所用到的FPGA芯片為,Altera生產(chǎn)的EPF10K10LC84 芯片,EPF10K10LC84-4是一種復(fù)雜可編程邏
22、輯器件,另外還有其它類型的管腳和封裝,選擇性強。FLEX10K組成與特點: FLEX10K主要由嵌入式陣列塊、邏輯陣列塊、快速通道(FastTrack)和I/O單元四部分組成。其中邏輯陣列塊由多個邏輯單元構(gòu)成。FLEX10K系列采用重復(fù)可構(gòu)造的CMOS SRAM工藝,把連續(xù)的快速通道互連與獨特的嵌入式陣列結(jié)構(gòu)相組合,同時也結(jié)合了眾多可編程器件的有點來完成普通門陣列的宏功能。每個FLEX 10K器件包括一個嵌入式陣列和一個邏輯陣列,它能讓設(shè)計人員輕松地開發(fā)出存儲器、數(shù)字信號處理器以與特殊邏輯等強大功能于一身的芯片。該芯片具有的多電壓功能可以全面支持以不同電壓工作的產(chǎn)品。FLEX10K10主要特點
23、如下:(1)它是工業(yè)世界的第一種嵌入式可編程邏輯器件,提供了在單個器件中的系統(tǒng)集成,具有實現(xiàn)宏函數(shù)的嵌入式陣列和實現(xiàn)普通功能的邏輯陣列;(2)高密度,它具有10000150000個可用門,高達40960位部RAM;(3)系統(tǒng)支持多電壓IO接口;(4)低功耗,系統(tǒng)維持狀態(tài)小于0.5mA;(5)靈活的部連接,快速、可預(yù)測連線延時的快速通道連續(xù)式分布結(jié)構(gòu);(6)增強功能的IO引腳,每個引腳都有一個獨立的三臺輸出使能控制和每個IO引腳都有漏極開路選擇;FLEX10K引腳簡介EPF10K10有84I/O口,其豐富的IO資源,適用于速度要求高或需要較多的I/O引腳電路或系統(tǒng)中適用。其I/O引腳能夠兼容5V
24、 3.3V 2.5V等接口標準,具體的IO引腳與對應(yīng)的引腳序號如表3-1所示:表3-1 I/O引腳對應(yīng)的引腳序號引腳名稱引腳編號引腳名稱引腳編號引腳名稱引腳編號引腳名稱引腳編號I/O716I/O1728I/O2749I/O3762I/O817I/O1829I/O2850I/O3864I/O918I/O1930I/O2951I/O3965I/O1019I/O2035I/O3052I/O4066I/O1121I/O2136I/O3153I/O4167I/O1222I/O2237I/O3254I/O4371I/O1323I/O2338I/O3358I/O4472I/O1424I/O2439I/O34
25、59I/O1525I/O2547I/O3560I/O1627I/O2648I/O3661FLEX 10K10主要由84個引腳組成,各引腳對應(yīng)的引腳名如圖3.1所示:圖3.1 各引腳對應(yīng)的引腳名稱3.2 時鐘發(fā)生器自動售貨機的控制系統(tǒng)需要一個時鐘信號,我們選用的是6MHz的時鐘信號,時鐘發(fā)生器如圖3.2所示。其中用兩個振蕩器以與兩個電阻可以完成我們所需要的設(shè)定。圖 3.2 時鐘發(fā)生器3.3 電源電路日常所用到的電源為220V電壓的電源,但是本課題中自動售貨機所需要的電壓為5V,因此我們需要設(shè)定一個變壓電路來完成所需的電壓。在這部分電路我們用到了一個變壓器,一個整流橋,一個濾波電路,一個穩(wěn)壓器完成
26、為5V電壓的電源。電源電路如圖3.3所示。圖3.3 電源電路3.4 鍵盤的設(shè)計為了完成購物自動售貨機必須有購物鍵,本課題所要求的是五個按鍵,其中四個是商品選擇鍵(熱狗,飲料,漢堡,雙層漢堡),剩下的一個按鍵為初始按鍵。關(guān)于輸入按鍵的信號發(fā)生情況將在下文中的軟件系統(tǒng)設(shè)計中闡述,這里就不多敘述,按鍵選用的是SW_PB,按鍵的硬件部分如圖3.4所示。圖 3.4 選擇鍵的設(shè)計3.5 下載驅(qū)動器以與外擴存儲器電路設(shè)計自動售貨機需要跳電存儲功能,因此需要在FPGA芯片外接一個存儲器,另由于控制器需要下載驅(qū)動,因此需要外接一個驅(qū)動下載以與外接存儲器,如圖3.5所示。此裝置能夠順利完成下載驅(qū)動以與跳電存儲功能
27、。圖 3.5 下載驅(qū)動與外接存儲器3.6 顯示器設(shè)計自動售貨機需要一個顯示燈,當購物結(jié)束后顯示器顯示找零錢數(shù)額。對于顯示器的顯示數(shù)字情況,將在下文軟件系統(tǒng)中的顯示模塊進行闡述。顯示器如圖3.6所示。圖 3.6 顯示器3.7 硬件電路圖本論文的重點在于對控制系統(tǒng)的設(shè)計,因此,我們只關(guān)注控制信號以與信號發(fā)生后出現(xiàn)的結(jié)果,對于自動售貨機的電動機不做太多的討論。自動售貨機的硬件電路圖見附錄。4 軟件系統(tǒng)設(shè)計軟件系統(tǒng)分為總體思想與模塊的分類。4.1 設(shè)計思想4.1.1 功能要求(1)該系統(tǒng)能完成對貨物信息的存儲、進程控制、錢幣處理、余額計算和顯示功能。 (2)自動售貨機能夠銷售4種商品:熱狗(1元),漢
28、堡包(4元),雙層漢堡包(8元),飲料(3元)數(shù)量無限。自動售貨機允許投入1元,2元,5元硬幣:當總幣值等于顧客需要的商品單價時,機器送出需要的商品:若總幣值大于顧客需要的商品單價時,機器除提供所需商品外,并將余幣退出;若總幣值小于顧客需要的商品單價時,機器退出顧客投入的硬幣。設(shè)機器1元和2元的找零硬幣無限。(3)如果投入的硬幣達到或大于所購商品的價格,自動售貨機會發(fā)出一個指示信號使接受硬幣的裝置不再接收新的硬幣。(4)每次投幣的時間有限制,不得超過30秒,在時間到時,總幣值不足顧客購買的商品單價時,自動售貨機按不足錢數(shù)處理,退還全部硬幣。或者在設(shè)定時間,總幣值不足顧客購買的商品單價時,若需要
29、取消交易則可按取消鍵,售貨機按不足錢數(shù)處理,退還全部硬幣。(5)當顧客完成一次購買后或按錯按鈕后,需要設(shè)置一個重新開始按鈕,使整個系統(tǒng)恢復(fù)到初始狀態(tài)。(6)顧客一次只能購買一種商品的一個,若需要更多商品,需要重復(fù)操作。4.1.2 總體思想自動售貨機包括四個商品,依據(jù)四種商品分別設(shè)為四個按鈕,A1,A3,A4,A8。當顧客選擇其中的一種商品時,售貨機發(fā)送出一個信號按鈕不再生效,用一個LED燈顯示。設(shè)置三個按鈕:a1,a2,a5來表示投入的硬幣是1元、2元、5元。當顧客投入的硬幣大于或等于售價時將不再接受硬幣,用一個LED燈顯示。當顧客確定某種商品且投入了足額的硬幣,投幣時限到時,投幣窗口找零,用
30、七段顯示管顯示找零數(shù),同時送出商品,指示燈out亮。4.1.3 控制狀態(tài)的設(shè)計此售貨機分為三種狀態(tài),每一個狀態(tài)能完成一定得功能:初始狀態(tài),投幣狀態(tài),找零狀態(tài)。(1)初始狀態(tài):當售貨機通電后進入初始狀態(tài),顧客購買時,可根據(jù)選擇xuan_rg,xuan_yl,xuan_hb,xuan_schb鍵購買商品,從而進入下一狀態(tài)。當顧客購買錯誤或不再購買時按下start重新進入初始狀態(tài)。(2)投幣狀態(tài):在這個狀態(tài)時xuan_rg,xuan_yl,xuan_hb,xuan_schb鍵失效。投入錢(1元,2元,5元),當投入硬幣等于或者超過商品價格時進入下一狀態(tài)。投幣時間為30秒超過30秒,售貨機拒絕接受錢幣
31、。 (3)找零狀態(tài):投幣結(jié)束,售貨機自動判別總錢數(shù),若在時限到來之際,總錢數(shù)少于顧客所需商品的單價,則退出錢幣,用LED顯示退錢數(shù)。若大于或等于商品數(shù)則通過控制系統(tǒng)找零,用LED顯示找零數(shù),送出商品。出貨找零,表示一次工作已經(jīng)結(jié)束,等待下一個信號到來,進行新的售貨。4.1.4 設(shè)計流程圖是是否否否是一元貨物2元貨3元貨投幣計算金額金額物價繼續(xù)投幣確認購買出貨找零退幣結(jié)束4元貨開始圖 4.1 流程圖4.2 模塊分類此售貨機模塊包括:投幣處理模塊,商品選擇模塊,投幣模塊,分頻模塊,控制器模塊,計時模塊,LED燈顯示模塊,找零模塊,出貨模塊,如圖4.2所示。圖 4.2 模塊示意圖4.2.1 投幣模塊
32、自動售貨機能夠自動計算投入的錢幣數(shù)目,需要提供一個寄存器來記錄并保存投入的總幣值。此模塊有六個輸入信號以與兩個輸出信號:qian1,qian2,qian5為不同數(shù)額錢幣輸入信號;en1為主控模塊所發(fā)出的信號,當en1信號為1的時候,投幣模塊開始工作;reset為恢復(fù)初始信號,當reset信號為1 的時候投幣模塊不進行工作;en為給計時器的輸出信號,當en為1的時候計時器開始工作;bi為輸出的錢幣數(shù)目。如圖4.2所示。投幣模塊的作用相當于一個計數(shù)的寄存器,在清零的狀態(tài)下可以準確的計算投幣數(shù)額,記錄并保存總幣值。圖 4.2. 投幣模塊投幣模塊主要程序如下:library ieee;use ieee
33、.std_logic_1164.all;entity toubi is port (a1,a2,a5,en1,clk,reset:in std_logic; bi :out integer range 0 to 15; en: out std_logic); end toubi;architecture a of toubi issignal state:integer range 0 to 1;beginprocessvariable qian:integer range 0 to 15;beginwait until clk=1and clk event;if reset=1 then s
34、tate=0;bi=0;qian:=0;enif en1=1 then if a1 =1 then state=1;bi=1;qian:=1;en=1;elsif a2=1 then state=1;bi=2; qian:=2;en=1;elsif a5=1 then state=1;qian:=5;bi=5;enif en1=1 then if a1=1 then qian:=qian+1;bi=qian;en=1;elsif a2=1 then qian:=qian+2;bi=qian;en=1;elsif a5=1 then qian:=qian+5;bi=qian;en=1;end i
35、f;end if;end case;end if;end process;end a;通過程序所得到的仿真圖如下所示:1 當reset輸入為0,輸入5元,2元,1元時,輸出結(jié)果為7。仿真結(jié)果如圖4.3所示:圖4.3 reset輸入為0時的仿真結(jié)果2 當reset輸入為1時,輸入5元,2元,1元,bi輸出應(yīng)為0。仿真結(jié)果如圖4.4所示:圖 4.4 reset輸入為1時的仿真結(jié)果4.2.2 商品選擇模塊自動售貨機的商品選擇模塊,通過自動售貨機上的四個選擇按鍵完成商品選擇,在接收到對應(yīng)四個商品之一的一個選擇信號時進行編譯,將被選擇的商品進行編碼,輸入到主控模塊中,在主控模塊中與所接受的錢幣進行對與計
36、算。輸入信號為a1,a2,a3,a8。而xuan_rg,xuan_hb,xuan_yl,xuan_schb為四個輸出信號,與出貨模塊連接。reset 與en2信號來自主控模塊,當reset為1時模塊進入初始狀態(tài),進行選擇。當en2為1時,商品可以進行選擇,當en2為0時,四個商品選擇鍵無效。商品選擇模塊如圖4.5 所示。圖 4.5 商品選擇模塊商選擇模塊主要程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY yima ISPORT ( a1,a3,a4,a8,en2,reset : INSTD_LOGIC;xuan_rg,xuan_yl,x
37、uan_hb,xuan_schb:OUT STD_LOGIC; d: OUT integer range 0 to 8 );END yima;ARCHITECTURE a OF yima ISBEGINprocess(a1,a3,a4,a8)beginif reset=0 thenif a1=1 and en2=1 then d=1;xuan_rg=1; xuan_yl=0;xuan_hb=0;xuan_schb=0;elsif a3=1thend=3;xuan_yl=1;xuan_rg=0;xuan_hb=0;xuan_schb=0;elsif a4=1 and en2=1 then d=4
38、; xuan_hb=1;xuan_yl=0;xuan_schb=0;elsif a8=1 and en2=1 then d=8;xuan_schb=1;xuan_yl=0;xuan_rg=0;xuan_hb=0;else d=0;xuan_schb=0;xuan_yl=0;xuan_rg=0;xuan_hb=0;end if;else d=0;xuan_schb=0;xuan_yl=0;xuan_rg=0;xuan_hb=0;end if;end process;END a;通過程序所得仿真結(jié)果如下:1 當reset輸入為1,en2輸入為0,a8輸入為1時,d輸出應(yīng)當為0,仿真結(jié)果如圖4.6所
39、示: 圖 4.6 reset輸入為1,en2輸入為0,a8輸入為1時的仿真結(jié)果2 當reset輸入為0,en2輸入為0,a8輸入為1時,d輸出為0,仿真結(jié)果如圖4.7所示:圖4.7 reset輸入為0,en2輸入為0,a8輸入為1時的仿真結(jié)果3 當reset輸入為0,en2輸入為1,a8輸入為1時,d輸出為8,xuan_schb輸出為1,仿真結(jié)果如圖4.8所示:圖4.8 en2輸出為2時的仿真結(jié)果4.2.3 分頻模塊分頻模塊是用來將外來的時鐘信號進行分頻,有硬件系統(tǒng)已經(jīng)知道,選用的時鐘信號是由外部的6MHZ的晶振提供的,通過分頻模塊進行分頻以后將得到周期為1HZ的信號。由于仿真所需時間過長,本
40、文選擇100.0ns為一周期的信號,分頻后為6.0us為一周期的信號,時鐘輸入信號為clk,輸出信號為newclk,分頻模塊如圖4.9所示。圖4.9 分頻模塊分頻模塊主要程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fenpi ISPORT(CLK:IN STD_LOGIC;NEWCLK:OUT STD_LOGIC);END fenpi;ARCHITECTURE a OF fenpi ISSIGNAL Q:INTEGER RANGE 0 TO 14; SIGNAL DIVCLK: STD_LOGIC; BEGIN PROCESS(CL
41、K) BEGIN IF CLKEVENT AND CLK=1 THEN IF Q 14 THEN Q =Q+1; ELSE DIVCLK = NOT DIVCLK;Q =0; END IF;END IF; END PROCESS;NEWCLK = DIVCLK;END a;通過程序所得到的仿真結(jié)果如下:當clk第15輸出為上升沿時,newclk輸出為1,仿真結(jié)果如圖4.10所示:圖 4.10 newclk輸出為1時的仿真結(jié)果4.2.4 計數(shù)模塊由于課題要求自動售貨機控制系統(tǒng)有定時系統(tǒng),并限定在30s完成投幣,30s之后投幣無效,因此需要設(shè)定一個計數(shù)模塊對投幣時間進行限制。en為接受信號,當投幣
42、開始時投幣模塊發(fā)出信號,計數(shù)模塊開始工作,當計數(shù)到30時向控制模塊發(fā)出t信號。Clr為控制器發(fā)送給計數(shù)模塊的一個信號,當clr為1時,計數(shù)器歸零。Clk為分頻模塊發(fā)送的時鐘信號。計數(shù)模塊如圖4.11所示。圖4.11 計數(shù)模塊計數(shù)模塊主要程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishu isport(clk,en,clr: in std_logic; t: out std_logic);end jishu; architecture a of jishu issig
43、nal bcd1n: std_logic_vector(3 downto 0);signal bcd10n: std_logic_vector(2 downto 0);begin process(clk,clr,en) begin if (clr=1) then bcd1n=0000; elsif(clkevent and clk=1) then if (en=1) then if (bcd1n=1001) then bcd1n=0000; else bcd1n=bcd1n+1; end if; end if; end if; end process; process (clk,en,clr)
44、 begin if(clr=1) then bcd10n=000; elsif (clkevent and clk=1) then if (en=1 and bcd1n=1001) then if (bcd10n=011) then bcd10n=000; else bcd10n=bcd10n+1; end if; end if; end if; end process; process (en,bcd10n) begin if (en=1 and bcd10n=011) then t=1; else t=0; end if; end process; end a;此段程序為十位計數(shù)的情況,當
45、bcd為011(30)時發(fā)生進位,然后bcd10n歸零。通過程序所得的仿真結(jié)果如下:1 當en為1時,clr為0時,t在clk第30個上升沿輸出為1,仿真結(jié)果如圖4.12所示: 圖 4.12 t輸出為1時的仿真結(jié)果2 當en為1時,clr為1時,t輸出為0,仿真結(jié)果如圖4.13所示: 圖 4.13 t輸出為0時的仿真結(jié)果4.2.5 出貨模塊出貨模塊是自動售貨機給出相關(guān)貨物的信號,本課題要求貨物為四個商品,因此出貨模塊有5個輸入信號,xuan_rg,xuan_sb,xuan_yl,xuan_schb,為所購商品的輸入信號,en為控制模塊所給的信號當en=1時出貨模塊開始工作,然后對顧客所選擇貨物
46、進行出貨。出貨模塊有四個輸出信號為所選擇的貨物的輸出信號。出貨模塊如圖4.14。圖4.14 出貨模塊出貨模塊主要程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY chuhuo ISPORT(xuan_rg,xuan_hb,xuan_yl,xuan_schb,en3 : INSTD_LOGIC;chu_rg,chu_hb,chu_yl,chu_schb:OUTSTD_LOGIC);END chuhuo;ARCHITECTURE a OF chuhuo ISBEGINprocessbegin if en3=0 thenchu_rg=0; ch
47、u_hb=0;chu_schb=0;chu_yl=0;else if xuan_rg=1thenchu_rg=1; chu_hb=0;chu_schb=0;chu_yl=0;elsif xuan_hb=1 thenchu_rg=0; chu_hb=1;chu_schb=0;chu_yl=0;elsif xuan_schb=1 thenchu_rg=0; chu_hb=0;chu_schb=1;chu_yl=0;elsif xuan_yl=1 thenchu_rg=0; chu_hb=0;chu_schb=0;chu_yl=1;else chu_rg=0; chu_hb=0;chu_schb=0
48、;chu_yl outp:=1111110;WHEN 1 = outp:=0110000;WHEN 2 = outp:=1101101;WHEN 3 = outp:=1111001;WHEN 4 = outp:=0110011;WHEN 5 = outp:=1011011;WHEN 6 = outp:=1111110;WHEN 7 = outp:=1011111;WHEN 8 = outp:=1111111;WHEN 9 = outp:=1111011;WHEN OTHERS = null; END CASE; a = outp(0); b = outp(1); c = outp(2); d
49、= outp(3); e = outp(4); f = outp(5); g = outp(6); end process;END a;當輸入信號di為2時,g輸出為1,f輸出為0,e輸出為1,d輸出為1,c輸出為0,b輸出為1,a輸出為1,仿真結(jié)果如圖4.18所示圖 4.18 di輸入為2 時的仿真結(jié)果4.2.7 主控模塊主控模塊為自動售貨機控制系統(tǒng)的核心部分,在主控模塊中將輸入的錢幣數(shù)目(b)與商品的價格(d)進行對比,然后進行找零并發(fā)出出貨信號。輸入信號t為計時信號,當時間超過30s時,商品不再接受貨幣。Clk為控制系統(tǒng)的時鐘信號。輸出信號di,c分別為找零顯示模塊的輸入信號與找零信號。
50、en為控制出貨模塊的信號,當en值為1時,確認出貨模塊可以輸出商品。Start為復(fù)位信號,當start值為1時,自動售貨機回到初始狀態(tài)。Clr為計數(shù)模塊的控制信號,當收貨完成后,clr輸出為1,計數(shù)模塊回到初始狀態(tài)歸零。En1與en2分別為投幣模塊與商品選擇模塊的控制信號,當en1為0時,投幣模塊不工作,當en2為0時商品選擇模塊不工作。主控模塊如圖4.19。圖4.19 主控模塊主控模塊主要程序如下:library ieee;use ieee.std_logic_1164.all;package state_pack istype state is(qa,qb);end state_pack;
51、library ieee;use ieee.std_logic_1164.all;use work.state_pack.all;entity zhukong isport(start,clk,t:in std_logic; d,b:in integer range 0 to 13;en1,en2, reset, clr,en3:out std_logic;c:out integer range 0 to 13;di:out integer range 0 to 9);end zhukong;architecture a of zhukong issignal current_state:st
52、ate:=qa;beginprocessvariable var:integer range 0 to 13;beginwait until clk=1 and clkevent;if start=1 thencurrent_state=qa;c=b; en1=0; reset=1;en2=0;clr=1;en3=0;di if d=0 thencurrent_state=qa; en1=0;en2=1;clr=0;c=0;reset=0;di=0;else current_state=qb; var:=d; en2=0;此段程序為售貨機在初始狀態(tài)時的信號輸出,當d輸入信號時進入對比程序。cu
53、rrent_state=qa; en1=0;en2=1;clr=0;c=0;reset=0;di=0;else current_state=qb; var:=d; en2if t=0and var=b thencurrent_state=qa;en1=0;c=b-var;clr=1;reset=1;en3=1;di=b-var;elsif t=0 and bvar thenen1=1; c=0 ; clr=0; reset=0;en3=0;di=0;elsif t=1and bvar thencurrent_state=qa;en1=0;c=b;clr=1;reset=1;en3=0;di=v
54、ar thencurrent_state=qa;en1=0; c=b-var;clr=1;reset=1;en3=1;di=b-var;end if;end case;end if;end process;end a;此段程序作用是進行商品價格與投幣總錢數(shù)的比較,從而決定找零與出貨,T信號用來控制投幣時間。主控模塊的仿真結(jié)果如下:1當start輸入為0,t輸入為0,b輸入為5,d輸入為4時,c輸出為1,clr輸出為1,en輸出為1,en1輸出為1,reset輸出為1,仿真結(jié)果如圖4.20所示 圖 4.20 c輸出為1,clr輸出為1,en輸出為1,en1輸出 為1,reset輸出為1時的仿真結(jié)果2 當start輸入為1,t輸入為0,b輸入為5,d輸入為4時,reset輸出為1,clr輸出為0,en1輸出為0,en輸出為0,en2輸出為0.,仿真結(jié)果為圖 4.21所示圖 4.21 reset輸出為1,clr輸出為0,en1輸出為0,en輸出為0,en2輸出為0時的仿真結(jié)果3 當start輸入為0,t輸入為1,b輸入為2,d輸入為4時(b=d),c輸出為1,en輸出為0,en1輸出為0,clr輸出為1,e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)安全投標售后保障
- 玩具店內(nèi)部裝修工裝施工合同
- 礦石材料標簽規(guī)范
- 車站監(jiān)控系統(tǒng)施工合同
- 農(nóng)業(yè)用肥料標簽管理辦法
- 鋁廠混凝土施工合同
- 咨詢公司財務(wù)規(guī)劃策略
- 環(huán)保技術(shù)開發(fā)招標辦法
- 酒類批發(fā)市場衛(wèi)生條例
- 溫泉公園施工合同
- 婚姻家庭規(guī)劃
- 認識實習(xí)報告(10篇)
- 銷售部門年度工作規(guī)劃
- 【MOOC】內(nèi)科護理學(xué)-中山大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年度網(wǎng)絡(luò)安全評估及維護合同2篇
- 2024年商業(yè)地產(chǎn)買賣合同樣本
- 倉庫主管年度工作總結(jié)
- 內(nèi)蒙古興安盟(2024年-2025年小學(xué)五年級語文)人教版隨堂測試((上下)學(xué)期)試卷及答案
- S16榮濰高速公路萊陽至濰坊段改擴建工程可行性研究報告
- 綜合布線技術(shù)設(shè)計題單選題100道及答案
- 短視頻投流合作協(xié)議書范文
評論
0/150
提交評論