课程设计EDA电梯控制器.doc_第1页
课程设计EDA电梯控制器.doc_第2页
课程设计EDA电梯控制器.doc_第3页
课程设计EDA电梯控制器.doc_第4页
课程设计EDA电梯控制器.doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 概述概述 2 2 一 设计任务与要求一 设计任务与要求 2 2 二 总体框图二 总体框图 3 3 1 控制器的设计方案 3 2 三层电梯控制器的设计思路 4 3 三层电梯控制器的模块 4 三 选择器件三 选择器件 5 5 四 功能模块四 功能模块 5 5 1 主控制器模块 5 2 楼层显示模块 11 3 状态显示模块 14 五 总体设计五 总体设计 1616 1 顶层电路原理图 16 2 全局仿真结果 17 3 管脚分配图 18 4 硬件连接及验证情况 18 六 硬件验证六 硬件验证 1919 1 七 心得体会七 心得体会 2020 三层电梯控制三层电梯控制 概述概述 电梯的使用越来越普遍 已从原来只在商业大厦 宾馆使用 过渡到在办 公室 居民楼等场所使用 并且对电梯功能的要求也不断提高 相应地其控制 方式也在不停地发生变化 对于电梯的控制 传统的方法是使用继电器 接 触器控制系统进行控制 随着技术的不断发展 微型计算机在电梯控制上的应 用日益广泛 现在已进入全微机化控制的时代 电梯的微机化控制主要有以下几种形式 PLC 控制 单板机控制 单片机控制 单微机控制 多微机控制 人工智能控制 随着 EDA 技术 的快速发展 CPLD FPGA 已广泛应用于电子设计与控制的各个方面 本设计就 是使用 CPLD FPGA 来实现对电梯的控制 一 设计任务与要求 1 每层电梯入口设有上下请求开关 电梯内设有乘客到达层次的停站请求开关 2 设有电梯所处位置及电梯运行模式 上升或下降 指示装置 3 电梯 3 秒升降一层楼的高度 4 电梯到达有停站请求的楼层后 经过 1s 电梯门打开 开门指示灯亮 开门 4s 后 电梯门关闭 开门指示灯灭 电梯继续运行 直到执行完最后一个请 求信号后停在当前层 5 记忆电梯内外的所有请求信号 并按照电梯运行规则次序响应 每个请求信 号保留至执行后清除 6 电梯运行规则 当电梯处于上升模式时 只响应比电梯所在位置高的上楼请 2 求信号 由下而上逐个执行 直到最后一个上楼请求执行完毕 如更高层有下 楼请求 则直接升到有下楼请求的最高层接管 然后便如下降模式 当电梯处 于下降模式时 则于上升模式相反 7 电梯初始化状态为一层开门 8 楼层信号用数码管显示 9 电梯工作模式利用 16 16 点阵显示 10 开门灯用发光二极管显示 二 总体框图 1 控制器的设计方案 控制器的功能模块如图 1 所示 包括主控制器 分控制器 楼层选择器 状态显示器 译码器和楼层显示器 乘客在电梯中选择所要到达的楼层 通过 主控制器的处理 电梯开始运行 状态显示器显示电梯的运行状态 电梯所在 楼层数通过译码器译码从而在楼层显示器中显示 分控制器把有效的请求传给 主控制器进行处理 同时显示电梯的运行状态和电梯所在楼层数 由于分控制 器相对简单很多 所以主控制器是核心部分 图 1 电梯控制原理图 3 2 三层电梯控制器的设计思路 方案一 电梯控制器可采用状态机来实现 思路比较清晰 可以将电梯 等待的每秒钟以及开门 关门都看成一个独立的状态 电梯可以通过一个统一 的 1 秒为周期的时钟来触发状态机 根据电梯的实际工作情况 可以把状态机 设置 10 个状态 分别是 电梯停留在第 1 层 开门 关门 开门等待第 1 秒 开门等待第 2 秒 开门等待第 3 秒 开门等待第 4 秒 上升 下降 和 停 止状态 各个状态之间的转换条件可由设计要求所决定 方案二 将电梯的状态划分为开门 一层 二层 三层四个状态 以一层 开门为电梯初始状态对每个状态进行分析 选用 veryhardd 模块为核心 其中 up1 up2 分别为一层 二层的上升请求 down2 down3 分别为二层 三层的 下降请求 k1 k2 k3 分别为一层 二层 三层的停站请求 a1 a2 a3 分别 为停站请求显示 mode 电梯运行模式显示 door 为门的状态 1 表示开 0 表示关 site 为电梯的楼层显示 用 seg 模块将楼层显示的信号转换成数 码管显示 用 dian 模块将电梯工作模式利用 16 16 点阵显示出来 本设计选用方案二设计 3 三层电梯控制器的模块 图 2 三层电梯控制模块 数码数码管显示管显示 4 三 选择器件 1 配有 Quartus 6 0 软件的计算机一台 2 FPGA 适配器板 标准配置是 EPF10K10 接口板 3 16 16 位发光二极管 LED 点阵 4 选用 FPGA 芯片 5 下载接口是数字芯片的下载接口 JTAG 主要用于 FPGA 芯片的数据下载 6 八位八段数码管 7 时钟源和导线若干 四 功能模块 1 主控制器模块 Veryhardd vhd 模块 Veryhardd 见图 3 该模块是整个程序的核心 主要设计思想是将电梯 的状态划分为四个 一层状态 c1 二层状态 c2 三层状态 c3 开门状 态 kai 对每个状态分析其所有可能 图 3 Veryhardd 模块 5 Veryhardd 模块设计文件 veryhardd vhd library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity veryhardd is port up1 up2 clk down2 down3 k1 k2 k3 in std logic site out std logic vector 3 downto 1 a1 a2 a3 out std logic mode door out std logic end veryhardd architecture veryhardd arc of veryhardd is type state type is c1 c2 c3 kai begin process clk variable up3 down1 ting1 ceng1 std logic vector 3 downto 1 variable mo x y z std logic variable cnt1 cnt2 integer variable state state type begin if clk event and clk 1 then if up1 0 then up3 1 1 end if if up2 0 then up3 2 1 end if if down3 0 then down1 3 1 end if 6 if down2 0 then down1 2 1 end if if k1 0 then ting1 1 1 end if if k2 0 then ting1 2 1 end if if k3 0 then ting1 3 1 end if if cnt1ceng1 001 mo 0 if up3 000 or down1 000 or ting1 000 then z 1 end if if z 0 then door 1 else doorceng1 010 if mo 0 then if ting1 2 1 or up3 2 1 then state kai ting1 2 0 up3 2 0 elsif down1 3 1 or ting1 3 1 or x 1 then state c3 X 0 elsif down1 2 1 or up3 1 1 or ting1 1 1 then mo 1 end if else if ting1 2 1 or down1 2 1 then state kai ting1 2 0 down1 2 0 elsif up3 1 1 or ting1 1 1 or y 1 then state c1 y 0 elsif up3 2 1 or down1 3 1 or ting1 3 1 then mo 0 8 end if end if when c3 mo 1 ceng1 100 if ting1 3 1 or down1 3 1 then state kai ting1 3 0 down1 3 0 elsif down1 2 1 or ting1 2 1 then state c2 elsif up3 1 1 or ting1 1 1 then state c2 y 1 elsif up3 2 1 then state c2 mo 0 end if when kai door 1 if cnt2 3 then cnt2 cnt2 1 else door 0 cnt2 0 if ceng1 001 then state c1 elsif ceng1 010 then state c2 else state c3 end if 9 end if end case cnt1 0 end if end if site ceng1 a1 ting1 1 a2 ting1 2 a3 ting1 3 modeqqqnull 12 end case end if end process end seg arc seg 模块的仿真如图 8 a 输入为 001 时 输出在数码管显示为 1 a 输入 010 时 输出在数码管显 示为 2 a 输入 100 时 输出在数码管显示为 3 图 8 seg 的仿真图 3 状态显示模块 dian vhd 模块 dian 见图 9 该模块的功能是将电梯的工作模式用 16 16 点阵显示出 来 13 图 9 dian 模块 Dian 模块设计文件 dian vhd library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity dian is port clk mode in std logic sel out std logic vector 3 downto 0 q out std logic vector 0 to 15 end dian architecture dian arc of dian is begin process clk variable seel std logic vector 3 downto 0 begin if clk event and clk 1 then seel seel 1 if mode 0 then case seel is when 0011 qqqqqqqqqqqqqqqqqqqqqq 0000000000000000 end case end if end if sel seel end process end dian arc dian 模块的仿真如图 10 mode 为 1 时 表示下降 输出在 16 16 点阵上显示为下降箭头 mode 为 0 时 表示上升 输出在 16 16 点阵上显示为上升箭头 15 图 10 dian 的仿真图 五 总体设计 1 顶层电路原理图 三个模块由同一个时钟信号控制 当 clk 有上升沿信号 输入 up1 up2 down2 down3 k1 k2 k3 有输入信号时 veryhardd 模块的输出 site 3 1 控制 seg 模块的输入端 a 3 0 由数码管输出电梯所在楼层 Veryhardd 模块的输出 mode 控制 dian 模块的输入 由 16 16 点阵显示电梯的运行模式 16 图 11 顶层电路原理图 2 全局仿真结果 图 12 图 12 全局仿真图 17 3 管脚分配图 图 13 图 13 管脚分配 4 硬件连接及验证情况 该实验用标准配置是 EPF10K10 接口板 需要的连线多 在试验箱上连线 时 由于导线使用时间过长 接线口之间的相互碰触 拨码开关的灵敏度降低 等器件损耗 给试验箱的实现带来一定困难 硬件验证时 时钟信号设定与输入信号之间的配合 是验证难以实现 需 要通过调配 多次的试验 18 六 硬件验证 图 14 一层上 图 15 二层上 19 图 16 三层下 七 心得体会 VHDL 语言既具有高级编程语言的优点 又有并行执行的特性 使设计者 脱离了底层电路 而在更高的层次上考虑电路的各种时序和逻辑关系 这样设 计者可以采用自顶向下的设计方法和并行工作的设计原则 用 VHDL 硬件描述语言的形式来进行数字系统的设计方便灵活 利用 EDA 软件进行编译优化仿真极大的减少了电路设计时间和可能发生的错误 降低了 开发成本 这种设计方法必在将来的数字系统设计中发挥越来越重要的作用 1 在进行设计时 最主要的是先设计理清时序 在单个实现各个模快功能 时比较简单 但将各个功能模块综合在一起之后就需要理清它们的时序 才能 够共用数据总线 使其互不干扰地工作 2 设计完成后要在模板上仿真 来验证所编程序的正确性和可行性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论