ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:237.98KB ,
资源ID:16455527      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16455527.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计基于VHDL的三层电梯控制器的设计Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计基于VHDL的三层电梯控制器的设计Word格式文档下载.docx

1、 本设计运用有限状态机的方法,在结构体最前端首先定义了十个状态;然后在结构体中设计了两个进程,状态机进程作为主要进程,信号灯控制进程作辅助进程。在状态机进程中,电梯关门后根据信号灯的情况,来决定下一个状态是上升、下降还是停止;在信号灯控制进程中,而信号灯的熄灭是由状态机进程中传出clearup和cleardn信号来控制。 实现了三层电梯的基本功能,电梯的的运行情况完全符合它的运行规则,电梯的位置变化合情合理。二、设计的基本思路及其设计出发点本设计采用VHDL,源程序经A1tera公司的MAX+plus II软件仿真。运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号

2、灯控制进程作为辅助进程。电梯作为垂直方向的交通工具,在高层建筑和公共场所已成为不可或缺的设备。中国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核心技术,自主品牌占市场的份额很少。随着社会需求的变化,电梯朝着节能、环保及智能化方向发展。三、方案原理论述3.1 电梯控制器原理电梯控制器的功能模块如图3.1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显

3、示电梯的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。 图3.1 电梯控制器原理图3.2三层电梯控制器的设计思路电梯控制器设计两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。根据电梯的实际工作情况,可以为状态机设置十个状态,它们分别是“电梯停在一层”“开门”“关门”“开门等待第一秒”“开门等待第二秒”“开门等待第三秒”“开门等待第四秒”“上升”“下降”和“停止”。由于电梯每秒上升或下降一层,则可以用周期为1s的信号来作为电梯状态转换的触发时钟。状态机进程中的很多判断条件是以信号灯控制进程产生的信号灯信号为依据,而信号灯控制进程中信号灯的熄灭又

4、是由状态机进程中传出的信号来控制。三层电梯控制器的设计主要是对实体和结构体的设计,它的VHDL描述模块流程如图3.2所示:3.3结构体设计在结构体中,首先说明了状态机设置的十个状态,分别是:电梯停在1层(stopon1)、开门(dooropen)、关门(doorclose)、开门等待第1秒(doorwait1)、开门等待第2秒(doorwait2)、开门等待第3秒(doorwait3)、开门等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在结构体最前端用如下的定义语句,来定义状态机。type lift_state is(stopon1,dooropen,do

5、orclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop); 接着描述电梯内部功能实现,在结构体中设计了两个进程,一个状态机进程(ctrlift),它是以reset和liftclk作为敏感信号,控制电梯的状态转移;另外一个是信号灯控制进程(ctrlight),它是以reset和buttonclk作为敏感信号,控制寄存信号的逻辑值。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度大,但是时钟频率不能过高,否则容易使按键过于灵敏,而信号灯的熄灭是由状态机进程中传出clearup和cleardn信号来控制。四

6、、仿真设计分析4.1 VHDL源代码语法的简单说明(1)本程序设计调用了ieee库,ieee库是VHDL设计中最为常用的库,它包含有ieee标准的程序包和其他一些支持工业标准的程序包。本设计采用std-logic-1164、std-logic-unsigned、std-logic-arith程序包。(2)以关键词entity引导,end entity threelift结尾的部分是程序的实体部分。VHDL的实体描述了电路器件的外部情况,本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示端口、电梯的请求端口。它描述了端口模式主要有in、buffer、out,以及各端口信号的数

7、据类型主要有std-logic、std-logic-vector、integer。(3)以关键词architecture引导,end architecture one结尾的语句部分是结构体部分,结构体描述电路器件的内部逻辑功能。4.2 波形仿真在波形仿真中,根据实际,我们有必要做一些假设,即是:(1)外部请求上升的乘客,进入电梯后一定是按更高层的停站按钮;(2)外部请求下降的乘客,进入电梯后一定是按更低层的停站按钮;(3)如果有乘客进入电梯,则一定有停站请求;(4)同一时刻有很多人按键的概率很小,所以我们认为请求信号都有一定的先后顺序。设定仿真时间长度为60s,liftclk信号为周期1s的时

8、钟信号,buttonclk信号为周期0.1s的时钟信号。doorlight信号逻辑1表示开门,逻辑0表示关门。udsig信号为逻辑1表示电梯处在上升模式,逻辑0表示处在下降模式。fuplight,fdnlight,stoplight是三位二进制向量,波形图中的1代表“001”,表示一层有请求,2代表“010”,表示二层有请求,4代表“100”,表示三层有请求。图4.1所示的波形是在一层有上升请求的仿真波形,在reset信号产生一个脉冲时,电梯回复初始状态,即stopon1状态,然后等待4s,关门检测没有请求信号,于是电梯此时停在一层。当电梯时钟上升沿检测到一层上升请求信号fuplight(1)

9、为1时,电梯开门,fuplight(1)清零,等待4s,关门检测到二层停站请求,于是电梯上升到二层停止,开门stoplight(2)清零,position信号由1变为2,电梯最终停在二层。 图4.1 有上升请求的仿真波形 图4.2所示的波形是三层有下降请求的波形,当电梯在一层关门后,检测到fdnlight为“100”,则上升到三层,开门等待4s,关门检测到stoplight为1,于是电梯下降到一层,最终停在一层。 图4.2 有下降请求的仿真波形图4.3所示的波形是二层和三层都有下降请求的仿真波形,当电梯在一层关门后,检测到fdnlight为“110”,则直接上升到三层,开门后fdnlight(

10、3)清零,等待4s后,关门下降到二层停止,开门后fdnlight(2)和stoplight(2)清零,再下降到一层。 图4.3 有多个下降请求的仿真波形 图4.4所示的波形为有多个停站请求的仿真波形,电梯在一层关门后,检测到stoplight为“110”,则上升至二层停止开门,stoplight(2)清零,等待4s后关门,继续上升至三层,开门后stoplight(3)清零,乘客下站后电梯最终停在三层。 图4.4 有多个停站请求的仿真波形图4.5所示,当只有二层有下降请求时,电梯上升至二层,然后下降,显然正确。 图4.5 只有二层有下降请求时的仿真波形图4.6所示,二层同时有上升和下降请求,电梯

11、上升至二层,门打开等待4s,关门后检测到stoplight(3)和fdnlight(2)都为1,它会先上升至三层,再下降至二层,待有下降请求的乘客上电梯后,最后下降至一层。4.6 同时有上升和下降请求的仿真波形从前面所有的仿真波形来看,电梯的的运行情况完全符合它的运行规则,电梯的位置变化合情合理。五、本电路的实际应用三层电梯控制器的设计很简单,但在实际应用中,电梯往往不止三层,因此考虑设计的扩展性十分重要。本设计在信号定义时就使用了二进制向量,而非整数,并且使用状态机的设计方法,因此扩展性较好。如果要实现n层电梯的控制,首先要在实体的端口定义中添加相应的增加楼层的上身、下降和停站请求端口,而指

12、示灯只要把其数组宽度由3 downto 1改为n downto 1 就可以了。在电梯的关门状态中,应把position=3改为position=n,关键是修改position=2的部分,如果按照原方法把每层罗列,则随着楼层的增加,程序会非常复杂,所以得寻求各中间层的共性。解决方法是,首先定义一个全局向量abc为std_logic_vector(n downto 1),abc的赋值为abc1,others=0)。在电梯的上升模式时,如果有本层请求信号,则电梯开门;如果没有任何请求信号,则电梯停在当前层;否则用stoplight和fuplight与全局变量abc作比较,如果stoplight或fu

13、plight比abc大,则说明更高层还有上升或停站请求,电梯需继续上升;如果abc更大,则用abc与fdnlight作比较,如果fdnlight更大,则说明更高层有下降请求,电梯继续上升,否则电梯下降。电梯处在下降模式时,同原理分析判定下一状态。这样可以大大简化程序,但要注意的是abc向量作为判断依据,需实时更新,可以单独写一个进程,触发时钟周期要设置得很小。在电梯的上升状态和开门状态中,把3改为n,在信号灯控制进程中加入其它按键触发指示灯的语句六、总结和设计心得体会在本学期做毕业设计的过程中,我学习了VHDL语言的基本语法,熟悉了MAX+plus II的VHDL文本设计流程全过程,掌握了三层

14、电梯控制器的设计方法,及它的仿真和硬件测试。经过多次改进,本设计实现了三层电梯的基本功能,电梯的的运行情况完全符合它的运行规则,电梯的位置变化合情合理。本次三层电梯控制器的设计采用VHDL语言,源程序经MAX+plus II软件仿真,目标器件选用CPLD器件。本设计代码具有良好的可读性和可移植性,运用了有限状态机的设计方法,使得它灵活、简单、运算速度快、可靠性高,并且此设计具有良好的扩展性。本文中设计的电梯控制器以CPLD为实现载体,以VHDL为描述语言实现了电梯的升降舒适感和运行的可靠性,相信在以后的智能建筑中会得到广泛的应用和推广七、 参考文献1电子系统设计教程 陆应华编著. 2版. 国防工业出版社2李军法,Design of the lift operation controller based on CPLD,陕西1674-6236(2009)07-0059-03

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1