CPLD電梯運(yùn)行控制器VHDL
西安航空職業(yè)技術(shù)學(xué)院 李軍法
本文引用地址:http://m.butianyuan.cn/article/201610/308470.htm1 引言
隨著社會(huì)的發(fā)展。使用電梯越來(lái)越普遍,已從原來(lái)只在商業(yè)大廈、賓館過(guò)渡到在辦公室、居民樓等多種建筑中,并且對(duì)電梯功能的要求也不斷提高,其相應(yīng)控制方式也在不斷發(fā)生變化。電梯的微機(jī)化控制主要有:PLC控制、單板機(jī)控制、單片機(jī)控制、單微機(jī)控制、多微機(jī)控制和人工智能控制等。隨著EDA技術(shù)的快速發(fā)展,PLD器件已廣泛應(yīng)用于電子設(shè)計(jì)與控制的各個(gè)方面。這里使用CPLD器件,采用 VHDL語(yǔ)言設(shè)計(jì)一個(gè)16 樓層單個(gè)載客箱的電梯控制系統(tǒng),此控制系統(tǒng)具有使用安全可靠,功能全面的特點(diǎn),方便人們生活。
2 系統(tǒng)總體設(shè)計(jì)
該系統(tǒng)采用單片CPLD器件實(shí)現(xiàn)一個(gè)多樓層單個(gè)載客箱的電梯控制器,該控制器可控制電梯完成 16個(gè)樓層的載客服務(wù),而且遵循方向優(yōu)先的原則,能夠提前關(guān)電梯門(mén)和延遲關(guān)電梯門(mén)、提供電梯運(yùn)行的開(kāi)關(guān)控制鍵同時(shí)指示電梯運(yùn)行情況、樓層間的運(yùn)行時(shí)間以及電梯所在樓層的等待時(shí)間。根據(jù)系統(tǒng)設(shè)計(jì)要求,并考慮到系統(tǒng)設(shè)計(jì)的可驗(yàn)證性,整個(gè)系統(tǒng)的輸入、輸出接口設(shè)計(jì)如圖1所示。
各輸入端口的功能如下:
CLKIN:基準(zhǔn)時(shí)鐘信號(hào),為系統(tǒng)提供2 Hz的時(shí)鐘脈沖,上升沿有效;
UPIN:電梯上升請(qǐng)求鍵。由用戶(hù)向電梯控制器發(fā)出上升請(qǐng)求。高電平有效;
DOWNIN:電梯下降請(qǐng)求鍵,由用戶(hù)向電梯控制器發(fā)出下降請(qǐng)求,高電平有效;
ST_CH[2..0]:樓層選擇鍵人鍵,結(jié)合DIRECT完成樓層選擇的鍵入,高電平有效;
CLOSE:提前關(guān)門(mén)輸入鍵.可實(shí)現(xiàn)無(wú)等待時(shí)間的提前關(guān)門(mén)操作,高電平有效;
DELAY:延遲關(guān)門(mén)輸入鍵。可實(shí)現(xiàn)有等待時(shí)間的延遲關(guān)門(mén)操作,高電平有效;
RUN STOP:電梯運(yùn)行或停止開(kāi)關(guān)鍵??蓪?shí)現(xiàn)由管理員控制電梯的運(yùn)行或停止,高電平有效。
以下為輸出端口:
LAMP:電梯運(yùn)行或等待指示鍵,指示電梯的運(yùn)行或等待狀況。高電平有效;
RUN_WAIT[3…0]:電梯運(yùn)行或等待時(shí)間指示鍵,指示電梯運(yùn)行狀況或等待時(shí)間的長(zhǎng)短,高電平有效;
ST_OUT[3…0]:電梯所在樓層指示數(shù)碼管,指示電梯當(dāng)前所在的樓層數(shù)。即1~16層,高電平有效;
DIRECT[3…0]:樓層選擇指示數(shù)碼管,指示用戶(hù)所要選擇的樓層數(shù),高電平有效。
該設(shè)計(jì)中,電梯的控制狀態(tài)包括運(yùn)行狀態(tài)、停止?fàn)顟B(tài)及等待狀態(tài),其中運(yùn)行狀態(tài)又包含向上和向下?tīng)顟B(tài)。主要?jiǎng)幼饔虚_(kāi)、關(guān)門(mén),??亢蛦?dòng)。乘客可通過(guò)鍵入開(kāi)、關(guān)門(mén)按鈕,呼喚按鈕,指定樓層按鈕控制電梯。因此,整個(gè)電梯控制器應(yīng)包括5個(gè)組成部分:時(shí)序輸出及樓選計(jì)數(shù)器;電梯服務(wù)請(qǐng)求處理器;電梯升降控制器;上升及下降寄存器和電梯次態(tài)生成器,圖2為電梯控制器系統(tǒng)框圖。圖3為電梯控制器的內(nèi)部組成結(jié)構(gòu)。
從程序中可以看到,若第3層用戶(hù)發(fā)送上升/下降請(qǐng)求。則電梯處于等待狀態(tài);若第3層用戶(hù)沒(méi)有發(fā)送上升/下降請(qǐng)求,且4~16層的用戶(hù)發(fā)送上升,下降請(qǐng)求,或者1.2層的用戶(hù)沒(méi)有發(fā)送任何請(qǐng)求,則電梯處于上升狀態(tài);反之,電梯處于下降狀態(tài)。
程序設(shè)計(jì)中采用方向優(yōu)先原則,即若電梯處于上升狀態(tài),即使有1,2層用戶(hù)發(fā)出上升/下降請(qǐng)求,電梯也不響應(yīng),而繼續(xù)上升,直到響應(yīng)完所有4~16層用戶(hù)的請(qǐng)求后,再下降;反之,若電梯處于下降狀態(tài),即使4~16用戶(hù)發(fā)出上升/下降請(qǐng)求,電梯也不響應(yīng),繼續(xù)下降,直到響應(yīng)完所有用戶(hù)的請(qǐng)求后再上升。
(4)P4進(jìn)程該進(jìn)程主要完成電梯運(yùn)行樓層計(jì)數(shù)及提前/延遲關(guān)門(mé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ì)滿(mǎn)足系統(tǒng)功能要求。
評(píng)論