《FPGA电梯控制器设计方案 .docx》由会员分享,可在线阅读,更多相关《FPGA电梯控制器设计方案 .docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习唐 山 学 院EDA技术 课 程 设 计可编辑资料 - - - 欢迎下载精品名师归纳总结题目 基于 FPGA 的电梯把握器设计系 部信息工程系班级姓名学号指导老师2021年 1 月 7 日至 1 月 11 日 共 1周2021年 1 月 10 日EDA 技术课程设计任务书一、设计题目、内容及要求设计题目: 基于 FPGA 的电梯把握器设计设计内容 :设计一个三层电梯把握器,具体要求:(1) 每层电梯设有上下请求开关,电梯轿厢内设有乘客到达层次的停站请求开关。(2) 设有电梯所处位置指
2、示装置及电梯运行情形指示。(3) 当电梯处于上升时,只响应比电梯所在位置高的上楼请求信号,直到最终一个上楼请求执行完毕,再进入下降模式。(4) 当电梯处于下降时,只响应比电梯所在位置低的下楼请求信号,直到最终一个下楼请求执行完毕,再进入上升模式。(5) 电梯的初始状态为第一楼层。(6) 设计超载报警功能。设计要求:(1) 依据任务要求确定电路各功能模块。(2) 写出设计代码。可编辑资料 - - - 欢迎下载精品名师归纳总结(3) 给出时序仿真结果和硬件调试结果。(4) 最终要有设计总结。二、设计原始资料Quartus软件, EDA 试验箱。三、要求的设计成果(课程设计说明书、设计实物、图纸等)
3、软件仿真和硬件仿真结果。课程设计说明书。四、进程支配周 1-周 4: 查阅资料,上机编写并调试代码。 周 5: 课程设计答辩并提交设计说明书。五、主要参考资料1.Voknei A.Pedroni. VHDL数字电路设计教程 M. 电子工业出版社,2021.5 2. 潘松,黄继业 .EDA 技术有用教程(其次版)M. 科学出版社, 2005.2 3. 焦素敏 .EDA 应用技术 M. 清华高校出版社,2002.4指导老师(签名):教研室主任(签名):课程设计成果评定表出勤出勤天数可编辑资料 - - - 欢迎下载精品名师归纳总结情形缺勤天数出勤情形及设计过程表现( 20成分)绩课设答辩( 20 分
4、)评定设计成果( 60 分)总成果( 100分)提问(答辩)问题情形综合指导老师签名:评年月日定可编辑资料 - - - 欢迎下载精品名师归纳总结目录1 前言 12 EDA 技术介绍 12.1 EDA 技术简介 12.2 EDA 技术的进展 2 3 电梯把握器设计 23.1 电梯把握器设计总体框图 23.2 电梯把握器设计思路 33.3 电梯处于各楼层的具体分析 33.4 电梯外部端口具体说明 43.4.1 定义各个端口 43.4.2 引脚锁定 5 4 仿真结果与说明 65 总结 7参考文献 7附录程序代码 8可编辑资料 - - - 欢迎下载精品名师归纳总结1 前言当今社会,随着城市建设的不断进
5、展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不行分。目前电梯把握系统主要有三种把握方式:继电路把握系统(“早期安装的电梯多位继电器把握系统”)、 FPGA/CPLD的把握系统、微机把握系统。继电器把握系统由于故障率高、牢靠性差、把握方式不灵敏以及消耗功率大等缺点,目前已逐步被淘 汰,微机把握系统虽在智能把握方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般修理人员难以把握其修理技术等缺陷。而FPGA/CPLD把握系统由于运行牢靠性高,使用修理便利,抗干扰性强,设计和调试周期较短等优 点,倍受人们重视等优点,已经成为目前在电梯把握系统中使用最多的把握方式,
6、目前也广泛用于传统继电器把握系统的技术改造。随着 EDA 技术的快速进展,电子设计自动化( EDA)逐步成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。接受EDA 设计,拥有电子系统小型化、低功耗、高牢靠性、开发过程投资小、周期短等优点,而且仍可以通过软件编程对硬件结构和工作方式进行重构,使得硬件设计如软件设计那般便利快捷。本次设计就是应用EDA 电子电路技术来设计电梯把握器,从而使用一片芯片就可以实现对电梯的把握的。2 EDA 技术介绍2.1 EDA 技术简介EDA 是电子设计自动化( Electronic Design Automation)的缩写,在 20 世纪 90 岁
7、月初从运算机帮忙设计(CAD )、运算机帮忙制造( CAM )、运算机帮忙测试( CAT)和运算机帮忙工程( CAE )的概念进展而来的。 EDA 技术就是以运算机为工具,设计者在EDA 软件平台上,用硬件描述语言VHDL完成设计文件,然后由运算机自动的完成规律编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、规律映射和编程下载等工作。EDA 技术是指以运算机为工作平台,融合了应用电子技术、运算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用 EDA 工具,电子设计师可以从概念、算法、协议等开头设计电子系统,大量工作可以通过运算机完成,并可以将
8、电子产品从电路设计、性能分可编辑资料 - - - 欢迎下载精品名师归纳总结析到设计出 IC 版图或 PCB 版图的整个过程的运算机上自动处理完成。2.2 EDA 技术的进展从目前的 EDA 技术来看,其进展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA 的应用。目前 EDA技术已在各大公司、企事业单位和科研教案部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA 技术。EDA 设计可分为系统级、电路级和物理实现级。在
9、EDA 软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC 设计工具,但不对外开放。中国华大集成电路设计中心,也供应 IC 设计软件,但性能不是很强。信任在不久的将来会有更多更好的设计工具在各的开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域进展最快的两个市场,年夏合增长率分别达到了50%和30%。3 电梯把握器设计3.1 电梯把握器设计总体框图状态显示器分把握器主把握器译码器楼层显示楼层选择器图 3 1 总体框图电梯把握器的功能模块如以下图,包括主把握器、分把握器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层
10、, 通过主把握器的处理,电梯开头运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分把握器把有效的请求传给主把握器进行处理,同时显示电梯的运行状态和电梯所在楼层数。由于分把握器相对简洁许多,所以主把握器是核心部分。可编辑资料 - - - 欢迎下载精品名师归纳总结3.2 电梯把握器设计思路本系统的主要输入有电梯外上下把握按钮Button(其中 Button0 表示一楼电梯外上升请求, Button1表示二楼电梯外上升请求,Button2 表示二楼电梯外下降请求, Button3表示三楼电梯外下降请求)。电梯内到达楼层把握按钮floor(其中 floor0 表
11、示请求到达一层, floor1 表示请求到达二层, floor2 表示请求到达三层)。系统的输出包括电梯位置标识position,表示电梯当前所在楼层。电梯开门 关门显示按钮 door(当 door=1 时表示开门, door=0 表示关门)。电梯当前运行状态按钮 up_down(当 up_down=1时表示电梯处于上升状态,当up_down=0时表示电梯处于下降状态)。系统主要通过当前所在楼层以及运行状态、后续请求判定运行方式。电梯处在第一层时,当它收到二层电梯外上下楼请求、三层电梯外下楼请求、一层电梯内到达二层和三层请求时,电梯会依据指令上升到相应楼层并开门、关 门。如收到一层电梯外上楼请
12、求只做开门响应,随后依据使用者进入电梯后请求进行响应。其他请求不响应。当电梯处在其次层时,如系统收到二层电梯外上下楼请求只做开门响应。 如收到三层电梯外下楼或二层电梯内到达三层请求,就做上楼响应、开门。如收到一层电梯外上楼或二层电梯内到达一层请求,就做下楼楼响应并开门。其他请求不响应。当电梯处在第三层时,如它收到二层电梯外上下楼请求、一层电梯外上楼请求、电梯内到达二层和一层请求时,电梯会依据指令下降到相应楼层并开 门、关门。如收到三层电梯外下楼请求只做开门响应,随后依据使用者进入电梯后请求进行响应。其他请求不响应。如电梯正处在上升状态中收到外部请求,就只响应比当前所在楼层高的楼层的请求,到达需
13、要到达最高楼层时再响应低层请求。如电梯正处在下降状态中收到外部请求,就只响应比当前所在楼层低的楼层的请求,到达需要到达最低楼层时再响应高层请求。3.3 电梯处于各楼层的具体分析有信号将上升处于一楼处于一楼时,不管是电梯内或电梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,预备作上升运行,假如电梯没有接收到请求信号,电梯就在一楼待机。可编辑资料 - - - 欢迎下载精品名师归纳总结图 3 - 2电梯处于一楼处于二楼时,电梯就可能显现三种情形:1. 电梯并没有接受到电梯内或电梯外的任何请求信号时,电梯就停留在当前楼层。2. 电梯接收到上升请求信号,进入预上升状态。3. 电梯接收
14、到下降请求信号,进入预下降状态。有信号等待上升处于二楼等待信号有信号等待下降处于三楼时,不管电梯内或图电梯3 -外3 电梯电都梯处只于可二能楼接收到下降的请求信号。此时,电梯就进入预下降状态,预备作下降运行。假如电梯没有接收到请求信号,电梯就停留在三楼。有信号等待下降可编辑资料 - - - 欢迎下载精品名师归纳总结处于三楼图 3 - 4电梯处于三楼等待信号可编辑资料 - - - 欢迎下载精品名师归纳总结图 3 - 5总流程图电梯的运行规章确立后,需对整个把握程序的设计做一个流程规范。对程序进行模块化构思。依据VHDL 语言的规章,程序必需由最基本的实体和结构体构成。实体对把握器的端口进行定义,
15、结构体对各端口的行为进行描述。因 此程序运行需经过以下流程: VHDL库调用:确立把握器的端口及相关的寄存器。依据电梯运行规章,设计相关运行描述。对电梯内信号进行处理。总流程 图如下3.4 电梯外部端口具体说明3.4.1 定义各个端口1. 时钟信号( clk)。2. 一楼电梯外人的上升请求信号(Button0 ),二楼电梯外人的上升请求信号( Button1 )。二楼电梯外人的下降请求信号( Button2 ),三楼电梯外人的下降请求信号( Button3 )。3. 电梯内人请求到达一楼的信号(fllor0 ),电梯内人请求到大二楼的信号可编辑资料 - - - 欢迎下载精品名师归纳总结(flo
16、or1 ),电梯内人请求到大三楼的信号( floor2 )。4. 电梯把握复位信号( reset)。5. 电梯所在楼层显示( position3.0 )。6. 电梯开门状态( door)。7. 电梯上下指示( up-down)。3.4.2 引脚锁定表 3 - 1:输入引脚锁定输入信号锁定的引脚clkPIN(76)Button3PIN(68)Button2PIN(69)Button1PIN(70)Button0PIN(73)floor2PIN(80)floor1PIN(81)floor0PIN(82)resetPIN(83)warmPIN 57输入共 10 个信号, clk 为输入脉冲,供应时钟
17、,信号Button3 为三楼外下降请求信号, Button2 为二楼外下降请求信号, Button1 为二楼外上升请求信号, Button0 为一楼外上升请求信号。floor2 为电梯内三层请求信号, floor1 为电梯内二层请求信号,floor0 为电梯内一层请求信号。reset 为复位信号。warm 为警告信号。表 3 - 2:输出引脚锁定输出信号锁定的引脚doorPIN(78) Position3PIN(46)Position2PIN(45)Position1PIN(44)Position0PIN(39) qPIN(94)up_downPIN(95)可编辑资料 - - - 欢迎下载精品
18、名师归纳总结输出信号共 7 个 door 为门信号,当 door=1时表示为门开,当 door=0时表示门关。 position3 、position2 、position1 、position0 ,为把握数码管显示的输出引脚。 q 为警告指示信号,当触发警告warm 时 q=1就超载,当 q=0时就没事。 up_down 为上下楼层显示信号,当up_down=1时表示电梯正在向 上运行,当 up_down=0时表示电梯正在向下运行。4 仿真结果与说明图 4 - 1从一楼到三楼使用者在一楼赐予电梯上升请求信号,即button0 置 1,随后门打开,即door 置 1,使用者在电梯内赐予三楼请求
19、信号,随后门关闭,即door 置 0,并电梯上升,即 up_down 置 1,最终到达三楼后门打开, door 置 1。图 4 - 2三楼下一楼同时二楼有上升请使用者在三楼赐予求电梯一下降请求,即button3 置 1,随后门打开,即图 4 - 3一楼到三楼在二楼时接另一door 置 1,使用者在电梯内赐予一层请求信号,随后门关闭,即door 置 0,当到达一楼时门打开,即 door 置 1,随后门关闭, door 置 0,到达二楼后,门打开, door 置 1.电梯上升过程中可以接人收较高楼层的要求。开头时有人按下一层外上升( Button0=1)按钮,电梯开门使用者进入并按下到达三层(fl
20、oor2=1 )请求,此时电梯关门并上升。在电梯上升但未到达二层时,二层外有人按下上楼( Button1=1)请求,因此当电梯到达二层(position=2)后停止并开门,待二层使用者进入后再完成第一个使用者的请求到达三层。图 4- 4有警告信号存在时当有超载信号时警报指示等亮起,即q 置 1,电梯将始终在一楼。当警告信号终止时电梯才正常运行。可编辑资料 - - - 欢迎下载精品名师归纳总结5 总结这次 EDA 课程设计虽然时间较短但是收成普丰,使得我对VHDL语言的懂得与应用才能得到了较大的提升,让我熟识到只要深化学习,提升的空间永远是存在的。在本次课程设计中凸显了我的不足之处,比如软件运用
21、不太熟练,对 VHDL语言语法有诸多不清楚的熟识,使在课程设计中遇到诸多困难。 但是好在通过查阅资料和老师同学的帮忙得以解决,使课程设计顺当完成。用 VHDL 硬件描述语言的形式进行数字系统的设计便利灵敏,利用EDA 软件进行编译优化仿真极大的削减了电路设计时间和可能发生的错误。降低了开发成本,这中设计方法必将在将来的数字系统设计中发挥越来越重的作用。动手实践是理论学问得以灵敏运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并依据自己对课堂上获得的专业学问的懂得来解决才能真正的提高自己的才能。这也提示我在平常的学习生活中不能一味埋头于课本学问,当今社会
22、竞争越来越猛烈,社会对人才的要求越来越全面,只有理论学问是远远不够的,必需靠实践作支撑。时间是检验真理的唯独标准这句话在这里同样适用。想要更加明白EDA 技术这一领域必定仍要经过更多的实践与努力,明白更多的这方面的学问,与时代共同进步,达到学以致用的成效。再次感谢在本次课程设计中帮忙我完成设计的老师与同学们,没有你们的帮忙我不能顺当的完成此次课程设计,在这里提前祝老师与同学新年欢快。参考文献1.Voknei A.Pedroni.VHDL 数字电路设计教程M. 电子工业出版社,2021.52.潘松,黄继业 . EDA技术有用教程(其次版) M. 科学出版社,2005.23.焦素敏. EDA应用技
23、术 M. 清华高校出版社, 2002.44 梁延东主编。电梯把握技术 M 。中国建筑工业出版社, 19975 李鼎培,当前电梯研制开发技术动态 J ,中国电梯, 1995可编辑资料 - - - 欢迎下载精品名师归纳总结附录 程序代码LIBRARY IEEE 。USE IEEE.STD_LOGIC_1164.all。USE IEEE.STD_LOGIC_UNSIGNED.all 。ENTITY li ISPORT CLK: IN STD_LOGIC 。reset,warm: IN STD_LOGIC。Button : IN STD_LOGIC_VECTOR3 DOWNTO 0 。 -button
24、0为一层外上升请求, button1为二层外上升请求 button2为二楼外下降请求, Button3为三层外下降请求。floor : IN STD_LOGIC_VECTOR2 DOWNTO 0 。 -floor0 为电梯内一层请求按钮, floor1 为电梯内二层请求按钮,-floor2 为电梯内三层请求按钮。position: OUT STD_LOGIC_VECTOR3 DOWNTO 0 。-position表示电梯当前位置信息。door : OUT STD_LOGIC。 - 1为开门, 0为关门。 up_down,q: OUT STD_LOGIC- 1为上楼, 0为下楼。END li 。
25、ARCHITECTURE happen OF li IS TYPE State IS S0,S1U,S1D,S2。-S1U为二楼上状态, S1D为二楼下状态。SIGNAL current_state : State。-中间变量:当前状态SIGNAL next_state : State。-中间变量:下一状态SIGNAL up : STD_LOGIC 。-中间变量:上升下降状态SIGNAL dor : STD_LOGIC 。-中间变量:开门关门状态BEGINP1:PROCESSCLK-状态转换进程。 BEGIN可编辑资料 - - - 欢迎下载精品名师归纳总结IF CLKEVENT AND CLK
26、=1 THEN-检测时钟上升沿if warm=0then current_state = next_stat。e END IF。end if。END PROCESS。P2:PROCESSreset,clk,current_state,up,button,floor button_var: STD_LOGIC_VECTOR 3 DOWNTO 0 。AVRIABLE可编辑资料 - - - 欢迎下载精品名师归纳总结VARIABLE floor_var : STD_LOGIC_VECTOR 2 DOWNTO 0。VARIABLE cat : STD_LOGIC 。VARIABLE ca_time :
27、STD_LOGIC_VECTOR3 DOWNTO 0。BEGINIF reset = 1 THEN-复位处理,初始状态为一层next_state = S0。position = 0001。cat:=0。ca_time:=0000。up=Z。dor-一楼状态处理。position dor dor=0。button_var0:=0。 floor_var0:=0。IF floor_var1 or floor_var2=1 THENnext_state=S1U。 ca_time:=0000。up=1。ELSEnext_state NULL 。END CASE。ELSIF button_var1 OR
28、button_var2 or button_var3 or floor_var2 orfloor_var1=1 THENnext_state = S1U。ca_time:=0000。up = 1。ELSEnext_state -二楼上状态处理。 position dor dor=0。floor_var1:=0。IF button_var1 or button_var3 or floor_var2=1 THEN next_state=S2。ca_time:=0000。button_var1:=0。ELSIF button_var0 or button_var2 or floor_var0=1 T
29、HEN next_state=s0。ca_time:=0000。button_var2:=0。ELSEnext_state NULL 。END CASE。ELSEIF button_var1=1 THEN-二楼外上升请求。 CASE ca_time ISWHEN 0011 = dor dor=0。button_var1:=0。IF floor_var2 or button_var3=1THENnext_state=S2。可编辑资料 - - - 欢迎下载精品名师归纳总结ca_time:=0000。ELSIF button_var0 or floor_var0 or button_var2=1 T
30、HEN next_state=s0。ca_time:=0000。up=0。可编辑资料 - - - 欢迎下载精品名师归纳总结ELSE next_state NULL 。END CASE。ELSEIF button_var3 or floor_var2=1 THEN-二楼无上楼,开门请求,但三层有下楼或开门请求。 next_state dor dor=0。END IF。可编辑资料 - - - 欢迎下载精品名师归纳总结button_var0=1 THENbutton_var2:=0。IFfloor_var0 or可编辑资料 - - - 欢迎下载精品名师归纳总结next_state=s0。ca_tim
31、e:=0000。up=0。ELSE next_state NULL 。END CASE。ELSIF button_var0 or floor_var0=1 THEN可编辑资料 - - - 欢迎下载精品名师归纳总结-电梯处于二楼上状态,仅有一楼信号要处理next_state=s0。ca_time:=0000。up=0。ELSEnext_state- up=0 时的情形。 position dor dor=0。floor_var1:=0。IF button_var2 or button_var0 or floor_var0=1 THEN next_state=s0。ca_time:=0000。bu
32、tton_var2:=0。ELSIF button_var1 or button_var3 or floor_var2=1 THEN next_state=S。2ca_time:=0000。button_var1:=0。ELSEnext_state NULL 。END CASE。ELSE可编辑资料 - - - 欢迎下载精品名师归纳总结IF button_var2=1 THEN CASE ca_time ISWHEN 0011 = dor dor=0。button_var2:=0。IF floor_var0 or button_var0=1 THEN next_state=s0。ca_time:
33、=0000。ELSIF button_var1 or floor_var2 or button_var3=1 THEN next_state=S2。ca_time:=0000。up=1。ELSEnext_state NULL 。END CASE。ELSEIF button_var0 or floor_var0=1 THEN next_state dor dor=0。button_var1:=0。 IFfloor_var2 or button_var3=1THENnext_state=S2。 ca_time:=0000。可编辑资料 - - - 欢迎下载精品名师归纳总结up=1。ELSEnext_
34、state NULL 。END CASE。ELSIF button_var3 or floor_var2=1 THEN next_state=S2。ca_time:=0000。up=1。ELSEnext_state-电梯三楼状态处理。 position dor dor=0。button_var3:=0。floor_var2:=0。IF floor_var0 or floor_var1=1 THEN next_state=S1D。ca_time:=0000。up=0。可编辑资料 - - - 欢迎下载精品名师归纳总结ELSEnext_state NULL 。END CASE。ELSIF butto
35、n_var0 OR button_var1 OR button_var2 or floor_var0 or floor_var1=1 THEN可编辑资料 - - - 欢迎下载精品名师归纳总结ca_time:=0000。ELSEca_time:=0000。END IF。END CASE。next_state =S1D。up = 0。next_state =S2。可编辑资料 - - - 欢迎下载精品名师归纳总结END IF。END PROCESS。P3:PROCESSup,dor,warm-电- variable s:std_logic。BEGINup_down=up。door=dor。q=warm。EN