胥杭君 郭夢(mèng)生 白旭升 賴(lài)寒
摘 要:本文對(duì)自動(dòng)售貨機(jī)系統(tǒng)的功能進(jìn)行了模塊化的劃分,并對(duì)其模塊功能及組成進(jìn)行了討論,同時(shí)對(duì)其原理進(jìn)行了研究后得出了相應(yīng)的模擬系統(tǒng)。并對(duì)使用Verilog HDL語(yǔ)言及相應(yīng)軟件對(duì)其功能的實(shí)現(xiàn)進(jìn)行了詳細(xì)的闡述,且對(duì)模擬系統(tǒng)整體的框架進(jìn)行了設(shè)計(jì)。經(jīng)仿真后得出模擬系統(tǒng)可正常,穩(wěn)定工作的這一結(jié)論。
關(guān)鍵詞:模塊化;自動(dòng)售貨;FPGA
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A
0 引言
隨著電子技術(shù)的不斷發(fā)展,F(xiàn)PGA,即現(xiàn)場(chǎng)可編程門(mén)陣列作為專(zhuān)用集成電路(ASIC)領(lǐng)域中一種半定制的電路,其應(yīng)用領(lǐng)域已經(jīng)越來(lái)越廣泛。且隨著當(dāng)今生活節(jié)奏的不斷變化,各種自動(dòng)售貨設(shè)備的需求正在日益增大?;贔PGA的相應(yīng)系統(tǒng)可實(shí)現(xiàn)模塊化的設(shè)計(jì),從而方便日后對(duì)系統(tǒng)的升級(jí)維護(hù)擴(kuò)展。本文基于搭載FPGA芯片的實(shí)驗(yàn)板對(duì)自動(dòng)收貨系統(tǒng)進(jìn)行了模擬設(shè)計(jì)與仿真驗(yàn)證。
1 系統(tǒng)整體設(shè)計(jì)概述
本文中的模擬系統(tǒng)對(duì)自動(dòng)售貨機(jī)的商品選購(gòu)過(guò)程及當(dāng)前狀態(tài)顯示進(jìn)行了相應(yīng)的模擬,因此可大致將其功能模塊劃分為5個(gè)相應(yīng)的功能模塊,分別為按鍵模塊1、按鍵模塊2、控制模塊、數(shù)碼管顯示模塊和狀態(tài)顯示模塊。
2 各模塊詳述
2.1 按鍵模塊1
本模塊在硬件上為一個(gè)4×4的矩陣鍵盤(pán),則對(duì)應(yīng)可實(shí)現(xiàn)16種商品的模擬的選擇,而矩陣鍵盤(pán)的按鍵檢測(cè)采用了行掃描法,而其中在程序描述部分還包括了一個(gè)編碼器及解碼器,以此使得控制部分接收到較為精簡(jiǎn)的數(shù)據(jù)信號(hào)。
2.2 按鍵模塊2
本模塊對(duì)選定商品后的投幣過(guò)程進(jìn)行了模擬,key_in1模擬表示投入一元的硬幣,而key_in2模擬表示投入五毛的硬幣。同時(shí)本模塊中還包括了一個(gè)復(fù)位按鍵,其可以將系統(tǒng)狀態(tài)恢復(fù)為初始狀態(tài),同時(shí)可以讓顧客在未完成商品購(gòu)買(mǎi)全額投入的操作下進(jìn)行重新選擇。
2.3 控制模塊部分
本模塊為本模擬系統(tǒng)的核心控制部分,而其實(shí)現(xiàn)則采用了有限同步狀態(tài)機(jī)的思想。而本狀態(tài)機(jī)共有6個(gè)狀態(tài),分別為初始狀態(tài)(IDLE),共投入一元的狀態(tài)(oney),共投入五毛的狀態(tài)(fivem),共投入一元五的狀態(tài)(onef),共兩元的狀態(tài)(twoy)及錯(cuò)誤狀態(tài)(error)。由于本系統(tǒng)為模擬系統(tǒng),只做相關(guān)功能驗(yàn)證,故設(shè)定商品最高金額為兩元。
而具體狀態(tài)轉(zhuǎn)移過(guò)程為最開(kāi)始系統(tǒng)處于初始狀態(tài),當(dāng)投入一元硬幣后將跳轉(zhuǎn)至狀態(tài)oney,若是投入五角則跳轉(zhuǎn)至fivem狀態(tài),此后依照投入金額為觸發(fā)條件分別跳轉(zhuǎn)至相應(yīng)狀態(tài)。當(dāng)跳轉(zhuǎn)至twoy狀態(tài)時(shí),則代表商品購(gòu)買(mǎi)完成,而若是在狀態(tài)處于onefive時(shí)投入一元硬幣,則系統(tǒng)將跳轉(zhuǎn)至error狀態(tài),而若是在狀態(tài)轉(zhuǎn)移中出現(xiàn)其他問(wèn)題或是不在正常購(gòu)買(mǎi)流程內(nèi)的情況,系統(tǒng)同樣會(huì)跳轉(zhuǎn)至error狀態(tài)。若是在購(gòu)買(mǎi)過(guò)程中按下重置按鍵,則系統(tǒng)將跳轉(zhuǎn)回初試狀態(tài)。同時(shí)當(dāng)系統(tǒng)處于各相應(yīng)狀態(tài)時(shí)將向外輸出value1和value2兩個(gè)值給相應(yīng)的顯示模塊。
2.4 數(shù)碼管顯示模塊
本模塊對(duì)當(dāng)前投幣金額進(jìn)行顯示。其硬件實(shí)現(xiàn)原理為數(shù)碼管的動(dòng)態(tài)掃描,利用余暉效應(yīng)來(lái)顯示不同的數(shù)值。而其程序部分為接受來(lái)自于控制模塊的輸出值value1,然后通過(guò)解碼器將其解碼后通過(guò)數(shù)碼管對(duì)相應(yīng)金額數(shù)字進(jìn)行顯示。
2.5 LED顯示模塊
本模塊為通過(guò)LED燈的不同點(diǎn)亮位置來(lái)對(duì)當(dāng)前狀態(tài)進(jìn)行可視化的顯示,程序部分同樣為使用解碼器將接收于來(lái)自控制部分輸出的值value2進(jìn)行解碼后點(diǎn)亮相應(yīng)的LED。
由于本文中使用的實(shí)驗(yàn)板LED燈為低電平有效,且高位在左,低位在右,故對(duì)其做出如下表示形式:(0亮1滅)
IDLE:5b11111 fivem:5b11101 oney:5b11011 onef:5b10111
twoy:5b01111 error:5b00000
3 控制部分的仿真驗(yàn)證
modelsim為一款非常優(yōu)秀的仿真軟件,且其界面設(shè)計(jì)簡(jiǎn)潔,可讀性高,可提供非常友好的仿真環(huán)境,故本文中將使用modelsim作為仿真工具來(lái)對(duì)本文中所設(shè)計(jì)的系統(tǒng)進(jìn)行仿真驗(yàn)證。
分別對(duì)模擬先投入一元的硬幣后再投入五角的硬幣再投入一元硬幣導(dǎo)致總金額溢出而出現(xiàn)錯(cuò)誤的情況進(jìn)行仿真。其仿真波形如圖1所示。
經(jīng)對(duì)其進(jìn)行仿真驗(yàn)證后發(fā)現(xiàn)仿真通過(guò),且與預(yù)想仿真結(jié)果相同,上板實(shí)驗(yàn)后發(fā)現(xiàn)能夠穩(wěn)定地實(shí)現(xiàn)最初所預(yù)想要實(shí)現(xiàn)的功能。
本文介紹了對(duì)基于搭載FPGA芯片的開(kāi)發(fā)板所實(shí)現(xiàn)的自動(dòng)收貨系統(tǒng)的模擬功能驗(yàn)證,為其實(shí)際應(yīng)用做出了理論與仿真上的驗(yàn)證。且由于本文所設(shè)計(jì)的系統(tǒng)采用了模塊化的設(shè)計(jì)思想,因此可以較為方便地對(duì)其功能進(jìn)行擴(kuò)展升級(jí),比如在實(shí)際使用中出現(xiàn)錯(cuò)誤時(shí)除了燈光警示外還可加入語(yǔ)音警示的功能。而核心控制部分則可根據(jù)實(shí)際需求進(jìn)行靈活的修改,其適應(yīng)性較強(qiáng),可廣泛應(yīng)用于各類(lèi)自動(dòng)售貨系統(tǒng)。
參考文獻(xiàn)
[1]朱軍.自動(dòng)售貨機(jī)的結(jié)構(gòu)[J].信息與電腦,1995(10):12-13.
[2]楊文霞,孫青林.數(shù)字邏輯電路[M].北京:北京科學(xué)出版社,2007.
[3]黃伊楠,謝育.基于Modelsim的自動(dòng)化邏輯驗(yàn)證平臺(tái)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2015(7):70.
[4]吳繼華,王誠(chéng).Verilog HDL設(shè)計(jì)與驗(yàn)證[M].北京:人民郵電出版社,2006.
[5]胥杭君,葉璐.淺談模塊化及其應(yīng)用[J].科學(xué)與財(cái)富,2015(13):110-111.
[6]張松,李筠.FPGA的模塊化設(shè)計(jì)方法[J].電子測(cè)量與儀器學(xué)報(bào),2014,28(5):560-565.