基于FPGA的6层自动升降电梯控制系统的设计Word文档下载推荐.doc
《基于FPGA的6层自动升降电梯控制系统的设计Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于FPGA的6层自动升降电梯控制系统的设计Word文档下载推荐.doc(30页珍藏版)》请在冰点文库上搜索。
尽管国内电梯市场需求因多方面需求得到迅速增长,但中国加入WTO后,外资品牌电梯进入中国并在中国电梯市场份额中占有的比重大,因此自主品牌企业的发展还任重道远。
1.1.2国外现状
由于国外电梯技术发展早,因此国外电梯技术一直走在世界的前头。
目前在电梯控制系统方面国外发达国家的电梯正在推广32位微机控制系统。
他们都采用闭环反馈单微处理机控制系统或多微处理机协调控制系统。
在电梯传动系统方面,采用交流变压变频(VVVF)调速技术,实现电梯从超低速到高速无级调速的高精度运行,具有节能、对电网污染小、乘坐舒适感佳等优点。
在电梯反馈系统方面,除了采用旋转编码器获得电梯轿厢位置信号外,还有一些厂家采用绝对值编码器从电梯轿厢上反馈位置信号给系统,对曳引电机进行以距离为原则的控制,以实现直接平层技术,达到优越的电梯运行效果。
国外电梯不仅仅在技术上有领先优势,同时在安装调试、售后服务和维修保养方面都下足功夫。
在国外己有"
法规"
实行电梯制造、安装和维修一体化,实行由各制造企业认可的、法规认证的专业安装队和维修单位,承担安装调试、定期维修和检查试验,从而为电梯运行的可靠性和安全性提供了保证。
1.2EDA技术的概述
EDA即电子设计自动化(ElectronicDesignAutomation)的缩写,是在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。
一般把EDA技术的发展分为CDA、CEA、和EDA这三个阶段。
EDA技术就是依靠强大的,在EDA软件平台上,以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
经过多年的发展,EDA技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。
EDA工具已经成为现代电路设计师的重要武器,正在发挥着越来越重要的作用。
1.3FPGA的简介
FPGA是英文FieldProgrammableGateArry的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上发展起来的。
它作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
1.3.1FPGA的工作原理
由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。
查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航局FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。
它通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。
学过数字电路的人都知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。
所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。
FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。
查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。
目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的RAM。
当用户通过原理图或VerilogHDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
我们可以表1-1来说明LUT实现逻辑功能的原理:
表1-14输入与门的真值表
从表中我们可以看出,LUT具有和逻辑电路相同的功能。
实际上,LUT具有更快的执行速度和更大的规模。
1.3.2FPGA的配置模式
FPGA是由存放在片内的RAM来设置其工作状态的,因此工作时需要对片内RAM进行编程。
用户可根据不同的配置模式,采用不同的编程方式。
FPGA有下面3种配置模式:
(1)主动配置方式(AS)由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列。
如EPCS1,EPCS4配置器件专供AS模式,目前只支持Cyclone系列。
使用Altera串行配置器件来完成。
Cyclone期间处于主动地位,配置期间处于从属地位。
配置数据通过DATA0引脚送入FPGA。
配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。
(2)被动配置方式(PS)则由外部计算机或控制器控制配置过程。
通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。
配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。
(3)JTAG配置方式,JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEEStd1149.1联合边界扫描接口引脚,支持JAMSTAPL标准,可以使用Altera下载电缆或主控器来完成。
1.3.3FPGA的芯片结构
FPGA芯片主要由6部分完成,分别为:
可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专业硬件模块。
以下是FPGA芯片主要模块功能说明:
(1)可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。
FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。
通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。
外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA内部。
当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(HoldTime)的要求可以降低,通常默认为0。
为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。
只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。
(2)FPGA内的基本逻辑单元为CLB(可配置逻辑块),CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。
开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。
(3)目前市场上的FPGA都提供数字时钟管理和相位环路锁定。
相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
(4)大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。
块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。
RAM、FIFO是比较普及的概念,在此就不冗述。
CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。
除了块RAM,还可以将FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。
在实际应用中,芯片内部模块RAM的数量也是选择芯片的一个重要因素。
(5)FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。
第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;
第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;
第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;
第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。
(6)内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核(SoftCore)。
现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。
(7)内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(HardCore),等效于ASIC电路。
为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。
例如:
为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;
为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
1.4硬件描述语言
硬件描述语言HDL是EDA技术中的重要组成部分,常用的硬件描述语言有AHDL、VHDL和VerilogHDL,而VHDL和VerilogHDL是当前最流行并成为IEEE标准的硬件描述语
1.4.1VerilogHDL
VerilogHDL是目前应用最广泛的硬件描述语言,并被IEEE采纳为IEEE#1364-1995标准(Verilog-1995版本),并于2001年升级为Verilog-2001版本,VerilogHDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。
VerilogHDL适合算法级(Alogorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次的电路设计和描述。
采用VerilogHDL进行电路设计的最大优点是其与工艺无关性,这使得设计者在进行电路设计时可以不必过多考虑工艺实现的具体细节,只需要根据系统设计的要求施加不痛的约束条件,即可设计出实际电路。
实际上,利用计算机的强大功能,在EDA工具的支持下,吧逻辑验证与具体工艺库相匹配,将布线及延时计算分成不同的阶段来实现,可以减少设计者的繁重劳动。
VerilogHDL和VHDL都是用于电路设计的硬件描述语言,并且都已经成为IEEE标准。
VerilogHDL也具有VHDL类似的特点,稍有不同的是,VerilogHDL早在1983年就已经推出,应用历史较长,拥有广泛的设计群体,设计资源比VHDL丰富。
另外,VerilogHDL是在C语言的基础上演化而来的,因此只要具有C语言的程序基础,设计者就很容易学会并掌握这种语言。
1.4.2VHDL
VHDL是超高速集成电路硬件描述语言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage),是现代电子系统设计的首选硬件设计计算机语言,它主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL有如下几个特点:
(1)VHDL具有强大的功能,覆盖面广,描述能力强。
VHDL支持门级电路的描述,也支持以寄存器、储存器、总线及单元等构成的寄存器传输级电路的描述,还支持以行为算法和结构的混合描述为对象的系统级电路的描述。
(2)VHDL有良好的可读性。
它可以被计算机接受,也容易被读者了解。
用VHDL书写的源文件,既是程序又是文档,既可作为工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。
(3)VHDL具有良好的可移植性。
作为一种已被IEEE承认的工业标准,VHDL事实上已成为通用的硬件描述语言,可以在各种不痛的设计环境和系统平台中使用。
(4)使用VHDL可以延长设计生命周期。
用VHDL描述的硬件电路与工艺无关,不会因工艺变化而使描述过时。
与工艺有关的参数可以通过VHDL提供的属性加以描述,工艺改变时,只需要修改相应程序中的参数即可。
(5)VHDL支持对打规模设计的分解和已有设计的再利用。
VHDL可以描述复杂的电路系统,支持对大规模设计的分解,由多人、多项目组来共同承担和完成。
标准化的规则和风格,为设计的再利用提供了有力的支持。
(6)VHDL有利于保护知识产权。
用VHDL设计的专用集成电路(ASIC),在设计文件下载到集成电路时可以采用一定的保密措施,使其不易被破译和盗取。
1.4.3AHDL
AHDL(AnalogHardwareDescriptionLanguage)是Altera公司根据自己公司生产的MAX系列器件和FLEX系列器件的特点专门设计的一套完整的硬件描述语言。
AHDL是一种模块化的硬件描述语言,他完全集成Altera公司的MAX+PLUSSⅡ和QuartusⅡ的软件开发系统中。
AHDL特别适合于描述复杂的组合电路、组(group)运算及状态机、真值表和参数化的逻辑。
用户可以通过MAX+PLUSSⅡ的软件开发系统对AHDL源程序进行编辑,并通过源程序文件的编译建立仿真、时域分析和器件程序的输出文件。
AHDL的语句和元素种类齐全、功能强大,而且易于应用。
用户可以使用AHDL建立完整层次的工程设计项目,或者在一个层次的设计中混合其他类型的设计文件,如VHDL设计文件或VerilogHDL文件。
2设计方案论证及核心芯片介绍
电梯控制系统的选择是否的当对电梯的效率、性能都有很大的影响。
因此在设计电梯控制系统时要充分了解每个系统的优缺点,通过对比选择较为合理的方案进行设计。
2.1系统设计任务
运用所学的数字逻辑电路、硬件描述语言、EDA技术和可编程逻辑器件(PLD)的基本知识,设计基于CPLD的电梯控制器电路。
设计的电路每层楼都应该有请求开关,电梯内有请求开关和电梯上、下状态显示。
2.2系统设计要求
(1)设计一个6层楼的电梯控制系统,每层楼都应该有请求开关,电梯内有请求开关和电梯上、下状态显示,用LED灯显示电梯门的开关状态,用数码管显示电梯所在楼层。
(2)在EP2C8T144C8-FPGA开发板上完成电路的设计与验证后,根据设计电路的输入和输出设备的需要设计并制作PCB板,完成基于PLD的电梯控制器电路。
2.3系统设计方案比较
方案一:
图1-1内部请求系统设计的模块化流程图
主控模块
位移寄存、楼层计数模块
键盘输入、显示模块
当前楼层显示
开、关门
如图1所示在该设计中每层楼都没有外部上下请求,只有楼内外的键盘按键请求,主控模块根据键盘的输入楼层请求来对电梯的状态做出判断,再将判断的结果反馈给相应的模块进行处理。
虽然这种方案可以保证所有人的请求都能得到响应,减轻了程序的编程难度,但这样对于电梯的效率产生消极影响。
方案二:
运行方向判断
图1-2方向优先系统设计模块流程图
在此方案中采用了方向优先控制方式方案即当电梯处于上升模式时,只响应电梯所在楼层以上的请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕,当电梯处于下降模式,电梯的运行模式与上升模式相反。
这样设计使电梯的效率大大提高,节省了人民的出行时间,但是这样提高了程序设计的难度,需要有一定的编程能力才能完成,其设计的模块流程如图1-2所示。
2.4方案论证与选择
方案一中,键盘输入、显示模块设置6个按键,对应1楼2楼……6楼,以及6个相应的LED。
当有按键按下,相应的LED灯亮,表示该楼层有请求,同时将按键信息传递给主控模块。
主控模块根据按键请求,驱动位移寄存、楼层计数模块。
在位移寄存、楼层计数模块中,用一个6位数组,赋初始值为000001,对其进行位移操作,左移表示电梯上升,右移表示电梯下降,变量fl根据左右移进行加减计数(每上升一楼fl加1,每下降一楼fl减1)。
数组中1的位置,表示当前处在的楼层,然后将这个信息反馈给主控模块,主控模块判断是否达到键盘请求的相应楼层,如果已经到达相应楼层,表示该楼层的LED灭,并输出一个信号开门,门开4s后自动关门。
位移寄存、楼层计数模块将当前楼层的信息送到显示模块,显示模块显示当前楼层。
如果键盘无请求,那么电梯停留在当前楼层。
该方案基本虽然完成了一个6层楼的电梯控制系统,但是还没有能够实现自动控制。
方案中少了电梯运行方向判断的模块,所以电梯只能上升到6楼(最高层)后才能下降,下降到1楼(最底层)后才能上升。
假如电梯处于上升状态,到达4楼之后,5楼6楼均无请求,但是2楼有请求,这时电梯只能上升到6楼之后,再下降到2楼,这样的电梯就明显不能满足人民出行的需要,而且耗电电大,没有实现自动控制。
方案二中,加入了运行方向判断模块,若电梯处于上升状态,当前楼层以上无请求,但是当前楼层以下有请求,该模块可做出判断,改变电梯的运行状态,使电梯进入下降模式,从而达到智能化的自动控制。
方案二是在方案一得基础上加多了方向判断模块,这样不仅实现了电梯的智能化自动控制,大大提高了电梯的利用率,为方便人民的出行提供了很好的方案。
在该系统中当电梯在4楼的时候,有人在三楼想下到二楼,这时如果四楼以上的楼层没有请求的话,电梯就下到三楼载客到二楼。
这种方案设计大大满足了人民出行的需要。
综上所述本设计采用方案二,虽然在程序设计上增加了难度,使程序更复杂,但实现了电梯的自动控制。
2.5核心开发板简介
EP2C8T144C8-FPGA开发板采用Altera公司推出的CYCLONGⅡ系列芯片EP2C8T144C8芯片作为核心处理进行设计,CYCLONGⅡ系列芯片可以说是目前市场上性价比最高的芯片。
比第一代的EP1C6或EP1C12等芯片设计上,内部逻辑资源上都有很大的改进。
同时价格也被广大顾客接受;
虽然Altera公司推出了CYCLONGШ基于Ⅳ代的芯片,但是目前市场上价格走势偏高,尤其是针对广大出学者的定位,目前还不是适合采用。
EP2C8T144C8开发板功能描述:
(1)板载EP2C8T144C8FPGA核心芯片;
(2)50MHz有源贴片晶振,提供系统工作主时钟,通过22欧姆匹配电阻连接CLK0和CLK4,均可作为系统时钟使用;
(3)IN5822极管防止电流反接,高速肖特基二极管;
(4)电源开关,正视开发板,向上接通电源;
(5)5V电源接入口,外径5mm,内径3.5mm,内负外正;
(6)R_C按键,FPGA的重新配置按键,按下后系统重新从EPCS4配置芯片中读取程序然后工作;
(7)电源工作指示灯D2;
(8)一个用户LED-D4,当与接口板连接时,改引脚SW[1]复用;
(9)24×
2双排直插2.54间距用户接口;
(10)下载指示灯D1,平时熄灭,下载的时候会亮,按下R_C按键的时候也会亮;
(11)EST按键,这个用户IO口可以当做用户输入按键使用,也可以分配为系统的复位按键;
(12)JTAG下载口,对应于下载的文件是SOF文件,速度很大,JTAG将程序直接下载到FPGA中,但是掉电程序丢失,平时学习推荐使用JTAG方式,最后固化程序的时候在通过ASP方式将程序下载到配置芯片即可;
(13)ASP下载接口,对应下载的是POF文件,速度相对于JTAG比较慢,而且需要重新上电并且拔掉下载线才能工作,操作相对麻烦,不推荐学习时候使用,最后需要断电操作的情况下再使用ASP下载模式;
(14)螺丝铜柱支撑;
(15)4线RS232串口通信接口以及SRAM片选跳线选择;
当与接口板连接时,改引脚与复用;
(16)1085-3.3V稳压芯片;
(17)1117-1.2V稳压芯片,提供FPGA核电压;
(18)SRAM芯片IS612V256K×
16b(注意是选配件)
(19)配置芯片EPCS4(4Mbit);
(20)AT24C02-12C存储器件。
2.6CD4511BCD码—七段码译码器
CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流,可以直接驱动LED显示器。
2.6.1CD4511的引脚及其功能介绍
CD4511的引脚图1-3所示
图1-3CD4511引脚图
其中7、1、2、6分别表示A、B、C、D都是BCD码输入;
5、4、3分别表示LE、BI、LT;
LE为锁定控制端,当LE=0时,允许译码输出;
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值;
BI为消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字;
LT为测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮,显示“8”,它主要用来检测数码管是否损坏;
13、12、11、10、9、15、14分别表示
a、b、c、d、e、f、g为译码器输出端,输出为高点平1有效;
还有两个引脚8、16分别表示的是GND、Vcc芯片供电端。
2.6.2CD4511的工作真值表
如表1-2所示表格中罗列出了CD451