基于FPGA的自動(dòng)售貨機(jī)設(shè)計(jì)說(shuō)明_第1頁(yè)
基于FPGA的自動(dòng)售貨機(jī)設(shè)計(jì)說(shuō)明_第2頁(yè)
基于FPGA的自動(dòng)售貨機(jī)設(shè)計(jì)說(shuō)明_第3頁(yè)
基于FPGA的自動(dòng)售貨機(jī)設(shè)計(jì)說(shuō)明_第4頁(yè)
基于FPGA的自動(dòng)售貨機(jī)設(shè)計(jì)說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 PAGE37 / NUMPAGES40畢業(yè)設(shè)計(jì)中文摘要基于FPGA的自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)摘要: 隨著我國(guó)商品市場(chǎng)的不斷繁榮和城市現(xiàn)代化程度的不斷提高,自動(dòng)售貨機(jī)也已悄然步入了我國(guó)的大中城市。豐富了中國(guó)的商業(yè)產(chǎn)業(yè)結(jié)構(gòu),開(kāi)創(chuàng)了一個(gè)全新的自動(dòng)銷(xiāo)售和自助服務(wù)時(shí)代。該課題將以EDA技術(shù)實(shí)現(xiàn)自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)。應(yīng)用EDA技術(shù)實(shí)現(xiàn)的自動(dòng)售貨機(jī)控制系統(tǒng),以其可減少商品開(kāi)發(fā)周期,降低開(kāi)發(fā)成本,增加設(shè)計(jì)一次性成功通過(guò)的可能性等優(yōu)點(diǎn),使自動(dòng)售貨機(jī)可開(kāi)發(fā)性增強(qiáng),成本降低。該課題包含兩部分:硬件系統(tǒng)設(shè)計(jì)和FPGA部電路的編程設(shè)計(jì)。FPGA部電路的編程設(shè)計(jì)采用硬件描述語(yǔ)言(VHDL)對(duì)自動(dòng)售貨機(jī)的功能進(jìn)行描述;選

2、擇ALTERA公司的FPGA芯片為目標(biāo)器件。硬件系統(tǒng)設(shè)計(jì)是圍繞所選合適的FPGA器件的硬件電路設(shè)計(jì)。本文介紹了一種基于FPGA的自動(dòng)售貨機(jī)的整體設(shè)計(jì)與工作原理,詳細(xì)闡述了投幣模塊,商品選擇模塊,主控模塊等模塊的軟件設(shè)計(jì)與實(shí)現(xiàn),對(duì)所設(shè)計(jì)的FPGA部功能進(jìn)行仿真驗(yàn)證。關(guān)鍵詞: FPGAEDA 自動(dòng)售貨機(jī) VHDL畢業(yè)設(shè)計(jì)外文摘要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 自動(dòng)售貨機(jī)的歷史21.2 自動(dòng)售貨機(jī)的研究現(xiàn)狀31.3 未來(lái)的發(fā)展和研究方向31.4 本文的章節(jié)安排42 關(guān)鍵技術(shù) 52.1 EDA技術(shù)52.2 可編輯邏輯器件 52.3 vhdl描述語(yǔ)言 52.4 相關(guān)技術(shù)的發(fā)展與應(yīng)用情況63 硬件系統(tǒng)的設(shè)計(jì) 83.1 芯片的選擇 83.2 時(shí)鐘發(fā)生器 93.3 電源電路1

7、03.4 硬件鍵盤(pán)103.5 下載驅(qū)動(dòng)器以與存儲(chǔ)器的設(shè)計(jì)113.6 顯示器設(shè)計(jì)113.7 硬件電路圖124 軟件系統(tǒng)設(shè)計(jì)124.1 設(shè)計(jì)思想134.2 軟件設(shè)計(jì)14結(jié)論35參考文獻(xiàn)36致37 附錄381 引言自動(dòng)售貨機(jī)是能根據(jù)投入的錢(qián)幣自動(dòng)付貨的機(jī)器。自動(dòng)售貨機(jī)是商業(yè)自動(dòng)化的常用 HYPERLINK :/baike.baidu /view/209665.htm t _blank 設(shè)備,它不受時(shí)間、地點(diǎn)的限制,能節(jié)省人力、方便交易。一般的自動(dòng)售貨機(jī)由錢(qián)幣裝置、指示裝置、貯藏售貨裝置等組成。錢(qián)幣裝置是售貨機(jī)的核心,其主要功能是確認(rèn)投入錢(qián)幣的真?zhèn)?,分選錢(qián)幣的種類(lèi),計(jì)算金額。如果投入的金額達(dá)到購(gòu)買(mǎi)物品

8、的數(shù)值即發(fā)出售貨信號(hào),并找出余錢(qián)。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號(hào),把顧客選擇的商品送至付貨口。一般售貨機(jī)的錢(qián)幣裝置由投幣口、選別裝置、確認(rèn) HYPERLINK :/baike.baidu /view/79732.htm t _blank 錢(qián)幣真?zhèn)蔚臋z查裝置、計(jì)算金額的計(jì)算裝置和找錢(qián)裝置組成。70年代以來(lái),出現(xiàn)了采用微型計(jì)算機(jī)控制的各種新型自動(dòng)售貨機(jī)和利用信用卡代替錢(qián)幣并與計(jì)算機(jī)連接的更大規(guī)模的無(wú)人售貨系統(tǒng),如無(wú)人自選商場(chǎng)、車(chē)站的自動(dòng)售票和檢票系統(tǒng)、銀行的現(xiàn)金自動(dòng)支付機(jī)等。從西歐、北美、日本和國(guó)等地區(qū)和國(guó)家的情況來(lái)看,自動(dòng)售貨機(jī)在人們?nèi)粘I钪邪缪菰絹?lái)

9、越重要的角色。1962年,出現(xiàn)了以自動(dòng)售貨機(jī)為主體的流通領(lǐng)域的革命。到了20世紀(jì)80年代,自動(dòng)售貨機(jī)在美國(guó)和日本被廣泛使用,后逐漸散布世界各地,主要是發(fā)達(dá)國(guó)家。其產(chǎn)品特點(diǎn)是科技含量高;24 小時(shí)服務(wù),售貨便利;無(wú)需專(zhuān)人盯守,省人工,省成本;售貨圍廣泛;此外還是一種新穎獨(dú)特的廣告媒體。目前,隨著移動(dòng)商務(wù)的發(fā)展,自動(dòng)售貨機(jī)作為一種方便、直觀(guān)的移動(dòng)商務(wù)工具,開(kāi)始在全球各地迅速普與和發(fā)展。1.1 自動(dòng)售貨機(jī)的歷史自動(dòng)售貨機(jī)是一種全新的商業(yè)零售形式,20世紀(jì)70年代自日本和歐美發(fā)展起來(lái)。它又被稱(chēng)為24小時(shí)營(yíng)業(yè)的微型超市。在日本,70的罐裝飲料是通過(guò)自動(dòng)售貨機(jī)售出的。全球著名飲料商 HYPERLINK :

10、/baike.baidu /view/5842.htm t _blank 可口可樂(lè)公司在全世界就布有50萬(wàn)臺(tái)飲料自動(dòng)售貨機(jī)。 在日本全國(guó)各地,共設(shè)有550萬(wàn)臺(tái)自動(dòng)售貨機(jī)(據(jù)1998年的統(tǒng)計(jì)),銷(xiāo)售額達(dá)6兆8969億4887萬(wàn)日元,為世界第一。在售貨機(jī)的顯示屏幕上進(jìn)行操作,輸入商品和購(gòu)買(mǎi)數(shù)量,并投入錢(qián)幣后,商品就會(huì)從取貨口出來(lái),甚至從食品自動(dòng)售貨機(jī)上還能買(mǎi)到熱呼呼的面條和米飯團(tuán)。雖然日本的自動(dòng)售貨機(jī)總臺(tái)數(shù)低于 HYPERLINK :/baike.baidu /view/2398.htm t _blank 美國(guó)(據(jù)1997年的統(tǒng)計(jì)為689萬(wàn)臺(tái)),但是,從人口占有數(shù)來(lái)看卻是世界上最高的,美國(guó)平均35

11、人占有一臺(tái),而日本為23人占有一臺(tái)。 1.2 自動(dòng)售貨機(jī)的研究現(xiàn)狀現(xiàn)在,自動(dòng)售貨機(jī)產(chǎn)業(yè)正在走向信息化并進(jìn)一步實(shí)現(xiàn)合理化。例如實(shí)行聯(lián)機(jī)方式,通過(guò)線(xiàn)路將自動(dòng)售貨機(jī)的庫(kù)存信息與時(shí)地傳送各營(yíng)業(yè)點(diǎn)的電腦中,從而確保了商品的發(fā)送、補(bǔ)充以與商品選定的順利進(jìn)行。并且,為防止地球暖化,自動(dòng)售貨機(jī)的開(kāi)發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動(dòng)售貨機(jī)成為該行業(yè)的主流。在夏季電力消費(fèi)高峰時(shí),這種機(jī)型的自動(dòng)售貨機(jī)即使在關(guān)掉冷卻器的狀況下也能保持低溫,與以往的自動(dòng)售貨機(jī)相比,它能夠節(jié)約1015的電力。進(jìn)入21世紀(jì)時(shí),自動(dòng)售貨機(jī)也將進(jìn)一步向節(jié)省資源和能源以與高功能化的方向發(fā)展。 自動(dòng)售貨咖啡機(jī)是一種既可以出冷熱咖啡也可以同時(shí)出

12、奶茶果汁飲料的咖啡飲料自動(dòng)售貨機(jī),省時(shí)方便快捷。既可以作投資來(lái)使用,也可作為員工福利來(lái)使用。1.3 未來(lái)發(fā)展和研究方向隨著科技的發(fā)展與人們生活水平的提高,自動(dòng)售貨機(jī)市場(chǎng)的發(fā)展呈現(xiàn)出多元化與個(gè)性化的需求,通過(guò)自動(dòng)售貨機(jī)進(jìn)行自助購(gòu)物正逐漸成為市民的一種新的消費(fèi)時(shí)尚和追求高品質(zhì)生活的需要。傳統(tǒng)的自動(dòng)售貨機(jī)控制系統(tǒng)采用單片機(jī)作為控制核心,不僅需要在輸入輸出接口上做大量的工作,而且系統(tǒng)的抗干擾性也比較差。FPGA 具有可靠性高、編程簡(jiǎn)單、維護(hù)方便等優(yōu)點(diǎn),已在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。現(xiàn)如今長(zhǎng)生了基于了一種用FPGA 實(shí)現(xiàn)的自動(dòng)售貨機(jī)主控制系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì),通過(guò)此次畢業(yè)設(shè)計(jì)闡述了基于FPGA的自動(dòng)

13、售貨機(jī)的控制系統(tǒng)設(shè)計(jì)并進(jìn)行了軟件仿真和硬件設(shè)計(jì)實(shí)驗(yàn),實(shí)驗(yàn)表明該控制系統(tǒng)是可行的?,F(xiàn)在,自動(dòng)售貨機(jī)產(chǎn)業(yè)正在走向信息化并進(jìn)一步實(shí)現(xiàn)合理化。例如實(shí)行聯(lián)機(jī)方式,通過(guò)線(xiàn)路將自動(dòng)售貨機(jī)的庫(kù)存信息與時(shí)地傳送各營(yíng)業(yè)點(diǎn)的電腦中,從而確保了商品的發(fā)送、補(bǔ)充以與商品選定的順利進(jìn)行。并且,為防止地球暖化,自動(dòng)售貨機(jī)的開(kāi)發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動(dòng)售貨機(jī)成為該行業(yè)的主流。在夏季電力消費(fèi)高峰時(shí),這種機(jī)型的自動(dòng)售貨機(jī)即使在關(guān)掉冷卻器的狀況下也能保持低溫,與以往的自動(dòng)售貨機(jī)相比,它能夠節(jié)約1015的電力。進(jìn)入21世紀(jì)時(shí),自動(dòng)售貨機(jī)也將進(jìn)一步向節(jié)省資源和能源以與高功能化的方向發(fā)展。作為一種商務(wù)工具,自動(dòng)售貨機(jī)在生活中

14、應(yīng)用愈加廣泛,綜合分析現(xiàn)代自動(dòng)售貨機(jī)的研究現(xiàn)狀和研究重點(diǎn),以與自動(dòng)售貨機(jī)所處的市場(chǎng)現(xiàn)狀和對(duì)社會(huì)的影響,根據(jù)日本、美國(guó)等國(guó)家的經(jīng)驗(yàn),自動(dòng)售貨機(jī)將在全球圍得到更大的普與。自動(dòng)售貨機(jī)的機(jī)體部結(jié)構(gòu)已經(jīng)相當(dāng)完善,影響其普與的關(guān)鍵因素為:如何在現(xiàn)有的各種通信網(wǎng)絡(luò)平臺(tái)上,讓自動(dòng)售貨機(jī)形成一種銷(xiāo)售連鎖網(wǎng),為其提供更方便的營(yíng)銷(xiāo)方式和管理機(jī)制,以其最大限度地降低生產(chǎn)、運(yùn)營(yíng)成本。目前,無(wú)論是基于Internet還是基于移動(dòng)通信網(wǎng)或其他網(wǎng)絡(luò)平臺(tái),其運(yùn)作的機(jī)制都不太成熟,不過(guò)這并不影響自動(dòng)售貨機(jī)的發(fā)展?jié)摿?。因?自動(dòng)售貨機(jī)未來(lái)的發(fā)展趨勢(shì)是將其納入到一個(gè)更廣闊、更便利的移動(dòng)商務(wù)網(wǎng)絡(luò)平臺(tái)。1.4 本文的章節(jié)安排本文第一章為

15、總體描述自動(dòng)售貨機(jī)的歷史以與研究現(xiàn)狀等相關(guān)知識(shí),第二章主要介紹本課題所應(yīng)用的關(guān)鍵技術(shù),第三章主要描述本課題所設(shè)計(jì)的自動(dòng)售貨機(jī)控制系統(tǒng)的相關(guān)硬件設(shè)計(jì),第四章主要闡述本課題的軟件系統(tǒng)的各個(gè)模塊以與仿真。附錄將指出本課題所用到的相關(guān)文獻(xiàn)以與所需要的硬件元器件。2 關(guān)鍵技術(shù)系統(tǒng)所應(yīng)用到的技術(shù)有可編程邏輯器件與EDA技術(shù),應(yīng)用VHDL語(yǔ)言實(shí)現(xiàn)自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì),應(yīng)用PROTEL軟件輔助完成硬件系統(tǒng)設(shè)計(jì)。2.1 EDA技術(shù)EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫(xiě),是一種以計(jì)算機(jī)為基礎(chǔ)的工作平臺(tái);是利用電子技術(shù),計(jì)算機(jī)技術(shù),智能化技術(shù)等多種應(yīng)用學(xué)科的最新

16、成果,開(kāi)發(fā)出的一整套電子CAD(計(jì)算機(jī)輔助設(shè)計(jì))軟件;是一種幫助電子設(shè)計(jì)工程師從事電子元件產(chǎn)品和系統(tǒng)設(shè)計(jì)的綜合技術(shù)。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線(xiàn)和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。2.2 可編程邏輯器件FPGA(FieldProgrammable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,是實(shí)現(xiàn)EDA的主流器件,他的特點(diǎn)是直接面向用戶(hù),具有極大的靈活性和通用性,

17、使用方便,硬件測(cè)試和實(shí)現(xiàn)快捷,開(kāi)發(fā)效率高,成本低,上市時(shí)間短,技術(shù)維護(hù)簡(jiǎn)單,工作可靠性強(qiáng)等。 關(guān)于FPGA芯片的選擇將在下文進(jìn)行介紹。2.3 VHDL描述語(yǔ)言VHDL ( very high speed integrated circuit hard2ware descrip tion language)是指超高速集成電路硬件描述語(yǔ)言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式,以與描述風(fēng)格與句法,類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言,如C語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是,將一項(xiàng)工程設(shè)計(jì)或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分

18、成外部(或稱(chēng)可視部分,即端口)和部(或稱(chēng)不可視部分) 。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其部開(kāi)發(fā)完成,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。2.4 相關(guān)技術(shù)的發(fā)展與應(yīng)用情況1)FPGA的應(yīng)用FPGA的應(yīng)用可分為三個(gè)層面:電路設(shè)計(jì),產(chǎn)品設(shè)計(jì),系統(tǒng)設(shè)計(jì)。(1)電路設(shè)計(jì)中FPGA的應(yīng)用連接邏輯,控制邏輯是FPGA早期發(fā)揮作用比較大的領(lǐng)域也是FPGA應(yīng)用的基石。事實(shí)上,在電路設(shè)計(jì)中應(yīng)用FPGA的難度還是比較大的,這要求開(kāi)發(fā)者要具備相應(yīng)的硬件知識(shí)(電路知識(shí))和軟件應(yīng)用能力(開(kāi)發(fā)工具)。這方面的人才總是緊缺的,往往都從事新技術(shù),新產(chǎn)品的開(kāi)發(fā)。成功

19、的產(chǎn)品將變成市場(chǎng)主流基礎(chǔ)產(chǎn)品,供產(chǎn)品設(shè)計(jì)者應(yīng)用。在不遠(yuǎn)的將來(lái),通用和專(zhuān)用IP的設(shè)計(jì)將成為一個(gè)熱門(mén)行業(yè)。(2)產(chǎn)品設(shè)計(jì)把相對(duì)成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域如通訊,視頻,信息處理等等,開(kāi)發(fā)出滿(mǎn)足行業(yè)需要并能被行業(yè)客戶(hù)接受的產(chǎn)品。這方面主要是 HYPERLINK :/baike.baidu /view/1664013.htm t _blank FPGA技術(shù)和專(zhuān)業(yè)技術(shù)的結(jié)合問(wèn)題,此外,關(guān)與專(zhuān)業(yè)客戶(hù)的界面問(wèn)題,產(chǎn)品設(shè)計(jì)分為專(zhuān)業(yè)工具類(lèi)產(chǎn)品與民用產(chǎn)品,前者重點(diǎn)在性能,后者對(duì)價(jià)格敏感,產(chǎn)品設(shè)計(jì)以實(shí)現(xiàn)產(chǎn)品功能為主要目的。在這個(gè)領(lǐng)域FPGA技術(shù)是一個(gè)實(shí)現(xiàn)手段,F(xiàn)PGA因?yàn)榫邆浣涌?,控制,功能IP,嵌CPU等特點(diǎn),有

20、條件實(shí)現(xiàn)一個(gè)構(gòu)造簡(jiǎn)單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計(jì),這將是FPGA技術(shù)應(yīng)用最廣大的市場(chǎng)。(3)系統(tǒng)級(jí)應(yīng)用系統(tǒng)級(jí)的應(yīng)用是FPGA與傳統(tǒng)的計(jì)算機(jī)技術(shù)結(jié)合,實(shí)現(xiàn)一種FPGA版的計(jì)算機(jī)系統(tǒng):如用XilinxV-4, V-5系列的FPGA,實(shí)現(xiàn)嵌POWERPCCPU, 然后再配合各種外圍功能,實(shí)現(xiàn)一個(gè)基本環(huán)境,在這個(gè)平臺(tái)上跑LINIX等系統(tǒng),這個(gè)系統(tǒng)也就支持各種標(biāo)準(zhǔn)外設(shè)和功能接口(如圖像接口)了。這對(duì)于快速構(gòu)成FPGA大型系統(tǒng)來(lái)講是很有幫助的。2)EDA的應(yīng)用利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開(kāi)始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出

21、IC版圖或PCB版圖的整個(gè)過(guò)程,在計(jì)算機(jī)上自動(dòng)處理完成?,F(xiàn)在對(duì)EDA的概念或疇用得很寬。在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門(mén)廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試與特性分析直到飛行模擬,都可能涉與到EDA技術(shù)。3 硬件系統(tǒng)的設(shè)計(jì)本控制系統(tǒng)的硬件外圍設(shè)備分為:外部存儲(chǔ)器,外部電源,晶振信號(hào)發(fā)生器,以與FPGA芯片,LED外部顯示燈,出貨裝置。3.1 芯片的選擇 本文所用到的FPGA芯片為,Altera生產(chǎn)的EPF10K10LC84 芯片,EPF10K10LC84-4是一種復(fù)雜可編程邏

22、輯器件,另外還有其它類(lèi)型的管腳和封裝,選擇性強(qiáng)。FLEX10K組成與特點(diǎn): FLEX10K主要由嵌入式陣列塊、邏輯陣列塊、快速通道(FastTrack)和I/O單元四部分組成。其中邏輯陣列塊由多個(gè)邏輯單元構(gòu)成。FLEX10K系列采用重復(fù)可構(gòu)造的CMOS SRAM工藝,把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相組合,同時(shí)也結(jié)合了眾多可編程器件的有點(diǎn)來(lái)完成普通門(mén)陣列的宏功能。每個(gè)FLEX 10K器件包括一個(gè)嵌入式陣列和一個(gè)邏輯陣列,它能讓設(shè)計(jì)人員輕松地開(kāi)發(fā)出存儲(chǔ)器、數(shù)字信號(hào)處理器以與特殊邏輯等強(qiáng)大功能于一身的芯片。該芯片具有的多電壓功能可以全面支持以不同電壓工作的產(chǎn)品。FLEX10K10主要特點(diǎn)

23、如下:(1)它是工業(yè)世界的第一種嵌入式可編程邏輯器件,提供了在單個(gè)器件中的系統(tǒng)集成,具有實(shí)現(xiàn)宏函數(shù)的嵌入式陣列和實(shí)現(xiàn)普通功能的邏輯陣列;(2)高密度,它具有10000150000個(gè)可用門(mén),高達(dá)40960位部RAM;(3)系統(tǒng)支持多電壓IO接口;(4)低功耗,系統(tǒng)維持狀態(tài)小于0.5mA;(5)靈活的部連接,快速、可預(yù)測(cè)連線(xiàn)延時(shí)的快速通道連續(xù)式分布結(jié)構(gòu);(6)增強(qiáng)功能的IO引腳,每個(gè)引腳都有一個(gè)獨(dú)立的三臺(tái)輸出使能控制和每個(gè)IO引腳都有漏極開(kāi)路選擇;FLEX10K引腳簡(jiǎn)介EPF10K10有84I/O口,其豐富的IO資源,適用于速度要求高或需要較多的I/O引腳電路或系統(tǒng)中適用。其I/O引腳能夠兼容5V

24、 3.3V 2.5V等接口標(biāo)準(zhǔn),具體的IO引腳與對(duì)應(yīng)的引腳序號(hào)如表3-1所示:表3-1 I/O引腳對(duì)應(yīng)的引腳序號(hào)引腳名稱(chēng)引腳編號(hào)引腳名稱(chēng)引腳編號(hào)引腳名稱(chēng)引腳編號(hào)引腳名稱(chēng)引腳編號(hào)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個(gè)引腳組成,各引腳對(duì)應(yīng)的引腳名如圖3.1所示:圖3.1 各引腳對(duì)應(yīng)的引腳名稱(chēng)3.2 時(shí)鐘發(fā)生器自動(dòng)售貨機(jī)的控制系統(tǒng)需要一個(gè)時(shí)鐘信號(hào),我們選用的是6MHz的時(shí)鐘信號(hào),時(shí)鐘發(fā)生器如圖3.2所示。其中用兩個(gè)振蕩器以與兩個(gè)電阻可以完成我們所需要的設(shè)定。圖 3.2 時(shí)鐘發(fā)生器3.3 電源電路日常所用到的電源為220V電壓的電源,但是本課題中自動(dòng)售貨機(jī)所需要的電壓為5V,因此我們需要設(shè)定一個(gè)變壓電路來(lái)完成所需的電壓。在這部分電路我們用到了一個(gè)變壓器,一個(gè)整流橋,一個(gè)濾波電路,一個(gè)穩(wěn)壓器完成

26、為5V電壓的電源。電源電路如圖3.3所示。圖3.3 電源電路3.4 鍵盤(pán)的設(shè)計(jì)為了完成購(gòu)物自動(dòng)售貨機(jī)必須有購(gòu)物鍵,本課題所要求的是五個(gè)按鍵,其中四個(gè)是商品選擇鍵(熱狗,飲料,漢堡,雙層漢堡),剩下的一個(gè)按鍵為初始按鍵。關(guān)于輸入按鍵的信號(hào)發(fā)生情況將在下文中的軟件系統(tǒng)設(shè)計(jì)中闡述,這里就不多敘述,按鍵選用的是SW_PB,按鍵的硬件部分如圖3.4所示。圖 3.4 選擇鍵的設(shè)計(jì)3.5 下載驅(qū)動(dòng)器以與外擴(kuò)存儲(chǔ)器電路設(shè)計(jì)自動(dòng)售貨機(jī)需要跳電存儲(chǔ)功能,因此需要在FPGA芯片外接一個(gè)存儲(chǔ)器,另由于控制器需要下載驅(qū)動(dòng),因此需要外接一個(gè)驅(qū)動(dòng)下載以與外接存儲(chǔ)器,如圖3.5所示。此裝置能夠順利完成下載驅(qū)動(dòng)以與跳電存儲(chǔ)功能

27、。圖 3.5 下載驅(qū)動(dòng)與外接存儲(chǔ)器3.6 顯示器設(shè)計(jì)自動(dòng)售貨機(jī)需要一個(gè)顯示燈,當(dāng)購(gòu)物結(jié)束后顯示器顯示找零錢(qián)數(shù)額。對(duì)于顯示器的顯示數(shù)字情況,將在下文軟件系統(tǒng)中的顯示模塊進(jìn)行闡述。顯示器如圖3.6所示。圖 3.6 顯示器3.7 硬件電路圖本論文的重點(diǎn)在于對(duì)控制系統(tǒng)的設(shè)計(jì),因此,我們只關(guān)注控制信號(hào)以與信號(hào)發(fā)生后出現(xiàn)的結(jié)果,對(duì)于自動(dòng)售貨機(jī)的電動(dòng)機(jī)不做太多的討論。自動(dòng)售貨機(jī)的硬件電路圖見(jiàn)附錄。4 軟件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)分為總體思想與模塊的分類(lèi)。4.1 設(shè)計(jì)思想4.1.1 功能要求(1)該系統(tǒng)能完成對(duì)貨物信息的存儲(chǔ)、進(jìn)程控制、錢(qián)幣處理、余額計(jì)算和顯示功能。 (2)自動(dòng)售貨機(jī)能夠銷(xiāo)售4種商品:熱狗(1元),漢

28、堡包(4元),雙層漢堡包(8元),飲料(3元)數(shù)量無(wú)限。自動(dòng)售貨機(jī)允許投入1元,2元,5元硬幣:當(dāng)總幣值等于顧客需要的商品單價(jià)時(shí),機(jī)器送出需要的商品:若總幣值大于顧客需要的商品單價(jià)時(shí),機(jī)器除提供所需商品外,并將余幣退出;若總幣值小于顧客需要的商品單價(jià)時(shí),機(jī)器退出顧客投入的硬幣。設(shè)機(jī)器1元和2元的找零硬幣無(wú)限。(3)如果投入的硬幣達(dá)到或大于所購(gòu)商品的價(jià)格,自動(dòng)售貨機(jī)會(huì)發(fā)出一個(gè)指示信號(hào)使接受硬幣的裝置不再接收新的硬幣。(4)每次投幣的時(shí)間有限制,不得超過(guò)30秒,在時(shí)間到時(shí),總幣值不足顧客購(gòu)買(mǎi)的商品單價(jià)時(shí),自動(dòng)售貨機(jī)按不足錢(qián)數(shù)處理,退還全部硬幣?;蛘咴谠O(shè)定時(shí)間,總幣值不足顧客購(gòu)買(mǎi)的商品單價(jià)時(shí),若需要

29、取消交易則可按取消鍵,售貨機(jī)按不足錢(qián)數(shù)處理,退還全部硬幣。(5)當(dāng)顧客完成一次購(gòu)買(mǎi)后或按錯(cuò)按鈕后,需要設(shè)置一個(gè)重新開(kāi)始按鈕,使整個(gè)系統(tǒng)恢復(fù)到初始狀態(tài)。(6)顧客一次只能購(gòu)買(mǎi)一種商品的一個(gè),若需要更多商品,需要重復(fù)操作。4.1.2 總體思想自動(dòng)售貨機(jī)包括四個(gè)商品,依據(jù)四種商品分別設(shè)為四個(gè)按鈕,A1,A3,A4,A8。當(dāng)顧客選擇其中的一種商品時(shí),售貨機(jī)發(fā)送出一個(gè)信號(hào)按鈕不再生效,用一個(gè)LED燈顯示。設(shè)置三個(gè)按鈕:a1,a2,a5來(lái)表示投入的硬幣是1元、2元、5元。當(dāng)顧客投入的硬幣大于或等于售價(jià)時(shí)將不再接受硬幣,用一個(gè)LED燈顯示。當(dāng)顧客確定某種商品且投入了足額的硬幣,投幣時(shí)限到時(shí),投幣窗口找零,用

30、七段顯示管顯示找零數(shù),同時(shí)送出商品,指示燈out亮。4.1.3 控制狀態(tài)的設(shè)計(jì)此售貨機(jī)分為三種狀態(tài),每一個(gè)狀態(tài)能完成一定得功能:初始狀態(tài),投幣狀態(tài),找零狀態(tài)。(1)初始狀態(tài):當(dāng)售貨機(jī)通電后進(jìn)入初始狀態(tài),顧客購(gòu)買(mǎi)時(shí),可根據(jù)選擇xuan_rg,xuan_yl,xuan_hb,xuan_schb鍵購(gòu)買(mǎi)商品,從而進(jìn)入下一狀態(tài)。當(dāng)顧客購(gòu)買(mǎi)錯(cuò)誤或不再購(gòu)買(mǎi)時(shí)按下start重新進(jìn)入初始狀態(tài)。(2)投幣狀態(tài):在這個(gè)狀態(tài)時(shí)xuan_rg,xuan_yl,xuan_hb,xuan_schb鍵失效。投入錢(qián)(1元,2元,5元),當(dāng)投入硬幣等于或者超過(guò)商品價(jià)格時(shí)進(jìn)入下一狀態(tài)。投幣時(shí)間為30秒超過(guò)30秒,售貨機(jī)拒絕接受錢(qián)幣

31、。 (3)找零狀態(tài):投幣結(jié)束,售貨機(jī)自動(dòng)判別總錢(qián)數(shù),若在時(shí)限到來(lái)之際,總錢(qián)數(shù)少于顧客所需商品的單價(jià),則退出錢(qián)幣,用LED顯示退錢(qián)數(shù)。若大于或等于商品數(shù)則通過(guò)控制系統(tǒng)找零,用LED顯示找零數(shù),送出商品。出貨找零,表示一次工作已經(jīng)結(jié)束,等待下一個(gè)信號(hào)到來(lái),進(jìn)行新的售貨。4.1.4 設(shè)計(jì)流程圖是是否否否是一元貨物2元貨3元貨投幣計(jì)算金額金額物價(jià)繼續(xù)投幣確認(rèn)購(gòu)買(mǎi)出貨找零退幣結(jié)束4元貨開(kāi)始圖 4.1 流程圖4.2 模塊分類(lèi)此售貨機(jī)模塊包括:投幣處理模塊,商品選擇模塊,投幣模塊,分頻模塊,控制器模塊,計(jì)時(shí)模塊,LED燈顯示模塊,找零模塊,出貨模塊,如圖4.2所示。圖 4.2 模塊示意圖4.2.1 投幣模塊

32、自動(dòng)售貨機(jī)能夠自動(dòng)計(jì)算投入的錢(qián)幣數(shù)目,需要提供一個(gè)寄存器來(lái)記錄并保存投入的總幣值。此模塊有六個(gè)輸入信號(hào)以與兩個(gè)輸出信號(hào):qian1,qian2,qian5為不同數(shù)額錢(qián)幣輸入信號(hào);en1為主控模塊所發(fā)出的信號(hào),當(dāng)en1信號(hào)為1的時(shí)候,投幣模塊開(kāi)始工作;reset為恢復(fù)初始信號(hào),當(dāng)reset信號(hào)為1 的時(shí)候投幣模塊不進(jìn)行工作;en為給計(jì)時(shí)器的輸出信號(hào),當(dāng)en為1的時(shí)候計(jì)時(shí)器開(kāi)始工作;bi為輸出的錢(qián)幣數(shù)目。如圖4.2所示。投幣模塊的作用相當(dāng)于一個(gè)計(jì)數(shù)的寄存器,在清零的狀態(tài)下可以準(zhǔn)確的計(jì)算投幣數(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;通過(guò)程序所得到的仿真圖如下所示:1 當(dāng)reset輸入為0,輸入5元,2元,1元時(shí),輸出結(jié)果為7。仿真結(jié)果如圖4.3所示:圖4.3 reset輸入為0時(shí)的仿真結(jié)果2 當(dāng)reset輸入為1時(shí),輸入5元,2元,1元,bi輸出應(yīng)為0。仿真結(jié)果如圖4.4所示:圖 4.4 reset輸入為1時(shí)的仿真結(jié)果4.2.2 商品選擇模塊自動(dòng)售貨機(jī)的商品選擇模塊,通過(guò)自動(dòng)售貨機(jī)上的四個(gè)選擇按鍵完成商品選擇,在接收到對(duì)應(yīng)四個(gè)商品之一的一個(gè)選擇信號(hào)時(shí)進(jìn)行編譯,將被選擇的商品進(jìn)行編碼,輸入到主控模塊中,在主控模塊中與所接受的錢(qián)幣進(jìn)行對(duì)與計(jì)

36、算。輸入信號(hào)為a1,a2,a3,a8。而xuan_rg,xuan_hb,xuan_yl,xuan_schb為四個(gè)輸出信號(hào),與出貨模塊連接。reset 與en2信號(hào)來(lái)自主控模塊,當(dāng)reset為1時(shí)模塊進(jìn)入初始狀態(tài),進(jìn)行選擇。當(dāng)en2為1時(shí),商品可以進(jìn)行選擇,當(dāng)en2為0時(shí),四個(gè)商品選擇鍵無(wú)效。商品選擇模塊如圖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;通過(guò)程序所得仿真結(jié)果如下:1 當(dāng)reset輸入為1,en2輸入為0,a8輸入為1時(shí),d輸出應(yīng)當(dāng)為0,仿真結(jié)果如圖4.6所

39、示: 圖 4.6 reset輸入為1,en2輸入為0,a8輸入為1時(shí)的仿真結(jié)果2 當(dāng)reset輸入為0,en2輸入為0,a8輸入為1時(shí),d輸出為0,仿真結(jié)果如圖4.7所示:圖4.7 reset輸入為0,en2輸入為0,a8輸入為1時(shí)的仿真結(jié)果3 當(dāng)reset輸入為0,en2輸入為1,a8輸入為1時(shí),d輸出為8,xuan_schb輸出為1,仿真結(jié)果如圖4.8所示:圖4.8 en2輸出為2時(shí)的仿真結(jié)果4.2.3 分頻模塊分頻模塊是用來(lái)將外來(lái)的時(shí)鐘信號(hào)進(jìn)行分頻,有硬件系統(tǒng)已經(jīng)知道,選用的時(shí)鐘信號(hào)是由外部的6MHZ的晶振提供的,通過(guò)分頻模塊進(jìn)行分頻以后將得到周期為1HZ的信號(hào)。由于仿真所需時(shí)間過(guò)長(zhǎng),本

40、文選擇100.0ns為一周期的信號(hào),分頻后為6.0us為一周期的信號(hào),時(shí)鐘輸入信號(hào)為clk,輸出信號(hào)為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;通過(guò)程序所得到的仿真結(jié)果如下:當(dāng)clk第15輸出為上升沿時(shí),newclk輸出為1,仿真結(jié)果如圖4.10所示:圖 4.10 newclk輸出為1時(shí)的仿真結(jié)果4.2.4 計(jì)數(shù)模塊由于課題要求自動(dòng)售貨機(jī)控制系統(tǒng)有定時(shí)系統(tǒng),并限定在30s完成投幣,30s之后投幣無(wú)效,因此需要設(shè)定一個(gè)計(jì)數(shù)模塊對(duì)投幣時(shí)間進(jìn)行限制。en為接受信號(hào),當(dāng)投幣

42、開(kāi)始時(shí)投幣模塊發(fā)出信號(hào),計(jì)數(shù)模塊開(kāi)始工作,當(dāng)計(jì)數(shù)到30時(shí)向控制模塊發(fā)出t信號(hào)。Clr為控制器發(fā)送給計(jì)數(shù)模塊的一個(gè)信號(hào),當(dāng)clr為1時(shí),計(jì)數(shù)器歸零。Clk為分頻模塊發(fā)送的時(shí)鐘信號(hào)。計(jì)數(shù)模塊如圖4.11所示。圖4.11 計(jì)數(shù)模塊計(jì)數(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;此段程序?yàn)槭挥?jì)數(shù)的情況,當(dāng)

45、bcd為011(30)時(shí)發(fā)生進(jìn)位,然后bcd10n歸零。通過(guò)程序所得的仿真結(jié)果如下:1 當(dāng)en為1時(shí),clr為0時(shí),t在clk第30個(gè)上升沿輸出為1,仿真結(jié)果如圖4.12所示: 圖 4.12 t輸出為1時(shí)的仿真結(jié)果2 當(dāng)en為1時(shí),clr為1時(shí),t輸出為0,仿真結(jié)果如圖4.13所示: 圖 4.13 t輸出為0時(shí)的仿真結(jié)果4.2.5 出貨模塊出貨模塊是自動(dòng)售貨機(jī)給出相關(guān)貨物的信號(hào),本課題要求貨物為四個(gè)商品,因此出貨模塊有5個(gè)輸入信號(hào),xuan_rg,xuan_sb,xuan_yl,xuan_schb,為所購(gòu)商品的輸入信號(hào),en為控制模塊所給的信號(hào)當(dāng)en=1時(shí)出貨模塊開(kāi)始工作,然后對(duì)顧客所選擇貨物

46、進(jìn)行出貨。出貨模塊有四個(gè)輸出信號(hào)為所選擇的貨物的輸出信號(hào)。出貨模塊如圖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;當(dāng)輸入信號(hào)di為2時(shí),g輸出為1,f輸出為0,e輸出為1,d輸出為1,c輸出為0,b輸出為1,a輸出為1,仿真結(jié)果如圖4.18所示圖 4.18 di輸入為2 時(shí)的仿真結(jié)果4.2.7 主控模塊主控模塊為自動(dòng)售貨機(jī)控制系統(tǒng)的核心部分,在主控模塊中將輸入的錢(qián)幣數(shù)目(b)與商品的價(jià)格(d)進(jìn)行對(duì)比,然后進(jìn)行找零并發(fā)出出貨信號(hào)。輸入信號(hào)t為計(jì)時(shí)信號(hào),當(dāng)時(shí)間超過(guò)30s時(shí),商品不再接受貨幣。Clk為控制系統(tǒng)的時(shí)鐘信號(hào)。輸出信號(hào)di,c分別為找零顯示模塊的輸入信號(hào)與找零信號(hào)。

50、en為控制出貨模塊的信號(hào),當(dāng)en值為1時(shí),確認(rèn)出貨模塊可以輸出商品。Start為復(fù)位信號(hào),當(dāng)start值為1時(shí),自動(dòng)售貨機(jī)回到初始狀態(tài)。Clr為計(jì)數(shù)模塊的控制信號(hào),當(dāng)收貨完成后,clr輸出為1,計(jì)數(shù)模塊回到初始狀態(tài)歸零。En1與en2分別為投幣模塊與商品選擇模塊的控制信號(hào),當(dāng)en1為0時(shí),投幣模塊不工作,當(dāng)en2為0時(shí)商品選擇模塊不工作。主控模塊如圖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;此段程序?yàn)槭圬洐C(jī)在初始狀態(tài)時(shí)的信號(hào)輸出,當(dāng)d輸入信號(hào)時(shí)進(jìn)入對(duì)比程序。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;此段程序作用是進(jìn)行商品價(jià)格與投幣總錢(qián)數(shù)的比較,從而決定找零與出貨,T信號(hào)用來(lái)控制投幣時(shí)間。主控模塊的仿真結(jié)果如下:1當(dāng)start輸入為0,t輸入為0,b輸入為5,d輸入為4時(shí),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時(shí)的仿真結(jié)果2 當(dāng)start輸入為1,t輸入為0,b輸入為5,d輸入為4時(shí),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時(shí)的仿真結(jié)果3 當(dāng)start輸入為0,t輸入為1,b輸入為2,d輸入為4時(shí)(b=d),c輸出為1,en輸出為0,en1輸出為0,clr輸出為1,e

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論