新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于VHDL三層電梯控制器的設(shè)計(jì)

基于VHDL三層電梯控制器的設(shè)計(jì)

作者: 時(shí)間:2009-04-02 來(lái)源:網(wǎng)絡(luò) 收藏

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

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


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: VHDL 三層電梯 控制器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉