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

下載本文檔

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

文檔簡(jiǎn)介

1、摘要本系統(tǒng)采用了Altera的開發(fā)軟件的Quarts II。該軟件平臺(tái)進(jìn)行數(shù)字電路設(shè)計(jì)和仿真的方法;闡述了VHDL(Very High Speed Integrated Circuit Hardware Description Language語言的一些特點(diǎn)及語法結(jié)構(gòu);介紹了自動(dòng)售貨機(jī)系統(tǒng)的基本原理、系統(tǒng)組成和主要功能;并分析討論了用VHDL語言開發(fā)自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)流程。本設(shè)計(jì)利用Altera公司的開發(fā)軟件Quartus II平臺(tái),采用VHDL硬件描述語言編程的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)核心電路的硬件程序,在Quartus II軟件平臺(tái)上進(jìn)行編譯和電路仿真,最后生成的目標(biāo)文件下載到實(shí)驗(yàn)臺(tái)內(nèi)的FPGA

2、芯片以實(shí)現(xiàn)該系統(tǒng),并在實(shí)驗(yàn)臺(tái)上對(duì)設(shè)計(jì)進(jìn)行了驗(yàn)證。最終完成的自動(dòng)售貨機(jī)系統(tǒng)具有投幣處理、商品選擇、購(gòu)貨撤銷、異常退幣、計(jì)算存貨等主要功能,整個(gè)系統(tǒng)的開發(fā)體現(xiàn)了在Quartus II軟件平臺(tái)上用VHDL設(shè)計(jì)數(shù)字控制系統(tǒng)的實(shí)用性。關(guān)鍵詞:FPGA,EDA,VHDL,Quarts II,Altera,自動(dòng)售貨機(jī)AbstractThis system uses a Altera development software Quarts II .It explains the characters and program structure of VHDL(Very High Speed Integrate

3、d Circuit Hardware Description Language,the basic principle and main functions of the automat system,and the design scheme based on VHDL language.The core circuit of the automat system is implemented by VHDL program,compiled and emulate on Quarus II platform of Altera.Finally,through the object code

4、s of the core circuit are downloaded into test instrument,the automat system is realized completely,and the validity of system design is verafiwd by the test platform.The finished automat system has the main functions of processing the thrown coin,goods choice,purchases abolishing,drawing back the c

5、oin,calculating goods in stock and so on.The whole system development manifests the practicability of designing the numerical control system on the Quartus II software platform with VHDL.Key Words:FPGA,EDA,VHDL,Quarts II,Altera,Vedingmachine目錄1引言 (12硬件系統(tǒng)的設(shè)計(jì) (12.1芯片的選擇 (12.2時(shí)鐘發(fā)生器 (12.3電源電路 (12.4鍵盤的設(shè)計(jì)

6、 (22.5顯示器設(shè)計(jì) (23軟件系統(tǒng)設(shè)計(jì) (23.1設(shè)計(jì)思想 (23.1.1功能要求 (23.1.2總體思想 (23.1.3控制狀態(tài)的設(shè)計(jì) (33.1.4設(shè)計(jì)流程圖 (33.2模塊分類 (43.2.1投幣模塊 (43.2.2商品選擇模塊 (53.2.3分頻模塊 (63.2.4計(jì)數(shù)模塊 (73.2.5出貨模塊 (73.2.6顯示模塊 (83.2.7主控模塊 (94結(jié)果分析與討論 (11參考文獻(xiàn) (12致謝 (13附錄1:硬件原理圖 (14附錄2:軟件程序 (151 引言自動(dòng)售貨機(jī)是能根據(jù)投入的錢幣自動(dòng)付貨的機(jī)器。自動(dòng)售貨機(jī)是商業(yè)自動(dòng)化的常用設(shè)備,它不受時(shí)間、地點(diǎn)的限制,能節(jié)省人力、方便交易。一

7、般的自動(dòng)售貨機(jī)由錢幣裝置、指示裝置、貯藏售貨裝置等組成。錢幣裝置是售貨機(jī)的核心,其主要功能是確認(rèn)投入錢幣的真?zhèn)?分選錢幣的種類,計(jì)算金額。如果投入的金額達(dá)到購(gòu)買物品的數(shù)值即發(fā)出售貨信號(hào),并找出余錢。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號(hào),把顧客選擇的商品送至付貨口。一般售貨機(jī)的錢幣裝置由投幣口、選別裝置、確認(rèn)錢幣真?zhèn)蔚臋z查裝置、計(jì)算金額的計(jì)算裝置和找錢裝置組成。從西歐、北美、日本和韓國(guó)等地區(qū)和國(guó)家的情況來看,自動(dòng)售貨機(jī)在人們?nèi)粘I钪邪缪菰絹碓街匾慕巧?。其產(chǎn)品特點(diǎn)是科技含量高;24 小時(shí)服務(wù),售貨便利;無需專人盯守,省人工,省成本;售貨范圍廣泛;此外還是一

8、種新穎獨(dú)特的廣告媒體。目前,隨著移動(dòng)商務(wù)的發(fā)展,自動(dòng)售貨機(jī)作為一種方便、直觀的移動(dòng)商務(wù)工具,開始在全球各地迅速普及和發(fā)展1。2 硬件系統(tǒng)的設(shè)計(jì)本控制系統(tǒng)的硬件外圍設(shè)備分為:外部存儲(chǔ)器,外部電源,晶振信號(hào)發(fā)生器,以及FPGA芯片,LED外部顯示燈,出貨裝置。2.1 芯片的選擇本文所用到的FPGA芯片為,Altera生產(chǎn)的EPF10K10LC84 芯片, EPF10K10LC84-4是一種復(fù)雜可編程邏輯器件,另外還有其它類型的管腳和封裝,選擇性強(qiáng)2。2.2 時(shí)鐘發(fā)生器自動(dòng)售貨機(jī)的控制系統(tǒng)需要一個(gè)時(shí)鐘信號(hào),我們選用的是6MHz的時(shí)鐘信號(hào)。其中用兩個(gè)振蕩器以及兩個(gè)電阻可以完成我們所需要的設(shè)定。2.3電

9、源電路日常所用到的電源為220V電壓的電源,但是本課題中自動(dòng)售貨機(jī)所需要的電壓為5V,因此我們需要設(shè)定一個(gè)變壓電路來完成所需的電壓。在這部分電路我們用到了一個(gè)變壓器,一個(gè)整流橋,一個(gè)濾波電路,一個(gè)穩(wěn)壓器完成為5V電壓的電源。2.4 鍵盤的設(shè)計(jì)為了完成購(gòu)物自動(dòng)售貨機(jī)必須有購(gòu)物鍵,本課題所要求的是五個(gè)按鍵,其中四個(gè)是商品選擇鍵(熱狗,飲料,漢堡,雙層漢堡,剩下的一個(gè)按鍵為初始按鍵3。關(guān)于輸入按鍵的信號(hào)發(fā)生情況將在下文中的軟件系統(tǒng)設(shè)計(jì)中闡述,這里就不多敘述。2.5顯示器設(shè)計(jì)自動(dòng)售貨機(jī)需要一個(gè)顯示燈,當(dāng)購(gòu)物結(jié)束后顯示器顯示找零錢數(shù)額。對(duì)于顯示器的顯示數(shù)字情況,將在下文軟件系統(tǒng)中的顯示模塊進(jìn)行闡述。3軟

10、件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)分為總體思想與模塊的分類。3.1設(shè)計(jì)思想3.1.1 功能要求1.該系統(tǒng)能完成對(duì)貨物信息的存儲(chǔ)、進(jìn)程控制、錢幣處理、余額計(jì)算和顯示功能。2.舉例說明:如果自動(dòng)售貨機(jī)能夠銷售4種商品:熱狗(1元,漢堡包(4元,雙層漢堡包(8元,飲料(3元數(shù)量無限。自動(dòng)售貨機(jī)允許投入1元,2元,5元硬幣:當(dāng)總幣值等于顧客需要的商品單價(jià)時(shí),機(jī)器送出需要的商品:若總幣值大于顧客需要的商品單價(jià)時(shí),機(jī)器除提供所需商品外,并將余幣退出;若總幣值小于顧客需要的商品單價(jià)時(shí),機(jī)器退出顧客投入的硬幣。設(shè)機(jī)器內(nèi)1元和2元的找零硬幣無限。3.每次投幣的時(shí)間有限制,不得超過30秒,在時(shí)間到時(shí),總幣值不足顧客購(gòu)買的商品單價(jià)

11、時(shí),自動(dòng)售貨機(jī)按不足錢數(shù)處理,退還全部硬幣。或者在設(shè)定時(shí)間內(nèi),總幣值不足顧客購(gòu)買的商品單價(jià)時(shí),若需要取消交易則可按取消鍵,售貨機(jī)按不足錢數(shù)處理,退還全部硬幣。4.當(dāng)顧客完成一次購(gòu)買后或按錯(cuò)按鈕后,需要設(shè)置一個(gè)重新開始按鈕,使整個(gè)系統(tǒng)恢復(fù)到初始狀態(tài)。5.顧客一次只能購(gòu)買一種商品的一個(gè),若需要更多商品,需要重復(fù)操作4。3.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來表示投入的硬幣是1元、2元、5元。當(dāng)顧客投入的硬幣大于或等于售價(jià)時(shí)將不

12、再接受硬幣,用一個(gè)LED 燈顯示。當(dāng)顧客確定某種商品且投入了足額的硬幣,投幣時(shí)限到時(shí),投幣窗口找零,用七段顯示管顯示找零數(shù),同時(shí)送出商品,指示燈out 亮5。3.1.3 控制狀態(tài)的設(shè)計(jì)此售貨機(jī)分為三種狀態(tài):初始狀態(tài),投幣狀態(tài),找零狀態(tài)。1.初始狀態(tài):當(dāng)售貨機(jī)通電后進(jìn)入初始狀態(tài),顧客購(gòu)買時(shí),可根據(jù)選擇xuan_rg,xuan_yl,xuan_hb,xuan_schb 鍵購(gòu)買商品,從而進(jìn)入下一狀態(tài)。當(dāng)顧客購(gòu)買錯(cuò)誤或不再購(gòu)買時(shí)按下start 重新進(jìn)入初始狀態(tài)。2.投幣狀態(tài):在這個(gè)狀態(tài)時(shí)xuan_rg,xuan_yl,xuan_hb,xuan_schb 鍵失效。投入錢(1元,2元,5元,當(dāng)投入硬幣等于

13、或者超過商品價(jià)格時(shí)進(jìn)入下一狀態(tài)。投幣時(shí)間 為30秒超過30秒,售貨機(jī)拒絕接受錢幣。3.找零狀態(tài):投幣結(jié)束,售貨機(jī)自動(dòng)判別總錢數(shù),若在時(shí)限到來之際,總錢數(shù)少于顧客所需商品的單價(jià),則退出錢幣,用LED 顯示退錢數(shù)。若大于或等于商品數(shù)則通過控制系統(tǒng)找零,用LED 顯示找零數(shù),送出商品6。3.1.4 設(shè)計(jì)流程圖系統(tǒng)設(shè)計(jì)流程圖,如圖3-1所示。圖3-1 系統(tǒng)設(shè)計(jì)流程示意圖 是是否 否 否 是熱狗 飲料 漢堡 投幣計(jì)算金額 金額>物價(jià) 繼續(xù)投幣確認(rèn)購(gòu)買 出貨找零 退幣結(jié)束雙層漢堡開始3.2 模塊分類此售貨機(jī)模塊包括:投幣處理模塊,商品選擇模塊,投幣模塊,分頻模塊,控制器模塊,計(jì)時(shí)模塊,LED燈顯示模

14、塊,找零模塊,出貨模塊,如圖3-2所示。 圖3-2 模塊示意圖3.2.1 投幣模塊自動(dòng)售貨機(jī)能夠自動(dòng)計(jì)算投入的錢幣數(shù)目,需要提供一個(gè)寄存器來記錄并保存投入的總幣值。此模塊有六個(gè)輸入信號(hào)以及兩個(gè)輸出信號(hào):qian1,qian2,qian5為不同數(shù)額錢幣輸入信號(hào);en1為主控模塊所發(fā)出的信號(hào),當(dāng)en1信號(hào)為1的時(shí)候,投幣模塊開始工作;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í)器開始工作;bi為輸出的錢幣數(shù)目。通過程序所得到的仿真圖如下所示7。1.當(dāng)reset輸入為0,輸入為5元2元1元時(shí),輸出結(jié)果為7。仿真結(jié)果如圖3-

15、3所示。 圖3-3 reset輸入為0時(shí)的仿真結(jié)果2.當(dāng)reset輸入為1時(shí),輸入5元,2元,1元,bi輸出應(yīng)為0。仿真結(jié)果如圖3-4所示。 圖3-4 reset輸入為1時(shí)的仿真結(jié)果3.2.2 商品選擇模塊自動(dòng)售貨機(jī)的商品選擇模塊,通過自動(dòng)售貨機(jī)上的四個(gè)選擇按鍵完成商品選擇,在接收到對(duì)應(yīng)四個(gè)商品之一的一個(gè)選擇信號(hào)時(shí)進(jìn)行編譯,將被選擇的商品進(jìn)行編碼,輸入到主控模塊中,在主控模塊中與所接受的錢幣進(jìn)行對(duì)與計(jì)算。輸入信號(hào)為a1,a2, a3,a8。而xuan_rg,xuan_hb,xuan_yl,xuan_schb為四個(gè)輸出信號(hào),與出貨模塊連接。reset 與en2信號(hào)來自主控模塊,當(dāng)reset為1時(shí)

16、模塊進(jìn)入初始狀態(tài),進(jìn)行選擇。當(dāng)en2為1時(shí),商品可以進(jìn)行選擇,當(dāng)en2為0時(shí),四個(gè)商品選擇鍵無效8。商品選擇模塊如圖3-5所示。 圖3-5 商品選擇模塊通過程序所得仿真結(jié)果如下:1.當(dāng)reset輸入為1,en2輸入為0,a8輸入為1時(shí),d輸出應(yīng)當(dāng)為0,仿真結(jié)果如圖3-6所示。 圖3-6 reset輸入為1,en2輸入為0,a8輸入為1時(shí)的仿真結(jié)果2.當(dāng)reset輸入為0,en2輸入為0,a8輸入為1時(shí),d輸出為0,仿真結(jié)果如圖3-7所示。 圖3-7 reset輸入為0,en2輸入為0,a8輸入為1時(shí)的仿真結(jié)果3.當(dāng)reset輸入為0,en2輸入為1,a8輸入為1時(shí),d輸出為8,xuan_sch

17、b輸出為1,仿真結(jié)果如圖3-8所示。 圖3-8 en2輸出為2時(shí)的仿真結(jié)果3.2.3 分頻模塊分頻模塊是用來將外來的時(shí)鐘信號(hào)進(jìn)行分頻,由于硬件系統(tǒng)已經(jīng)知道,選用的時(shí)鐘信號(hào)是由外部的6MHZ的晶振提供的,通過分頻模塊進(jìn)行分頻以后將得到周期為1HZ的信號(hào)9。由于仿真所需時(shí)間過長(zhǎng),本文選擇100.0ns為一周期的信號(hào),分頻后為6.0us為一周期的信號(hào),時(shí)鐘輸入信號(hào)為clk,輸出信號(hào)為newclk,分頻模塊如圖3-9所示。 圖3-9 分頻模塊通過程序所得到的仿真結(jié)果如下:當(dāng)clk第15輸出為上升沿時(shí),newclk輸出為1,仿真結(jié)果如圖3-9所示。 圖3-10 newclk輸出為1時(shí)的仿真結(jié)果3.2.4

18、計(jì)數(shù)模塊由于課題要求自動(dòng)售貨機(jī)控制系統(tǒng)有定時(shí)系統(tǒng),并限定在30s內(nèi)完成投幣,30s 之后投幣無效,因此需要設(shè)定一個(gè)計(jì)數(shù)模塊對(duì)投幣時(shí)間進(jìn)行限制。en為接受信號(hào),當(dāng)投幣開始時(shí)投幣模塊發(fā)出信號(hào),計(jì)數(shù)模塊開始工作,當(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ù)模塊如圖3-11所示。 圖3-11 計(jì)數(shù)模塊3.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

19、為控制模塊所給的信號(hào)當(dāng)en=1時(shí)出貨模塊開始工作,然后對(duì)顧客所選擇貨物進(jìn)行出貨10。出貨模塊有四個(gè)輸出信號(hào)為所選擇的貨物的輸出信號(hào)。出貨模塊如圖3.12所示。 圖3-12 出貨模塊出貨模塊的仿真結(jié)果如下:1.當(dāng)輸入信號(hào)en為1,xuan_rg信號(hào)為1時(shí),chu_rg信號(hào)為1,仿真結(jié)果如圖3-13所示。 圖3-13 chu_rg信號(hào)為1時(shí)的仿真結(jié)果2.當(dāng)輸入信號(hào)en為0,xuan_rg信號(hào)為1時(shí),chu_rg信號(hào)為0,仿真結(jié)果如圖3-14所示。 圖3-14 chu_rg信號(hào)為0時(shí)的仿真結(jié)果3.2.6顯示模塊顯示模塊的作用是對(duì)購(gòu)物結(jié)束后的所需找零數(shù)目進(jìn)行顯示。找零顯示模塊的輸入端接收來自控制模塊的

20、輸入信號(hào),輸出端外接LED顯示燈,由于找零的數(shù)目為范圍為0至8,因此只需要一個(gè)LED顯示燈,輸出信號(hào)為a,b,c,d,e,f,g。找零顯示模塊如圖3-15所示。 圖3-15 顯示模塊當(dāng)輸入信號(hào)di為2時(shí),g輸出為1,f輸出為0,e輸出為1,d輸出為1,c輸出為0,b輸出為1,a輸出為1,仿真結(jié)果如圖3-16所示。 圖3-16 di輸入為2時(shí)的仿真結(jié)果3.2.7 主控模塊主控模塊為自動(dòng)售貨機(jī)控制系統(tǒng)的核心部分,在主控模塊中將輸入的錢幣數(shù)目(b與商品的價(jià)格(d進(jìn)行對(duì)比,然后進(jìn)行找零并發(fā)出出貨信號(hào)。輸入信號(hào)t為計(jì)時(shí)信號(hào),當(dāng)時(shí)間超過30s時(shí),商品不再接受貨幣。Clk為控制系統(tǒng)的時(shí)鐘信號(hào)。輸出信號(hào)di,

21、c分別為找零顯示模塊的輸入信號(hào)與找零信號(hào)。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í)商品選擇模塊不工作。主控模塊如圖3-17所示。 圖3-17 主控模塊主控模塊的仿真結(jié)果如下:1.當(dāng)start輸入為0,t輸入為0,b輸入為5,d輸入為4時(shí),c輸出為1,clr輸出為1,en輸出為1,en1輸出為1,reset輸出為1,仿真

22、結(jié)果如圖3-18所示。 圖3-18c輸出為1,clr輸出為1,en輸出為1,en1輸出為1,reset輸出為1時(shí)的仿真結(jié)果。2.當(dāng)start輸入為0,t輸入為1時(shí),b輸入為5,當(dāng)輸入為4時(shí)(b>=d,c輸出為1,en輸出為0,en1輸出為0,clr輸出為1,en2輸出為0,仿真結(jié)果如圖3-19所示。 圖3-19 c輸出為1,en輸出為0,en1輸出為0,clr輸出為1,en2輸出為0 時(shí)的仿真結(jié)果。4 結(jié)果分析與討論通過設(shè)計(jì)簡(jiǎn)單的自動(dòng)售貨機(jī),詳細(xì)了解了自動(dòng)售貨機(jī)的投幣模塊,商品選擇模塊,主控模塊等模塊的軟件設(shè)計(jì)與實(shí)現(xiàn)主要功能的模塊的仿真。經(jīng)過仿真與實(shí)踐,整個(gè)系統(tǒng)的工作穩(wěn)定可靠,具有較強(qiáng)的

23、適應(yīng)性,當(dāng)需要增加商品時(shí),此控制系統(tǒng)只需增加相對(duì)的輸入信號(hào),硬件原有的電路不應(yīng)改變,因此在自動(dòng)售貨機(jī)行業(yè)可以得到廣泛的應(yīng)用。不過缺點(diǎn)是只能完成相對(duì)比較簡(jiǎn)單的自動(dòng)售貨機(jī)功能,實(shí)現(xiàn)金額計(jì)算,發(fā)放商品,找零,退幣等功能。由于其中是商品存貨無限,找零無限,因此不會(huì)出現(xiàn)找零錢幣與商品存貨的不足的情況。解決辦法是通過增加模塊,與輸入信號(hào)來解決。仿真過程中遇到的問題主要有:1、在仿真過程中由于原有時(shí)鐘信號(hào)分頻模塊仿真時(shí)間過長(zhǎng),因此用頻率相對(duì)較小的晶振進(jìn)行代替仿真。2、仿真過程中找零所得錢幣數(shù)目不能達(dá)到預(yù)期效果,通過調(diào)整主控模塊程序已得到解決。參考文獻(xiàn)1 袁亞恒,周偉.基于VHDL的自動(dòng)售貨機(jī)設(shè)計(jì)J,武漢理工

24、大學(xué)學(xué)報(bào),武漢:信息管理工程版, 2007.32 宋瀟,李佩佩,韓瑩瑩.自動(dòng)售貨機(jī)控制設(shè)計(jì)J,科技信息,機(jī)械與電子,2009.33 譚衛(wèi)澤,徐暢.面向FPGA器件的VHDL語言優(yōu)化設(shè)計(jì)方法J,南寧職業(yè)技術(shù)學(xué)院學(xué)報(bào).2008.44 陳志剛.VHDL語言在電路設(shè)計(jì)中的優(yōu)化J, 電子測(cè)試.2008.95 周潤(rùn)雅等.基于QuartusII的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例M,北京:電子工業(yè)出版社,2007.56 姜雪松,吳鈺淳,王鷹.VHDL設(shè)計(jì)實(shí)例與仿真M,北京:機(jī)械工業(yè)出版社,2006.37 徐光軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用M,北京:電子工業(yè)出版社,2002.108 PETER R

25、. WILSON. UNDERSTANDING THE FPGA DESIGN FLOW, Electronics world,2008.1 10L.M. Wu; W.B.Hu;N.H.Lai; G.T. Wang The Reconfigurable Embedded Nc System Based On FpgaM,Key Engineering Materials .2009.19 Mark D. Birnbaum .Essential electronic design automation (EDA. China Machine Press, 2005.910 Rusdiansyah

26、 A, Tsao D B.An integratedmodel of the periodic delivery problems for vending - machine supp ly chains J .Journal of Food Engineering, 2005.7致謝本課題在選題及研究過程中得到朱永琴老師的親切關(guān)懷和悉心指導(dǎo)下完成的。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從課題的選擇到項(xiàng)目的最終完成,朱老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在此謹(jǐn)向朱老師致以誠(chéng)摯的謝意和崇高的敬意。同時(shí)我要感謝同學(xué)們對(duì)我做畢業(yè)設(shè)計(jì)期間的幫助,由于他們的熱

27、情幫助促使我能在規(guī)定時(shí)間內(nèi)完成我所做的課題,對(duì)于同學(xué)們的幫助我深懷感激之情。附錄1:硬件原理圖 附錄2:軟件程序投幣模塊主要程序如下:library ieee;use ieee.std_logic_1164.all;entity toubi isport (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;beginprocessvariabl

28、e qian:integer range 0 to 15;beginwait until clk=1and clk' event;if reset=1 then state<=0;bi<=0;qian:=0;en<=0;elsecase state iswhen 0=>if 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;

29、qian:=5;bi<=5;en<=1;end if;end if;when 1=>if 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 if;商選擇模塊主要程序如下:library ieee;USE ieee.std_logic_1164.ALL;ENTITY yima ISPORT( a1,a3,a

30、4,a8,en2,reset : IN STD_LOGIC;xuan_rg,xuan_yl,xuan_hb,xuan_schb:OUT STD_LOGIC;d: OUT integer range 0 to 8 ;END yima;ARCHITECTURE a OF yima ISBEGINprocess(a1,a3,a4,a8beginif reset=0' thenif a1=1' and en2=1' thend<=1;xuan_rg<=1'xuan_yl<=0'xuan_hb<=0'xuan_schb<=0&

31、#39; elsif a3=1'thend<=3;xuan_yl<=1'xuan_rg<=0'xuan_hb<=0'xuan_schb<=0' elsif a4=1' and en2=1' thend<=4;xuan_hb<=1'xuan_yl<=0'xuan_schb<=0'elsif a8=1' and en2=1' thend<=8;xuan_schb<=1'xuan_yl<=0'xuan_rg<=0

32、'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;分頻模塊主要程序如下:LIBRARY IEEE;USE IEEE.STD_L

33、OGIC_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;BEGINPROCESS(CLKBEGINIF CLK'EVENT AND CLK='1' THENIF Q < 14 THEN Q <=Q+1;ELSE DIVCLK <= NOT DIVCLK;Q <=0;END IF;

34、END PROCESS;NEWCLK <= DIVCLK;END a;計(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 issignal bcd1n: std_logic_vector(3 downto 0;beginif (clr='1' thenbcd1n<

35、="0000"elsif(clk'event and clk='1' thenif (en='1' thenif (bcd1n="1001" thenbcd1n<="0000"elsebcd1n<=bcd1n+'1'end if;end process;process (clk,en,clrbeginif(clr='1' thencd10n<="000"elsif (clk'event and clk='1&#

36、39; thenif (en='1' and bcd1n="1001" thenif (bcd10n="011" thenbcd10n<="000"elseif (en='1' and bcd10n="011" thent<='1'elset<='0'end if;end process;end a;此段程序?yàn)槭挥?jì)數(shù)的情況,當(dāng)bcd為011(30時(shí)發(fā)生進(jìn)位,然后bcd10n歸零。出貨模塊主要程序如下:library ieee;use

37、 ieee.std_logic_1164.all;ENTITY chuhuo ISPORT(xuan_rg,xuan_hb,xuan_yl,xuan_schb,en3 : IN STD_LOGIC;chu_rg,chu_hb,chu_yl,chu_schb:OUT STD_LOGIC;END chuhuo;ARCHITECTURE a OF chuhuo ISBEGINprocessbeginif en3='0' thenchu_rg<='0' chu_hb<='0'chu_schb<='0'chu_yl<

38、='0'elseif xuan_rg='1'then chu_rg<='1' chu_hb<='0'chu_schb<='0'chu_yl<='0' elsif xuan_hb='1' then chu_rg<='0' chu_hb<='1'chu_schb<='0'chu_yl<='0' elsif xuan_schb='1' then chu_rg<

39、;='0' chu_hb<='0'chu_schb<='1'chu_yl<='0' elsif xuan_yl='1' then end if; end process; END a; 顯示模塊程序如下: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY zhaoling IS PORT( Di : IN integer range 0 to 9; a: OUT STD_LOGIC; b : OUT STD_LOGIC; c : OUT STD_L

40、OGIC; d : OUT STD_LOGIC; e : OUT STD_LOGIC; f : OUT STD_LOGIC; g : OUT STD_LOGIC ; END zhaoling; ARCHITECTURE a OF zhaoling IS BEGIN Process (di type data_out is array (0 to 6 of std_logic; variable outp:data_out; begin CASE di IS WHEN 0 => 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:="

溫馨提示

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

評(píng)論

0/150

提交評(píng)論