<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA在電梯控制系統中的應用

FPGA在電梯控制系統中的應用

作者: 時(shí)間:2012-11-05 來(lái)源:電子技術(shù)應用 收藏

   摘 要: 介紹了基于公司EP1K30TC144的電梯控制器設計過(guò)程,描述了該控制系統的功能。該設計采用VHDL語(yǔ)言進(jìn)行編程,以QUARTUSⅡ軟件為開(kāi)發(fā)平臺,對本設計進(jìn)行了仿真,并使用JTAG將程序代碼下載到實(shí)驗板上進(jìn)行了硬件驗證。

本文引用地址:http://dyxdggzs.com/article/138505.htm

  關(guān)鍵詞: 電梯控制器; VHDL; EP1K30TC144; QUARTUSⅡ

  隨著(zhù)社會(huì )的發(fā)展,電梯的使用越來(lái)越普遍,對電梯功能的要求也不斷提高,相應地其控制方式也在不斷發(fā)生變化。對于電梯的控制,傳統的方法是使用繼電器-接觸器控制系統進(jìn)行控制,進(jìn)入全微機化控制的時(shí)代,微型計算機在電梯控制上的應用日益廣泛。電梯的微機化控制主要有以下幾種形式:①PLC控制;②單板機控制;③單片機控制;④單微機控制;⑤多微機控制;⑥人工智能控制。隨著(zhù)EDA技術(shù)的快速發(fā)展,CPLD/因其高速處理信號的能力、可在線(xiàn)編程、易于實(shí)現、開(kāi)發(fā)周期短、便于維護等優(yōu)點(diǎn),使已廣泛應用于電子設計控制的各個(gè)方面。本文就是使用一片公司的EP1K30TC144為控制中心,以VHDL編程語(yǔ)言為基礎進(jìn)行了電梯控制器的設計,并做了仿真。

  1 系統功能簡(jiǎn)介

  電梯控制器[1]的功能:每層電梯入口處設有上下請求開(kāi)關(guān);電梯內設有乘客到達層次的停站請求開(kāi)關(guān);電梯所處位置指示裝置及電梯運行模式指示裝置;電梯每分鐘升降一層樓。電梯到達有停站請求的樓層后,經(jīng)過(guò)5 s電梯開(kāi)門(mén),開(kāi)門(mén)指示燈亮,開(kāi)門(mén)10 s后電梯門(mén)關(guān)閉,電梯繼續運行,直到運行完最后一個(gè)請求信號后停在當前層;能記憶電梯內外所有請求信號,并按照電梯運行規則依次響應,每個(gè)信號保留至執行后消除。

  電梯運行規則:遵循方向優(yōu)先的原則,電梯上升時(shí),只響應比電梯所在位置高的上樓請求信號,由下到上逐個(gè)執行,直到最后一個(gè)上樓請求執行完畢,如更高層有請求下樓信號,則直接上升到有下樓請求的最高層,然后進(jìn)入下樓狀態(tài)。電梯下降時(shí),與上升狀態(tài)規則相反。

  輸入信號定義:

  系統復位信號:reset,高電平有效;

  電梯入口處一層、二層的上樓請求開(kāi)關(guān):upone、uptwo;

  電梯入口處二層、三層的下樓請求開(kāi)關(guān):downtwo、downthree;

  電梯內部到達樓層的停站請求開(kāi)關(guān):one、two、three;

  所有輸入信號的規定為:1表示有請求,0表示無(wú)請求;

  輸出信號定義:

  電梯外部上升和下降請求指示燈:lightup和lightdown,這些信號與upone、uptwo、downtwo和downthree信號相對應;

  電梯內部乘客到達樓層的停站請求燈:arr,該信號與one、two和three相對應;

  電梯所在樓層指示:p表示電梯在對應樓層;

  電梯的運行狀態(tài):lightdown指示向下運行,lightup向上運行,arr指示電梯的開(kāi)關(guān)門(mén)狀態(tài)及是否到達樓層。

  2 系統設計實(shí)現

  2.1 系統總體框圖

  系統總體框圖如圖1所示。

  

 

  2.2頂層電路的設計

  縱觀(guān)各種基于的電梯控制器,很少有人介紹并使用構造體的結構描述方式。即在多層次的設計中,高層次的設計模塊調用低層次的設計模塊,或者直接使用門(mén)電路設計單元來(lái)完成一個(gè)復雜的邏輯電路的描述方法。結構描述方式最能提高設計效率,它可以將已有的設計成果方便地運用到新的設計中去。

  本系統的頂層電路設計就采用構造體的結構描述方式。易于實(shí)現,易于糾錯,易于修改程序。

  上層模塊源程序[4]及注釋?zhuān)?/p>

  library ieee;

  use ieee.std_logic_1164.all;

  entity total5 is

  port(uo,ut,dt,dth:in std_logic--一、二、三層樓電梯外的上下樓請求鍵。

  o,t,th:in std_logic;--一、二、三層電梯里的按鍵。

  pres:in std_logic;--reset信號。

  clk:in std_logic;--時(shí)鐘信號,1 MHz。

  lightout:out std_logic_vector(6 downto 0);--數碼管的輸入信號。

  lu,ld:out std_logic;--電梯上升,下降的燈。

  arr:out std_logic);--開(kāi)門(mén)的燈。

  end;

  architecture a of total5 is

  signal templ0,templ2:std_logic;

  signal templ1:integer range 3 to 1;

  Signal

  temp1,temp2,temp3,temp4,temp5,temp6,temp7:std_logic;

  component bigmain--調用電梯控制模塊。

  port(upone,uptwo,downtwo,downthree

  :in std_logic;

  one,two,three:in std_logic;

  reset:in std_logic;

  clk,clk2:in std_logic;

  p:out integer range 3 to 1;

  lightup,lightdown:out std_logic;

  arrive:out std_logic);

  end component;

  component fangdou --調用防抖動(dòng)模塊。

  port(clk:in std_logic;

  key:in std_logic;

  keyout:out std_logic);

  end component;

  component fenpin--調用分頻器模塊。

  port(clk:in std_logic;

  clk1,clk2:out std_logic);

  end component;

  component display--調用譯碼顯示模塊。

  port(clk :in std_logic;

  light:in integer range 3 to 1;

  segout:out std_logic_vector(6 downto 0));

  end component;

  begin

  u1:fenpin port map(clk,templ0,templ2);

  u4:fangdou port map(templ0,uo,temp1);

  u5:fangdou port map(templ0,ut,temp2);

  u6:fangdou port map(templ0,dt,temp3);

  u7:fangdou port map(templ0,dth,temp4);

  u8:fangdou port map(templ0,o,temp5);

  u9:fangdou port map(templ0,t,temp6);

  u10:fangdou port map(templ0,th,temp7);

  u11:bigmain port map(temp1,temp2,temp3,

  temp4,temp5,temp6,temp7,pres,clk,templ2,

  templ1,lu,ld,arr);

  u12:display port map(clk,templ1,lightout);

  end;

  2.3主模塊設計

  控制模塊是整個(gè)設計的核心部分,本設計采用狀態(tài)機[2]的方法來(lái)實(shí)現。依據電梯的功能要求,這里將電梯的工作分為10個(gè)狀態(tài)。狀態(tài)機如圖2所示。(1)控制模塊有兩個(gè)進(jìn)程:k1控制輸入,無(wú)論電梯在什么狀態(tài)均能接收用戶(hù)的輸入請求,該進(jìn)程由1 MHz的時(shí)鐘觸發(fā);k2控制電梯的升、降、停留,該程序由1 Hz的時(shí)鐘觸發(fā)。(2)進(jìn)程k1是由1MHz的時(shí)鐘作為觸發(fā)沿,不斷地檢測用戶(hù)是否有輸入請求,對于一、二、三層信號,分別有flag1、flag2、flag3和clear1、clear2、clear3兩套標志位來(lái)控制輸入請求是否有效,是否應該對標志位清零。程序有兩個(gè)表示電梯的狀態(tài):一是位置狀態(tài),二是運行狀態(tài)。

  

fpga相關(guān)文章:fpga是什么


分頻器相關(guān)文章:分頻器原理


關(guān)鍵詞: Altera FPGA 芯片

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>