毕业设计论文基于FPGA和单片机的电梯模型设计

上传人:仙*** 文档编号:79209324 上传时间:2022-04-23 格式:DOC 页数:58 大小:1.46MB
收藏 版权申诉 举报 下载
毕业设计论文基于FPGA和单片机的电梯模型设计_第1页
第1页 / 共58页
毕业设计论文基于FPGA和单片机的电梯模型设计_第2页
第2页 / 共58页
毕业设计论文基于FPGA和单片机的电梯模型设计_第3页
第3页 / 共58页
资源描述:

《毕业设计论文基于FPGA和单片机的电梯模型设计》由会员分享,可在线阅读,更多相关《毕业设计论文基于FPGA和单片机的电梯模型设计(58页珍藏版)》请在装配图网上搜索。

1、摘 要基于FPGA的电梯控制系统的设计采用了可编程逻辑器件,并用超高速硬件描述语言VHDL在Xilinx公司的Spartan系列的xc2s100e-6pq-208芯片上编程实现了整个系统的控制部分。由分频模块、信号采集模块、状态检测与控制模块和电机模块四个模块构成的电梯自动控制系统中融入了“智能化”的调度规则,譬如开/关门自动保护功能、电梯的准确平稳平层、楼层提示及显示电梯的运行状态等诸多“人性化”的设计,实用价值高,可行性强。模型电梯部分的制作没有采取一般的机械模型,而是采用的制作容易、可观赏的透明塑料板子制作的模型。电梯模型可以通过外部的按键进行控制,操作人员则通过外部的透明板子对电梯的运

2、转情况进行监测。按照控制要求,模型电梯应能响应主控制器的要求,并且将传感器的检测信号准确地传回控制器。我们将5层楼的传感器准确地定位在各自的楼层检测位置上,通过装在电梯轿厢上的红外发射管控制传感器接收信号。整个模型仿真运行正常,稳定可靠。关键词:FPGA VHDL 电梯模型 传感器 目 录第1章 绪论11.1 选题的背景、目的及意义11.2 电梯国内外研究现状11.3 基于FPGA和单片机的电梯模型设计的设想与方法2第2章 总体方案42.1 方案的选择与论证42.2 总体方案的设计5第3章 硬件电路设计73.1 FPGA电路介绍7 3.1.1 FPGA芯片介绍83.2 单片机最小系统11 3.

3、2.1 单片机AT89S52介绍123.3 键盘电路介绍14 3.3.1 可编程并行接口芯片8155介绍143.4 显示电路介绍16 3.4.1 显示接口芯片介绍17第4章 软件程序的设计与调试254.1 FPGA电梯控制器的设计25 4.1.1 控制模块25 4.1.1.1 控制模块设计流程图26 4.1.1.2 控制模块VHDL程序清单29 4.1.1.3 控制模块的ModelSim SE PLUS仿真294.1.2 电机模块314.1.2.1 电机模块设计流程图31 4.1.2.2 电机模块程序清单31 4.1.2.3 电机模块ModelSim SE PLUS仿真314.1.3 分频模块

4、354.1.3.1 分频模块设计流程图35 4.1.3.2 分频模块程序清单35 4.1.3.3 分频模块ModelSim SE PLUS仿真364.1.4 顶层模块374.2 单片机键盘显示的设计38结论42致谢43参考文献44附录1 VHDL程序清单46附录2 单片机程序清单53第1章 摘 要1.1 选题的背景、目的及意义近几年来,中国电梯行业迅速崛起,庞大的市场潜力令世界瞩目。1980年,全国制造电梯2249台,到2005年底全国生产电梯达到13.5万台。26年间,中国电梯产量增长了60多倍,年产量达到并超过世界总量的1/3,电梯制造企业和制造总量居全球第一,中国已经成为电梯制造大国。

5、发展和物质生活水平的提高,电梯成为人们工作、生活中不可或缺的楼宇交通工具,而电梯模型正是实际电梯系统最直接、最简单的表现形式。“资本和技术主宰一切的时代已经过去,创意的时代已经来临。”这句从美国硅谷到华尔街的流行语,现在流行到了中国。作为21世纪的新青年,我们的毕业设计必须致力于让我们的生活每天都发生细微变化,致力于创造更理想的生活方式、创造更和谐的生活空间,彰显多彩多姿的电梯文化,倡导电梯设计的最新理念,探讨电梯设计的未来发展方向。正是基于此,我想凭我四年所学来设计一个电梯模型,其目的是巩固和复习我所学的专业知识、了解电梯的工作原理、增强动手制作电路板以及调试电路的能力。1.2 电梯国内外研

6、究现状现在的主要电梯公司提供以下电梯产品,以满足各种不同建筑的需求: 高速无齿轮电梯:高层楼宇和塔类建筑;低中速有齿轮变频电梯:高层和低层建筑;无机房电梯:中层和低层建筑;液压电梯:公寓楼、小型办公楼和低层楼宇;线性电梯:低层豪华建筑物、住宅楼、公寓、住宅; 观光梯:商业用途;货梯-曳引梯-液压梯:适用于需要移动重型货物的工业建筑物、工厂和仓库;病床梯:医院、医疗中心、疗养院;倾斜式电梯:用于室外,在斜坡上连接上不同区域;商业扶梯:商业使用,如购物中心、宾馆等。 重型扶梯:公共场所,如火车站、地铁站、机场等;RTAV-O-LATOR自动人行道:机场候车厅、火车站、购物中心等;屏蔽门系统:安装在

7、新型地铁站、轻轨交通系统等人员输送系统,能够有效保障候车乘客的安全,并且节约了车站空调的能耗;穿梭机系统:专为城市中心、机场、医院、度假村和高级住宅区等设计的水平交通系统。国际上无机房电梯已经到了第四代无机房电梯,从根本上解决了前三代无机房电梯的缺陷,首先是安全隐患得到解决,其次是共振共鸣问题的解决,第三是速度上只要主机生产企业能够供应,提升高度及速度不存在技术问题。所以第四代无机房电梯是目前世界上最先进的无机房电梯。 目前只有WALESS采用第四代无机房电梯,而且由于该技术只提供中国,所以目前世界上只有中国的WALESS供应商能够提供第四代无机房电梯。第四代无机房电梯不只是无机房电梯技术已经

8、得到完美体现,最关键的是整体技术在中国达到最先进的程度。 由于其技术为2002-2003年世界最新技术,比目前中国生产的任何电梯的技术先进3-5年。所有载人垂直升降电梯全部采用双向安全钳与双向限速器,该双向安全系统是目前中国电梯标准修改中选择的安全系统标准,也是欧洲已经采用的安全标准。 目前在中国市场最有代表性的无机房电梯就是通力的第三代无机房电梯,OTIS的轴式主机无机房电梯,WALESS的第四代无机房电梯。而在国内大中项目中标的大体就这三个品牌。 2005年中国新的电梯标准出台,第一第二代无机房电梯已经不能再使用,而无机房电梯也在2004年有了飞速发展。估计2005年-2008年中国的无机

9、房电梯将成为最主要的用户选择。1.3 基于FPGA和单片机的电梯模型设计的设想与方法现代硬件设计运用EDA(ElectronicDesign Automation)技术采用并行工程和“自顶向下”的设计方法,从系统设计入手,在顶层进行层次划分和结构设计,在功能模块一级进行仿真、纠错,并用VHDL,VerilogHDL等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,最后用逻辑综合优化工具生成门级逻辑电路的网表,其对应的物理实现可以是印刷电路板或专用集成电路。VHDL(VeryHighSpeedIntegratedCircuit HardwareDescriptionLanguage)

10、即超高速集成电路硬件描述语言,主要用于描述数字系统的行为、结构、功能和接口。本文采用VHDL语言来设计实用电梯控制器,其代码具有良好的可读性和易理解性,源程序经Xilinx公司的ISE9.1软件仿真,目标器件选用FPGA器件。基于FPGA的电梯控制系统的设计采用可编程逻辑器件,并用超高速硬件描述语言VHDL在Xilinx公司的Spartan系列的2sc100-6PQ-208芯片上编程实现整个系统的控制部分。单片机AT89S52用于控制键盘和显示。对于电梯的核心部分电梯控制器的设计采用的是自顶向下的设计方法,也即模块化的设计方法。具体实现是先对整个系统的硬件结构有一定的了解,而后将整个系统分解成

11、各个功能明确且相对对立的模块,再将各个模块又进而分解成我们所熟悉的一个个小的单元电路。根据分析,该电梯模型控制器可分成以下几个模块:电梯和电机驱动模块:自制电梯门,采用红外线传感器感应是否有乘客上下,利用直流电机驱动。电梯的升降采用步进电机实现,便于控制而且误差小。信号采集模块:信号采集的功能:a.作为用户界面,它的外部为到达各楼层的按钮和电梯内的按钮。b.到达楼层信号来自霍尔磁性传感器,开门信号来自红外传感器。状态检测和控制模块:控制该模块功能用状态机完成,可分成四个状态:1待命状态,电梯停在底层;2服务状态,电梯门打开,接收用户;3向上运行状态;4向下运行状态。分频模块:本系统的状态转换频

12、率我们进行了1M分频,应用于电机控制频率。模型电梯主要由轿厢、支架、导轨、电机和滑轮等组成。整个模型的支架结构我采用的是透明的塑料薄板,即PS板,其重量非常轻,而且在外面可以很清晰地知道电梯工作过程。轿厢的制作采用的是小纸盒,因为考虑到轿厢的拖动采用的是小型的步进电机,它带负载的能力不大。第2章 总体方案2.1 方案的选择与论证基于FPGA的电梯控制系统的设计采用可编程逻辑器件,并用超高速硬件描述语言VHDL在使用Xilinx公司的xc2s100e-pq208芯片上编程实现了整个系统的控制部分。方案一:用FPGA实现全部功能。此方案的优点是将硬件电路集成到一块芯片上面,系统稳定,抗干扰能力强。

13、但是利用FPGA实现按键和显示,在程序实现方面比较繁琐。该方案实现的原理框图如图2.1所示:图2.1 FPGA实现电梯控制器的原理框图方案二:单片机和FPGA结合实现其全部功能。此方案的优点是系统比较稳定、抗干扰能力较强,便于控制。用FPGA作为系统的核心控制模块,单片机作为按键和显示模块。本次设计选用此种方案,该方案实现的原理框图如图2.2所示:图2.2 FPGA和单片机实现电梯控制器的原理框图2.2 总体方案的设计本系统由FPGA作为主控制模块,单片机实现按键和显示功能,电机采用步进电机控制电梯是升降,直流电机控制电梯门的开关。由于考虑到步进电机带负载的能力,本次电梯轿厢的设计没有开关门的

14、动作,也没有直流电机的驱动。通过上述分析可以知道,整个系统可分为以下几个模块:电梯和电机驱动模块、信号采集模块、状态检测和控制模块、分频模块。第3章 硬件电路设计根据设计方案,整个系统主要分为单片机控制部分和FPGA控制部分,下面我们将各部分单元电路进行介绍,系统原理图见附录1。3.1 FPGA电路介绍此次设计用的FPGA芯片采用的是Xilinx的Spartan系列xc2s100e-6PQ-208,并且在FPGA最小系统板上面集成了一块PROM,型号是xcf01s,可以实现掉电保存程序。FPGA最小系统为控制器实现电梯的各项功能。FPGA器件采用现场可编程单元阵列LCA结构,它由三个可编程基本

15、模块组成:输入/输出模块IOB阵列、可配置逻辑块CLB阵列及可编程互连网络PI。配置逻辑功能块CLB的可编程逻辑单元,由分层的通用布线通道(Rouning Channel)连接,同可编程输入输出功能块围绕来实现,基中CLB提供实现逻辑功能的逻辑单元;IOB提供引脚到内部信号线的接口,布线通道则提供CLB和IOB的到连接通道1。设计使用的FPGA最小系统板由XC2S100E、50MHZ晶振、电源部分、指示部分和开关组成,电源部分将5V直流经过TPS70451转换得到+3和5V +1.8V的直流电,PROM(XCF01S)是一个掉电存储器,在掉电时可自动保存数据,4个脚双列插针用于其它外部设备连接

16、。3.1.1 FPGA芯片介绍本次设计采用的是Xilinx公司的SpartanE系列的XC2S100E芯片作为电梯控制器的核心芯片。Xilinx公司是FPGA的发明者,早在1985年首次推出了FPGA,随后不断推出新的集成度更高、速度更快、价格更低、功耗更小的FPGA器件系列。其中的Spartan器件系列是以Virtex器件的结构为基础发展起来的第二代高容量的FPGA。Spartan器件的集成度可以达到15万门,系统速度可达到200MHz,能达到ASIC的性价比。Spartan器件的工作电压为2.5V,采用0.22m/0.18m的CMOS工艺,6层金属连线制造。 83.2 单片机最小系统在本次

17、设计中,电梯模型按键和显示的控制是通过单片机来实现的。而要控制键盘和显示,最基本也是最主要的便是单片机最小系统。所谓单片机的最小系统就是指能让单片机正常工作的最基本的外围电路如:时钟电路、复位电路等。单片机最小系统的原理图如图3.2所示。图3.2 单片机最小系统时钟电路介绍:时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。只要在单片机的XTAL1和XTAL2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟脉冲信号。电容器C1和

18、C2的作用是稳定频率和快速起振,电容值在530pF,典型值为30pF。外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20ns,且为频率低于12MHz的方波。振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲经过而分频后产生系统时钟信号,在二分频的基础上再三分频产生ALE信号,在二分频的基础上再六分频得到机器周期信号。以上只是对单片机时钟信号的由来的一个简单的叙述,它的内部工作原理远不只是这么简单,鉴于本次设计就只作以上介绍。复位电路介绍:复位是单片机的初始化操作,其主要功能是把PC

19、初始化为0000H,使单片机从0000H单元开始执行程序。复位操作有上电自动复位和按键手动复位两种。上电自动复位是通过外部复位电路的电容充电来实现的,由单片机最小系统图可知,我们此次的设计采用的是按键手动复位。3.2.1 单片机AT89S52介绍本设计中采用了AT89S52芯片,它是一种低功耗、高性能的CMOS 8位单片机,带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和82C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。AT89S52提供了8K字节Fla

20、sh,256字节RAM,32线I/O口,3个16位定时器/计数器,6向量两极中断,一个双工串行口,片内根据振荡器和始终电路等标准功能。图3.3为AT89C52芯片引脚图。AT89S52芯片的管脚、引线与功能如下:(1) 引脚信号介绍:P0.0P0.7:P0口8位双向口线P1.0P1.7:P1口8位双向口线P2.0P2.7:P2口8位双向口线P3.0P3.7:P3口8位双向口线(2) /Vpp:访问外部程序存储器控制信号(3) ALE地址锁存控制信号: ALE是以晶振六分之一的固定频率输出的正脉冲,因此可 图3.3 AT89S52引脚图作为外部时钟或外部定时脉冲作用。(4) 外部程序存储器读选取

21、通信号:在读外部ROM时有效(低电平),以实现外部ROM单元的读操作。(5) XTAL1:振荡器反向放大器输入端和内部时钟发生器的输入端。XTAL2:振荡器反相放大器输出端。(6) VCC:电源;GND:地线;RST:复位端,当振荡器工作时,此引脚上出现两个机器周期的高电平将系统复位。(7) P0口:是一个8位漏极开路的双向I/O口。作为输出口,每个引脚可吸入8个TTL输入。当把“1”写入P0口的引脚时可作为高阻输入。当访问外部程序存储器和数据存储器时,P0口也可作复用的地址/数据总线。在此状态下,P0口有内部上拉电路。P0口也在Flash 编程时,接收代码字节,而在程序校验时,输出代码字节。

22、在程序校验期间,需要外部上拉电路。(8) P1口、P2口、P3口:是一个具有内部上拉电路的8位双向I/O口。P1口的输出缓冲器能够吸入/放出4个TTL输入。当对P1口的引脚写“1”时,它被内部上拉电路拉高,并能作输入使用,作为输入时,由于上拉电路的作用,由外部拉低的P1口引脚将放出电流(IIL)。P1口在Flash编程和校验期间,接收低8位地址。当访问外部程序存储器及使用16位地址的是数据存储器(MOVXDPTR)时,P2口输出高8位地址。这种情况下,当不置“1”时,P2口使用强大的内部上拉电路。当访问使用8位地址的外部存储器(MOVXRI)时,P2口输出P2口锁存器的内容。在Flash编程及

23、检验期间,P3口也接收某些控制信号。P3口也提供AT89C52各种专用功能,见表3.2:表3.2 AT89C52的P3口各种专用功能表引脚替代的专用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)3.3 键盘电路介绍可把单片机使用的键盘分为独立式和矩阵式两种。独立式实际上就是一组相互独立的按键,这些按键可直接与单片机I/O口连接,即每个按键独占一条口线,接口简单。矩阵式键盘也称行列式键盘,因为键的数目较多,所

24、以键按行列组成矩阵。本次设计就是应用的行列式键盘。键盘电路是由键盘接口和键盘按键组成的。从一个键到键的功能被执行主要包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。键盘接口主要完成以下操作功能:键盘扫描,以判定是否有键被按下(称之为“闭合键”);键识别,以确定闭合键的行列位置;产生闭合键的键码;排除多键、串键(复按)及去抖动。单片机实现键盘接口的方法和接口芯片有:使用单片机芯片本身的并行口;使用单片机芯片本身的串行口;使用通用接口芯片(例如8255、8155等);使用专用接口芯片8279

25、;而本次设计采用的接口芯片是8155。键盘电路原理图如图3.4所示。图3.4 键盘电路原理图3.3.1 可编程并行接口芯片8155介绍8155能提供并行接口所需的各种电路,还包括RAM存储器和定时器/记时器。8155芯片为40引脚双列直插封装,单一的+5V电源,内部含有三个可编程并行I/O口(PA、PB、PC口),其中PA、PB为8位口,PC为6位口,还具有256个RAM单元,一个14位计数结构的定时器/计数器(减法计数结构),此外,内部还有地址锁存器,地址/数据多路开关。其引脚排列如图3.5所示。主要接口信号: AD7AD0:数据地址复合线,与80C51相连;ALE:地址锁存信号;:读选通信

26、号; :写选通信号;:片选信号;IO/():I/O与RAM选择信号;IO/()=0,对RAM进行读写;IO/()=1,对I/O口进行读写;RESET:复位信号;PA7PA0,PB7PB0,PC5PC0: 均与外设相连,其中PC5PC0可作联络信号;TIME IN:可接系统时钟,也可接外部时钟,作8155内部14位计数器的计数脉冲输入; 图3.5 8155信号引脚TIME OUT:8155的T/C向外界输出的脉冲或方波信号输出端,可作中断 请求或供CPU查询。I/O口及其工作方式:PA,PB口:数据口,用于数据I/O传送,具有输入、输出两种工作方式。PC口:数据口,用于数据I/O传送;控制口,用

27、于传送控制和状态信号,对PA,PB口的I/O操作进行控制。因此,PC口具有4钟工作方式(输入方式ALT1)(输出方式ALT2)(PA口控制端口方式ALT3)(PA、PB口控制端口方式ALT4);(a)当以无条件方式进行数据输入输出传送时,由于不需要任何联络信号,因此,PA,PB,PC口均可进行数据的I/O口操作。(b)当PA或PB口以中断方式进行数据传送时,联络信号由PC口提供。 3.4 显示电路介绍单片机应用系统最常用的显示器是LED(发光二极管显示器)、LED(液晶显示器)。这两种显示器可显示数字、字符及系统的状态。它们的驱动电路简单、易于实现且价格低廉,因此,得到了广泛应用。LED显示工

28、作方式可分为静态显示和动态显示。在静态显示方式下,共阴极应固定接地,共阳极应固定接高电平。我们利用8155芯片I/O口构成键盘/显示接口电路,为简化电路,降低成本,显示将采用动态显示。在动态显示中将所有相同位的段控线并联在一起,由一个I/O口线控制,8段由8个I/O口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。LED动态显示电路只需要两个8位I/O口。其中一个8位I/O口控制段控码,另一个8位I/O口控制位控。由于所有段控码都由一个8位I/O控制,因此,在同一瞬间,8只LED都会显示相同的字符。要想每位显示不同的字符,必须采用扫描显示方式。即在每一瞬间只使某一位显示相应字符。在此瞬间

29、,段选控制I/O口输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平,阳极送高电平)以保证该位显示相应字符。如此循环,使每位显示该位应显示字符,并保持延时一段时间,以造成视觉暂留效果。8155的PB口为输出口(位控口),以PC5PC0作位控线,由于位控线的驱动电流较大,8段全亮时约在4060mA,因此,PC口输出加74LS244进行(共阴极)驱动,然后再接各LED显示器数码管的位控端。8155的P口也为输出口(段控口),以输出位字形代码(段控线),段控线的负载电流约为8mA,为提高显示亮度,通常加74LS244(位驱动器)进行同相段控输出驱动。本次设计的显示电路图如图3

30、.6所示。图3.6 显示电路原理图3.4.1 显示接口芯片介绍(1) 74LS244锁存器介绍:它的引脚图如下图3.7所示。图3.7 74244引脚图(2) 四位一体数码管介绍它的引脚图如3.8图所示: 我们可以看到它的原理和七段数码显示管基本一样,因为它就是把四个单个的数码管集成在了一起。从图中便可得知,上面的八个引脚就是送七段的段码的,有一个是公共端,下面的四个便是位控用的,用来控制要哪一个显示。之所以要做成四位一体的形式就是为了便于联体显示,为了更好的显示,在此有必要介绍一下单个的七段数码显示管。通常的七段LED显示器块中有八个发光二极管,也有人叫做八段显示器,其中七个发光二极管构成七笔

31、字形“8”,一个发光二极管构成小数点。七段显示器与单片机接口非常容易。只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符。通常将控制发光二极度管的8位字节数据称为段选码。第4章 软件程序的设计与调试4.1 FPGA电梯控制器的设计用FPGA设计的电梯控制器主要有三个功能模块:控制模块、步进电机模块和分频模块。最后将这三个功能模块做成顶层文件,这就构成了电梯控制器的核心部分。下面就这三个模块的设计作进一步探讨。4.1.1 控制模块此模块的实现主要是根据实际电梯的工作原理设计一个时序同步的状态机。可分成四个状态:1、待命状态,电梯停在

32、底层;2、服务状态,电梯门打开,接收用户;3、向上运行状态;4、向下运行状态。状态转化如图4.1所示。图4.1 控制模块状态转换图4.1.1.1 控制模块设计流程图根据基本的状态转换图,可以设计出如图4.2所示的程序流程图。图4.2 控制模块流程图4.1.1.2 控制模块VHDL程序清单电梯控制器控制模块的VHDL程序清单见附录2。4.1.1.3 控制模块的ModelSim SE PLUS仿真将ModelSim SE PLUS打开之后,把写好的VHDL程序放到ModelSim SE PLUS里进行仿真。首先执行命令cd e:/回车,改变工作目录,然后执行命令exec vlib work,建立物

33、理工作库,最后exec vmap work work建立逻辑上的工作库。接下来就是对VHDL程序进行编译,完了之后就把程序载入进行波形仿真。图4.3图4.5就是对控制模块的波形仿真。图4.3 初始状态仿真图4.4 电梯上升仿真图4.5 电梯下降仿真清零信号为“1”时,该模块处于初始状态。4.1.2 电机模块步进电机主要控制它的正反转及转动与停止。在这里的步进电机是电梯的执行机构,是轿厢的直接拖动设备,所以对它的控制就在于电梯的上升与下降,即控制电机的正反转6。4.1.2.1电机模块设计流程图电机模块的程序流程图见图4.6所示。4.1.2.2 电机模块程序清单电机模块的程序清单见附录2。4.1.

34、2.3 电机模块ModelSim SE PLUS仿真步进电机模块仿真见图4.74.9所示。图4.7 步进电机复位仿真图4.8 电机正转仿真图4.9 电机反转仿真电机模块设计流程图图4.6 电机模块程序流程图4.1.3 分频模块我们要把系统100MHz的时钟频率用于实际中,应对其进行必要的处理。简单的说就是分频。比如本系统的状态转换频率我们进行了1M分频,应用于电机控制频率。4.1.3.1分频模块设计流程图分频模块的程序流程图见图4.10所示。图4.10 分频模块流程图4.1.3.2 分频模块程序清单分频模块的程序清单见附录2。4.1.3.3 电机模块ModelSim SE PLUS仿真步进电机

35、模块仿真见图4.114.12所示。图4.11 分频仿真图4.12 分频仿真4.1.4 顶层模块此模块是将上述所有的模块结合起来,成为电梯控制器的核心控制模块。顶层模块的原理图见图4.13所示。图4.13 顶层模块原理图FPGA系统的I/O分配见表4.1所示:表4.1 FPGAI/O分配表I/0口分配情况I/0口分配情况P163连接单片机的P0.0P56步进电机输入P164连接单片机的P0.1P57步进电机输入P165连接单片机的P0.2P58步进电机输入P166连接单片机的P0.3P59步进电机输入P167连接单片机的P0.4P88楼层检测P168连接单片机的P0.5P89楼层检测P169连接

36、单片机的P0.6P93楼层检测P173连接单片机的P0.7P94楼层检测P174连接单片机的P1.0P95楼层检测P175连接单片机的P1.1P96直流电机输入P176连接单片机的P1.2P97直流电机输入P177连接单片机的P1.3P80系统时钟P178连接单片机的P1.4P179连接单片机的P1.5P180连接单片机的P1.6P181连接单片机的P1.74.2 单片机键盘显示的设计单片机外部口线的使用:P0口接数码管段控线驱动芯片74LS244的输入端口;P2口经8155接数码管位控线驱动芯片74LS244的输入端口;P1口的P1.5P1.7接下载线接口电路;P3口不作I/O口线用,而是用

37、作控制线。键盘程序流程图见图4.14。图4.14 键盘程序流程图显示程序流程图见图4.15。图4.15 显示程序流程图键盘显示程序见附录3。总 结为期两个星期的课程设计已渐近尾声,按设计要求基本将程序调试完成,虽然自己没把握好整个环节,造成了调试困难,但正是因为这些问题的出题才把我们的课程设计推向了一个又一个顶峰,致使我们从中学到了顺境中所学不到的知识。从第一章的绪论中,我们可以了解到整个电梯模型的硬件部分主要由FPGA和单片机组成的控制器、模型电梯两部分组成。而其中FPGA和单片机组成的控制器是由学校电气与信息工程系提供的,我所要做的实物部分就是模型电梯。考虑到实物的可制作性以及可操作性,我

38、放弃了制作机械模型,而改用透明的塑料板(即PS板)作为模型电梯的制作材料。根据模型电梯的组成,将塑料板裁成模型电梯的式样,待各部分都完成之后通过固体胶将板子固定好。由于电梯的拖动设备采用的小型的步进电机,所以电梯轿厢的设计就不能太复杂或者说不能太重,我所采用的是一个小纸箱,没有开关门的设计。5个传感器分别装在各楼层的检测位置,步进电机的驱动及各接口电路板则固定在模型的底座。可以说,整个模型的制作是成功的。模型电梯与控制器的连接是通过并行的数据线实现的。程序的调试与仿真是用软件Xilinx公司的ISE9.1来完成的。ISE9.1通过与ModelSim SE Plus建立联系,程序可以直接从ISE

39、9.1中进行功能与时序的仿真。此次设计的程序有部分是通过老师来完成的,当然也有自己设计的。目前程序的综合还有部分问题,虽然通过努力解决了些问题,不过还是由于编程练习太少以及软件功能太强大以至操作复杂,最后实物的制作只能说是失败了。不过不能说是完全的失败,也有部分是成功的。 通过本次系统的设计,使我的单片机技术和EDA技术有了很大的突破,理论知识得到巩固,动手操作能力也得到提高。从最初的原理图设计,PCB印制电路板图使我更加熟悉Protel应用软件的操作,到硬件电路板的实际制作中,让我掌握了很多课堂上学不到的知识。致 谢课程设计是对我们知识运用能力的一次全面的考核,也是对我们进行科学研究基本功的

40、训练,培养我们综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写毕业学术论文和工作打下良好的基础。本课题在选题及进行过程中得到李健老师的悉心指导。论文行文过程中,是李老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。李老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。再多华丽的言语也显苍白。在此,谨向李老师致以诚挚的谢意和崇高的敬意;还要感谢我的同学们,他们热心的帮助,使我感到了来自兄弟姐妹的情谊;最后还要感谢相关资料的编著者和给予我们支持的亲身父母,感谢您们为我们提供一个良好的环境,使本次设计圆满完成。参考文献1 潘松,黄继业EDA技术实用教

41、程北京:科学出版社,2005:55-56,146-147,171-179. 2胡振华VHDL与FPGA设计北京:中国铁道出版社,2003:18-24,282-287 3 李广弟,朱月秀,王秀山单片机基础北京:北京航空航天大学出版社,2001:12-22,184-2124 谢自美电子线路设计实验测试武汉:华中理工大学出版社,2000:317-3215 黄贤武,郑筱霞传感器原理与应用成都:高等教育出版社,电子科技大学出版社,2004:137-1436 唐介电机与拖动北京:高等教育出版社,2003:264-2687 李丹峰,龙迎春电梯控制模型系统的研制韶关大学学报自然科学版广东 韶光,1999:85

42、-888 DS001-4 (v2.4)Spartan-II 2.5V FPGA Family:Pinout TablesSXilinx:2001-4-309 中国期刊网附录1VHDL程序清单library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx pri

43、mitive components.-library UNISIM;-use UNISIM.VComponents.all;entity djzh is port(clk:in std_logic; clr :in std_logic; hw:in std_logic;xlorld:in std_logic_vector(4 downto 0); lc:in std_logic_vector(4 downto 0); y:out std_logic; kmt:out std_logic_vector(1 downto 0); tz:out std_logic_vector(2 downto 0

44、); q1:out std_logic_vector(3 downto 0);end djzh;architecture Behavioral of djzh isCOMPONENT kzmkPORT(clk : IN std_logic; hw : in std_logic;clr : IN std_logic;xlorld : IN std_logic_vector(4 downto 0);lc1 : IN std_logic_vector(4 downto 0); zf : OUT std_logic;y : OUT std_logic; kmt:out std_logic_vector

45、(1 downto 0); tz : OUT std_logic_vector(2 downto 0);en : OUT std_logic);END COMPONENT;COMPONENT dianjiPORT(clk : IN std_logic;clr : IN std_logic;zf : IN std_logic;en : IN std_logic; q1 : OUT std_logic_vector(3 downto 0);END COMPONENT;COMPONENT FP PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; Q:OUT STD_LO

46、GIC);END COMPONENT;signal en0,zf0:std_logic;SIGNAL QQ1:STD_LOGIC;beginInst_kzmk: kzmk PORT MAP(clk =QQ1 , hw =hw,clr =clr ,xlorld =xlorld ,lc1 =lc ,zf =zf0 ,y =y , kmt=kmt,tz =tz ,en =en0 );Inst_dianji: dianji PORT MAP(clk =QQ1 ,clr =clr ,zf =zf0 ,en =en0 , q1 =q1 ); UU:FP PORT MAP( CLK=CLK, CLR=CLR

47、, Q=QQ1);end Behavioral;-library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity d

48、ianji isport(clk,clr:in std_logic; zf,en:in std_logic; q1:out std_logic_vector(3 downto 0);end dianji;architecture Behavioral of dianji istype xz is(s0,s1,s2);type txy is(st0,st1,st2,st3,st4,st5,st6,st7);signal tx:txy;signal ts:xz;signal q:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif (c

49、lr)=1 then tx=st0;ts=s0;q ts tsif zf=1then q=0001;tx=st1;ts=s1;else ts=s0;txif zf=1then q=0101;tx=st2;ts=s1;else ts=s0;txif zf=1then q=0100;tx=st3;ts=s1;else ts=s0;txif zf=1then q=0110;tx=st4;ts=s1;else ts=s0;txif zf=1then q=0010;tx=st5;ts=s1;else ts=s0;txif zf=1then q=1010;tx=st6;ts=s1;else ts=s0;t

50、xif zf=1then q=1000;tx=st7;ts=s1;else ts=s0;txif zf=1then q=1001;tx=st0;ts=s1;else ts=s0;txnull;end case;when s2=tsif zf=0then q=1001;tx=st1;ts=s2;else ts=s1;txif zf=0then q=1000;tx=st2;ts=s2;else ts=s1;txif zf=0then q=1010;tx=st3;ts=s2;else ts=s1;txif zf=0then q=0010;tx=st4;ts=s2;else ts=s1;txif zf

51、=0then q=0110;tx=st5;ts=s2;else ts=s1;txif zf=0then q=0100;tx=st6;ts=s2;else ts=s1;txif zf=0then q=0101;tx=st7;ts=s2;else ts=s1;txif zf=0then q=0001;tx=st0;ts=s2;else ts=s1;txnull;end case;when others=null;end case;end if;end if;end process;q1=q;end Behavioral;-library IEEE;use IEEE.STD_LOGIC_1164.A

52、LL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity kzmk isport(clk:in std_logic; clr:in std_logic; hw:in std_logic;

53、 xlorld:in std_logic_vector(4 downto 0);-箱内或楼道。 lc1:in std_logic_vector(4 downto 0);-到答楼城。 zf:out std_logic; y:out std_logic; kmt:out std_logic_vector(1 downto 0); tz:out std_logic_vector(2 downto 0); en:out std_logic);end kzmk;architecture Behavioral of kzmk istype ts is(st0,st1,st2,st3,st4,st5,st7

54、,st9,st10,st11,st12,st13,st15,st17,st3ab,st3ac,st18,st19,st20,st21,st22,st23,st27,st28,st29,st35,st36,st37,st3a,st3b,st3c,st3d,st3e,st3f);signal st:ts;signal ys:std_logic;signal qq,qqq:std_logic_vector(4 downto 0);signal km:std_logic;signal yxj:std_logic;-优先级判断。O为上升优先signal ksjs:std_logic;signal end

55、j:std_logic;signal clrr1,clrr2:std_logic;signal kmt1,kmt2:std_logic_vector(1 downto 0);signal q:std_logic_vector(7 downto 0);signal lc:std_logic_vector(4 downto 0);beginlc=not lc1;process(clk,clr)beginif clr=1then st=st0;yxj=0;ksjskm=1;ksjs=0;en=0;tz=001;if (xlorld=00000or xlorld=00001)then st=st0;else st=st1;yxjif hw=1then zf=1;en=1;yxj=0;st=st3ac;km if lc=00010then st=st2;else sttz=010;if xlorld(1)=1then st=st3;else stkm=1;en=0;ksjs=1;if ys=0then st=st3;else stksjs=0;if yxj=0then st=st5;else stif xlorld(4 downto 2)/=000and hw=1 then st=st7;else stzf=1;en=1;st=st9;kmif

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!