《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于FSM的電梯控制系統的設計與實現
基于FSM的電梯控制系統的設計與實現
摘要: 在Max+Plus II環境下用VHDL完成了電梯狀態控制核心程序的設計和編程。并用Synplify Pro綜合軟件對程序進行了優化綜合。通過三層電梯控制系統的仿真和實驗模擬,表明了此方法的高效性和靈活性。
Abstract:
Key words :

摘  要:在Max+Plus II環境下用VHDL完成了電梯狀態控制核心程序的設計和編程。并用Synplify Pro綜合軟件對程序進行了優化綜合。通過三層電梯控制系統的仿真和實驗模擬,表明了此方法的高效性和靈活性。

 

關鍵字:有限狀態機,VHDL,綜合

Abstract: The design and programming of a lift state controller based on the Finite state machine is carried out in VHDL of Max +Plus II . The core procedure is synthesized and optimized through Synplify Pro. The simulation and experiment results on a intact three-lift control system indicate that this design method is effective and flexible.

Key Words: FSM,VHDL, Synthesis

1 引言

  Max+PlusⅡ是Altera公司提供的FPGA/CPLD開發集成環境,它可獨立完成簡單VHDL程序的編譯。然而,自動電梯控制程序是一個復雜的狀態機描述,Max+PlusⅡ無法獨立完成該程序的綜合編譯。Synplify Pro是 Synplicity 公司針對復雜可編程邏輯設計的 FPGA 綜合工具,它帶來了無與倫比的電路性能和最有效的可編程設計的資源利用率,所獨有的對電路的調試與優化功能和極快的運算速度使之成為了業界倍受歡迎的的綜合工具。Synplify pro所特有的FSM綜合器可以自動識別有限狀態機并根據約束條件選擇最佳的編碼方式。通過Max+PlusⅡ中的接口,把Synplify pro 用于對電梯控制程序的綜合與優化,可大大提高設計效率,仿真和實驗結果證實了該方法的有效性。

2 系統設計

  2.1 系統的整體設計

  在電梯控制系統的設計中,核心是電梯運行的狀態控制器的設計。為突出狀態之間的轉換關系,令電梯以同一速率升降。主要需要考慮:(1)電梯的人工手動控制;(2)電梯的運行狀態顯示;(3)電梯的安全性控制;(4)電梯的策略控制設計。

  電梯狀態控制器部分用狀態機來實現。基本模型如下:(1) 每一層電梯的入口處設有上下請求開關,電梯內設有顧客到達層次的停站請求開關;(2)設有電梯所處位置指示裝置以及電梯運行模式(上升或下降)指示裝置;(3)電梯初始狀態為第一層開門,電梯每一秒升(降)一層樓;(4)設計一個異步的置位端口,用于在系統不正常的時候回到初始狀態;(5)電梯到達有停站請求樓層,經過1 秒電梯門打開,開門4 秒后,電梯門關閉(開門指示燈熄滅),電梯繼續運行,直至執行完最后一個請求信號后停留在當前樓層;(6)能記憶電梯內外的所有請求信號,并按照電梯運行規則按順序響應,每個請求信號保留至執行完后消除;(7)電梯運行規則:當電梯處于上升模式時,只響應比電梯所在位置高的上樓請求信號,由下而上逐個執行,直到最后一個上樓請求執行完畢;如果高層有下樓請求,則直接升至有下樓請求的最高樓層,然后進入下降模式。當電梯處于下降模式的時候與上升模式相反。

  整個電梯控制系統將由一片CPLD來實現。外圍的電路主要包括:分頻器,七段數碼顯示模塊、發光二極管顯示模塊,以及按鍵開關模塊。

  各模塊的功能:電梯狀態控制模塊,是整個系統設計的核心,完成電梯的狀態控制;顯示模塊,主要是將系統信息顯示出來,判斷電梯運行是否正常;分頻器模塊,由4MHZ的原始頻率分頻得到系統所需要的頻率;按鍵開關模塊,消除由于機械按鍵輸入的誤操作和防抖動。

 


圖1 電梯的結構圖

 

  2.2 電梯狀態控制器的設計

  2.2.1 設計思路

  (1)電梯輸入輸出端口設計。輸入端口包括:一個異步的置位端口,用于在系統不正常的時候回到初始狀態;在電梯外部的升降的請求端口,一層不需要有下降請求,最高層不需要上升請求,中間層上升、下降請求端口都應具備;在電梯內部的各層停留的請求端口;一個用于驅動電梯的上升下降以及開門關門等動作時鐘輸入端口以及一個時鐘頻率比電梯高得多的按鍵時鐘輸入端口。而響應的輸出端口包括:升降請求信號響應端口,有請求信號以后,該輸出端口的輸出邏輯“1”,被響應后則恢復到邏輯“0”;電梯內部的各層停留響應端口;在電梯外部指示電梯的位置端口;電梯開門關門的狀態指示端口以及電梯升降指示端口。

  (2)電梯控制器的實現通過狀態機實現,將電梯等待的每秒鐘以及開門關門都看成一個獨立的狀態。由于電梯每一秒升(降)一層,所以就可以通過一個統一的1 秒為周期的時鐘來觸發狀態機。由此,狀態機設置了10 個狀態,分別是“stopon1(電梯停留在1 層)”、“dooropen(開門)”、 “doorclose(關門)”、“doorwait1(開門等待第1 秒)”、“doorwait2(開門等待第2 秒)”、“doorwait3(開門等待第3 秒)”、“doorwait3(開門等待第4 秒)”、“up(上升)”、“down(下降)”和“stop(停止)”狀態。每個狀態之間的轉換條件由設計要求決定。

  2.2.2程序設計

  在構造體的設計中,設計了兩個進程相互配合,一個是狀態機進程,另外一個是信號燈控制進程。狀態機進程中的很多判斷條件是以信號燈進程產生的信號燈信號為依據的,而信號燈進程中信號燈的熄滅又是由狀態機進程中傳出來的“up(上升)”和“down(下降)”信號來控制的。

  在狀態機進程中,在電梯處于上升狀態時,通過對信號燈來判斷,決定下一個狀態是繼續上升還是停止;在電梯下降狀態中,也是通過對信號燈的判斷,決定下一個狀態時繼續下降還是停止;在電梯停止狀態中,判斷是最為復雜的,通過對信號燈的判斷,決定電梯是上升、下降還是停止。

  在信號燈控制進程中,由于使用了專用的按鍵時鐘,頻率較高,所以使得按鍵的靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏,按鍵后產生的點亮的信號燈(邏輯值為‘1’)用于作為狀態機進程的判斷條件,而up和down信號邏輯‘1’使得相應的信號燈熄滅。

  2.3顯示模塊的設計

  采用動態顯示模式,循環點亮三個數碼管,在掃描頻率大于人眼睛的視覺暫留頻率(24HZ)以上,就可以達到點亮單個七段數碼管顯示器,卻能像有3個數碼管同時點亮的視覺效果。

  將樓層上升、下降以及樓層停止的信號用七段數碼管顯示出來,電梯上升、下降、停止輸出的信號用3位二進制數表示,通過七段譯碼器將電梯狀態控制器輸出的3位二進制數譯碼為七段數碼管的輸入所需要的7位二進制數。最簡的真值表如表2.3所示.相應的譯碼程序以及多路選擇顯示程序從略。

 

 

  2.4分頻器的設計

  分頻器是將輸入的4MHZ信號分頻為1Hz的信號,提供給狀態機作為輸入信號,另外分頻器分頻到4000HZ給動態顯示模塊以及按鍵模塊作為掃描信號。根據設計的需要設計了三個分頻器。

  2.5 輸入端口設計

  在狀態機的設計中,針對CPLD的容量,以三層電梯運行為例,定義了8個按鍵輸入端。分別是:(1) 異步置位按鍵、(2)1層上升請求按鍵、(3) 2層上升請求按鍵、(4) 2層下降請求按鍵、(5) 3層下降請求按鍵 、(6)電梯1層停止請求按鍵、(7)電梯2層停止請求按鍵、(8)電梯3層停止請求按鍵。

3 設計結果及分析

  3.1 電梯狀態控制器的Synplify綜合

  使用Synplify pro對用VHDL語言編制的有限狀態機的狀態變化控制程序進行綜合,經過綜合之后的“RTL”(寄存器傳輸級)方式的電路原理圖如圖2所示。

 


圖2 Synplify pro 綜合后的狀態轉移圖

 

  3.2 仿真

  綜合編譯完成后,值reset信號高電平有效,置為0,選擇liftclk時鐘信號為1HZ、buttonclk信號時鐘為4000HZ。配置適當的輸入信號,得到如圖3的仿真結果。

  原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進入電梯以后要求下降一層,此時,電梯二層有下降請求,接著又有上升請求,電梯首先在第二層停留,然后下降到一層,隨后再在響應第二層上升請求,上升到二層,乘客進入電梯以后要求上升到三層,所以電梯最后停留的位置是三層。

 


圖3 三層電梯的仿真波形圖四

 

  3.3 實驗結果

  在完整的系統設計中使用 Max+Plus II完成VHDL描述和原理圖的層次設計。在底層設計中,用VHDL分別實現每一個模塊的功能,將每個模塊生成可供Max+Plus II調用的器件符號,再將這些器件符號連接在一起構成整個系統原理圖,如圖4所示。

 


圖4 系統電路原理圖

 

  整個系統設計完成后,經過編譯生成.pof文件,仿真成功后,下載到EPM7128SLC84-15芯片中。根據管腳分配圖對已有的硬件電路進行連線,實驗電路如圖5所示。

 


圖5 實驗電路圖

 

  3.4 結果分析

  通過對實際的硬件測試,數碼管正確顯示了樓層,發光二極管響應顯示了電梯的狀態,通過對不同初始狀態的測試,發現除了由按鍵抖動帶來的部分誤操作外,電梯的狀態轉換完全符合電梯運行規則。說明這種設計方法是有效的。

  由于很容易通過編程改變CPLD器件的控制功能,而且電梯運行的基本狀態變換規律是不隨樓層數變化的,因此,只需要改變相應的輸入、輸出端口設計就可滿足不同樓層數的設計需要。

4 結束語

  本次設計基于自頂向下的設計方法,用vhdl實現了電梯各狀態之間的轉換程序控制。在Max+Plus II環境下通過使用Synplify Pro 軟件特有的綜合功能,從對軟件程序的編譯、仿真到可編程邏輯芯片的功能實現都進行了優化,大大提高了設計效率。這種方法可廣泛用于各種復雜狀態機控制的設計之中。

參考文獻

  [1] 彭寶、范婷婷、馬建國. 基于Verilog HDL語言的FPGA設計.《微計算機信息》.2004年20卷第10期, p81-82。

  [2] 李宗伯,王蓉暉. VHDL設計表示和綜合. 北京:機械工業出版社,2002

  [3] 潘松,黃繼業. EDA技術應用教程. 北京:科學出版社, 2002

  [4] 褚振勇,翁木云. FPGA設計及應用. 西安:西安電子科技大學出版社,2002

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 午夜国产视频 | 麻豆精品成人免费国产片 | 欧美第一页草草影院 | 狠狠狠狠狠干 | 曰本还a大片免费无播放器 曰本三级香港三级三级人 孕交videos小孕妇xx中文 | 免费成人激情视频 | 欧美在线视频导航 | 欧美激情(一区二区三区) | 日韩免费毛片 | 最近最中文字幕视频 | 西西人体大胆77777视频 | 欧美精品99 | 日韩欧美视频一区二区在线观看 | 大片毛片女女女女女女女 | 最近中文字幕2019 | 一级做α爱过程免费视频 | 亚洲精品福利在线观看 | 人人看人人看人做人人模 | 成人在线视频在线观看 | 日日摸人人拍人人澡 | 人人公开免费超级碰碰碰视频 | 精品国产欧美一区二区 | 新久草| 国产在线视频www色 国产在线视频国产永久视频 | 一个人免费观看在线视频www | 青草视频在线看 | 国产第四页 | 真人一级毛片免费完整视 | 亚洲成在人线av | 在线观看深夜观看网站免费 | 波多野结衣中文字幕视频 | 欧美视频一区二区三区在线观看 | 中国免费一级毛片 | 亚洲va在线va天堂va手机 | 一区二区三区精品国产欧美 | 久久免费视频8 | 欧美亚洲国产精品久久第一页 | 欧美视频在线免费看 | 国产a一级毛片午夜剧场14 | www午夜| 无收费看污网站 |