用CPLD器件及VHDL語(yǔ)言實(shí)現(xiàn)電梯控制系統(tǒng)
從程序中可以看到,若第3層用戶發(fā)送上升/下降請(qǐng)求。則電梯處于等待狀態(tài);若第3層用戶沒(méi)有發(fā)送上升/下降請(qǐng)求,且4~16層的用戶發(fā)送上升,下降請(qǐng)求,或者1.2層的用戶沒(méi)有發(fā)送任何請(qǐng)求,則電梯處于上升狀態(tài);反之,電梯處于下降狀態(tài)。
程序設(shè)計(jì)中采用方向優(yōu)先原則,即若電梯處于上升狀態(tài),即使有1,2層用戶發(fā)出上升/下降請(qǐng)求,電梯也不響應(yīng),而繼續(xù)上升,直到響應(yīng)完所有4~16層用戶的請(qǐng)求后,再下降;反之,若電梯處于下降狀態(tài),即使4~16用戶發(fā)出上升/下降請(qǐng)求,電梯也不響應(yīng),繼續(xù)下降,直到響應(yīng)完所有用戶的請(qǐng)求后再上升。
(4)P4進(jìn)程該進(jìn)程主要完成電梯運(yùn)行樓層計(jì)數(shù)及提前/延遲關(guān)門控制。
4 VHDL源程序的仿真
系統(tǒng)程序編寫(xiě)完畢后,在MAX+pluslI軟件環(huán)境下對(duì)其編譯仿真。其仿真試驗(yàn)結(jié)果如圖4所示。
圖4中,輸入信號(hào)為:UPIN,ST_CH,RUN_STOP,DOWNIN,DELAY,CLOSE和CLKIN;輸出信號(hào)為:ST_OUT, RUN_WAIT,LAMP,DIRECT,DIR,LIFTOR和WAI_T。當(dāng)時(shí)鐘上升沿到來(lái)時(shí),若WAI_T=0,則它的下一狀態(tài)為6;因 DELAY信號(hào)始終為低電平,故WAI_T依次自減1計(jì)數(shù)。RUN_WAIT是WAI_T和0的并置運(yùn)算,故其值和WAI_T相同。
當(dāng)時(shí)鐘上升沿到來(lái)時(shí),DIR進(jìn)行加1計(jì)數(shù),且當(dāng)DIR=0XF時(shí),DIR的下一狀態(tài)值為0。與此同時(shí),DIR加1并賦值給DIRECT。
當(dāng)LAMP為低電平時(shí),電梯處于等待狀態(tài),故LIFTOR保持其原值不變保持0和3不變;當(dāng)LAMP為高電平時(shí),電梯處于運(yùn)行狀態(tài),因UPIN始終為高電平,DOWNIN始終為低電平,故當(dāng)RUN_STOP為高電平時(shí),電梯只能處于上升狀態(tài),故LIFFOR進(jìn)行自加1計(jì)數(shù),同時(shí),LIFTOR加1賦值給 ST_OUT。
5 硬件實(shí)驗(yàn)
在MAx+plusII軟件編譯完后,采用EPM7128SLC84-6器件下載VHDL源程序,進(jìn)行硬件試驗(yàn)。
其下載步驟為:首先,指定采用可編程器件EPM7128SLC84-6;其次,依據(jù)輸入、輸出端口指定與之對(duì)應(yīng)的引腳;然后,使用Pof2Jed軟件將編譯后的下載文件*.Pof。轉(zhuǎn)換成*.Jed文件;最后,使用Atmel ISP軟件將轉(zhuǎn)換后的*.Jed文件轉(zhuǎn)換成*.Chn文件。
硬件系統(tǒng)試驗(yàn)表明,輸出信號(hào)的顯示與軟件仿真結(jié)果完全相符,達(dá)到設(shè)計(jì)要求。
6 結(jié)論
該系統(tǒng)軟件設(shè)計(jì)中,成功編譯并仿真VHDL源程序,且對(duì)仿真圖進(jìn)行合理分析。在硬件實(shí)驗(yàn)過(guò)程中,對(duì)VHDL源程序進(jìn)行成功下載,所得實(shí)驗(yàn)結(jié)果與軟件仿真結(jié)果完全相符,從而證明電梯運(yùn)行控制器的設(shè)計(jì)滿足系統(tǒng)功能要求。
評(píng)論