1、 电梯控制器的设计指导教师: 摘 要 本文从现代信息社会的现状、需要及未来的发展趋势出发,对EDA(电子设计自动化)这一目前流行的电子设计技术中的核心技术VHDL和verilog(超高速硬件描述语言)语言进行了深入的研究,结合科研和教学实例,研究它的应用。电梯是服务于规定楼层的固定升降设备,在楼层间自动载送乘客和货物,给人们的生活带来了很大的方便。利用EDA技术设计的电梯控制器,将电梯控制程序下载到EDA开发板的芯片上。用开发板实现电梯系统的控制。关 键 词电梯; EDA开发板; 芯片中图分类号 TN702 文献标志码 ADesign of Elevator controllerTutor:A
2、bstract In this paper, the modern information society status, needs and future development trend of starting on the EDA (electronic design automation) This popular electronic design technology in the core technology VHDL and verilog (ultra high-speed Hardware Description Language) language conducted
3、 in-depth research, combining research and teaching examples, study its application. Elevator is fixed lifting equipment servicing at the specified floor. It is a big convenience for people daily lives that elevator can transfer passengers and goods automatically. Designing the elevator controller b
4、y EDA technical, which download the elevator control program to the chip of EDA development. With development board realization of elevator system control. Key words elevator; EDA development board ; chip不要删除行尾的分节符,此行不会被打印29通 信 工 程 专 业 课 程 设 计 目 录摘 要IAbstract.II1绪 论21.1课题背景.22设计方案42.1系统设计功能.42.2单片机方
5、案.42.2.1 总体构思42.2.2设计方框图52.3 FPGA方案.62.3.1 FPGA简介63各模块仿真73.1verilog和vhdl语言的特点.73.2控制模块.93.2.1Verilog程序代码.93.2.2 显示模块163.4总体原理图及仿真184调试224.1EDA开发板P844简介224.1.1EDA开发板软硬件配置234.2电梯控制器调试24结 论26致 谢27参考文献28附 录291绪 论1.1 课题背景很久之前,人们就使用一些原始的升降工具运送人和货物。公元前1100年前后,我国古人发明了辘轳,它采用卷筒的回转运动完成升降动作,因而增加了提升物品的高度。公元前236年
6、,希腊数学家Archimedes设计制作了由绞车和滑轮组构成的起重装置。这些升降工具的驱动力一般是人力或畜力。19世纪初,在欧美开始用蒸汽机作为升降工具的动力。1845年,威廉汤姆逊研制出1台液压驱动的升降机,其液压驱动的介质是水。尽管升降工具被一代代富有革新精神的工程师们进行不断改进,然而被工业界普遍认可的升降机仍未出现,直到1852年世界第1台安全升降机诞生。1889年,升降机开始采用电力驱动,真正出现了电梯。电梯在驱动控制技术方面的发展经历了直流电机驱动控制,交流单速电机驱动控制,交流双速电机驱动控制,直流有无齿轮、无齿轮调速驱动控制,交流调压调速驱动控制,交流变压变频调速驱动控制,交流
7、永磁同步电机变频调速驱动控制等阶段。19世纪末,采用沃德-伦纳德系统驱动控制的直流电梯出现,使电梯的运行性能明显改善。20世纪初,开始出现交流感应电动机驱动的电梯,后来槽轮式(即曳引式)驱动的电梯代替了鼓轮卷筒式驱动的电梯,为长行程和具有高度安全性的现代电梯奠定了基础。20世纪上半叶,直流调速系统在中、高速电梯中占有较大比例。1967年,晶闸管用于电梯驱动,交流调压调速驱动控制的电梯出现。1983年,变压变频控制的电梯出现,由于其良好的调速性能、舒适感和节能等特点迅速成为电梯的主流产品。1996年,交流永磁同步无齿轮曳引机驱动的无机房电梯出现,电梯技术又一次革新。由于曳引机和控制柜置于井道中,
8、省去了独立机房,节约了建筑成本,增加了大楼的有效面积,提高了大楼建筑美学的设计自由度。这种电梯还具有节能、无油污染、免维护和安全性高等特点。电梯在操纵控制方式方面的发展经历了手柄开关操纵、按钮控制、信号控制、集选控制等过程,对于多台电梯出现了并联控制、智能群控。如今,世界各国的电梯公司还在不断地进行电梯新品的研发、维修保养服务系统的完善,力求满足人们的对现代建筑交通日益增长的需求。2设计方案2.1系统设计功能设计一个八层楼房自动电梯控制器,用八个 LED显示电梯行进过程,并有数码管显示电梯当前所在楼层位置,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层的LED 亮。 用 CLK脉冲控
9、制电梯运动,每来一个 CLK脉冲电梯升(降)一层。电梯到达有请求的楼层后,该层次的指示灯灭,电梯门打开(开门指示灯亮),开门 5 秒后,电梯门自动关闭,电梯继续运行。 控制电路应能记忆所有楼层请求信号,并按如下运行规则依次相应:运行过程中先响应最早的请求,再响应后续的请求。如果无请求则停留当前层。如果有两个同时请求信号,则判断请求信号离当偍层的距离,距离近请求的先响应,再响应较远的请求。每个请求信号保留至执行后清除。2.2单片机方案2.2.1 总体构思本次设计的基本思想是采用AT89C51单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用定时器延时来控制电梯的位置校验,采用8位
10、LED静态显示来实时显示电梯所在楼层,并用74ls48来驱动LED显示。采用行列式键盘矩阵作为外呼内选电路,由于是8层楼,故选用44矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机的控制来实现。2.2.2设计方框图本电路主要由4大部分电路组成:键盘电路、单片机最小系统电路、楼层显示电路、延时电路。其中单片机最小系统主要由复位电路和时钟电路组成。电路复位后楼层显示数字1 表示电梯此时在一楼,显示电路通过74ls4
11、8驱动8位数码管显示,电梯楼层位置是由延时电路控制的,延时电路包括3秒延时和5秒延时,每层之间通过3秒延时控制即每延时3秒表示电梯走了一层,5秒延时是控制电梯的开门时间,5秒延时后电梯关门继续运行。电梯状态是通过两个发光管显示的,红灯亮表示电梯在向上运行,绿灯亮表示电梯在向下运行。键盘电路采用44键盘矩阵共16个按键分,其中8个按键是各层楼外呼按键。电梯的正常工作是通过对单片机写入程序控制的。总体方框图如图1所示: AT89C51键盘电路时钟电路楼层显示电路延时电路图2.2-1总体方框图图2.2-2单片机控制电梯总体电路图89C51总体控制部分,用C语言写程序,八个按键依次为楼层的请求信号,7
12、4LS48输出接数码管,显示当前楼层位置,74LS138接LED灯,显示电梯运动状态。两个单独的LED灯分别表示电梯门开关两个状态。2. 3 FPGA方案2.3.1 FPGA简介FPGA由可编程逻辑单元阵列、布线资源和可编程的IO单元阵列构成,一个FPGA包含丰富的逻辑门、寄存器和IO资源。一片FPGA芯片就可以实现数百片甚至更多个标准数字集成电路所实现的系统。 FPGA的结构灵活,其逻辑单元、可编程内部连线和IO单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同
13、时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。鉴于高频疲劳试验机控制器控制规模比较大,功能复杂,故我们在研制过程中,在传统试验机控制器的基础上,通过FPGA技术及微机技术两者的结合,来全面提升控制器系统的性能,使整机的工作效率、控制精度和电气系统可靠性得到了提高,且操作方便而又不乏技术的先进性。设计思路总体思路:电梯控制器由状态显示,主控制器,楼层选择,译码器,楼层显示组成。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。状态显示主控制器楼层选
14、择译码器楼层显示图2.3-1电梯控制器总体图单片机对硬件要求太高,FPGA用软件可以把单片机中的硬件直接用软件编译出来,而且功能比较齐全。而且FPGA可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务及硬件软化、软件硬化等功能。通过比较并结合实际,我们决定用FPGA方案完成本次课设。3各模块仿真3.1 verilog和vhdl语言的特点Verilog HDL和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。VHDL是在1987年成为IEEE标准,Verilog HDL则在1995年才正式成为IEEE标准。之所以VHDL比Verilog HD
15、L早成为IEEE标准,这是因为VHDL是美国军方组织开发的,而Verilog HDL 则是从一个普通的民间公司的私有财产转化而来,基于Verilog HDL的优越性,才成为的IEEE标准,因而有更强的生命力。VHDL 其英文全名为VHSIC HARDWARE DESCRIPTION Language,而VHSIC则是Very High Speed Integerated CIRCUIT的缩写词,意为甚高速集成电路,故VHDL其准确的中文译名为甚高速集成电路的硬件描述语言。Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设
16、计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。但是Verilog HDL和VHDL又各有其自己的特点,由于Verilog HDL早在1983年就已推出,至今已有近二十年的应用历史,因而Verilog HDL拥有更广泛的设计群体,成熟的资源也远比VHDL丰富。与VHDL相比Verilog HDL的最大优点是:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过二十学时的学习,再加上一段
17、实际操作,一般读者可在二至三个月内掌握这种设计技术。而掌握VHDL设计技术就比较困难。这是因为VHDL不很直观,需要有Ada编程基础,一般认为至少需要半年以上的专业培训,才能掌握VHDL的基本设计技术。目前版本的Verilog HDL和VHDL在行为级抽象建模的覆盖范围方面也有所不同。一般认为Verilog HDL在系统级抽象方面比VHDL略差一些,而在门级开关电路描述方面比VHDL强得多。根据vhdl语言和verilog语言的特点,电梯控制器的控制模块代码用verilog语言,显示模块用vhdl语言完成。3.2 控制模块控制模块是电梯控制器的核心部分,用它完成电梯控制器的请求和功能的实现。3
18、.2.1 Verilog程序代码 /*信号定义: clk:时钟信号d1,d2,d3,d4,d5,d6,d7,d8:楼层请求信号o1,o2,o3,o4,o5,o6,o7,o8:楼层与请求信号状态显示door:开门指示信号fl:送数码管显示的当前楼层数*/module lift2(clk,d1,d2,d3,d4,d5,d6,d7,d8,o1,o2,o3,o4,o5,o6,o7,o8,door,fl);input clk,d1,d2,d3,d4,d5,d6,d7,d8;output o1,o2,o3,o4,o5,o6,o7,o8,door,fl;reg o1,o2,o3,o4,o5,o6,o7,o8
19、,door,up,down;reg8:1 des;reg4:0 count;reg3:0 low,high,fl;always(posedge clk)begin if(d1)begindes11|low=4b0000)low=1;endif(d2)begindes2=1;if(high2&d3,d4,d5,d6,d7,d8=6b000000)high2|low=4b0000)&!d1)low=1;endif(d3)begindes3=1;if(high3&d4,d5,d6,d7,d8=5b00000)high3|low=4b0000)&d1,d2=2b00)low=3;endif(d4)be
20、gindes4=1;if(high4&d5,d6,d7,d8=4b0000)high4|low=4b0000)&d1,d2,d3=3b000)low=4;endif(d5)begindes5=1;if(high5&d6,d7,d8=3b000)high5|low=4b0000)&d1,d2,d3,d4=4b0000)low=5;endif(d6)begindes6=1;if(high6&d7,d8=2b00)high6|low=4b0000)&d1,d2,d3,d4,d5=5b00000)low=6;endif(d7)begindes7=1;if(high7&!d8)high7|low=4b0
21、000)&d1,d2,d3,d4,d5,d6=6b000000)low=7;endif(d8)begin des8=1;if(high8)high=8;endif(o1,o2,o3,o4,o5,o6,o7,o8=8b00000000)begino1,o2,o3,o4,o5,o6,o7,o8=8b10000000;fl=1;endelse if(count=3b101)begincount=0;door=0;if(low=fl)low=4b0000;if(high=fl)high=4b0000;endelse if(count!=0)begincount=count+1;door=1; ende
22、lse if(o1&des1)begincount=1;des1=0;endelse if(o2&des2)begincount=1;des2=0;endelse if(o3&des3)begincount=1;des3=0;endelse if(o4&des4)begincount=1;des4=0;endelse if(o5&des5)begincount=1;des5=0;endelse if(o6&des6)begincount=1;des6=0;endelse if(o7&des7)begincount=1;des7=0;endelse if(o8&des8)begincount=1
23、;des8=0;endelse if(up)beginif(flhigh)begino1,o2,o3,o4,o5,o6,o7,o81;fl=fl+1;endelseuplow)&(low!=4b0000)begino1,o2,o3,o4,o5,o6,o7,o8=o1,o2,o3,o4,o5,o6,o7,o81;fl=fl-1;endelsedown=0;endelsebeginif(low!=4b0000&lowfl&high-flfl-low) up=1;elsedownfl)up LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S N
24、ULL ; END CASE ; END PROCESS ; END ;4-8译码器,外接数码管,显示当前所在楼层。3.4 总体原理图及仿真图3.4-1电梯控制器总体电路图各模块经封装编译入库,把各模块的封装图连接在一起得到电梯控制器原理图。图3.4电梯控制仿真图1D1,D2,D3,D4,D5,D6,D7,D8分别为请求楼层信号,图中D6有一段为高电平,说明六楼有请求。O1,O2,O3,O4,O5,O6,O7,O8分别为当前楼层,从时序仿真图可以看出电梯从一楼到五楼没任何变化,到达六楼时就停在本层,同时电梯开门输出相应变为高电平。开始电梯停在一楼。当六楼有请求时,电梯在一到五楼无反应,当电梯上
25、升到六楼时,电梯门打开,经5s电梯门关闭。无任何请求电梯吓到一楼。图3.4电梯控制仿真图2D1,D2,D3,D4,D5,D6,D7,D8分别为请求楼层信号,图中D5,D6同时有一端为高电平,即说明五六楼同时有请求。O1,O2,O3,O4,O5,O6,O7,O8分别为当前楼层,图中仿真可以看出电梯从一楼一次到四楼没任何变化。当电梯到达五楼时对应的电梯开门输出响应由一段高电平,表明电梯开门。一段时间后DOOR回复低电平继续向上运行。到达六楼时,相应的输出当前楼层为“0000010”用共阳极数码管显示为6,同时电梯门输出响应DOOR有一段高电平,表示电梯门先开再关。开始电梯停在一楼。当五楼和六楼都有
26、请求时,电梯先响应五楼,开门关门;再响应六楼,开门关门。无任何请求电梯自动下到一楼。图3.4电梯控制仿真图3D1,D2,D3,D4,D5,D6,D7,D8分别为请求楼层信号,D6,D2分别有一段高电平,说明二楼和六楼分别有请求。O1,O2,O3,O4,O5,O6,O7,O8分别为当前楼层。电梯从一楼到五楼都没反应,当电梯到达六楼时,电梯门信号DOOR出现高电平,关门后电梯开始下降到达二楼时电梯开门信号DOOR又出现高电平。开始电梯停在一楼。开始六楼有请求,之后二楼有请求。电梯先响应六楼,开门关门;再响应二楼,开门关门。无任何请求电梯自动下到一楼。 D1,D2,D3,D4,D5,D6,D7,D8
27、分别为请求楼层信号,开始时D6出现高电平脉冲,之后D2和D8同时出现高电平脉冲。O1,O2,O3,O4,O5,O6,O7,O8分别为当前楼层。图中可以看出电梯信号到达六楼时电梯门信号出现高电平。电梯现在在六楼,D2和D8同时发出请求信号,O8先出现高电平,然后DOOR出现高电平,电梯开始下降,到达二楼时DOOR出现高电平。开始电梯停在一楼。六楼有请求,之后二楼和八楼同时有请求。电梯先到达六楼,在到达八楼,之后到达二楼。无任何请求电梯自动下到一楼。 从软件电路时序仿真图可以看出,电梯控制器基本完成它的功能,达到了任务书的要求。4调试4.1 EDA开发板P844简介图4.1-1 EDA开发板P84
28、4图所有实验应用例子集本公司十多年的应用经验成功地与高等院校教育实验相结合,并且围绕计算机原理与单片机应用系统化、层次化来编写,由浅入深,例子力求实用化,满足数字电路、数字系统设计、计算机组成原理、微机系统与接口、数字信号处理及数字通信原理等课程的配套实验。 实验开发器硬件电路具有双重特点:配有32K SRAM存储器、键盘显示板接口、16*16点阵显示模块、复位按钮、拨码输入、A/D、D/A及FPGA等构成计算机组成原理实验系统,满足高等院校计算机及相关专业使用;配有单片机外围扩展器件,如89C2051单片机、CPLD/FPGA、32K SRAM存储器、键盘显示板接口,16*16点阵模块,复位
29、按键组、拨码输入、液晶显示接口、232串行口、汉字库、A/D、D/A等,满足自动控制/电子类/电机电工类/通信类专业使用。 万能开发器满足从简单的数字电路到复杂的数字系统设计实验,开发验证,提高效率,芯片保密可靠。 独具特色、多功能、高配置、高品质,工作稳定可靠。4.1.1 EDA开发板软硬件配置下载电缆:JTAG格式,与Altera下载电缆兼容; 时钟电路:可对4MHz时钟进行4至22倍分频,最低至1Hz; 复位按钮:6个,低电平复位; 拨码开关:一个8位拨码开关,可置“I/O”电平; 万能连通器:用于扩展任意节点信号; LED指示灯: 8个; 交通信号灯:红绿蓝三色; 电位器:一个10K,
30、用以产生电压信号; 可变电阻: 6个010K; 蜂鸣器:一个,高电平鸣叫; D/A转换器:DAC0832,可做DA试验; 键盘及数码显示接口,SRAM:62256; JTAG方式下载接口; 单片机:AT89C2051,目的掌握单片机与FPGA如何配合使用; 串行通讯接口:AD转换结果送计算机显示 LED点阵:16*16,显示汉字; EPROM:27C64,保存数据及LCD和LED点阵的数据; LCD液晶接口:128*64点阵,可显示汉字或图形; A/D转换器: ADC-0809,可作AD转换实验; 随机配有实验程序、学习软件、开放版软件、使用说明书、通讯电缆。 4.2电梯控制器调试软件仿真完成
31、进入硬件调试。第一步就是要下载程序。将写好的程序下载到EDA开发板上的芯片中,实现电梯控制器的硬件调试。我们在第一步就遇到了问题,别的同学的程序可以顺利的下载到MAX7000S EPM7128SLC84-15芯片上而且硬件调试很快达到课设要求。经过不断地摸索和查找资料。最后知道此芯片的容量太小。所以无法下载。最后和老师商量。我们改用FLEX10K EPF10K10LC84-4芯片并成功下载了程序。问题有一次出现了。程序虽然成功下载,但是达不到预期效果。因此我们又一步一步的检查程序和时序仿真,结果还是没有发现问题。没办法只好请教老师。老师听我们叙述,直接说了看看开发板上的请求按键和LED灯显示是
32、高电平还是低电平有效。经过测试,我们发现开发板上的请求按键和LED灯显示都是低电平有效。所以我们只好修改程序。为了万无一失,我们决定用拨码开关。外接LED灯。经过我们不断地修改和下载仿真。终于硬件调试结果基本符合课程设计要求。下图为硬件调试图:图4.3-1 硬件仿真图1电梯到达三楼时,相应的LED灯亮,同时开门指示灯亮。4.3-2 硬件仿真图2电梯到达六楼时,相应的LED灯亮,开门指示灯亮。千万不要删除行尾的分节符,此行不会被打印。“结论”以前的所有正文内容都要编写在此行之前。结 论本次课设,加深了对FPGA技术的了解,熟练掌握了VHDL语言,了解了VERILOG语言的基本语法。VHDL语言有
33、高级编程的优点,又有并行执行的特点,是设计者脱离了底层电路,而在更高的层次上电路的各种时序和逻辑关系。这样设计者可以采用自顶向下的设计方法和并行工作的设计原则。用VHDL一件描述语言的形式来警醒数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本。这种设计方法在将来的数字设计中发挥越来越重要的作用。从接到任务书开始,我们就去图书馆查阅有关资料。然后研究和理解任务书并着手编程。开始是读懂别人的程序,后来就是自己编程。刚开始不停地出现错误,-经过不断地修改,仿真。最后得到正确的仿真时序图。这个过程锻炼了我的编程能力和分析解决问题的能力。下一
34、步才开始硬件调试。这个过程最重要,软件仿真只能说明程序正确。硬件调试正确才是最重要的。我们的硬件调试问题不断,程序也修改了几次才成功。有时候程序可能在时序仿真是完全正确懂得,而将程序下载到板子之后却发现不对。这是由于各个功能实现会有时延,这在仿真时是反映不出来的。因此编程时要注意在选中某个片子之前,要先将计算出的数据信号放到数据总线上。要仔细研究仿真时所获得的波形图,确定所做的设计稳定实用。还有在有些软件里面的电路都是理想化的。硬件实物才是课设最重要的。因为有时候不小心就会把有些元器件烧坏。这就要求我们把以前的数模电,高频,电路知识等结合起来。保证电路连接正确。而且无逻辑错误。本次课程设计结束
35、了,可是以后还有很多类似这样的设计。将来我们还有可能搞研发,都需要这种能力。所以这次课程设计不仅仅是到此为止,它锻炼了我们各方面的能力,为我们以后的学习和工作奠定了坚实的专业基础。不要自己写,要利用word来自动生成。详情请看最后一页致 谢我感谢我的指导老师耐心的为我指出问题,并引导我解决问题。感谢我的合作伙伴,由于我们的齐心协力所有的问题都迎刃而解。在困难的时候我们没有退缩相互鼓励对方,知道顺利完成了此次课程设计。参考文献1徐志军,徐光辉.CPLD/FPGA的开发和应用M.北京:电子工业出版社.2002.2曾繁秦. EDA 工程的理论与实践.电子工业出版社.2004.甘 历 VHDL应用与开发实际北京:科学出版社 .20033李惠升电梯控制技术北京:机械工业出版社.2003.4杨晓慧电子技术EDA实践教程北京:国防工业出版社. 20055 潘松,黄继业EDA技术实用教程M北京:科学出版社.20056 杨则,龙海燕VHDL与数字系统设计M北京:电子工业出版社.20047 潭会生,张昌凡EDA技术及应用M西安:电子科技大学出版社.20018 李伯宗,蓉晖译VHDL设计表示和综合M北京:机械工业出版社.20029 边计年,薛宏熙译用VHDL设计电子线路M北京:清华 大学出版社.2000附 录控制模块封装图:译码器封装图: