基于FSM的電梯控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.2.2程序設(shè)計(jì)
在構(gòu)造體的設(shè)計(jì)中www.cechina.cn,設(shè)計(jì)了兩個(gè)進(jìn)程相互配合,一個(gè)是狀態(tài)機(jī)進(jìn)程,另外一個(gè)是信號(hào)燈控制進(jìn)程。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號(hào)燈進(jìn)程產(chǎn)生的信號(hào)燈信號(hào)為依據(jù)的,而信號(hào)燈進(jìn)程中信號(hào)燈的熄滅又是由狀態(tài)機(jī)進(jìn)程中傳出來(lái)的“up(上升)”和“down(下降)”信號(hào)來(lái)控制的。
在狀態(tài)機(jī)進(jìn)程中,在電梯處于上升狀態(tài)時(shí),通過(guò)對(duì)信號(hào)燈來(lái)判斷,決定下一個(gè)狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中www.cechina.cn,也是通過(guò)對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)時(shí)繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中,判斷是最為復(fù)雜的,通過(guò)對(duì)信號(hào)燈的判斷,決定電梯是上升、下降還是停止。
在信號(hào)燈控制進(jìn)程中,由于使用了專(zhuān)用的按鍵時(shí)鐘,頻率較高,所以使得按鍵的靈敏度增大,但是時(shí)鐘頻率不能過(guò)高,否則容易使按鍵過(guò)于靈敏,按鍵后產(chǎn)生的點(diǎn)亮的信號(hào)燈(邏輯值為‘1’)用于作為狀態(tài)機(jī)進(jìn)程的判斷條件,而up和down信號(hào)邏輯‘1’使得相應(yīng)的信號(hào)燈熄滅。
2.3顯示模塊的設(shè)計(jì)
采用動(dòng)態(tài)顯示模式,循環(huán)點(diǎn)亮三個(gè)數(shù)碼管,在掃描頻率大于人眼睛的視覺(jué)暫留頻率(24HZ)以上,就可以達(dá)到點(diǎn)亮單個(gè)七段數(shù)碼管顯示器,卻能像有3個(gè)數(shù)碼管同時(shí)點(diǎn)亮的視覺(jué)效果。
將樓層上升、下降以及樓層停止的信號(hào)用七段數(shù)碼管顯示出來(lái),電梯上升、下降、停止輸出的信號(hào)用3位二進(jìn)制數(shù)表示,通過(guò)七段譯碼器將電梯狀態(tài)控制器輸出的3位二進(jìn)制數(shù)譯碼為七段數(shù)碼管的輸入所需要的7位二進(jìn)制數(shù)。最簡(jiǎn)的真值表如表2.3所示.相應(yīng)的譯碼程序以及多路選擇顯示程序從略。
2.4分頻器的設(shè)計(jì)
分頻器是將輸入的4MHZ信號(hào)分頻為1Hz的信號(hào),提供給狀態(tài)機(jī)作為輸入信號(hào),另外分頻器分頻到4000HZ給動(dòng)態(tài)顯示模塊以及按鍵模塊作為掃描信號(hào)。根據(jù)設(shè)計(jì)的需要設(shè)計(jì)了三個(gè)分頻器。
2.5 輸入端口設(shè)計(jì)
在狀態(tài)機(jī)的設(shè)計(jì)中www.cechina.cn,針對(duì)CPLD的容量,以三層電梯運(yùn)行為例,定義了8個(gè)按鍵輸入端。分別是:(1) 異步置位按鍵、(2)1層上升請(qǐng)求按鍵、(3) 2層上升請(qǐng)求按鍵、(4) 2層下降請(qǐng)求按鍵、(5) 3層下降請(qǐng)求按鍵 、(6)電梯1層停止請(qǐng)求按鍵、(7)電梯2層停止請(qǐng)求按鍵、(8)電梯3層停止請(qǐng)求按鍵。
3 設(shè)計(jì)結(jié)果及分析
3.1 電梯狀態(tài)控制器的Synplify綜合
使用Synplify pro對(duì)用VHDL語(yǔ)言編制的有限狀態(tài)機(jī)的狀態(tài)變化控制程序進(jìn)行綜合,經(jīng)過(guò)綜合之后的“RTL”(寄存器傳輸級(jí))方式的電路原理圖如圖2所示。
圖2 Synplify pro 綜合后的狀態(tài)轉(zhuǎn)移圖
3.2 仿真
綜合編譯完成后,值reset信號(hào)高電平有效,置為0,選擇liftclk時(shí)鐘信號(hào)為1HZ、buttonclk信號(hào)時(shí)鐘為4000HZ。配置適當(dāng)?shù)妮斎胄盘?hào),得到如圖3的仿真結(jié)果。
原先電梯停留在第一層,電梯外第三層有下降請(qǐng)求,電梯上升到三層,乘客進(jìn)入電梯以后要求下降一層,此時(shí),電梯二層有下降請(qǐng)求,接著又有上升請(qǐng)求,電梯首先在第二層停留,然后下降到一層,隨后再在響應(yīng)第二層上升請(qǐng)求,上升到二層,乘客進(jìn)入電梯以后要求上升到三層,所以電梯最后停留的位置是三層。
圖3 三層電梯的仿真波形圖四
3.3 實(shí)驗(yàn)結(jié)果
在完整的系統(tǒng)設(shè)計(jì)中使用 Max+Plus II完成VHDL描述和原理圖的層次設(shè)計(jì)。在底層設(shè)計(jì)中,用VHDL分別實(shí)現(xiàn)每一個(gè)模塊的功能,將每個(gè)模塊生成可供Max+Plus II調(diào)用的器件符號(hào),再將這些器件符號(hào)連接在一起構(gòu)成整個(gè)系統(tǒng)原理圖,如圖4所示。
評(píng)論