新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于VHDL三層電梯控制器的設計

        基于VHDL三層電梯控制器的設計

        作者: 時間:2009-04-02 來源:網絡 收藏

        模塊(四):圖7所示的仿真,原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進入電梯以后要求下降到一層,此時,二層有下降請求,接著又有上升請求,電梯首先在二層停留。然后下降到一層。隨后要響應二層上升請求,上升到二層,乘客進入電梯以后要求上升到三層,所以電梯最后的停留位置在三層。

        5 設計的擴展性
        在本設計中,因為考慮了擴展性,所以在信號定義的時候就使用了二進制的向量,而不是整數。在設計方法上也做了特殊的設計,所以使得擴展性較好。如果要實現n層電梯的控制,首先在端口的地方就要加入所有的按鍵,而指示燈只要把向量中的3改成n就可以了。同時需要在按鍵控制進程里加入其他按鍵觸發指示燈的語句。在電梯的升降狀態將3改成n,在電梯的開門狀態中將2改成n一1,在關門狀態,將position=3改成position=n,關鍵是修改position=2的部分,如果按照每層羅列,將十分煩瑣,所以得尋求各層判斷條件的共性,解決方法之一就是,新建一個全局向量one為std―logic―veoter(n downto 3)應改寫成0,然后和stoplight與fuplight向量比較,如果有更高層次的請求,那么stoplight或fuplight向量,如果stoplight和fuplight向量都小于one向量,表示沒有更高層次的內部上升請求,此時將fdnlight向量和one向量比較,如果大于,則表示高層有下降要求,電梯得上升。如果沒有任何請求信號,則電梯停止,否則電梯下降。如此就可以大大簡化程序,但是要注意的是one向量必須實時更新,以作為判斷依據,可以另外寫一個進程,用buttonclk來觸發。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 肇东市| 延安市| 福海县| 西华县| 富源县| 韩城市| 东乡| 黄龙县| 苍溪县| 札达县| 武夷山市| 金门县| 宁城县| 定安县| 瓦房店市| 榆中县| 安徽省| 通海县| 宁城县| 澄迈县| 介休市| 无棣县| 兰州市| 阿坝| 嵊泗县| 竹溪县| 仁寿县| 皮山县| 三江| 昌江| 延安市| 古浪县| 广宗县| 奎屯市| 乌什县| 垫江县| 武城县| 武强县| 吴忠市| 登封市| 克拉玛依市|