畢業(yè)論文-自動售貨機(jī)_第1頁
畢業(yè)論文-自動售貨機(jī)_第2頁
畢業(yè)論文-自動售貨機(jī)_第3頁
畢業(yè)論文-自動售貨機(jī)_第4頁
畢業(yè)論文-自動售貨機(jī)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、共享知識分享快樂盛年不重來,一日難再晨。及時宜自勉,歲月不待人畢業(yè)設(shè)計說明書自動售貨機(jī)控制系統(tǒng)的設(shè)計與仿真共享知識分享快樂摘要隨著社會的進(jìn)步,科學(xué)的發(fā)展,生活水平的提高,單一傳統(tǒng)的生活方式已經(jīng)不能滿 足現(xiàn)代居民對高品質(zhì)生活的追求,在這種現(xiàn)象下,許多自動化設(shè)備應(yīng)時代應(yīng)潮流而生。 自動售貨機(jī)作為自動化設(shè)備中的最常見的設(shè)備之一,由于其眾多的優(yōu)點(diǎn),已經(jīng)在世界各 地得到了普遍的發(fā)展并且還在不斷地發(fā)展。自動售貨機(jī)掀起了繼百貨商店和超市之后的又一零售狂潮,這種智能售貨系統(tǒng)在車站、教學(xué)樓、辦公樓等公共場所有著廣闊的發(fā)展 前景。本文在對自動售貨機(jī)的背景歷史和發(fā)展趨勢進(jìn)行了研究介紹之后,對課題中的自動 售貨機(jī)系統(tǒng)

2、進(jìn)行了整體的設(shè)計及規(guī)劃。該自動售貨機(jī)控制系統(tǒng)是基于EDAJ術(shù)來實(shí)現(xiàn)的, 同時,利用Altera公司的Quartus H 14.0作為其軟件開發(fā)平臺,利用 VHDL®程語言輸 入的方式完成了軟件設(shè)計。本設(shè)計方案對整個控制系統(tǒng)進(jìn)行了層次化的編寫。把整個系 統(tǒng)劃分為6個子模塊,分別是找零計算模塊、確認(rèn)取消控制模塊、找零控制模塊、總錢 數(shù)加和模塊、顯示模塊、鎖定模塊,并且對每一個子模塊進(jìn)行了詳細(xì)的軟件設(shè)計。在頂 層文件中通過調(diào)用各個子模塊來完成 vhdl程序的設(shè)計。最后在對每一個子模塊完成了功能仿真測試驗證,同時也對整個系統(tǒng)進(jìn)行頂層設(shè)計 和仿真測試,測試結(jié)果表明了整個控制系統(tǒng)的合理性以及正確

3、性。整個控制系統(tǒng)設(shè)計簡 單合理,操作簡單,滿足售貨機(jī)的基本要求,具有一定的實(shí)用意義。關(guān)鍵詞:自動售貨機(jī)、VHDL EDA Quartus HAAAAAAAAAbstractAbstract: With the progress of the society, the development of the scientific, and the improvement of living standards, single traditional way of life has not meet modern residents' pursuit of high quality life

4、, under this kind of phenomenon, a number of automation equipment should come into being. Vending machine as one of the most common equipment in the automation equipment, has been develop all over the world and develop constantly because it has many advantages .Vending machines set off after departm

5、ent stores and supermarkets in another retail frenzy, this intelligent vending system has broad prospects for development in the station, school buildings, office buildings and other public places.Based on the background of the vending machine, the article designs and plans the project of vending ma

6、chine system after introducing the history and development trend.The vending machine control system is based on the EDA technology to realize, at the same time, it used Quarter H 14.0 of the Altera corporation as the software development platform, taking advantage of VHDL programming language input

7、completed the software design. The design scheme is hierarchical write for the whole hierarchical control system.The whole system is divided into six sub modules, change calculation module, confirming cancellation control module, the change control module, total amount module, display module, lockin

8、g module, and each child module software design is design in detail.On the top floor file by calling each module to complete the VHDL program design.Finally, The design scheme completed the function simulation test to verify for each child modules, and conducts Top-level design and simulation test f

9、or the whole system, the test results show the rationality and validity of the whole control system. The design of the whole control system is simple and reasonable, the operation is simple, it meets the basic requirement of the vending machine and has certain practical significance.keywords :The ve

10、nding machine 、 EDA、VHDL、 Quqrtus H1緒論1.1 課題研究背景早在20世紀(jì)30年代,出售香煙的自動售貨機(jī)就在美國被研制出來了,此后,各類自 動售貨機(jī)也相繼被研究出來。到了 20世紀(jì)的70年代,自動售貨機(jī)在歐美地區(qū)和日本的發(fā) 展已經(jīng)相當(dāng)?shù)钠毡?。早?998的數(shù)據(jù)統(tǒng)計中,日本就已經(jīng)有了 550萬臺各式各樣各種功 能的自動售貨機(jī),而美國所擁有的自動售貨機(jī)的數(shù)量更是高達(dá)700萬臺,也就是說在上個世紀(jì)末在日本平均23個人就擁有一臺自動售貨機(jī),而美國則是平均 35個人就擁有一 臺。自動售貨機(jī)的優(yōu)點(diǎn)之一就是無需人工看守,這點(diǎn)在當(dāng)今世界人工勞動力成本普遍急 劇上升的年代成為了

11、各商家最看重的一點(diǎn),它可以 24小時不斷的進(jìn)行自動售貨操作,在 為商家降低成本的同時大大的增加了收益。同時,其操作方便簡單、占地面積小、全自 動化等優(yōu)點(diǎn)使其迅速在全世界各地普及開來。日本作為使用自動售貨機(jī)最普遍的國家, 其國內(nèi)的罐裝飲料有大約70溢通過自動售貨機(jī)來出售的,銷售額為世界第一;在西班 牙,全國零售業(yè)的銷售額一半以上是由自動售貨機(jī)來完成的,并且每年的速度都在不斷 增長。從這些數(shù)據(jù)可以看出自動售貨機(jī)所涉及的行業(yè)在零售行業(yè)中占據(jù)著不可替代的重 要作用。1.2 課題研究的目的與意義隨著社會的不斷發(fā)展與進(jìn)步,城鎮(zhèn)居民的收入日漸增多,生活條件也越來越好,城 鎮(zhèn)居民的消費(fèi)方式和消費(fèi)心理也正慢慢發(fā)

12、生改變。快捷自動化的生活方式正是快節(jié)奏生 活下人們所追求的一種高品質(zhì)的生活方式。 而自動售貨機(jī)作為商業(yè)自動化的一種常見設(shè) 備,無論是在國內(nèi)還是國外,都深受消費(fèi)者的喜愛,時代的發(fā)展為自動售貨機(jī)提供了良 好的發(fā)展條件。然而,我國的自動售貨機(jī)行業(yè)的發(fā)展卻遠(yuǎn)遠(yuǎn)及不上歐美和日本等國家, 究其原因一個方面是因為我國的自動售貨機(jī)行業(yè)發(fā)展比較晚,另外一方面是因為我國要普遍發(fā)展自動售貨機(jī)也有著技術(shù)的瓶頸。自動售貨機(jī)是一種內(nèi)部集成度高、技術(shù)復(fù)雜的 高科技設(shè)備,而現(xiàn)在我國多數(shù)企業(yè)都缺乏自主研發(fā)自主創(chuàng)新的精神,使得自動售貨機(jī)的 很多關(guān)鍵零件都要從國外進(jìn)口,因此想要在國內(nèi)發(fā)展這一行業(yè),解決相關(guān)技術(shù)問題自主 開發(fā)自動售貨

13、機(jī)是最重要的。我國引進(jìn)自動售貨機(jī)已有差不多二十年的時間,然而至今在國內(nèi)運(yùn)營和自主研發(fā)制 造自動售貨機(jī)的企業(yè)少之又少,國外的自動售貨機(jī)還毫無疑問的占據(jù)著我國絕大部分的 的市場。這種現(xiàn)象嚴(yán)重阻礙了我國發(fā)展自動售貨機(jī)行業(yè)。因此,加快腳步和加大力度去 自主研制自動售貨機(jī)是很有必要的,同時,更要時時關(guān)注最先進(jìn)的科學(xué)技術(shù),盡可能的 把這些高科運(yùn)用到自動售貨機(jī)行業(yè)中去, 只有這樣才能讓該行業(yè)在我國得到更好更快的 的發(fā)展。1.3 國內(nèi)外研究現(xiàn)狀及趨勢目前,自動售貨機(jī)已經(jīng)在發(fā)達(dá)國家得到了廣泛的運(yùn)用,而我國由于行業(yè)起步較晚的 原因使得各方面技術(shù)還不夠成熟,還需要加大力度去積極發(fā)展這一行業(yè)。在 2012六月 份,我

14、國各式各類的自動售貨機(jī)的總量只有三萬臺,而在2013六月份,該數(shù)量已經(jīng)上升至五萬臺,增長幅度高達(dá)差不多 50%當(dāng)然由自動售貨機(jī)帶來的營業(yè)額也是非常龐大 的。隨著科技的不斷發(fā)展,如今的自動售貨機(jī)也越來越先進(jìn),其中設(shè)備的科技含量也日 漸增高。自動售貨機(jī)的發(fā)展歷程如 圖所示:目前我國生產(chǎn)自動售貨機(jī)主要有以下幾家比較知名的廠家:上海艾絲明自動售貨機(jī) 有限公司,主要生產(chǎn)咖啡機(jī);天津歌德公司,主要生產(chǎn)咖啡機(jī);大連富士冰山公司,主 要生產(chǎn)飲料機(jī)。除此之外還有青島澳柯瑪自動商用設(shè)備有限公司、天津奧萊特自動售貨 機(jī)有限公司等公司生產(chǎn)的自動售貨機(jī)也是比較常見的。自動售貨機(jī)的發(fā)展趨勢是由于社會的產(chǎn)業(yè)結(jié)構(gòu)發(fā)生變化的產(chǎn)

15、物。由于社會的消費(fèi)方 式、銷售環(huán)境等的變化,自動售貨機(jī)的售貨方式作為一種新的流通渠道,自然而然自動 售貨機(jī)也就應(yīng)時代發(fā)展而生了。自動售貨機(jī)從一開始的功能單一結(jié)構(gòu)單一發(fā)展到現(xiàn)在的 功能多元化個性化,該行業(yè)也成為信息化的一種表現(xiàn)。而且自動售貨機(jī)的發(fā)展為了適應(yīng) 社會的發(fā)展也將會更加合理化人性化,它已不僅僅是一臺用來銷售商品的機(jī)器,隨著科 技的發(fā)展,通信的發(fā)展,互聯(lián)網(wǎng)的發(fā)展,它也必將向著相互連通的信息生態(tài)圈的方向發(fā) 展,必將發(fā)展成為一種集商品銷售、信息流通等于一體的高科技的終端設(shè)備。1.4 課題研究的主要內(nèi)容本文主要研究利用自動售貨機(jī)來完成商品處理、貨幣找零、出貨操作、led顯示等功能。完成的工作主要

16、包括以下幾個方面:1 .對自動售貨機(jī)的歷史及發(fā)展前景做了簡單的陳述。2 .對課題中用白比較多的 EDA技術(shù)以及VHDL語言、Quarter II軟件開發(fā)平臺的 相關(guān)知識做了簡單的介紹。3 .在對自動售貨機(jī)的整個控制系統(tǒng)進(jìn)行了一定的研究和分析之后,提出了整體設(shè)計Zu 04 .對各個子模塊功能的利用vhdl語言程序的輸入的方式進(jìn)行了詳細(xì)的分析設(shè)計, 并且對每一個子模塊進(jìn)行了仿真測試,對其相對應(yīng)的功能進(jìn)行了驗證。最后對整個系統(tǒng) 進(jìn)行頂層設(shè)計,同時也對整個系統(tǒng)進(jìn)行了仿真,對整個自動售貨機(jī)的功能進(jìn)行了驗證。2相關(guān)技術(shù)簡介2.1 EDA技術(shù)電子設(shè)計自動化技術(shù)就是常見的 EDA技術(shù)的簡稱,這種技術(shù)在現(xiàn)代電子

17、設(shè)計中有著 非常重要的作用。ED儆術(shù)以強(qiáng)大的計算機(jī)為依賴,在相應(yīng)的軟件開發(fā)平臺上,利用硬 件描述語言(HDL來完成系統(tǒng)的各項功能的邏輯描述。EDA技術(shù)有著豐富的內(nèi)容,與電子技術(shù)很多領(lǐng)域有著密不可分的聯(lián)系,所以其發(fā)展 同計算機(jī)輔助工程、電子設(shè)計技術(shù)以及集成電路的大規(guī)模設(shè)計技術(shù)等都是同步發(fā)展的。 就近30多年來其發(fā)展可分為以下階段:上世紀(jì)70年代可編程邏輯器件開始問世,集成電路得到廣泛應(yīng)用,CADft術(shù)也開始發(fā)展,EDAft術(shù)也就是在這個時候開始出現(xiàn)。上世紀(jì)80年代進(jìn)入商用的復(fù)雜可編程邏輯器件、FPGAS件的出現(xiàn)、CADK術(shù)廣泛的應(yīng)用、各類硬件描述語言的相繼出現(xiàn),這些解決EDA技術(shù)要廣泛運(yùn)用過程中

18、所遇到的各種問題,為其規(guī)范應(yīng)用奠定了基礎(chǔ)。上世紀(jì)90年代,CAD CAE?技術(shù)已經(jīng)被廣泛應(yīng)用在電子領(lǐng)域方面。同時,通信 技術(shù)的發(fā)展、計算機(jī)技術(shù)的發(fā)展使得 EDAK術(shù)有了更大的發(fā)展空間。發(fā)展至現(xiàn)在的EDA技術(shù),CPLDffi FPG*可編程邏輯器件是被應(yīng)用得最多的,這些 器件是利用硬件編程語言來進(jìn)行軟件設(shè)計以完成功能設(shè)計,這樣的設(shè)計方式簡單方便, 有著非常大的靈活性。可編程邏輯器件和可編程語言的發(fā)展改變了傳統(tǒng)的電子設(shè)計的設(shè) 計方法和設(shè)計理念,同時也讓 EDAK術(shù)有了更快的發(fā)展。EDAK術(shù)在現(xiàn)代社會的發(fā)展及 應(yīng)用范圍是非常廣泛的,不僅在農(nóng)業(yè)、醫(yī)學(xué)、軍事等領(lǐng)域被應(yīng)用,在通信、化學(xué)、交通、 航天等領(lǐng)域

19、更是有著不可替代的重要作用。(EDAK術(shù)與VHDL P12.2 VHDLVHDL 的全稱是 Very High Speed Circuit Language,與另一種 VerilogHDL 語言是現(xiàn) 在電子設(shè)計自動化中用的最多的兩種硬件描述語言 ,現(xiàn)在用的比較多的EDA工具基本都 支持這兩種語言,在電子領(lǐng)域中已經(jīng)成為了通用的硬件描述語言。VHDL是一種無關(guān)設(shè)計平臺、無關(guān)具體的硬件電路的語言。跟一般的高級語言類似, 不過卻有著一般高級語言沒有的具有硬件特性的語句,能很好的描述數(shù)字電路的功能和 結(jié)構(gòu)。VHDL的結(jié)構(gòu)特點(diǎn)是設(shè)計一項工程或?qū)嶓w,一個元件、一個系統(tǒng)或者一個電路模 塊都可以設(shè)計成為一個實(shí)體

20、,被設(shè)計好的實(shí)體可以很方便的被調(diào)用, 這是VHDL很大的 一個特點(diǎn)。與其他的硬件描述語言相比,VHDL有以下特點(diǎn):設(shè)計好的模塊可以任意無數(shù)次的被調(diào)用,很好的做到了資源共享和重復(fù)利用這 一點(diǎn),大大減少了設(shè)計人員的工作量和工作時間。語言的設(shè)計描述與器件無關(guān),設(shè)計人員在進(jìn)行電路的設(shè)計的時候,可以把精力放在優(yōu)化電路上而不用先去考慮器件的選擇,VHD®以采用不同的器件來實(shí)現(xiàn)已經(jīng)描述好的電路設(shè)計。語言功能強(qiáng)大,設(shè)計方法靈活,支持各式各樣的設(shè)計方法,無論是自頂向下還 是自底向上的設(shè)計方式在 VHD葉都可以靈活的被運(yùn)用。同時,模塊化設(shè)計,層 次化設(shè)計等設(shè)計方法也是被支持的。具有很強(qiáng)的移植能力,對于同

21、一個 VHD國序,它可以在不同的工作平臺、綜合 器、模擬器之間相互移植。一個完整的VHD叫序代碼2構(gòu)包括4個模塊,庫和程序包的模塊、實(shí)體模塊、結(jié)構(gòu) 體模塊、配置結(jié)構(gòu)模塊。具結(jié)構(gòu)圖如 圖所示:VHDL代碼程序用L1HRAHY,琳E笫語句引導(dǎo)的庫和程序過謔用聲明安隹由明is ri n卜| I Nl I I >始檢體描述二、 ARC HI FkCl UKb/猿戲動屈柿述】)ENDARCHTTECTTJHE :配五骷構(gòu)CONFIGURATION2.3 Quartus n 軟件Quartus II是由Altera 公司開發(fā)的一種 EDAX具,是經(jīng)過A+plus、然后至U MAX+plus, 再到M

22、AX+plusll發(fā)展而來的。Quartus II支持多種輸入方式,例如原理圖輸入,硬件編 程語言輸入等,在使用 Quartus R軟件時,它會將設(shè)計人員設(shè)計好的硬件編程語言或者 原理圖等自動轉(zhuǎn)換目標(biāo)文件,最后將目標(biāo)文件下載到器件中。通過 DSP Builder工具, Quartus II能很好的跟Matlab、Simulink等結(jié)合起來,從而能夠方便快捷的實(shí)現(xiàn)不同的 DSP系統(tǒng)的設(shè)計。因為有著簡單直接的入口和很強(qiáng)的設(shè)計能力,以及使用靈活、方便快 捷的優(yōu)點(diǎn),所以很受廣大設(shè)計者的青睞。Quartus II軟件有以下特點(diǎn):支持多平臺的設(shè)計輸入,結(jié)合其處理和驗證功能使其成為一個全集化的開發(fā)平臺,讓開

23、發(fā)周期變短。是一個與結(jié)構(gòu)無關(guān)的開發(fā)工具,Quartus II通過把Cyclone、APEX Mercury等設(shè)計環(huán)境轉(zhuǎn)化為所需要的格式,真真正正的成為唯一一個與結(jié)構(gòu)無關(guān)的開發(fā)工 具。具有很具有全面的可設(shè)計開發(fā)資源,是一個集系統(tǒng)設(shè)計、軟件開發(fā)、邏輯設(shè)計 于一體的綜合性開發(fā)平臺。Quartus II的編程設(shè)計流程圖所示:2.4 Modelsim仿真工具M(jìn)odelsim提供了可以與其他 EDAX具(如Quartus U )的接口工具。Modelsim支持 Verilog、vhdl或者二者相結(jié)合的混合。針對不同的使用環(huán)境,Modeislm分為不同的版本,常見的版本有:Modelsim AE Model

24、sim ASE Modelsim SE等。在本文的設(shè)計的版 本是Modelsim ASE10.1版本。VHDL勺仿真流程如 圖所示,首先在VHDl仿真器中對已設(shè) 計好的VHDL源代碼進(jìn)行編譯,等到代碼被編譯正確后就會被轉(zhuǎn)換為中間格式,中間數(shù) 據(jù)的結(jié)果將會保存在仿真數(shù)據(jù)庫中,一般來說,VHDL®代碼在編譯好的仿真庫就是WORK 庫。設(shè)計者通過編寫TestBeach文件來干預(yù)仿真的過程,在本文的設(shè)計中,計時通過編 寫不同的TestBeach文件來對不同的模塊代碼進(jìn)行仿真測試。慳序ModfLSE蝙洋 now舊山林久3系統(tǒng)總體方案3.1 設(shè)計要求本文設(shè)計的售貨機(jī)系統(tǒng)中只有一種,價格為 13元

25、;可以投入三種不同的貨幣來購買商品,分別是 1元、5元、10元; 每次只允許購買一個商品,若想要購買多個商品,則需要重復(fù)執(zhí)行購買操作; 售貨機(jī)的顯示器會實(shí)時更新顯示總共投入的貨幣的總額;當(dāng)投入貨幣后,如果不想購買商品了則可以通過按取消鍵來退還投入的貨幣, 否則就按確定鍵來獲取商品;設(shè)置兩個指示燈,分別是購買指示燈和取消指示燈,當(dāng)顧客按下確定鍵后購買 指示燈亮起;若顧客按下取消鍵,則取消指示燈亮起;3.2 總體設(shè)計通過分析系統(tǒng)的設(shè)計要求以及考慮到系統(tǒng)本身,本文對整個總動售貨機(jī)系統(tǒng)采用自 頂向下的設(shè)計方法,自頂向下的設(shè)計方法如 圖所示,采用自頂向下的設(shè)計方法的優(yōu)點(diǎn)是 很明顯的。由于系統(tǒng)設(shè)計從頂層開

26、始,所以在進(jìn)行設(shè)計時就清楚實(shí)現(xiàn)整個系統(tǒng)的性能狀 況。隨著設(shè)計向下一級進(jìn)行,系統(tǒng)的性能就能進(jìn)一步得到細(xì)化和表達(dá),并且可以根據(jù)個 人需要隨時修改和調(diào)整,縮短了設(shè)計周期。用系統(tǒng)行為描述個包畬輸入輸手的頂層模塊,同時完成整個系統(tǒng)的欖擬與性能分析將系統(tǒng)劃分為各個功能模塊,每個模城山史細(xì)化的行為描述表達(dá)由EDA綜合工具完成到工藝的歌對對整個系統(tǒng)的頂層文件進(jìn)行如下端口設(shè)計:輸入端口: clk,輸入時鐘信號;rst ,復(fù)位信號;C1,投入一張1元貨幣;C5, 投入一張5元貨幣;C10,投入一張10元貨幣;ok_in,確認(rèn)信號;cancel_in , 取消信號。輸出端口: led_buy,確認(rèn)購買指示燈;led

27、_cancel,取消購買指示燈;en_deliver, 出貨信號;led1,投入貨幣總數(shù)的個位數(shù)(單位是元);led10,投入貨幣總數(shù)的 十位數(shù)(單位是元)。內(nèi)部可讀輸出端口: RC1,1元退幣控制信號;RC5,5元退幣控制信號;RC10,10 元退幣控制信號。端口原理圖如圖所示:totalEsncei m CM rs-1RC5RCWTH01%西k?d cance)X XX*X Xmst在確定了整個系統(tǒng)的輸入輸出端口后,給出自動售貨機(jī)的系統(tǒng)內(nèi)部的工作原理當(dāng)系統(tǒng)接收到復(fù)位信號后,其他所有的控制信號和標(biāo)識信號都清空為零,系統(tǒng)處于 等待指令的狀態(tài)。當(dāng)系統(tǒng)接收到相關(guān)信號輸入時,系統(tǒng)開始工作。顧客確定購

28、買商品時,開始投入貨 幣,當(dāng)投入貨幣為1元、5元、10元時,將分別產(chǎn)生一個時鐘寬度的信號 C1、C5 C1Q 所投入的貨幣總額會實(shí)時計算并通過顯示器顯示出來。當(dāng)顧客確定購買商品并按下確認(rèn)鍵的時候,自動售貨機(jī)會產(chǎn)生一個時鐘信號 ok_in,而且由led_buy控制的代表確認(rèn)購買的指示燈會閃爍。 如果投入貨幣的總額大于商品價 格時,則送出商品并計算出余額操作退出余額,此時出貨指示燈閃爍。如果投入的貨幣 不足以支付商品價格,自動售貨機(jī)會退還所有貨幣。當(dāng)顧客投入貨幣又不想購買商品時,就可以通過按下取消鍵來取消購買,這時系統(tǒng) 會產(chǎn)生一個時鐘信號cancel_in ,同時通過找零控制模塊來執(zhí)行相應(yīng)操作退還

29、貨幣。如 果確認(rèn)鍵或者取消鍵被按下后,自動售貨機(jī)會產(chǎn)生一個lock_out_entry 內(nèi)部信號,當(dāng)發(fā)出信號后,所有的操作都是無效的。當(dāng)完成所有的操作后,將產(chǎn)生一個 clear消除信號,此時所有的信號都會被清除, 自動售貨機(jī)開始等待下一次操作。整個系統(tǒng)的投幣購物流程如圖所示:零控制模塊、確認(rèn)取消將整個系統(tǒng)劃分成六個模塊,模塊、總額加和模塊、鎖定模塊和顯示模塊。各模塊的功能:余額計算模塊:當(dāng)顧客確認(rèn)購買商品并按下了售貨機(jī)的確認(rèn)鍵后,找零模塊就開始 計算出應(yīng)該退還的余額。找零控制模塊:在顧客確定購買商品后執(zhí)行找零操作,或者是在顧客取消購買后執(zhí) 行退還原款操作。確認(rèn)取消模塊:顧客在選擇購買商品或者取

30、消購買商品后,將輸入的確認(rèn)信號或者 取消信號分別轉(zhuǎn)換成單時鐘周期的控制信號,并且控制相對應(yīng)的信號燈的亮和不亮??傤~加和模塊:不斷的更新并計算售貨機(jī)收到的總貨幣數(shù)量。鎖定模塊:可以按下確認(rèn)鍵或者取消鍵,當(dāng)其中任意一個鍵被按下后,整個自動售 貨機(jī)系統(tǒng)的按鍵的輸入都是無效的。顯示模塊:通過控制兩個顯示器(ledl和led10)來顯示所投入貨幣的總額。整個自動售貨機(jī)的內(nèi)部工作過程的總體框圖如圖所示:確認(rèn)取消模塊» 找零控制模塊鎖定模塊余額計算模塊總額加和模塊 f 顯示模塊對每一個子模塊進(jìn)行 VHD段計,然后對其進(jìn)行編譯,再編譯沒有錯誤后,通過編寫TestBeach文件來對其進(jìn)行仿真測試來驗證

31、每一個模塊的功能是否正確。在頂層文件的 vhdl程序設(shè)計中,通過特定的例化語句將已經(jīng)設(shè)計好的 6個子模塊進(jìn)行例化,然后直接 對各個模塊進(jìn)行調(diào)用,整個頂層程序的設(shè)計就是通過調(diào)用底層的 6個模塊來實(shí)現(xiàn)的,完 成頂層設(shè)計后再對整個系統(tǒng)進(jìn)行仿真測試。4軟件設(shè)計及仿真測試4.1 確認(rèn)取消模塊(ok_cancel模塊)4.1.1 設(shè)計思想及工作原理在確認(rèn)取消模塊中,顧客可以在投幣之后選擇繼續(xù)購買商品或者取消購買商品,若 確定購買則會產(chǎn)生一個確認(rèn)信號,而該模塊可以把該信號轉(zhuǎn)換成單時鐘的控制信號,同 時確定購買led_buy顯示燈會亮;同樣,若顧客按下取消健,則該模塊會將輸入的取消 信號轉(zhuǎn)換單時鐘周期的控制信

32、號,同時確定購買cancel_buy顯示燈會變亮。確認(rèn)取消模塊有以下輸入端口 :輸入端口: clk,輸入時鐘信號;rst ,復(fù)位信號;clear ,清除信號; lock_out_entry ,鎖定信號;ok_in,確認(rèn)信號;cancel_in ,取消信號。輸出端口: ok,內(nèi)部時鐘確認(rèn)控制信號;cancel,內(nèi)部時鐘取消控制信號;led_buy, 確認(rèn)購買指示燈控制信號;led_cancel,取消購買指示燈控制信號。電路原理圖如圖所示:JllC elXXX . 安rsl clear forknUftrlrycancel nokrantetikftflbtfy*ed_capceiX-該模塊的工作

33、過程如下:首先系統(tǒng)復(fù)位,等待確認(rèn)購買信號或者取消購買信號的輸入,當(dāng)收到信號后,系統(tǒng)會根據(jù)接收到的信號立即生成一個相對應(yīng)的內(nèi)部控制信號ok信號或者cancel信號。同時,指示燈會根據(jù)接收到的控制信號led_buy或者led_cancel 來顯示燈的亮和滅。此過程中,當(dāng)系統(tǒng)第一次接收到確認(rèn)購買信號或者取消信號后,將 會岸上產(chǎn)生一個鎖定信號lock_out_entry ,當(dāng)接收到此信號后,整個系統(tǒng)的所有操作都 會無效,直到系統(tǒng)執(zhí)行完畢,模塊接收到清零信號后,所有信號都會被清空歸零。由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:4.1.2 仿真測試對確認(rèn)取消模塊進(jìn)行仿真測試后,得到如圖所示

34、的仿真波形圖:對所得到的仿真波形圖進(jìn)行分析:在 15ns前,系統(tǒng)復(fù)位;在30ns的時候,系統(tǒng)接收到一個確認(rèn)購買的信號,此時會生成 ok信號,即一個時鐘的內(nèi)部控制信號同一時間,會發(fā)出一個控制信號led_buy,以此來控制購買指示燈亮。在時間為31ns 時,可以看到系統(tǒng)發(fā)出了一個鎖定信號lock_out_entry,當(dāng)系統(tǒng)接收到該信號后,其他所有的按鍵操作都將被視為無效,所以在40ns時輸入的cancel信號不會被響應(yīng);在60ns時操作執(zhí)行完畢,系統(tǒng)接收到一個clear的控制信號,此時鎖定信號歸零,同時led_buy控制信號歸零4.2 找零控制模塊(refund模塊)4.2.1 設(shè)計思想及工作原理

35、找零控制模塊有以下輸入端口 :輸入端口: clk,輸入時鐘信號;rst ,復(fù)位信號;clear ,清除信號;ok,接收到 確認(rèn)信號;cancel ,接收到取消信號;suml,表示接收到的投入1元貨幣的信號; sum_5,接收到的投入5元貨幣的信號;sum10,表示接收到的投入10元貨幣的信 號;sum,投入貨幣總和信號;Rsum1退出1元貨幣的數(shù)量;Rsum5退出5元貨 幣的數(shù)量;Rsum10退出10元貨幣的數(shù)量;輸出端口: en_deliver,給貨控制信號;RC1退幣1元的信號;RC5退幣5元的 信號;RC10退幣10元的信號。電路原理圖如圖所示:當(dāng)系統(tǒng)接收到確認(rèn)取消模塊發(fā)來的確認(rèn)購買信號

36、時,則該模塊開始執(zhí)行找零過程,同時發(fā)出給貨控制信號en_deliver ,當(dāng)找零操作完成后系統(tǒng)發(fā)出清零信號;當(dāng)系統(tǒng)接收 到其他模塊發(fā)出的取消購買信號后,則該模塊開始執(zhí)行退幣操作,模塊會根據(jù)投入的貨 幣發(fā)出不同的退幣控制信號,從而完成所有貨幣的退還,操作完成后系統(tǒng)發(fā)出清零信號。由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:4.2.2 仿真測試對找零控制模塊的仿真有2種情況:1、確認(rèn)購買操作;系統(tǒng)執(zhí)行取消購買操作,得到如圖所示的仿真波形圖:分析上圖中的波形圖可以看出:在 5ns前,系統(tǒng)復(fù)位;在10ns時,系統(tǒng)接收到 確認(rèn)購買信號ok,同時接收到信號sum,表示系統(tǒng)收到投入貨幣為15元,

37、在同一時 刻發(fā)出給貨信號 en_deliver;在11ns的時候,就收到了其他模塊發(fā)來的退幣信號 Rsum_10,可以看出當(dāng)投入貨幣依次是15、14、13元時,退幣金額分別為2、1、0 元;當(dāng)給貨信號完畢后,該模塊立即產(chǎn)生退幣信號,系統(tǒng)開始執(zhí)行找零操作,操作完成后系統(tǒng)清零2、取消購買操作;對系統(tǒng)執(zhí)行取消購買操作,得到如圖所示的仿真波形圖:II:1eknd岫/邛離djnd_i襪 青 eKjtL.他口*機(jī)ELJ *蕾Rnd I|lurn5/ 心山丈酬迎in/. *efLnd_.而 sunl對該波形圖進(jìn)行分析可以看出:在 5ns前,系統(tǒng)處于復(fù)位狀態(tài);在10ns的時候,系 統(tǒng)接收到其他模塊發(fā)出的投幣信

38、號,分別投入了一張5元貨幣和一張10元貨幣,同時,接收到別的模塊發(fā)出的信號sum;在30ns時,系統(tǒng)接收到確認(rèn)取消模塊發(fā)出的取消信號, 則該模塊開始執(zhí)行退幣過程,退幣控制信號 RC50、RC100分別發(fā)出一個高電平信號, 每個退幣控制信號代表退出行對應(yīng)的一種貨幣;在操作完成后系統(tǒng)發(fā)出清零信號。4.3 總額加和模塊(sum_cash模塊)4.3.1 設(shè)計思想及工作原理總額加和模塊有以下輸入端口 :輸入端口: clk,輸入時鐘信號;rst ,復(fù)位信號;clear ,清除信號;C1,投入 一元貨幣信號;C5,投入五元貨幣信號;C1Q投入十元貨幣信號;RC1退幣1 元的信號;RC5,退幣5元的信號;R

39、C10退幣10元的信號;lock_out_entry,鎖 定信號。輸出端口: sum_1,表示發(fā)出1元貨幣的信號;sum_5發(fā)出5元貨幣的信號;sum_10, 發(fā)出10元貨幣的信號;sum,投入貨幣總和信號; 電路原理圖如圖所示:當(dāng)系統(tǒng)輸入不同的投幣信號時,則sum1,sum5,sum1Cgft會記錄相對應(yīng)的貨幣的數(shù)量, 而sum則記錄了投入貨幣的總額。當(dāng)貨幣投入完畢后,顧客會選擇確認(rèn)購買商品或者取 消購買,系統(tǒng)會根據(jù)接收到的不同的信號來執(zhí)行相應(yīng)的操作,當(dāng)找零模塊執(zhí)行完找零操 作或者退幣操作后總數(shù)加和模塊就會收到系統(tǒng)的清零信號,所有的內(nèi)部信號和表示都會被消除。由Quqrtus II軟件內(nèi)部生成

40、的RTL電路圖如圖所示:4.3.2 仿真測試對總額加和模塊進(jìn)行仿真測試得到如圖所示的波形圖:rtMII, 料一對圖中波形進(jìn)行分析可以發(fā)現(xiàn), 在5ns之前,系統(tǒng)在復(fù)位狀態(tài);在時間為20ns的時 候,系統(tǒng)接收到C1、CS C10發(fā)出的3個投幣信號,30ns時又收到1個1元投幣信號, 對應(yīng)的suml、sum5 sum10記錄了相對應(yīng)不貨幣的數(shù)量,sum則記錄了投入貨幣的總額; 在時間為40ns時,lock_out_entry 信號變?yōu)楦唠娖剑藭r其他按鍵都會無效;當(dāng)系統(tǒng) 開始接收到退幣信號后,相應(yīng)的sum1 sum5 sum1她會發(fā)生變化,找零結(jié)束后系統(tǒng)發(fā) 出清零信號,系統(tǒng)內(nèi)的表示和內(nèi)部信號都被消除

41、。4.4 余額計算模塊(calculator 模塊)4.4.1 設(shè)計思想及工作原理余額計算模塊有以下輸入端口 :輸入端口: rst ,復(fù)位信號;clear ,清除信號;ok,確認(rèn)購買信號;輸出端口: sum1,投入1元貨幣的信號;sum5,投入5元貨幣的信號;sum10,投入10元貨幣 的信號;sum,投入貨幣總和信號。雙向端口 R: sum1,退還1元貨幣的信號;Rsum5退還5元貨幣的信號;Rsum10, 退還10元貨幣的信號。電路原理圖如圖所示:rstdwrum4 研htSUmlRsum53. Q Ysuml 4.0 aum5+.O tmtil 0(4 fl余額計算模塊在收到其他模塊發(fā)出

42、的確認(rèn)購買信號后,就會開始執(zhí)行操作。根 據(jù)所投入的貨幣總額,可以分為 3種情況:投入貨幣小于商品價格,該情況下售貨 機(jī)會退還所有貨幣;投入貨幣剛好等于商品價格,該情況下退還余額為零;投入貨 幣大于商品價格,該情況則根據(jù)商品的價格和顧客投入總額的差額來計算應(yīng)找余額。 由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:;E=ftL;二"-4T 4. jqp口fiTfrX>C'rH-S=-O-ZP4.4.2 仿真測試對余額計算模塊的仿真有3種情況:1、投入貨幣小于商品價格;2、投入貨幣等于商品價格;3、投入貨幣大于商品價格;對于第1種情況,得到如圖所示的仿真波形:對于

43、上面的波形圖,可以看出在時間為 5ns前,系統(tǒng)復(fù)位;在10ns的時候,系統(tǒng)接 收到投入一張10元貨幣的信號和一張1元貨幣,接著在20ns的時候,系統(tǒng)接收到控制 確認(rèn)購買的信號ok,經(jīng)過計算最后得到投入的貨幣總額11元小于商品的設(shè)定價格13元, 所以系統(tǒng)將發(fā)出退款信號,Rsum10ffi Rsum他被賦值為1,表示要退還10元貨幣和一 元貨幣,當(dāng)系統(tǒng)的找零控制模塊接收到此信號后會執(zhí)行相應(yīng)操作;在時間 40ns時,發(fā) 出清零信號。對于第2種情況,得到如圖所示的仿真波形:對于上面的波形圖,可以看出在時間為 5ns前,系統(tǒng)復(fù)位;在10ns的時候,系統(tǒng)接 收到投入一張10元貨幣和3張一元貨幣的信號,接著

44、在20ns的時候,系統(tǒng)接收到控制 確認(rèn)購買的信號ok,經(jīng)過計算最后得到投入的貨幣總額 13元剛好等于商品的設(shè)定價格 13元,所以系統(tǒng)將發(fā)出退款信號,Rsum10 Rsum5 Rsum1 勻被賦值為0,表示要退還貨 幣均為0,當(dāng)系統(tǒng)的找零控制模塊接收到此信號后會執(zhí)行相應(yīng)操作;在時間40ns時,發(fā)出清零信號,清除系統(tǒng)內(nèi)部信號。對于第3種情況,得到如圖所示的仿真波形:對于上面的波形圖,可以看出在時間為 5ns前,系統(tǒng)復(fù)位;在10ns的時候,系統(tǒng)接 收到投入2張貨幣的信號,接著在20ns的時候,系統(tǒng)接收到控制確認(rèn)購買的信號 ok, 經(jīng)過計算最后得到投入的貨幣總額 20元大于價格13元,所以系統(tǒng)將發(fā)出退

45、款信號, Rsum10 Rsum5 Rsum份別被貝8值為2、1、0,表示要退還貨幣均為2張1元,1張5 元,當(dāng)系統(tǒng)的找零控制模塊接收到此信號后會執(zhí)行相應(yīng)操作;在時間 40ns時,發(fā)出清 零信號,消除系統(tǒng)內(nèi)部信號。4.5 鎖定模塊(lock模塊)4.5.1 設(shè)計思想及工作原理鎖定模塊有以下輸入輸出端口 :輸入端口: rst ,復(fù)位信號;clear ,清除信號;ok,確認(rèn)購買信號;cancel , 取消購買信號。輸出端口: lock_out_entry, 鎖定信號。端口原理圖如圖所示:;lockrstclearDKcancelnst當(dāng)該模塊接收到確認(rèn)取消模塊發(fā)出的無論是確認(rèn)信號還是取消信號,都會

46、發(fā)出 一個鎖定信號,從而鎖定整個系統(tǒng)的其他任何操作。由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:LATCHliO-I110> bclMjrtry4.5.2 仿真測試對鎖定模塊進(jìn)行仿真測試,得到如圖所示波形:對該波形圖進(jìn)行分析:在5ns前,系統(tǒng)復(fù)位;在20ns時,系統(tǒng)接收到確認(rèn)取消 模塊發(fā)出的cancel控制信號,此時該模塊會立即產(chǎn)生lock_out_entry 信號,即按 鍵鎖定信號;在40ns時,系統(tǒng)操作結(jié)束,發(fā)出清零信號。4.6 顯示模塊4.6.1 設(shè)計思想及工作原理輸入端口: din,表示收到貨幣總額信號。輸出端口 : ledl,顯示貨幣的個位數(shù);led10 ,顯示貨

47、幣的十位數(shù)。顯示模塊會實(shí)時顯示售貨機(jī)收到的貨幣總額,并且通過ledl來顯示投入貨幣的個位數(shù),led2來顯示投入貨幣的十位數(shù)。在該模塊中,調(diào)用了一個數(shù)碼管顯示的元件 disp7Lock模塊的端口原理圖如圖所示:由部din4.Oled16.O ted26. .0 Kinst由Quqrtus II軟件內(nèi)部生成的TRL電路圖如圖所示:4.6.2 七段數(shù)碼管顯示器設(shè)計在元件disp7程序設(shè)計中,有一個輸入端口din, 一個輸出端口 leddisp7程序的端口原理圖如圖所示:disp7;X- din3 .0|led6 .0 一義inst該元件設(shè)計的主要目的是具體定義了從 09中每一個數(shù)值所對應(yīng)的字符串賦值

48、。由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:M卜g二 J-16 hft&Q二小5三4.6.3仿真測試顯示模塊仿真波形圖如圖所示:對該波形圖進(jìn)行分析:當(dāng)顯示模塊接收到用來控制貨幣總額的信號 din時,兩個led 顯示器會馬上將貨幣總額顯示出來。圖中可以看出,投入貨幣總額為15元,則ledl應(yīng)顯示為5, led2應(yīng)顯示為1,根據(jù)vhdl程序的設(shè)計,led信號用字符串" "1111001”來 顯示1,用字符串“0010010”來顯示數(shù)字5,圖中的波形圖說明了顯示器顯示是正確的。4.7頂層設(shè)計與分析頂層的設(shè)計就是對整個自動售貨機(jī)系統(tǒng)進(jìn)行設(shè)計,為了在整個系統(tǒng)中

49、達(dá)到連接底層元件從而形成更高層次的電路設(shè)計,在頂層文件的vhdl程序設(shè)計中使用了例化語句。在程序中利用component語句對準(zhǔn)備調(diào)用的元件做了聲明,并利用 net1net11 H一個 信號作為系統(tǒng)的內(nèi)部連線。顯然,元件例化的實(shí)質(zhì)就是引用一種連接關(guān)系,將之前已經(jīng)設(shè)計好的設(shè)計實(shí)體定義 為一個元件,然后把元件與當(dāng)前的設(shè)計實(shí)體的端口通過特定的語句連接起來,從而為當(dāng) 前的設(shè)計實(shí)體引進(jìn)新的低一級的設(shè)計層次。元件例化是vhdl設(shè)計實(shí)體完成自上而下層次化設(shè)計的一種途徑。4.7.1 設(shè)計思想及工作原理由Quqrtus II軟件內(nèi)部生成的RTL電路圖如圖所示:4.7.2仿真測試對整個系統(tǒng)進(jìn)行功能仿真測試,對仿真的結(jié)果的其中一部分進(jìn)行分析,對以下 兩種仿真情況進(jìn)行分析:1、確認(rèn)購買但余額不足2、確認(rèn)購買且需要找零對第1種情況進(jìn)行仿真得到如圖的仿真圖:,一1jXtai主 力n,云北3_到3qMfl1pn 叫juulWUUlyrm.iwdi.minrnKmr.nrLnri.w口m-LjM&Jh蒞弓Q_ru/W 一曲七加1Q1j'sid JitiQkjnaZnJ1r5加_巾 七口a。f ad 甫1。10

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論