自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)_第1頁(yè)
自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)_第2頁(yè)
自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)_第3頁(yè)
自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)_第4頁(yè)
自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄一、概述1二、自動(dòng)售貨機(jī)控制系統(tǒng)的實(shí)現(xiàn)21、自動(dòng)售貨機(jī)功能描述及控制系統(tǒng)組成22、自動(dòng)售貨機(jī)控制功能的狀態(tài)描述23、自動(dòng)售貨機(jī)功能控制模塊的VHDL實(shí)現(xiàn)34、投幣輸入信號(hào)電路的設(shè)計(jì)與實(shí)現(xiàn)45、自動(dòng)售貨機(jī)控制系統(tǒng)功能仿真5三、結(jié)束語(yǔ)6四、參考文獻(xiàn)7自動(dòng)售貨機(jī)控制系統(tǒng)的VHDL實(shí)現(xiàn)一、概述有限狀態(tài)機(jī)FSM(Finite State Machine)及其設(shè)計(jì)技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)高效率、高可靠邏輯控制的重要途徑。傳統(tǒng)的狀態(tài)機(jī)設(shè)計(jì)方法需進(jìn)行繁瑣的狀態(tài)分配、繪制狀態(tài)表、化簡(jiǎn)次態(tài)方程等,而利用VHDL可以避免這些繁瑣的過(guò)程,直接利用狀態(tài)轉(zhuǎn)換圖進(jìn)行狀態(tài)機(jī)的描述,所有的狀態(tài)均可表達(dá)為CASE_WHE

2、N結(jié)構(gòu)中的一條CASE語(yǔ)句,而狀態(tài)的轉(zhuǎn)移則通過(guò)IF_THEN_ELsE語(yǔ)句實(shí)現(xiàn)。此外,與VHDL的其它描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置鳎Y(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。二、自動(dòng)售貨機(jī)控制系統(tǒng)的實(shí)現(xiàn)1、自動(dòng)售貨機(jī)功能描述及控制系統(tǒng)組成 設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)的邏輯控制電路。它有兩個(gè)投幣口分別為一元投幣口和五角投幣口,假設(shè)每次只能投入一枚一元或五角硬幣,投入一元五角硬幣后機(jī)器自動(dòng)給出一瓶飲料,投入兩元硬幣后,在給出一瓶飲料的同時(shí)找回一枚五角的硬幣。圖1為自動(dòng)售貨機(jī)控制系統(tǒng)方框圖,由投幣信號(hào)處理模塊和功能控制模塊組成。售賣功能控制模塊投幣信號(hào)處理模

3、塊投幣找錢信號(hào)出貨圖1 自動(dòng)售貨機(jī)控制系統(tǒng)2、自動(dòng)售貨機(jī)控制功能的狀態(tài)描述 取投幣信號(hào)為輸入邏輯變量,投入一枚一元硬幣時(shí)用A=1表示,未投入時(shí)A=0。投入一枚五角硬幣用B=1表示,未投入時(shí)B=0。給出飲料和找錢為兩個(gè)輸出變量,分別用Z和Y表示,給出飲料時(shí)Z=1,不給時(shí)Z=0,找回一枚五角硬幣時(shí)Y=1,不找時(shí)Y=0。 根據(jù)上面的功能描述,可用三個(gè)狀態(tài)S0,S1,S2表示,未投幣前的初始狀態(tài)為S0,投入五角硬幣以后為S1,投入一元硬幣后(包括投入一枚一元硬幣和投入兩枚五角硬幣的情況)為S2,再投入一枚五角硬幣后電路返回S0,同時(shí)輸出為Z=1,Y=0;如果投入的是一枚一元硬幣,則電路也應(yīng)能返回S0,

4、同時(shí)輸出為Z=1,Y=1。根據(jù)上面的分析可得到狀態(tài)轉(zhuǎn)換圖如圖2所示。 00/00S0 01/10 或10/11 01/00 10/00S1S2 10/10 00/00 01/00 00/00圖2 自動(dòng)售貨機(jī)系統(tǒng)狀態(tài)轉(zhuǎn)換圖3、自動(dòng)售貨機(jī)功能控制模塊的VHDL實(shí)現(xiàn) 根據(jù)圖2所示的狀態(tài)轉(zhuǎn)換圖,用VHDL語(yǔ)言中的CASE_WHEN結(jié)構(gòu)和IF_THEN_ELSE語(yǔ)句實(shí)現(xiàn)控制功能,源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ZIDONG ISPORT(A,B:IN STD_LOGIC;clk:IN STD_LOGIC;Z,Y:OUT STD_

5、LOGIC);END ZIDONG;ARCHITECTURE beha OF ZIDONG ISTYPE states IS(S0,S1,S2);SIGNAL state:states;SIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINXZ=0;Y=0;IF(X=01)THENstate=s1;ELSIF(X=10)THENstate=s2;ELSEstateZ=0;Y=0;IF(X=01)THENstate=s2;ELSIF(X=10)THENstate=S0;Z=1;Y=0;ELSEstateZ=0;Y=0;IF(X=01)THENstate=S0;Z=

6、1;Y=0;ELSIF(X=10)THENstate=s0;Z=1;Y=1;ELSEstate=s2;END IF;END CASE;END IF;END PROCESS;END beha; 圖3 利用MAX+PLUSII軟件及VHDL語(yǔ)言編寫控制芯片4、投幣輸入信號(hào)電路的設(shè)計(jì)與實(shí)現(xiàn) A、B分別為一元硬幣和五角硬幣驅(qū)動(dòng)信號(hào),Z為飲料輸出信號(hào),Y為找錢輸出信號(hào)。通過(guò)對(duì)程序分析和仿真可以看出,A和B的驅(qū)動(dòng)信號(hào)的持續(xù)時(shí)間必須控制在clk時(shí)鐘周期內(nèi),如果驅(qū)動(dòng)信號(hào)時(shí)間太短,系統(tǒng)檢測(cè)不到投幣信號(hào),時(shí)間太長(zhǎng),會(huì)誤認(rèn)為是兩次或多次投幣,造成誤操作。因此,要使整個(gè)控制系統(tǒng)可靠運(yùn)行,還必須設(shè)計(jì)專門投幣輸入信號(hào)處理

7、電路。 自動(dòng)售貨機(jī)的所有信號(hào)均由同步時(shí)鐘信號(hào)clk的正邊沿觸發(fā)。由于售貨機(jī)的硬幣接受器一般是一個(gè)機(jī)械設(shè)置裝置,投幣時(shí)產(chǎn)生的信號(hào)要比同步信號(hào)clk要慢得多,一般可持續(xù)好幾個(gè)周期,必須對(duì)投幣輸入信號(hào)進(jìn)行處理,使每一次投幣時(shí)在clk脈沖周期內(nèi)只能產(chǎn)生一個(gè)脈沖作為功能控制模塊的投幣驅(qū)動(dòng)信號(hào)?;谏厦娴墓δ芤螅O(shè)計(jì)了如圖4所示的投幣輸入信號(hào)的處理電路,其中yiyuan和wujiao作為一元硬幣和五角硬幣的投幣輸入信號(hào),A和B為相應(yīng)的輸出信號(hào),作為功能控制模塊的輸入信號(hào),而且A、B輸出是在投幣輸入信號(hào)yiyuan和wujiao為高電平1之后的一個(gè)周期內(nèi)被設(shè)置為1。經(jīng)過(guò)仿真結(jié)果如圖6所示,實(shí)現(xiàn)了每次投幣后

8、在一個(gè)clk周期內(nèi)只產(chǎn)生一個(gè)可靠的脈沖驅(qū)動(dòng)信號(hào)。圖4 投幣信號(hào)處理電路圖5 投幣信號(hào)處理電路模塊圖6 投幣信號(hào)處理電路仿真5、自動(dòng)售貨機(jī)控制系統(tǒng)功能仿真 自動(dòng)售貨機(jī)控制系統(tǒng)模塊之間連接如圖7所示,其中“toubi”為投幣輸入信號(hào)處理模塊,其輸出信號(hào)作為功能控制模塊“zidong”的輸入驅(qū)動(dòng)信號(hào),“chuhuo”為自動(dòng)售貨機(jī)的飲料輸出信號(hào),“zhaoqian”為找錢輸出信號(hào)。整個(gè)控制系統(tǒng)通過(guò)MAX+PLUSII軟件進(jìn)行編譯和仿真,仿真結(jié)果如圖8所示,符合電路設(shè)計(jì)要求。并把程序下載到芯片MAXEPM7128SLC84-15進(jìn)行驗(yàn)證與實(shí)際相符。圖7 自動(dòng)售賣機(jī)控制系統(tǒng)電路圖8 自動(dòng)售賣機(jī)控制系統(tǒng)電路仿真三、結(jié)束語(yǔ) VHDL語(yǔ)言有限狀態(tài)機(jī)設(shè)計(jì)控制電路,可大大降低設(shè)計(jì)難度和時(shí)間,提高設(shè)計(jì)效率和可靠性,利用語(yǔ)言的靈活性及功能強(qiáng)大的EDA工具,可以輕松完成硬件的功能擴(kuò)充與升級(jí),還可以實(shí)現(xiàn)更復(fù)雜的數(shù)字系統(tǒng),整個(gè)設(shè)計(jì)過(guò)程相對(duì)于傳統(tǒng)的設(shè)計(jì)方法,有較大的突

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論