第一范文网 - 专业文章范例文档资料分享平台

电梯的控制器电路设计EDA技术课程设计

来源:用户分享 时间:2025/5/18 10:37:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

山东建筑大学信息与电气工程学院学院课程设计说明书

总结与致谢

通过本次课程设计进一步熟悉Quartus II软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;对Verilog HDL语言的自顶向下设计方法有了进一步的认识,对其中的许多语句也有了新了解,掌握;对自己独立思考和解决问题的能力也有了很大的锻炼。

本次课程设计设计的选题、课题调研与撰写工作是在和老师的指导下完成的。在我的课程设计期间,同课题的同学都给予了我热情的帮助和无私的指导,在此向这些同学们表示衷心的感谢。

在我的学习过程中,杨红娟和王涛老师也给了我耐心的指导和帮助。我在此对各位老师表示诚挚的感谢!

13

山东建筑大学信息与电气工程学院学院课程设计说明书

参考文献

[1] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006 [2] 潘松,黄继业.EDA技术与VHDL.北京:清华大学出版社,2009 [3] 江国强编著.EDA技术与应用(第三版)..北京:电子工业出版社,2010 [4] 夏宇闻编著.Verilog HDL数字系统设计教程..北京:北京航空航天大学出版社,2008

[5] 周祖成,程晓军,马卓钊编著.数字电路与系统教学实验教程.北京:科学出版社,2010

[6] 周润景,苏良碧.基于Quartus II 的数字系统Verilog HDL设计实例详解.北京:电子工业出版社,2010

[7] (美国)Sanir Palnitkar 译者:夏宇闻 胡燕祥 刁岚松.Verilog HDL数字设计与综合(第2版).北京:电子工业出版社,2009

[8] 云创工作室.Verilog HDL程序设计与实践.北京:人民邮电出版社,2009

[9] 刘福奇,刘波.Verilog HDL应用程序设计实例精讲.北京:电子工业出版社,2009

[10] 张延伟,杨金岩,葛爱学.verilog hdl程序设计实例详解.北京:人民邮电出版社,2008

14

山东建筑大学信息与电气工程学院学院课程设计说明书

附录

1、分频模块

module frequence_div(cp_50M,cp_1); input cp_50M;//板子提供的最高时钟 output cp_1;//要求得到的秒脉冲 reg [27:0] counter_1;//计数器 reg cp_1;//类型声明 always@(posedge cp_50M) begin

if(counter_1==28'h17D7840)//50M的一半到了,秒脉冲翻转 begin

cp_1<=~cp_1;//翻转 counter_1<=28'h0000000; end else

counter_1<=counter_1+1'b1;//否则加1 end endmodule

2、智能电梯主控制模块 module elevator_controller(//input ports: cp_50M,clk,reset,forbid,

call_up_1, call_up_2, call_up_3, call_up_4, call_up_5,

call_down_2, call_down_3, call_down_4, call_down_5,call_down_6, request_1, request_2, request_3, request_4, request_5, request_6, //output ports:

out,LiftState,over_alarm,count_out,count );

//output ports:

output [6:0]out;//输出楼层

output [6:0] LiftState;//输出电梯状态 output over_alarm;//出错

output [6:0]count_out;//计数器输出,便于我控制开关门的状态显示 output [2:0]count;//计数器 //input ports: input cp_50M; input

clk,reset,call_up_1,call_up_2,call_up_3,call_up_4,call_up_5,call_down_2,call_down_3,call_down_4,call_down_5,call_down_6,request_1,request_2,request_3,request_4,request_5,request_6;

input forbid;

15

山东建筑大学信息与电气工程学院学院课程设计说明书

UP

//即将切换到第二个UP时,才加一。

//这个说的简单一点,就是移位寄存器,便于对电梯状态的实时的控制 wire over_alarm; wire [6:0]out; wire [6:0]count_out;

//pos与Posout的关系:当前状态一改变,pos立即作相应改变,而PosOut则是当前状态在要变到下一状态//,将PosOut作相应改变。如从WAIT切换到第一个UP时,pos立即加一,而PosOut则要等到第一个

的瞬间

reg [5:0]pos,PosOut;

reg [2:0] count;//门开后要持续5个时钟周期,用count来计数 reg DoorFlag; reg [1:0] UpDnFlag;

reg [6:0] LiftState,NextState;//分别表示电梯的当前状态和下一状态

wire real_clk;

//up_all,down_all,request_all分别用来合并向上请求的各信号,向下请求的各信号和停靠请求的各信号 //以便判断电梯在状态间如何转移时更简洁 //定义电梯7种状态的符号常量

reg [5:0] up_all,down_all,request_all;

parameter WAIT=7'b0000001, UP=7'b0000010, DOWN=7'b0000100, UPSTOP=7'b0001000 , DOWNSTOP=7'b0010000, OPENDOOR=7'b0100000, CLOSEDOOR=7'b1000000;

//定义楼层的符号常量

FLOOR1=6'b000001,

FLOOR2=6'b000010,

FLOOR3=6'b000100,

FLOOR4=6'b001000,

parameter

FLOOR5=6'b010000, FLOOR6=6'b100000; parameter TRUE=1'b1, FALSE=1'b0;

assign real_clk=(clk&(~forbid));

//采用屏蔽时钟的方法来实现“电梯强制禁止运行”。方法虽然违反了“同步电路最好

//没有时钟门控”的要求,但是在此只要“负面影响”不是很大还是可以接受的。

//将各上升请求信号实时地合并(6楼为顶层,无上升请求,考虑到通用性,将第4位填零) always @(call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5)

up_all={1'b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1};

//将各下降请求信号实时地合并(1楼为底层,无下降请求,考虑到通用性,将第1位填零) always @(call_down_2 or call_down_3 or call_down_4 or call_down_5 or call_down_6) down_all={call_down_6, call_down_5, call_down_4, call_down_3, call_down_2, 1'b0};

//将各停靠请求信号实时地合并

always @(request_1 or request_2 or request_3 or request_4 or request_5 or request_6)

16

//定义门打开和门关闭的符号常量 //定义电梯上升,下降和静止的符号常量 parameter OPEN=1'b1, CLOSED=1'b0;

parameter UPFLAG=2'b01,DNFLAG=2'b10,STATIC=2'b00;

电梯的控制器电路设计EDA技术课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8e7nk0n51a0cqsi0v0jd0weks4q8jb00nv9_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top