基于VerilogHDL的自動售貨機設(shè)計.doc_第1頁
基于VerilogHDL的自動售貨機設(shè)計.doc_第2頁
基于VerilogHDL的自動售貨機設(shè)計.doc_第3頁
基于VerilogHDL的自動售貨機設(shè)計.doc_第4頁
基于VerilogHDL的自動售貨機設(shè)計.doc_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

密級: NANCHANG UNIVERSITY 學(xué) 士 學(xué) 位 論 文 THESIS OF BACHELOR(2012 2016年)題 目 基于Verilog HDL的自動售貨機設(shè)計 學(xué) 院: 信息工程學(xué)院 系 電子信息工程系 專業(yè)班級: 學(xué)生姓名: 學(xué)號: 指導(dǎo)教師: 職稱: 教授 起訖日期: 2016.3.142016.6.3 摘要基于Verilog HDL的自動售貨機設(shè)計 專 業(yè):電子信息工程 學(xué) 號:6100212164 學(xué)生姓名:田啟澤 指導(dǎo)教師:陶凌摘要自動售貨機是商業(yè)自動化的常用設(shè)備,它不受地點和時間的限制,能夠支持線上,線下多種支付方式,出貨迅速,并且操作簡單方便,因此受到了社會各群體的歡迎?,F(xiàn)目前自動售貨機多為單片機設(shè)計,常出現(xiàn)因功能單一不能滿足顧客需求,性能不穩(wěn)定帶來各種售貨出錯等現(xiàn)象。 本文將論述采用EDA方法,以Quartus為軟件開發(fā)平臺,使用Verilog HDL語言設(shè)計,經(jīng)過仿真后,在FPGA器件中實現(xiàn)自動售貨機系統(tǒng)的詳細流程。經(jīng)過仿真驗證設(shè)計可以實現(xiàn)投幣計次,兩種售價均為兩元的商品選擇,購物操作無條件取消,按鍵消抖,以及投幣退幣數(shù)量顯示功能。硬件電路用一個按鍵電路實現(xiàn)投幣功能,以led的點亮的數(shù)量指示投幣的數(shù)量和商品出貨情況,并以七段數(shù)碼管顯示退幣的數(shù)量。關(guān)鍵詞:自動售貨機;Verilog HDL;FPGA;EDA;Quartus IIAbstractDesign of Vending Machine Based on VHDLAbstract Vending machines are commonly used as commercial automated equipment, it is not restricted some trouble aspects,such as place,time and so on. It support online, offline payment methods, fast shipping, and easy operation, therefore has been welcomed by all social groups. Vending machines are currently a mostly single-chip design, often due to a single function can not meet customer needs, bring a variety of sales performance problems due to unstable capability. This article will discusses the selling process of the vending machine by using Quartus as software development platform, with the EDA method and through Verilog HDL language designing, after simulating, complying vending machine system in FPGA devices. After simulation designed it can be achieved coin metering and selection of commodities both are priced at two yuan, unconditionally canceled, key debounce and coin-coin number display. Hardware circuit using a function key circuits replays coin-operated,the number of led lights indicates the number of shipments of goods and coin, and using seven-segment LED to display the number of coin return.Keywords: vending machine;Verilog HDL;FPGA;EDA;Quartus IV目錄目錄摘要Abstract第一章 緒論1 1.1 自動售貨機設(shè)計的研究背景1 1.2 自動售貨機設(shè)計的研究意義2 1.3 國內(nèi)外研究現(xiàn)狀2 1.4 自動售貨機設(shè)計的主要內(nèi)容3第二章 相關(guān)技術(shù)簡介5 2.1 EDA技術(shù)簡介5 2.2 Verilog HDL語言介紹6 2.3 Quartus軟件開發(fā)平臺7第三章 總體設(shè)計方案8 3.1設(shè)計要求8 3.2 總體設(shè)計8第四章 模塊設(shè)計及仿真測試10 4.1 投幣計次功能的實現(xiàn)10 4.2 led與數(shù)碼管顯示功能的實現(xiàn)11 4.3 無條件取消功能的實現(xiàn)14 4.4 商品選擇出貨功能的實現(xiàn)16 4.5 抖動消除電路的實現(xiàn)18第五章 總體功能的仿真測試20結(jié)論23參考文獻(References)24致謝25附錄26VI第一章 緒論第1章 緒論1.1 自動售貨機研究背景 中國產(chǎn)業(yè)調(diào)研網(wǎng)發(fā)布的2016年版中國自動售貨機市場現(xiàn)狀調(diào)研與發(fā)展趨勢趨勢分析報告認為,居民收入水平顯步攀升,自動售貨機的迅猛發(fā)展得益于消費群體追逐靈活、智能、高效以及自助式服務(wù)?,F(xiàn)今自動售貨機已經(jīng)成為了歐美發(fā)達國家經(jīng)濟發(fā)展中的一個不可分割部分,特別是對青年一代,這種伴隨其成長的前衛(wèi)零售方式更可謂是一種新的消費時尚1。自動售貨機具有技術(shù)含量高、銷售方式新、市場潛力大、商品貨真價實等優(yōu)點,決定了它廣闊的發(fā)展。而且,它與電子購物等新型消費方式相通,能創(chuàng)造出巨大的商機。自動售貨機在一些發(fā)達國家應(yīng)用非常普遍,1930年,美國研制出世界第一臺自動售貨機,主要販賣香煙。而自動售貨機在我國的投入使用,也已經(jīng)有20多年的時間,但一直沒有全面普及。十九世紀三十年代,我國開始引進日韓等國的老舊機器投入市場,到如今的自主研發(fā)和生產(chǎn)販賣機,我國自動售貨機生產(chǎn)工廠,運營商家蹣跚起步,攻克了一道道技術(shù),市場難題,已經(jīng)在國內(nèi)零售行業(yè)內(nèi)打下了良好的基礎(chǔ),開辟了一條順暢的零售之路。目前我國的自動售貨機發(fā)展趨勢已經(jīng)日漸清晰,自動售貨機市場已經(jīng)慢慢由沿海發(fā)達地區(qū)向中西部欠發(fā)達地區(qū)拓展2。中國是世界上經(jīng)濟發(fā)展最快的國家之一,但是目前市場上僅置放了區(qū)區(qū)4萬臺自動售貨機。許多企業(yè)家開始成立自動售貨機公司,但還沒有找到有效的定價模式。在許多公司當中,僅有一家是盈利的,因為它們占據(jù)了有利的地點,售貨機功能齊全,商品的價位更容易讓廣大百姓接受,除了供應(yīng)日常的食品之外,還提供了其他許多物品。 由于中國自動售貨機市場起步較晚,民眾對自動售貨機的接受度低,對其安全性存在種種質(zhì)疑,這是中國自動售貨機市場發(fā)展緩慢的主要原因。除此之外,販賣機的功能單一,價格不具備市場競爭力,貨幣識別能力也比較差,這些都是影響消費者進行選擇的重要因素。由于自動售貨機在國內(nèi)屬于新鮮事物,民眾對其充滿了好奇之心,蓄意破壞者大有人在,自動售貨機投入市場初期,在一些城市幾乎遭到滅頂之災(zāi)。曾經(jīng)有人將價值昂貴的自動售貨機毀壞,只是為了拿去其中價格低廉的商品??梢哉f自動售貨機在某種程度代表的是城市發(fā)達程度,同時也考驗著人們的素質(zhì)與涵養(yǎng)?,F(xiàn)如今,伴隨著自動售貨機技術(shù)的成熟和市民對自動售貨機的加深了解,新的消費方式也逐步促進了人們更高的文明素質(zhì),自動售貨機的發(fā)展命運正在悄悄地發(fā)生著變化。原先,自動售貨機由于不能識辨新幣和功能比較單一,錢幣有被卡的現(xiàn)象不時出現(xiàn),安全性也不如現(xiàn)在,造成自動售貨機被損壞的情況時有發(fā)生。如今,自動售貨機可以做到同時制冷與加熱,可以滿足不同人群的消費需求3。安全,透明的展示窗可以起到良好的廣告效果。貨幣識別技術(shù)也日趨完善,能夠識別二十元以下(包括二十元)的所有幣種,并且還能夠識別貨幣的真假??刂葡到y(tǒng)更是方便智能,可以根據(jù)市場需求設(shè)定營業(yè)時間以及燈光的照明時間,節(jié)能效果極好。同時,還具備了一般的公務(wù)能力,統(tǒng)計,盤點,打印等功能是樣樣具備。 1.2 自動售貨機的研究意義隨著中國經(jīng)濟的不斷騰飛,居民收入顯著增加,消費水平逐步攀升,社會智能化程度不斷加深,人們的消費意識向智能高效,省時安全轉(zhuǎn)變,自動售貨機將以其獨特的優(yōu)勢在經(jīng)濟騰飛浪潮中進一步在市場經(jīng)濟體制中獲得更廣泛的支持與歡迎。就其目前在中國的現(xiàn)狀而言,自動售貨機在中國的發(fā)展必然在未來幾年中取得舉足輕重的進步。時代的發(fā)展為自動售貨機的普及奠定了良好的背景,然而自動售貨機在中國的現(xiàn)狀大大落后于歐美等發(fā)達國家。究其原因,第一,我國自動售貨機的研發(fā)與普及較歐美國家起步晚是一個比較重要的因素,第二,國內(nèi)自動售貨機要普遍發(fā)展也有著相當?shù)募夹g(shù)瓶頸。然而國內(nèi)企業(yè)普遍缺乏自主創(chuàng)新能力,無法攻克自動售貨機研究技術(shù)難題。自動售貨機市場在未來幾年將極度繁華,然而國內(nèi)的硬件設(shè)備還不具有迎接繁華時代到來的基礎(chǔ)。目前我國分布的自動售貨機大都為國外引進,外國技術(shù)容易遏制我國相關(guān)技術(shù)的發(fā)展。自動售貨機作為一種集成度極高的高新產(chǎn)品,要想在國內(nèi)普及國產(chǎn)自動售貨機,必須解決各類技術(shù)問題,才有可能趕超歐美,實現(xiàn)自動售貨機在中國的普及目標4。1.3 自動售貨機的國內(nèi)外研究現(xiàn)狀國內(nèi)市場自動售貨機僅僅引入不到十年,依然處于市場導(dǎo)入期,競爭相對來不是很激烈。自動售貨機在國內(nèi)處處充滿著無限商機。截至2016年,國內(nèi)自動售貨機擁有量約為13萬臺,相對于14億人口的國家,這個數(shù)字遠遠不能夠滿足消費者的需求。假如按中國現(xiàn)有的城市人口6.7億人計算,平均每10000人中才有一臺自動售貨機。相對于東南亞,歐美西方發(fā)達國家擁有量是遠遠落后的。在很多的發(fā)達國家中,自動售貨機的營業(yè)額可以占到零售業(yè)總額的百分之六十及以上,而且保持平均每年百分之五的增速。大好的市場趨勢,促使著自動售貨機生產(chǎn)商和運營商不斷改革其生產(chǎn)技術(shù)和運營成本。目前國內(nèi)制造商共有一百家之多,運營商更是多達五十家之多。此外,國外巨頭企業(yè)也開始進入中國市場5。日本自動售貨機市場已經(jīng)趨于飽和,其國內(nèi)自動售貨機行業(yè)老大-富士電氣集團,世界規(guī)模最大的日本自動售貨機運營商-日本飲料公司,已經(jīng)開始覬覦中國這片尚未完全被開發(fā)的市場。無獨有偶,美國自動售貨機行業(yè)巨頭De Amertek集團、恒新集團等行業(yè)巨頭也開始在投放它們的產(chǎn)品,中國企業(yè)迎難而上,困難重重。截至目前,相關(guān)企業(yè)已經(jīng)開拓了四種銷售模式。第一種是具有強大經(jīng)濟實力的專業(yè)運營商進行整體購買。第二種是合資或合作的形式,雙方在某個市場上發(fā)掘出共同利益點,展開合作或者合資。利用資源優(yōu)勢,共同開拓市場。第三種是租賃給有意于自動售貨機行業(yè)的創(chuàng)業(yè)者。第四種方式是生產(chǎn)廠家囊括生產(chǎn),運營于一身。自動售貨機的發(fā)展階段如圖1-1所示。圖1-1另外,國內(nèi)一些自動售貨機企業(yè)為了提升產(chǎn)品競爭力,已經(jīng)進入了自主創(chuàng)新模式。2004年,天津和重慶出現(xiàn)了一種通過手機就可以購物的自動售貨機。用戶不必現(xiàn)場繳納現(xiàn)金,只需要在交話費的同時將貨款一并結(jié)算即可,這種購物方式雖說不能夠顛覆傳統(tǒng)付費模式,但也在一定程度上沖擊了傳統(tǒng)購物模式的霸主地位。與此同時,中國自動售貨機市場進入全新的e時代購物新模式。新平臺基于無線通訊技術(shù)實現(xiàn)實時庫存管理系統(tǒng)、電子結(jié)算、LCD大屏互動廣告等幾大新型功能6。1.4 自動售貨機設(shè)計的主要內(nèi)容本文主要研究利用自動售貨機來完成商品選擇、投幣計次、出貨操作、led數(shù)碼管顯示等功能。主要完成了以下幾個方面的工作:1. 對自動售貨機的研究背景及其研究意義做了簡短的分析。2. 對設(shè)計中用的EDA技術(shù)以及Verilog HDL語言、Quarter軟件開發(fā)平臺相關(guān)技術(shù)做了簡單的介紹。3. 在對自動售貨機的整個控制系統(tǒng)進行了研究梳理之后,提出了售貨機的整體設(shè)計方案。4,對各個子模塊功能的利用Verilog HDL語言程序的輸入的方式進行了詳細的分析設(shè)計,并且對每一個子模塊進行了仿真測試,對其相對應(yīng)的功能進行了驗證。5,最后對整個系統(tǒng)進行了仿真,對整個自動售貨機的功能進行了驗證。4第二章 相關(guān)技術(shù)簡介第二章 相關(guān)技術(shù)簡介2.1 EDA技術(shù)簡介 EDA(Electronic Design Automation)技術(shù)全稱為電子設(shè)計自動化技術(shù)。這是一種高效的電子設(shè)計自動化工具,是隨著集成電路和計算機技術(shù)飛速發(fā)展而應(yīng)運而生的設(shè)計工具。它主要輔助設(shè)計以下三個方面的工作,一是集成電路設(shè)計,二是電子電路設(shè)計,三是印刷電路板設(shè)計。應(yīng)用EDA技術(shù),可以在計算機環(huán)境下進行模擬,檢驗,布圖和測試。不僅可以節(jié)省開發(fā)成本,還可以很大程度的提升各種設(shè)計的質(zhì)量。EDA技術(shù)的發(fā)展是與可編程邏輯器件,大規(guī)模集成電路設(shè)計,計算機技術(shù)和電子設(shè)計技術(shù)同步的。EDA技術(shù)的發(fā)展大致經(jīng)歷了以下三個階段,第一個階段是七十年代至八十年代的CAD(Computer Aided Design)階段,邏輯仿真,PCB設(shè)計以及IC版圖編輯均須設(shè)計人員手工進行計算。第二階段是八十年代中后期的CAE(Computer Aided Engineering)階段6。較CAD 階段,增加了電路功能和結(jié)構(gòu)設(shè)計,并且通過電氣連接將二者連接在一起,實現(xiàn)了工程設(shè)計。第三階段即九十年代的設(shè)計自動化階段。此時的EDA技術(shù)已成一個完整的系統(tǒng),設(shè)計師僅需給出工程的性能指標要求,EDA系統(tǒng)即可自動給出相關(guān)設(shè)計方案。到了21世紀,EDA技術(shù)更是發(fā)生了翻天覆地的變化。各項技術(shù)均日益成熟。 現(xiàn)代電子設(shè)計都需要借助計算機上的EDA相關(guān)軟件進行,手工設(shè)計的時代已然被顛覆。EDA技術(shù)依賴性能強大的計算機。借助開發(fā)平臺例如Quartus,輸入相應(yīng)的硬件描述語言程序,便能夠自動的完成邏輯編譯,化簡,分割,綜合,布局布線以及仿真測試,實現(xiàn)電子線路系統(tǒng)功能。EDA技術(shù)概括起來有以下幾個主要特點7。 一是硬件語言設(shè)計輸入。EDA系統(tǒng)輸入方式包含硬件描述語言輸入和原理圖輸入方式。而硬件語言輸入方式在工程設(shè)計中占比在百分之七十以上。硬件語言描述方式的突出優(yōu)點是:公開可利用性,設(shè)計與工藝無關(guān),描述能力強,可以實現(xiàn)大規(guī)模的系統(tǒng)設(shè)計,設(shè)計的復(fù)用和繼承性好。二是自頂向下的設(shè)計方法。其突出優(yōu)點在于可以很大程度簡化設(shè)計的復(fù)雜性,有利于在早期發(fā)現(xiàn)設(shè)計中的錯誤,提高設(shè)計的額一次成功率。三是邏輯綜合與優(yōu)化。其優(yōu)點在于將高層次的系統(tǒng)設(shè)計自動的翻譯成門級電路描述,實現(xiàn)了設(shè)計與工藝相互獨立。四是開放性和標準性8。一個EDA系統(tǒng)只要建立了符合標準的開放式框架結(jié)構(gòu),就可以與其他工廠的電子設(shè)計工具一起工作。這樣,設(shè)計者就可以充分利用相關(guān)資源,提高設(shè)計的質(zhì)量。五是豐富的庫。21世紀的EDA工具已經(jīng)形成了一個較完整的庫,包含了元器件圖形符號庫,元器件模型庫,工藝參數(shù)庫,標準單元庫,可復(fù)用的電路模塊庫以及IP庫等等9。完整的庫文件可以很大程度的提高設(shè)計效率。2.2 Verilog HDL語言介紹 Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言(HDL:Hardware Description Language),被廣泛地應(yīng)用于基于可編程邏輯器件的項目開發(fā)。二者都是在20世紀80年代中期開發(fā)出來的,前者由Gateway Design Automation公司(該公司于1989年被Cadence公司收購)開發(fā),后者由美國軍方研發(fā)10。Verilog HDL由C語言發(fā)展而來,繼承了C語言設(shè)計的簡介,高效和易用的特點。既可以用Verilog HDL語言來進行各種層次的邏輯設(shè)計,也可以進行數(shù)字系統(tǒng)的仿真測試,時序分析和邏輯綜合。Verilog HDL語言已經(jīng)成為ASIC設(shè)計領(lǐng)域的標準。適合于算法級,寄存器傳輸級,門級和版圖級燈各層次設(shè)計描述11。Verilog HDL語言主要功能有以下幾個:一是可描述順序執(zhí)行和并行執(zhí)行的程序結(jié)構(gòu)。二是使用延遲程序來清晰的表達控制過程的起止時間。三是提供了豐富的條件和循環(huán)程序結(jié)構(gòu)。四是提供了完整的一套表示組合邏輯基本原件的描述與。較之于VHDL語言,Verilog HDL語言屬于RTL硬件描述語言,只適合RTL級以及更低層次的門電路級設(shè)計。然而所有的硬件描述語言設(shè)計,最終都要轉(zhuǎn)換成門電路級才能夠?qū)崿F(xiàn)布局布線。所以Verilog HDL語言程序的綜合過程較VHDL簡單12。2.3 Quartus軟件開發(fā)平臺 Quartus是由Altera公司開發(fā)的一種EDA工具,是經(jīng)過A+plus、然后到MAX+plus,再到MAX+plus發(fā)展而來的。Quartus支持多種輸入方式,例如原理圖輸入,硬件編程語言輸入等,在使用Quartus軟件時,它會將設(shè)計人員設(shè)計好的硬件編程語言或者原理圖等自動轉(zhuǎn)換目標文件,最后將目標文件下載到器件中。通過DSP Builder工具,Quartus能很好的跟Matlab、Simulink等結(jié)合起來,從而能夠方便快捷的實現(xiàn)不同的DSP系統(tǒng)的設(shè)計13。因為有著簡單直接的入口和很強的設(shè)計能力,以及使用靈活、方便快捷的優(yōu)點,所以很受廣大設(shè)計者的青睞14。Quartus軟件有以下特點:l 支持多平臺的設(shè)計輸入,結(jié)合其處理和驗證功能使其成為一個全集化的開發(fā)平臺,讓開發(fā)周期變短。l 是一個與結(jié)構(gòu)無關(guān)的開發(fā)工具,Quartus通過把Cyclone、APEX、Mercury等設(shè)計環(huán)境轉(zhuǎn)化為所需要的格式,真真正正的成為唯一一個與結(jié)構(gòu)無關(guān)的開發(fā)工具。l 具有很具有全面的可設(shè)計開發(fā)資源,是一個集系統(tǒng)設(shè)計、軟件開發(fā)、邏輯設(shè)計于一體的綜合性開發(fā)平臺。Quartus的編程設(shè)計流程圖所示: 圖2-17第三章 總體設(shè)計方案第三章 總體設(shè)計方案3.1 設(shè)計要求 1,自動售貨機可售賣兩種飲料,包括cola型和diet型。 2,飲料價格均為兩元,顧客可投入兩個一元硬幣進行購買。 3,購買途中,若按下取消鍵,自動售貨機將無條件退幣。 4,選中飲料后,若投幣數(shù)量等于飲料價格,指示燈將被點亮。 5,退幣過程中以數(shù)碼管顯示的數(shù)字來指示退幣數(shù)量。 6,機器包含復(fù)位電路。3.2 總體方案設(shè)計 根據(jù)圖3-1功能流程圖,可具體將售貨機分成如下幾個模塊:投幣計次功能模塊,Led燈顯示功能模塊,無條件取消功能模塊以及貨品選擇出貨模塊。在此圖3-1方案中,自動售貨機系統(tǒng)以FPGA作為處理和控制的核心,能夠完成貨物的信息存儲,進程控制,硬幣處理和顯示等功能。系統(tǒng)根據(jù)用戶選擇的商品價格,并且能夠完成對用戶投入硬幣與貨物價格的數(shù)量比較,如用戶投入金額大于等于商品價格,則給出商品并計算找零,若金額不足則發(fā)出警告信號并退幣,取消本次操作。在購買過程當中,若用戶按下取消鍵,則系統(tǒng)無條件退幣并通過led顯示退幣數(shù)量。本設(shè)計包含兩個輸出口OUT與OUT1。OUT輸出口代表商品輸出情況。OUT1代表找零退幣情況,輸出產(chǎn)生上升沿脈沖即認為輸出完成。用三位LED燈顯示商品輸出情況,位一位二分別代表cola與diet飲料的輸出狀態(tài)。9位3,4顯示投入的硬幣數(shù)量。a為硬幣輸入,系統(tǒng)通過信a產(chǎn)生的上升沿對硬幣金額進行累加。由此根據(jù)金額總量輸出對應(yīng)商品。對整個系統(tǒng)的端口設(shè)置如下:1,輸入端口:1024Hz時鐘輸入,a硬幣輸入,reset取消,復(fù)位輸入端口,cola,die飲料選擇輸入端口。2,輸出端口:out飲料輸出端口,out1退幣指示端口,數(shù)碼管顯示端口,led商品指示輸出,投幣數(shù)量顯示。3,內(nèi)部可讀輸出端口:a1投幣計次信號。確定了系統(tǒng)的輸入輸出端口之后,以下詳細介紹系統(tǒng)內(nèi)部工作原理:當系統(tǒng)受到reset信號之后,輸入輸出端口清零。當系統(tǒng)開始接受投幣之后,投幣計次電路開始工作,系統(tǒng)每接受一個硬幣,a1累加一次,直至累加至2.當投幣累加兩次之后,開始選擇飲料類別。在選擇一種飲料之后,等待下一個時鐘信號上升沿,out輸出信號輸出為1.當有飲料輸出時,led的低二位將顯示為何種飲料被售出,高二位將顯示投幣數(shù)量。在售賣過程中,若顧客中途取消交易,系統(tǒng)收到reset信號,七段數(shù)碼管將顯示應(yīng)退幣數(shù)量。輸出out也相應(yīng)的轉(zhuǎn)為零。11第四章 模塊設(shè)計及仿真測試第四章 模塊設(shè)計及仿真測試4.1投幣計次功能的實現(xiàn)系統(tǒng)在1024Hz時鐘作用下對投幣信號a上升沿脈沖進行累加寄存于a1當中,實現(xiàn)累加功能,流程圖如圖4-1所示。當a等于1時,寄存器a1進行加一操作,若a不等于1,則,不對a進行任何操作。?圖4-1程序如下:if(a=1) /if語句判斷是否投入一元硬幣。a1=a1+1; /一元硬幣投入,a1在原來的值得基礎(chǔ)上加一。else a1=a1; /if語句不滿足,則對a1不進行任何操作。仿真結(jié)果如圖4-2所示圖4-2由圖4-2可知當a出現(xiàn)高電平時,a1在時鐘信號下一個clk上升沿到來時進行加一操作,因為所設(shè)計的商品價格均為兩元,故a1設(shè)為兩位寄存器類型數(shù)據(jù)即可。由Quqrtus軟件內(nèi)部生成的RTL電路圖如圖4-3所示:圖4-34.2 led與數(shù)碼管顯示功能的實現(xiàn)顯示功能主要體現(xiàn)在對硬幣數(shù)量的顯示,以及售出商品對應(yīng)的商品led顯示。因開發(fā)板至包含4位led。故改選用七段數(shù)碼管對退幣金額數(shù)量進行顯示。若選擇cola型飲料,且金額滿足出貨條件,則led燈第一位及第四位被點亮。若選擇diet型飲料,則led第二位以及第四位被點亮。若輸入金額為零,則led 全滅。若輸入金額為一,則led第三位點亮。若購買途中交易被取消,則一位七段數(shù)碼管顯示退幣金額。程序流程圖如圖4-4所示。顯示功能模塊程序如下:if(a1=2)/a1滿足商品價格,系統(tǒng)根據(jù)選擇的商品點亮不同的led燈begincase(cola,diet)2b01:led=4b1001;/選擇diet型飲料時,四位led顯示1001。2b10:led=4b1010;/選擇cola型飲料時,四位led顯示1010。default:led=4b1000;/其他不合法情況,四位led顯示1000。endcase?圖4-4 如果選擇cola型飲料,則當a1滿足商品價格兩元時,led顯示10001;選擇diet型飲料則顯示1010。若不選擇飲料,投幣一元顯示0100,投幣兩元顯示1000。其他情況均顯示0000。 Cola型飲料仿真結(jié)果如圖4-5所示,四位led顯示1010。圖4-5 Diet型飲料仿真結(jié)果如圖4-6所示,四位led顯示1001。圖4-6 投幣不選擇飲料時的led顯示如圖4-7所示,當a出現(xiàn)一個上升沿時,四位led顯示0100,當a出現(xiàn)第二個上升沿時,四位led顯示1000。圖4-7由Quqrtus軟件內(nèi)部生成的RTL電路圖如圖4-8所示:圖4-84.3無條件取消功能的實現(xiàn)顧客在購買商品的過程中,如果按下了reset按鍵,自動售貨機系統(tǒng)將轉(zhuǎn)入無條件退幣程序。退幣過程中,七段數(shù)碼管將顯示應(yīng)退還的硬幣數(shù)量。若按下reset按鍵之前已投幣兩元,則在數(shù)碼管上顯示數(shù)字2。若在按下reset按鍵之前已投幣一元則顯示數(shù)字1。其流程圖如圖4-9 所示。實現(xiàn)程序如下:if(reset)/檢測reset按鈕是否被按下,條件為真,執(zhí)行以下程序begincase(a1)0:duanxuan=8b11111100;/按下reset按鈕時,a1值為2,數(shù)碼管顯示數(shù)字21:duanxuan=8b01100000;/a1值為1,數(shù)碼管顯示數(shù)字12:duanxuan=8b11011010;/a1值為0,數(shù)碼管顯示數(shù)字0default:duanxuan=8b11111111;/其他不合法情況七段數(shù)碼管全亮endcase?圖4-9投幣兩元后按下reset按鈕的仿真波形如圖4-10所示,七段數(shù)碼管的值為11011010,其值為2:圖4-10 投幣一元后按下reset按鈕的仿真波形如圖4-11所示,數(shù)碼管顯示阿拉伯數(shù)字1,七段數(shù)碼管為01100000:圖4-11 不投幣按下reset按鈕后的仿真波形如圖4-12所示,七段數(shù)碼管的值為11111100,其值為0:圖4-12 其他不合法數(shù)值(例如a1值為3時)得顯示如圖4-13所示,七段數(shù)碼管的值為11111111:圖4-13由Quqrtus軟件內(nèi)部生成的RTL電路圖如圖4-14所示:圖4-144.4 貨品選擇出貨功能的實現(xiàn)當a1滿足出貨條件時,若選擇diet型飲料,輸出口out輸出一個正脈沖。且四位led數(shù)值為1001。若選擇cola型飲料,輸出口out輸出一個正脈沖。四位led數(shù)值為1010。主體程序如下:if(a1=2)/若a1滿足出貨條件,則執(zhí)行下列程序begincase(cola,diet)01:begin out=1;led1:0=2b01;end/選擇diet型飲料,out=1,led1:0=01;10:begin out=1;led1:0=2b10;end/選擇cola型飲料。Out=1,led1:0=10default:begin out=0;led1:0=2b00;end/其他不合法情況,out=0,led1:0=00endcaseendelseout=0;led1:0=2b00;/a1不滿足出貨條件,out=0,led1:0=00 流程圖如圖4-15所示 圖4-15 選擇diet型飲料,當a1滿足出貨條件時的仿真結(jié)果如圖4-16所示,out輸出一個正脈沖:圖4-16 選擇cola型飲料,當a1滿足出貨條件時,out產(chǎn)生一個正脈沖,且led1:0=10,其仿真結(jié)果如圖4-17所示:圖4-17由Quqrtus軟件內(nèi)部生成的RTL電路圖如圖4-18所示:圖4-184.5 抖動消除電路的實現(xiàn) 由于按鍵觸點存在彈性,當按鍵被按下時,按鍵并不會馬上穩(wěn)定的接通,而是會出現(xiàn)一段時間的抖動,在斷開時也不會立即斷開,情況也是如此。一般抖動時間為5ms10ms,所以在做按鍵檢測時必須加入消抖程序15。一般按鍵消抖有兩種方案:一是延時重采樣,二是持續(xù)采樣。這里采用延時重采樣,當檢測到key_in鍵被按下時,延時20ms后再次檢測該按鍵與20ms之前的結(jié)果相與之后若為1,則判定該按鍵被按下,相關(guān)程序?qū)⒃诟戒浿辛谐?6。23第五章 總體功能的設(shè)計與仿真第五章 總體功能的測試仿真 總體功能的實現(xiàn)是指當所有部分功能綜合在一起構(gòu)成一個整體程序,總體實現(xiàn)所有設(shè)計目標功能。在以下內(nèi)容中給出其仿真結(jié)果,總體程序見附頁。 選擇diet型飲料,a1=2滿足出貨條件,四位led燈顯示1001,其仿真結(jié)果如圖5-1所示。圖5-1 投入兩個硬幣之后按下reset按鍵后,數(shù)碼管顯示退幣兩元。仿真結(jié)果如圖5-2所示。圖5-2 投入一個硬幣之后按下reset按鍵,數(shù)碼管顯示退幣一元,輸出out為零,仿真結(jié)果如圖5-3所示。38第五章 總體功能的設(shè)計與仿真圖5-3 投入金額不足時,選擇cola型飲料,輸出out為零,led顯示0100。仿真波形如圖5-4所示。圖5-4 同時選擇兩種飲料時的仿真圖如圖5-5所示,有圖可知,當同時選擇兩種飲料時,即使投入金額滿足出貨條件,輸出out依舊為零,且led顯示為1000,即無任何飲料杯售出,故滿足一次僅限購買一種飲料的設(shè)計要求。圖5-5由Quqrtus軟件內(nèi)部生成的RTL電路圖如圖5-6所示:圖5-6結(jié)論結(jié)論 隨著計算機技術(shù)和通信技術(shù)的發(fā)展,自動售貨機的發(fā)展方向也必將向著更加智能化和人性化轉(zhuǎn)化,從自動售貨機基礎(chǔ)功能出發(fā),本文在分析了自動售貨機的功能特點后,以Quartus為軟件開發(fā)平臺,通過EDA方法,使用Verilog HDL語言編程完成了自動售貨機控制系統(tǒng)的設(shè)計,在整個設(shè)計工作當中,主要完成了以下兩個方面的工作;(1) 對自動售貨機的發(fā)展背景及其現(xiàn)狀及研究意義進行了總結(jié)和歸納,經(jīng)過總結(jié)可以發(fā)現(xiàn)高效智能,節(jié)能環(huán)保是現(xiàn)在起高科技設(shè)備發(fā)展的一個重要方向,而使用FPGA器件進行系統(tǒng)開發(fā),可以很大程度的節(jié)約開發(fā)成本,運營成本,并且真正的實現(xiàn)了高效智能的系統(tǒng)效果,相比于單片機開發(fā),FPGA器件在其器件集成度以及編程的高效性上明顯高于現(xiàn)目前的其他開發(fā)方式,可以說,電子行業(yè)未來將向著FPGA開發(fā)傾斜。完成了整個系統(tǒng)方案的設(shè)計,為了簡化系統(tǒng)設(shè)計,特將系統(tǒng)劃分為五個模塊,在此基礎(chǔ)上分別對這五個模塊進行了功能設(shè)計。(2) 利用Verilog HDL語言輸入的方式,對子模塊進行了詳細的軟件的設(shè)計,并且分別完成了相應(yīng)的功能仿真測試,并且對每個功能模塊都進行了仿真結(jié)果進行分析。最后在綜合各個模塊的基礎(chǔ)上,對整個自動售貨機系統(tǒng)進行了仿真,通過各個模塊仿真測試以及整體系統(tǒng)的仿真測試結(jié)果可以看出,此次自動售貨機的設(shè)計工作達到了最初的所有設(shè)計要求,實現(xiàn)了各項功能要求。此次設(shè)計的自動售貨機是初步具備售貨功能的簡易售貨機,其功能較單一,只能對代之以按鍵的硬幣投入進行識別,而且售賣的商品也只有兩種,但是這次設(shè)計也能收獲非常不錯的影響,可以初步認識自動售貨機的工作流程,F(xiàn)PGA開發(fā)的流程,為以后加入更加豐富的貨幣識別技術(shù),豐富的商品售賣,創(chuàng)造更具吸引力的國產(chǎn)自動售貨機打下良好基礎(chǔ)。 通過對整個系統(tǒng)的功能測試發(fā)現(xiàn)基于FPGA器件的自動售貨機的工作性能是比較穩(wěn)定和可靠的,而且操作簡單易掌握,實用性很強。由于經(jīng)驗不足和時間原因,本文中對該自動售貨機系統(tǒng)的設(shè)計也存在了一些不足之處。在本系統(tǒng)中,只設(shè)定了兩種商品,商品選擇功能不完善;購買商品后的結(jié)算方式比較單一,只能現(xiàn)金支付,缺少例如IC卡支付,線上支付等智能支付方式。所有這些問題會對在相關(guān)知識進行更深入的學(xué)習(xí)后逐一解決,努力對該控制系統(tǒng)進行改進,使其更加完善。參考文獻(References)參考文獻(References)1 2016年版中國自動售貨機市場現(xiàn)狀調(diào)研與發(fā)展趨勢分析報告J,1672385,20152 孔維東,邸國強.利用VERILOG HDL實現(xiàn)自動售貨功能J,中國科技投資,20133 張可兒.基于Verilog HDL自動售貨機系統(tǒng)設(shè)計N,隴東學(xué)院學(xué)報,20124 王雯雋.基于Verilong-HDL自動售貨機的設(shè)計與實現(xiàn)N,微型電腦應(yīng)用,20055 陳悅.自動售貨機控制器的設(shè)計與實現(xiàn)J,福建電腦,20156莊曉璐.全新E時代自助售貨機也可刷卡購物J,上海信息化,2006,1672-8424,P84-P85.7 潘松等.EDA技術(shù)與VHDLM,北京:清華大學(xué)出版社8 黃智偉FPGA系統(tǒng)設(shè)計與實踐M,北京:電子工業(yè)出版社,20049 孫涵芳.可編程邏輯器件M,北京:北京航空航天出版社10 潘松,黃繼業(yè).EDA技術(shù)實用教程(第二版)M,北京:科學(xué)出版社11 譚會生.EDA技術(shù)基礎(chǔ)M,湖南:湖南大學(xué)出版社12 張亦華. 數(shù)字電路EDA入門VHDL程序?qū)嵗疢,北京:北京郵電大學(xué)出版社13薛萍,陳海燕,裴樹軍.基于ISP芯片的可編程數(shù)字頻率計的設(shè)計J,電測與儀表,200214 盧毅,賴杰.VHDL與數(shù)字電路設(shè)計M,北京:科學(xué)技術(shù)出版社15馬俊興,呂寬州 .EDA技術(shù)的應(yīng)用J,河南教育學(xué)院學(xué)報(自然科學(xué)版), 200116門良.基于FPGA的自動售貨機N,中國科技博覽,201117鄒存名.基于DVI協(xié)議動態(tài)全彩LED大屏幕發(fā)送卡設(shè)計與實現(xiàn),大連理工大學(xué)碩士論文,200718陳測庫.高效Viterbi譯碼器

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論