logo资料库

EDA三层电梯设计课设报告.doc

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
目录
绪 论
第1章.系统设计要求
第2章.系统设计方案
第3章.VHDL语言分析
第4章 系统仿真/硬件验证
4.1.编辑输入并保存VHDL源文件
4.2.将当前设定设定为工程和选定目标器件
4.3.时序仿真
4.4.引脚锁定
4.5.编程下载与测试
4.6.设计流程归纳
第5章 设计技巧分析
第6章系统扩展思路
第7章 心得体会
第8章 谢 辞
参考文献
附录
EDA 课程设计—电梯控制器 目录 绪 论.................................................................................................................................1 第 1 章.系统设计要求 .................................................................................................... 2 第 2 章.系统设计方案 .................................................................................................... 3 第 3 章.VHDL 语言分析 ................................................................................................... 5 第 4 章 系统仿真/硬件验证 ........................................................................................... 11 4.1.编辑输入并保存 VHDL 源文件....................................................................11 4.2.将当前设定设定为工程和选定目标器件 .....................................................11 4.3.时序仿真......................................................................................................... 12 4.4.引脚锁定......................................................................................................... 13 4.5.编程下载与测试 ............................................................................................. 14 4.6.设计流程归纳................................................................................................. 14 第 5 章 设计技巧分析 .................................................................................................... 15 第 6 章 系统扩展思路 .................................................................................................... 16 第 7 章 心得体会 ............................................................................................................ 17 第 8 章 谢 辞 .................................................................................................................. 18 参考文献 ...........................................................................................................................19 附录 ...................................................................................................................................20 0
EDA 课程设计—电梯控制器 绪 论 现代电子设计技术的核心已趋向基于计算机的电子设计自动化技 术,即 EDA(Electronic Design Automation)技术。EDA 技术就是依赖 功能强大的计算机,在 EDA 工具软件平台上,对以硬件描述语言 HDL (Hardware Description Language)为系统逻辑描述手段的设计文件,自 动完成逻辑编译,化简,分割,综合,布局布线以及逻辑优化和仿真测 试,直至既定的电子线路系统功能。EDA 技术使得设计者的工作仅限于 利用软件的方式,即利用硬件描述语言和 EDA 软件来完成对系统硬件功 能的实现,这是电子设计技术的一个巨大进步。 20 世纪 70 年代,在信息通信领域.要优先发展高速宽带信息网.深亚 微米集成电路.新型元器件.计算机及软件技术.第三代移动通信技术.信息 管理.信息安全技术.积极开拓以数字技术.网络技术为基础的新一代信息 产品.发展新兴产业.培育新的经济增长点。要大力推进制造业信息化。积 极开展计算机辅助设计(CAD)。计算机辅助工程(CAE)。计算机辅助工艺 (CAPP).计算机机辅助制造(CAM).产品数据管理(PDM)。制造资源计划 (MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”。便 于合作设计、合作制造、参与国内和国际竞争。开展“数控化”工程和 “数字化”工程。自动化仪表的技术发展趋势的测试技术。控制技术与 计算机技术。通信技术进一步融合。形成测量、控制、通信与计算机(M3C) 结构。在 ASIC 和 PLD 设计方面,向超高速、高密度、低功耗、低电压 方面发展。 本课程设计使用软件为 max+plusⅡ,设计一个电梯控制器,硬件通 过 ALTERA 公司的 ACEX1K 系列的 EP1K30TC144-3 芯片来实现。软件 通过 VHDL 语言来实现。 1
EDA 课程设计—电梯控制器 第 1 章.系统设计要求 随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大厦、 宾馆使用,过渡到在办公楼、居民楼等场所使用,并且对电梯功能的要 求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控 制,传统的方法是使用继电器—接触器控制系统进行控制,随着技术的 不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微 机化控制的时代。 电梯的微机化控制主要有以下几种形式:① PLC 控制;② 单板机 控制;③ 单片机控制;④ 单微机控制;⑤ 多微机控制;⑥ 人工智能 控制。随着 EDA 技术的快速发展,CPLD/FPGA 已广泛应用于电子设计 与控制的各个方面。本设计就是使用一片 CPLD/FPGA 来实现对电梯的 控制的。 课设要求如下: (1)设计一个三层楼房自动电梯控制器,用八个 LED 显示电梯行 进过程; (2)并有数码管显示电梯当前所在楼层位置; (3)每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层 的 LED 亮; (4)能把设计文件进行仿真并下载到实验箱实现功能验证。 2
EDA 课程设计—电梯控制器 第 2 章.系统设计方案 根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输 出接口设计如图 1 所示:系统工作用 2 Hz 基准时钟信号 liftclk,楼层上 升请求键 fupbutton,楼层下降请求键 fdnbutton,楼层选择键入键 stopbutton, 目的楼层设置 2 层上下请求 1 层上升请求 3 层下降请求 开、关门信号 时钟脉冲 3 层 电 梯 控制系统 开关门 LCD 显示 楼层 LED 显示 图一.电梯控制系统框图 据此,整个电梯控制器应包括如下几个组成部分:① 时序输出及楼 选计数器;② 电梯服务请求处理器;③ 电梯升降控制器;④ 上升及下 降寄存器;⑤ 电梯次态生成器。该电梯控制器设计的关键是确定上升及 下降寄存器的置位与复位。 三层电梯控制器的 VHDL 描述模块流程如图 2 所示。三层电梯控制 器的源代码(见附录)可知 3
EDA 课程设计—电梯控制器 图 1 三层电梯控制器的 VHDL 描述 其实体设计如下: (1)输入端口的设计,定义一个异步复位端口 reset,用于在系统不 正常时回到初始状态;在电梯外部,必须有升降请求端口,一层是最低 层,不需要有下降请求,三层是最高层,不需要有上升请求,二层则上 升、下降请求端口都有;在电梯的内部,应该设有各层停留的请求端口; 一个电梯时钟输入端口,该输入时钟以 1 秒为周期,用于驱动电梯的是 升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯 时钟高。 (2)输出端口的设计,有升降请求信号以后,就得有一个输出端口 来指示请求是否被响应。有请求响应后,该输出端口输出逻辑‘1’,被 响应以后则恢复逻辑‘0’;同样,在电梯内部也应该有这样的输出端口 来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现 在所处的位置;电梯开门关门的状态也能用一个输出端口来指示;为了 观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状 态。 4
EDA 课程设计—电梯控制器 第 3 章.VHDL 语言分析 1. 外部引脚信号 buttonclk:IN STD_LOGIC; --按键时钟 --电梯时钟 --异步复位按键 liftclk:IN STD_LOGIC; reset:IN STD_LOGIC; f1upbutton:IN STD_LOGIC; --第 1 层上升请求 f2upbutton:IN STD_LOGIC; --第 2 层上升请求 f2dnbutton:IN STD_LOGIC; --第 2 层下降请求 f3dnbutton:IN STD_LOGIC; --第 3 层下降请求 fuplight:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1); --电梯外部上升请求指示灯 fdnlight:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1); --电梯外部下降请求指示灯 stop1button,stop2button,stop3button:IN STD_LOGIC; --电梯内部请求按键 stoplight:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1); --电梯内部各层请求指示灯 position:BUFFER INTEGER RANGE 1 TO 3; --电梯位置指示 doorlight:OUT STD_LOGIC; --电梯门开关指示灯 udsig:BUFFER STD_LOGIC); --电梯升降指示灯 2. 控制器的 10 个状态 ①电梯的初始状态为在 1 层 WHEN STOPON1=>DOORLIGHT<='0'; --电梯在 1 楼,指示灯不亮 POSITION<=1;POS<="0001"; --数码管显示在 1 楼 UDSIG<='0'; MYLIFT<=DOORWAIT1; -- 电梯升降指示为上升 ②电梯处在等待第 1 秒状态 WHEN DOORWAIT1=>MYLIFT<=DOORWAIT2; CLEARUP<='0';CLEARDN<='0'; --清除上升和下降请求指示灯的信号为‘0’ 5
EDA 课程设计—电梯控制器 ③电梯处在等待第 2 秒状态时 WHEN DOORWAIT2=>MYLIFT<=DOORWAIT3; ④电梯处在等待第 3 秒状态时 WHEN DOORWAIT3=>MYLIFT<=DOORWAIT4; ⑤电梯处在等待第 4 秒状态时 WHEN DOORWAIT4=>DOORLIGHT<='0'; IF UDSIG='0' THEN --UDSIG=0 表示上升模式; IF POSITION=3 THEN --如果电梯在第三层; IF STOPLIGHT="000"AND FUPLIGHT="000" AND FDNLIGHT="000" THEN --没有任何请求信号; UDSIG<='1'; --UDSIG=1 表示下降模式; MYLIFT<=DOORCLOSE; --电梯转为关门状态; ELSIF STOPLIGHT(POSITION)='1'OR FDNLIGHT(POSITION)='1'THEN --当有楼层显示灯亮或者下降请求时 UDSIG<='1';MYLIFT<=DOOROPEN; --电梯转为开门状态 ELSE UDSIG<='1'; MYLIFT<=DOWN; --电梯转为下降状态; END IF; ELSIF POSITION=2 THEN --如果电梯在第二层; IF STOPLIGHT="000"AND FUPLIGHT="000" AND FDNLIGHT="000" THEN --没有任何请求信号; UDSIG<='0';MYLIFT<=DOORCLOSE; --处于上升状态; ELSIF STOPLIGHT(POSITION)='1'OR FUPLIGHT(POSITION)='1'THEN --楼层选择灯亮,上升模式显示灯亮; UDSIG<='0';MYLIFT<=DOOROPEN; --电梯上升状态,状态置回开门状态; ELSIF STOPLIGHT(3)='1'OR FDNLIGHT(3)='1'THEN UDSIG<='0';MYLIFT<=UP; ELSIF STOPLIGHT(POSITION)='1'OR FDNLIGHT(POSITION)='1'THEN 6
EDA 课程设计—电梯控制器 UDSIG<='1';MYLIFT<=DOOROPEN; --有停站请求或者该层有下降请求,UDSIG 置 1,该层处于开门状态; ELSE UDSIG<='1';MYLIFT<=DOWN; --电梯转为下降状态; END IF; ELSIF POSITION=1 THEN --电梯在第一层; IF STOPLIGHT="000"AND FUPLIGHT="000" AND FDNLIGHT="000" THEN UDSIG<='0'; --没有任何请求信息,电梯处于上升模式; MYLIFT<=DOORCLOSE; --状态置回关门状态; ELSIF STOPLIGHT(POSITION)='1'OR FUPLIGHT(POSITION)='1' THEN UDSIG<='0';MYLIFT<=DOOROPEN; --有停站请求或者该层有下降请求,UDSIG 置 1,该层处于开门状态; ELSE UDSIG<='0'; MYLIFT<=UP; --电梯转为下降状态; END IF; END IF; ELSIF UDSIG='1' THEN --电梯为上升模式; IF POSITION=1 THEN --电梯处于第一层; IF STOPLIGHT="000"AND FUPLIGHT="000" AND FDNLIGHT="000" THEN --没有任何请求信号; UDSIG<='0'; MYLIFT<=DOORCLOSE; --电梯处于上升模式,状态置回关门状态; ELSIF STOPLIGHT(POSITION)='1'OR FUPLIGHT(POSITION)='1' THEN UDSIG<='0';MYLIFT<=DOOROPEN; --有停站请求或者该层有上升请求,UDSIG 置 0,该层处于开门状态; ELSE UDSIG<='0';MYLIFT<=UP; --否则,状态转为上升状态; END IF; ELSIF POSITION=2 THEN --否则电梯处于第二层 IF STOPLIGHT="000"AND FUPLIGHT="000" AND FDNLIGHT="000" THEN 7
分享到:
收藏