基于fpga的停车场停车位显示系统_第1页
基于fpga的停车场停车位显示系统_第2页
基于fpga的停车场停车位显示系统_第3页
基于fpga的停车场停车位显示系统_第4页
基于fpga的停车场停车位显示系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的停车场停车位显示系统设计I基于FPGA的停车场停车位显示系统设计摘要停车场车位显示的设计这个课题是非常实用的一个设计,与生活应用息息相关。课题是一个基于FPGA点停车场车位显示的设计,设计采用硬件描述语言。要用10传感器检测车位信息,并设计转换电路。此设计的突破口是传感器,它是设计的起始端。分析综合传感器的性能特点,最终选用的是红外反射光电传感器。在程序设计方面,总共用到两个模块分组模块,显示模块。在设计中选用ALTERA公司的FLEX10K系列的EP1K100FC4841作为主芯片,所有的设计在EDA软件开发平台MAXPLUS上利用硬件描述语言VHDL进行设计编程。关键词FPGA;位置传感器;VHDL基于FPGA的停车场停车位显示系统设计IIDESIGNOFCARPARKINGSPACESDISPLAYSYSTEMBASEDONFPGAABSTRACTTHEDESIGNOFCARPARKINGSPACESDISPLAYSYSTEMBASEDONFPGAISAVERYPRACTICALSUBJECT,ANDCLOSETOOURLIVESTHISSUBJECTISTHEDESIGNOFA10TIMES10PARKINGSPACESDISPLAYBASEDONTHEFPGAINVHDLWEUSEPOSITIONSENSORTODETECTTHEPARKINGSPACESANDWESHOULDDRAWOUTTHECIRCUITOFPOSITIONSENSORTHISDESIGNINSENSORISTHEBREAKTHROUGH,WHICHISDESIGNEDTOSTARTOFFANALYZINGTHECHARACTERISTICSANDFUNCTIONOFSENSORS,REFLECTIONPHOTOELECTRICSENSORISTHEULTIMATECHOICEINTHEPROCESSOFTHEDESIGN,INCLUDINGTWOMODULESPACKETMODULEANDDISPLAYMODULESINTHEDESIGNCHOOSINGTHECOMPANYOFALTERAFLEX10KSERIESOFEP1K100FC4841ASTHEMAINCHIP,ALLOFTHEDESIGNUSEHARDWAREDESCRIPTIONLANGUAGEVHDLONEDAMAXPLUSPLATFORMKEYWORDSFPGA,;POSITIONSENSORS;VHDL基于FPGA的停车场停车位显示系统设计1第1章绪论11课题研究的背景FPGA是20世纪90年代发展起来的大规模可编程逻辑器件,随着EDA(电子设计自动化)技术和微电子技术的进步,FPGA的时钟延迟可达到NS级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景。当今电子系统数字化已成为有目共睹的趋势。从传统的应用中小规模芯片构成电路系统到广泛地应用单片机,直至今天FPGA/CPLD在系统设计中的应用,电子设计技术已迈入了一个全新的阶段。FPGA/CPLD不仅具有容量大、逻辑功能强的特点,而且兼有高速、高可靠性。同时使得硬件的设计可以如软件设计一样方便快捷,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用FPGA/CPLD可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现既定的系统功能。在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的FPGA/CPLD和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。12EDA技术的主要内容及发展趋势EDA是ELECTRONICDESIGNAUTOMATION电子设计自动化的缩写。EDA技术就是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUIT)为目的的一门新兴技术。利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的,EDA设计流程如图11所示。EDA设计流程包括设计准备、设计输入、设计处理、器件编辑和设计完成5个步骤,以及相应的功能仿真、时序仿真和器件测试3个设计验证过程。EDA技术的设计大致可分为系统级设计、电路级设计和物理实现级设计。物理实现级设计主要是指IC版图设计,一般由半导体厂家完成。EDA的发展趋势是与工艺无关的系统设计,即高层设计,使设计与制作分开,这里只论述电路级设计和系统级设计。基于FPGA的停车场停车位显示系统设计2设计准备设计输入设计处理器件编辑设计完成功能仿真时序仿真器件测试图11EDA设计流程(1)电路级设计电路级设计主要指设计师根据设计任务,首先要查阅芯片和元器件手册,选择合适的器件来实现系统的功能,然后根据芯片和元器件的性能设计电路图,制作PCB板,用示波器和信号源对系统进行调试。电路级EDA设计流程如图12所示。电路级EDA技术向设计师提供了仿真,后分析以及后仿真的功能,使设计师在微机或工作站上就可以进行逻辑功能的仿真以检验方案在功能设计方面的可行性。由此可见,电路EDA技术可使设计师在系统还没有制作之前就可全面了解系统的功能及PCB板的各种性能参数,比传统的设计方法大大提高了一步。(2)系统级设计系统级设计是设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念构思上,一旦这些概念构思以高层次描述的形式输入计算机后,EDA系统就能够以规则驱动的方式自动完成整个设计,从而大大缩短了产品的研制周期。而且高层次设计只是定义系统的行为特性,可以不涉及实现工艺,在厂家综合库的支持下,利用综合基于FPGA的停车场停车位显示系统设计3优化工具可以将高层次描述转换成针对某种工艺优化的网表,工艺转化变得轻松容易。系统设计设计电路图系统仿真模拟仿真布局布线后分析制作PCB系统实现混合仿真数字仿真芯片元件库仿真模型库可靠性分析串行干扰分析热分析电磁兼容分析图12EDA电路设计工作流程系统级设计采用的是自顶向下的正向设计思想。设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路ASIC实现,然后采用硬件描述语言VHDL完成系统行为级设计,最后通过综基于FPGA的停车场停车位显示系统设计4合器和适配器生成最终的目标器件,其设计流程如图13所示。系统划分VHDL语言描述VHDL语言级功能仿真编译、综合将语言转换为门电路全时序逻辑优化门级电路仿真可测试性分析和测试电路自动生成约束驱动系统完成ASIC实现CPLD实现图13EDA系统设计工作流程121EDA技术的主要内容EDA技术涉及面广,内容丰富,从教学和使用的角度看,主要应掌握如下4个方基于FPGA的停车场停车位显示系统设计5面的内容(1)大规模可编程逻辑器件;(2)硬件描述语言;(3)软件开发工具;(4)实验开发系统;其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。122EDA技术的发展趋势从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11)的设计人员研发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。我国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开基于FPGA的停车场停车位显示系统设计6花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50和30。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平很有限,需迎头赶上。123EDA开发工具的发展趋势面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的开发工具,使用统一的集成化设计环境,改变优先考虑具体物理实现方式的传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。开发工具的发展趋势如下(1)具有混合信号处理能力由于数字电路和模拟电路的不同特性,模拟集成电路EDA工具的发展远远落后于数字电路EDA开发工具。但是,由于物理量本身多以模拟形式存在,实现高性能复杂电子系统的设计必然离不开模拟信号。20世纪90年代以来,EDA工具厂商都比较重视数模混合信号设计工具的开发。美国CADENCE、SYNOPSYS等公司开发的EDA工具已经具有了数模混合设计能力,这些EDA开发工具能完成含有模数变换、数字信号处理、专用集成电路宏单元、数模变换和各种压控振荡器在内的混合系统设计。(2)高效的仿真工具在整个电子系统设计过程中,仿真是花费时间最多的工作,也是占用EAD工具时间最多的一个环节。可以将电子系统设计的仿真过程分为两个阶段设计前期的系统级仿真和设计过程中的电路级仿真。系统级仿真主要验证系统的功能,如验证设计的有效性等;电路级仿真主要验证系统的性能,决定怎样实现设计,如测试设计的精度、处理和保证设计要求等。要提高仿真的效率,一方面是要建立合理的仿真算法;另一方面是要更好地解决系统级仿真中,系统模型的建模和电路级仿真中电路模型的建模技术。在未来的EDA技术中,仿真工具将有较大的发展空间。(3)理想的逻辑综合、优化工具逻辑综合功能是将高层次系统行为设计自动翻译成门级逻辑的电路描述,做到了实际与工艺的独立。优化则是对于上述综合生成的电路网表,根据逻辑方程功能等效的原则,用更小、更快的综合结果替代一些复杂的逻辑电路单元,根据指定目标库映射成新的网表。随着电子系统的集成规模越来越大,几乎不可能直接面向电路图做设计,要将设计者的精力从繁琐的逻辑图设计和分析中转移到设计前期算法开发上。逻辑综合、优化工具就是要把设计者的算法完整高效地生成电路网表。基于FPGA的停车场停车位显示系统设计713现场可编程门阵列FPGAFPGA是英文FIELDPROGRAMMABLEGATEARRAY的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的基本特点主要有(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。(3)FPGA内部有丰富的触发器和IO引脚。(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。131FPGA的基本结构FPGA现场可编程门阵列器件通常由布线资源围绕的可编程单元构成阵列,又由可编程I/O单元围绕阵列构成整个芯片,如图14所示。FPGA的基本结构通常包含三类可编程资源可编程逻辑功能块(CLB)、可编程输入输出块和可编程互连。可编程逻辑功能块(CLB)是实现用户功能的基本单元,它们通常规则地排成一个阵列,散布于整个芯片;可编程输入输出块完成芯片上逻辑与外部封装腿的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连接线段和一些可编程连接开关,它们将各个可编程逻辑块或输入输出块连接起来,构成特定功能的电路。(1)可编程逻辑块CLBCLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中有许多不同规格的数据选择器,分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。CLB中的逻辑函数发生器均为查找表结构,其工作原理类似于ROM。基于FPGA的停车场停车位显示系统设计8图14FPGA的基本结构(2)输入/输出模块IOBIOB提供了器件引脚和内部逻辑功能阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。(3)可编程互连资源IR可编程互连资源可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。FPGA是由掩膜可编程门阵列和可编程逻辑器件演变而来的,将它们的特性结合在一起,使得FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。目前FPGA的逻辑功能块在规模和实现逻辑功能的能力上有很大的差别。据此可把FPGA分为两大类,即细粒度和粗粒度。从构成它的可编程逻辑块和可编程互连资源来看,主要有两大类逻辑块的构造。其一是查找表结构,其二是多路开关类型,由此,形成两种FPGA的结构。ALTERA公司的FPGA是由传统的PLD结构演变而来的,因此属于具有类似PLD的可编程逻辑块阵列和连续布线这一类,即第二种FPGA结构,其逻辑块是基于“与”“或”门电路构成的。而XILINX公司和ACTELI公司的FPGA属于第一种FPGA结构。132FPGA的应用FPGA的电路设计是通过FPGA开发系统实现。用户无需了解FPGA,的内部构造和基于FPGA的停车场停车位显示系统设计9工作原理,只要在计算机上输入电路原理图或硬件描述语言,FPGA开发系统就能自动进行模拟、验证、分割、布局和布线,最后实现FPGA的内部配置。为了方便设计,FPGA开发系统提供了丰富的单元库和宏单元库,例如基本逻辑单元库、74系列宏单元库、CMOS宏单元库等,并且还提供了基本器件系列中没有的单元,如64位全加器等。用户可以任意选用任何库中的任意单元去实现所需的逻辑功能。由于FPGA是一种大规模集成电路,集成度高,容量大,它可以将许多逻辑单元连结起来,在一片FPGA上实现复杂的逻辑功能,用一个单芯片实现一个系统。通过以上的介绍可以看出,FPGA借助软件开发系统,实现了硬件设计的软件化,无需选购器件,无需组装系统,自动模拟代替了复杂的调试,全部操作都在计算机上进行,以一块芯片实现一个系统,它的设计简单,开发周期短,设计可靠性高。133FPGA器件的选择目前全世界生成PLD的厂家很多,但比较大的厂家有ALTERA、XILINX、LATTICE和ACTEL。ALTERA是目前最大的PLD供应商之一,XILINX是FPGA的发明者,最大的PLD供应商之一,LATTICE是ISP技术的发明者,ACTEL提供军品及宇航级产品。由于ALTERA公司的PLD具有高性能、高密度集成、高性能价格比、开发周期短、对器件优化的IP解决方案和在线可编程能力,而且ALTERA公司的MAXPLUSII开发平台也被认为是最优秀的开发平台之一,所以在本文的设计中选用ALTERA公司的产品来进行设计。图15说明了一个10万门器件的开发周期。设计思想设计输入设计处理设计仿真器件编辑系统测试少于1小时5030分钟2小时少于2分钟图15用ALTERA器件开发10万逻辑门的一个典型开发周期ALTERA的PLD器件包括APEX20K、APEXII、EXCALIBUR、MERCURY、STRATIX、ACEX1K、FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX3000和CLASSIC系列。根据各种器件的比较和实际的应用情况,在本设计中选用FLEX10K系列器件。FLEX10K是工业界第一个嵌入式的可编程逻辑器件,采用可重构的CMOSSRAM工艺,把连续的快速通道互连与独特的嵌入式阵列相结合,同时也结合了众多可编程器件的优点来完成普通门阵列的宏功能。由于其具有高密度、低成本、低功率等特点,所以脱颖而出称为当今ALTERAPLD中应用最好的器件系列。其集成度已达到25万门。它能让设计人员轻松开发出集存储器、数字信号处理器及特殊逻辑包含32位多总线系基于FPGA的停车场停车位显示系统设计10统等强大功能于一身的芯片。FLEX10K系列器件主要由嵌入式阵列块、逻辑阵列块、快速通道互连和I/O单元四部分组成。一组LE构成一个LAB,LAB是排成行和列的,每一行也包含一个EAB。LAB和EAB是由快速通道连接的。IOE位于快速通道连线的行和列的两端。134FPGA的开发环境在使用ALTERA器件时,ALTERA建议用户使用其集成环境软件,MAXPLUSII是一个非常优秀的PLD设计开发软件,它集设计、编译、配置、下载调度仿真于一体,能够提供完善的、高度集成的开发环境的软件,能够完成ALTERA器件具有的全部优点,是FLEX10K系列很好的开发工具。MAXPLUSII有多种设计输入方式,主要有原理图输入GRAPHICDESIGNENTRY、硬件描述语言输入AHDLDESIGNENTRY,VHDLDESIGNENTRY,VERILOGDHLDESIGNENTRY、波形输入WAVEFORMDESIGNENTRY等。我们可以根据不同的设计层次采用不同的设计输入方式,这样有助于并行设计和帮助构思。分层的设计方法易于递增式设计,即先对单个的子模块进行设计、实现和验证,然后将子模块建立起顶层设计文件。MAXPLUSII软件的层次显示程序可以显示整个设计方案的层次结构,并允许设计者穿越层次,自动打开适合每个设计文件的编辑程序,因此,可以方便地利用此性能查看和修改底层设计文件。一般,使用MAXPLUSII开发可简化为以下几步(1)设计输入在传统设计中,设计人员是应用传统的原理图输入方法来开始设计的。自90年代初,VERILOG、VHDL、AHDL等硬件描述语言的输入方法在大规模设计中得到了广泛应用。(2)设计编译设计输入之后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译过程,即把设计输入的某种或某几种数据格式网表转化为软件可识别的某种数据格式网表。(3)设计仿真需要利用在布局布线中获得的精确参数再次验证电路的时序。(4)下载当上述几步均没有问题的时候,将代码下载到相应的芯片中即可。由于MAXPLUSII毕竟不同于软件的平台,它所仿真出来的波形只是0,1的组合,并不能十分清楚的判断是否符合要求,这就要求在用硬件描述语言设计之前,应对算法进行软件的编程模拟和可行性分析的研究,软件环境可采用MATLAB。在MATLAB的数字信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。所以在用硬件描述语言对其进行描述时,先根据工程实际的要求,选择MATLAB中的窗函数比较常用的是矩形窗,BARTLET窗,HANNING窗,基于FPGA的停车场停车位显示系统设计11HAMMING窗,KAISER窗来求得滤波器的系数,并编写相应的程序来检验所求得的系数是否符合最终的要求,以此来缩短设计周期,减少工作量,提高设计成功率。14VHDL简介随着VLSI、EDA(ELECTRONICDESIGNAUTOMATION)工具的迅速发展,用户系统的设计从单纯的ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUIT)设计向着系统单片化SOC(SYSTEMONACHIP)设计的方向发展。同时网络技术的发展,共享IP知识产权的开放式系统设计成为新模式,芯片工艺物理设计与系统设计相分离,使用户系统设计人员可直接从事芯片设计。多种技术的融合,系统的功能复合化程度越来越高;对系统设计方法学和工具的要求更高;系统设计日趋软件硬化、硬件软化,并使两者得到了有机的融合,形成了更为强大的ESDA。硬件描述语言HDL的发展至今已有20多年的历史,并成功地应用于设计的各个阶段建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,VHDL和VERILOGHDL语言适应了这种趋势的要求,先后成为IEEE标准。VHDL是IEEE标准的硬件描述语言,是现代电子系统设计的首选硬件设计计算机语言。HDL是用形式化的方法描述数字电路和设计数字逻辑系统的语言。主要用于描述离散电子系统的结构和行为。与SDL(SOFTWAREDESCRIPTIONLANGUAGE)相似,经历了从机器码(晶体管和焊接)、汇编(网表)、到高级语言(HDL)的过程。应用VHDL进行系统设计,有以下几方面的特点。(1)功能强大VHDL具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL是一种设计、仿真和综合的标准硬件描述语言。(2)可移植性VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为ASIC设计。(3)独立性基于FPGA的停车场停车位显示系统设计12VHDL的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。(4)可操作性由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。(5)灵活性VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。在硬件设计中架用计算机辅助设计CAD一般来说到了80年代才普及和应用,随着大规模专用集成电路ASIC的开发和研制,为了提高开发效率,增加已有的开发成果的可继承性以及缩短开发时间,各ASIC厂商相继开发了用于各自目的的硬件描述语言,其中最有代表性的是美国国防部开发的VHDLVHSICDESCRIPTIONLANGUAGE语言,在1987年,由IEEE将VHDL语言定为标准。用VHDL进行设计与传统的原理图设计技术相比有很多的优点。VHDL支持数字电路的开发环境,同时也支持各种设计方法自顶向下TOPDOWN,自底向上BOTTOMUP或两者混合的方法。当今许多电子产品的生命周期大约为10年,同时又必须多次重新设计,以利用新的技术。现在,最简单的方法是采用与工艺无关的VHDL设计方法,使用EDA电子设计自动化工具来改变工艺。VHDL的设计支持可修改性,因为语言易读、层次化且结构化。VHDL语言支持层次化框图、元件的再用、出错处理和验证。层次化可以利用结构VHDL、过程和函数描述。结构VHDL类似于框图。许多系统还支持图形输入,并可以自动转换成结构VHDL。VHDL语言还支持并行的和顺序的语言结构。VHDL的元件COMPONENT设计可以与工艺无关,或者或多或少与某一类工艺无关。元件可以保存在设计库中,在多个不同的设计中再利用。这样就可以在市场上买到商用集成电路标准元件的VHDL模型,当验证整个电路板时,这是一个很重要的优点。VHDL的代码可以用模拟器验证其功能。模拟器施加输入信号进行模拟,并以元件为基础产生信号图和出错信息。输入信号的描述或者用VHDL语言,或者用模拟器的语言。当对VHDL代码进行模拟时就实现了功能验证。其后还可以对设计进行时序验证。基于FPGA的停车场停车位显示系统设计13在传统的原理图设计中,设计者必须用手工检查与工艺有关的因素如时序、面积、驱动强度、元件的选择和扇出。用VHDL进行设计的一个很大的优点是设计者可以专心致力于其功能,即需求规范的实现,而不需要对不影响功能的与工艺无关的因素花费过多的时间和精力。15课题设计的主要内容本课题是要设计一个100个停车位的停车场车位显示系统,设计要求用点10阵表示停车场的100个车位,灯亮表示该车位为空,灯熄灭表示该车位有车。用传感器检测某个停车位上有无车辆,设计其测量转换电路。在设计测量转换电路的过程中传感器的选用是关键。整个设计中用硬件描述语言来完成,并用MAXPLUS进行仿真,仿真过程中参数设置比较关键。最后要对仿真结果进行系统分析。基于FPGA的停车场停车位显示系统设计14第2章停车场车位显示设计的分析21车位显示设计的分析随着新世纪经济持续快速发展,私人购车量大幅提高。庞大的车辆系统给我们日常生活带来很多问题。首先要面对的就是车辆停置的有效管理。在停车场管理中,停车场的土地资源是有限的,因此在停车场土地资源的有效利用也就相当重要。设计合理和完善的车位显示管理系统是很必要的。本课题为停车场停车位显示系统设计,其中包括传感器的选用、FPGA处理芯片的选定和系统功能程序的设计。其中传感器是用来测量车位上是否有车,处理芯片对传感器测量数据进行分析。当某个车位驶入一辆车,则传感器接收到信息并输出,经过处理芯片对信号进行分析处理,并且输出显示。在整个设计中停车位信息的传输是关键,车位信息检测和传输用到传感器,因而传感器的选用是设计的入口。22传感器的选用传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现停车场车位显示系统自动检测的首要环节。传感器一般是根据物理学、化学、生物学等特性、规律和效应设计而成的。由某一原理设计的传感器可以同时测量多种非电量,而有时一种非电量又可用几种不同的传感器测量,因此传感器的分类方法有很多,一般可按如下几种方法分类(1)按输入物理量分按输入物理量的性质进行分类,如速度传感器、温度传感器、位移传感器等。这种分类方法是按输入物理量命名的。其优点是比较明确地表达了传感器的用途,便于使用者根据其用途使用。但是这种分类方法是将原理互不相同的传感器归为一类,很难找出每种传感器在转换机理上有何共性和差异。(2)按工作原理分这种分类方法是以工作原理,将物理和化学等学科的原理和、规律和效应作为分类依据,如电压式、热电式、电阻式、光电式、电感式等。这种分类方法的优点是对于传感器的工作原理比较清楚,类别少,利于对传感器进行深入分析和研究。(3)按能量的关系分根据能量的观点分类,可将传感器分为有源传感器和无源传感器。前者将非电能量转换为电能量,称之为能量转换型传感器。通常配合有电压测量电路和放大器,如压电式、热电式、电磁式等。无缘传感器又称能量控制型传感基于FPGA的停车场停车位显示系统设计15器。它本身不是一个换能器,被测非电量仅对传感器中能量起控制或调节作用。所以,它们必须有辅助电源,这类传感器有电阻式、电容式、电感式等。(4)按输出的信号的性质分分为模拟式和数字式传感器,即传感器的输出量为模拟量或数字量。数字传感器便于与计算机连用,且抗干扰性强,例如盘式角压数字传感器,光栅传感器等。对于相同种类的测定量可采用不同工作原理的传感器,因此要根据需要选用最适宜的传感器。选用传感器时要考虑以下几点(1)测量条件如果误选传感器,就会降低系统的可靠性。为此,要从系统总体考虑,明确使用的目的以及采用传感器的必要性,绝对不要采用不适宜的传感器与不必要的传感器。测量条件列举如下,即测量目的,测量的选定,测量的范围,输入信号的带宽,要求的精度,测量所需要的时间,过输入发生的频繁程度。(2)传感器的性能选用传感器时,要考虑传感器的下述性能,即精度,稳定度,响应速度,模拟信号或者数字信号,输出量及其电平,被测对象特性的影响,校准周期,过输入保护。(3)传感器的使用条件传感器的使用条件即为设置的场所,环境,测量的时间,与显示器之间的信号传输距离,与外设的连接方式,供电电源容量。反射式光电传感器是将红外发光管和硅光敏三极管等,以相同的方向装在支架上。当红外线发光管通电发光时,光通过被照射物反射到硅光敏三极管窗口上,使硅光敏三极管导通,从而有一定大的电流输出,以此检测物体的有无。在设计中将传感器置于停车位的正上方,通过红外反射确知车位状态,其实现原理如图21所示。考虑到停车场与地面有距离差,传感器的测量距离必须有足够大。一般的红外反射传感器检测距离都在25米,停车场的高度在其测量距离内。且红外反射光电传感器具有灵敏度高,抗干扰强,安装简便,价格低等优点。所以选用红外反射光电传感器符合课题的要求。传感器停车场停车位红外反射基于FPGA的停车场停车位显示系统设计17图21红外反射车位检测原理图基于FPGA的停车场停车位显示系统设计18221红外反射光电传感器及实现电路反射式光电传感器的光源有多种,常用的有红外发光二极管,普通发光二极管,以及激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较集中,传感器只接收很窄的频率范围信号,不容易被干扰但价格较贵。理论上光电传感器只要位于被测区域反射表面可受到光源照射同时又能被接收管接收到的范围就能进行检测,然而这是一种理想的结果。因为光的反射受到多种因素的影响,如反射表面的形状、颜色、光洁度,日光、日光灯照射等不确定因素。如果直接用发射和接收管进行测量将因为干扰产生错误信号,采用对反射光强进行测量的方法可以提高系统的可靠性和准确性。红外反射光强法的测量原理是将发射信号经调制后送红外管发射,光敏管接收调制的红外信号,原理如反射光强度的输出信号电压VOUT是反射面与传感器之间距离X的函数,设反射面物质为同种物质时,X与VOUT的响应曲线是非线性的,如图22,图23所示。设定输出电压达到某一阈值时作为目标,不同的目标距离阈值电压是不同的。图22红外发射接收原理图23光强度相应曲线在设计中每个车位上方都要安装一个红外反射传感器,总共100个传感器就有100个信号输出数据线。这些线都接入到系统设计电路的总线输入端口,在CLK时钟的驱动下系统设计电路完成对检测信号的处理并且输出。设计中采用的红外反射光电传感器的具体实现电路如图24所示。接收电路发射X反射表面410VOUTX/MM基于FPGA的停车场停车位显示系统设计19图24红外反射式光电传感器实现电路基于FPGA的停车场停车位显示系统设计20第3章系统设计31系统设计方案本课题为停车场停车位显示系统设计,首先要解决的是停车位车辆状态信息的检测和传输,然后对检测信号进行分析处理,最后将车位状态信息显示。这里我用到位置传感器对车位信息进行检测,所以要在10停车场共100个停车位每个停车位安一个“车位传感器”,利用传感器检测停车场停车位停车状态,传感器检测到的信号通过总线送进FPGA锁存后进行信息处理,最终通过显示器件将停车位状态信息显示。系统设计框图如图31所示。100个传感器并行信号输入FPGA进行锁存,由分组模块程序对所有信号进行分组10个一组,共10组。10组分组信号进入显示模块进行行和列扫描。整个设计方案分两个大模块分组模块和扫描显示模块。100个并行信号FPGACLK分组09101920293039404950596069707980899099扫描输出传0感1器2检3测4到的信号99图31系统设计方案框图32分组模块顶层图及设计程序如图32所示,所有传感器的输出都接到系统电路的输入总线DIN990,共一百个输入端口。在CLK时钟驱动下,LOCK对100个传感器输入信号进行锁存然后系统电路开始工作对输入信号进行分组,具体分为QOUT0QOUT9共10组,每组10个。以上提到的LOCK锁存信号,其实也就是动态扫描的扫描频率信号,它决定了系统的扫描频率。基于FPGA的停车场停车位显示系统设计21图32分组模块顶层图分组模块设计程序如下FENZUVHDLIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYFENZUISPORTCLKINSTD_LOGICLOCKINSTD_LOGICDININSTD_LOGIC_VECTOR99DOWNTO0QOUT0,QOUT1,QOUT2,QOUT3,QOUT4,QOUT5,QOUT6,QOUT7,QOUT8,QOUT9OUTSTD_LOGIC_VECTOR9DOWNTO0ENDARCHITECTUREBEHAVEOFFENZUISSIGNALTEMPSTD_LOGIC_VECTOR99DOWNTO0BEGINPROCESSCLK,DINBEGINIFLOCK1THENTEMPLIELIELIELIELIELIELIELIELIELIENULLENDCASEENDPROCESSPROCESSCOBEGINIFCOEVENTANDCO1THENIFH_COUNTHANGHANGHANGHANGHANGHANGHANGHANGHANGHANGNULLENDCASEENDPROCESSEND基于FPGA的停车场停车位显示系统设计25第4章系统设计仿真与波形分析41ALTERAMAXPLUSII的使用整个系统是基于MAXPLUS系统设计,MAXPLUSII是ALTERA公司提供的FPGA/CPLD开发集成环境,界面友好、使用便捷,被誉为业界最易用易学的EDA软件。在MAXPLUSII上可以完成设计输入元件适配、时序仿真和功能仿真、编程下载整个流程,支持原理图、VHDL和VERILOG语言文本文件以及波形与EDIF等格式的文件作为设计输入。它提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编辑。MAXPLUSII支持主流的第三方EDA工具,如SYNOPSYS、CADENCE、SYNPLICITY、MENTOR、VIEWLOGIC、EXEMPLAR和MODELTECHNOLOGY等。MAXPLUSII支持除APEX20K系列之外的所有ALTERAFPGA/CPLD大规模逻辑器件。411MAXPLUSII功能简介(1)原理图输入(GRAPHICEDITOR)MAXPLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块。(2)硬件描述语言输入(TEXTEDITOR)MAXPLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和VERILOG硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。(3)波形编辑器WAVEFORMEDITOR在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。波形编辑器窗口如图(三)所示。使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮”1”。还可以使用输入的波形WDF文件经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件功能可以解决这个问题,设计出一个输入和输出波形相同CPLD电路。基于FPGA的停车场停车位显示系统设计26(4)管脚(底层)编辑窗口FLOORPLANEDITOR该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能。(5)自动错误定位在编译源文件的过程中,若源文件有错误,MAXPLUSII软件可以自动指出错误类型和错误所在的位置。(6)逻辑综合与适配该软件在编译过程中,通过逻辑综合LOGICSYNTHESIZER和适配FITTER模块,可以把最简单的逻辑表达式自动的吻合在合适的器件中。(7)设计规则检查选取COMPILEPROCESSINGDESIGNDOCTOR菜单,将调出规则检查医生,该医生可以按照三种规则中的一个规则检查各个设计文件,以保证设计的可靠性。一旦选择该菜单,在编译窗口将显示出医生,用鼠标点击医生,该医生可以告诉你程序文件的健康情况。(8)多器件划分PARTITIONER如果设计不能完全装入一个器件,编译器中的多器件划分模块,可自动的将一个设计分成几个部分并分别装入几个器件中,并保证器件之间的连线最少。(9)编程文件的产生编译器中的装配程序ASSEMBLER将编译好的程序创建一个或多个编程目标文件EPROM配置文件(POF)、SRAM文件(SCF)、JEDEC文件JED、十六进制文件HEX、文本文件TTF和串行BIT流文件SBF等。(10)仿真当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确。(11)分析时间ANALYZETIMING该功能可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率。(12)器件编程412MAXPLUSII设计流程MAXPLUSII软件设计流程图如图41所示,由以下几部分组成。基于FPGA的停车场停车位显示系统设计27设计输入编译仿真与定时分析编程系统测试修改设计图41MAXPLUSII设计流程图(1)设计输入可以采用原理图输入、HDL语言描述、EDIF网表输入及波形输入等几种方式。(2)编译先根据设计要求设定编译参数和编译策略,如器件的选择、逻辑综合方式的选择等。然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合和器件适配,并产生报告文件、延时信息文件及编程文件,供仿真和编程使用。(3)仿真仿真包括功能仿真、时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。(4)编程与验证用经过仿真确认后的编程文件通过编程器(PROGRAMMER)将设计下载到芯片中,最后测试芯片在系统中的实际运用性能。在设计过程中如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重复上述过程。42系统设计仿真及波形分析系统设计总共分两个大模块分组模块和显示模块;分组模块电路功能是对点阵的100个信号进行分组,每10个信号一组,总共10组;显示模块的输入10是分组模块分组后的输出信号,用来显示扫描后的行、列的位置,从而完成对点阵停车车位状态信息的显示。MAXPLUSII支持功能和时序仿真。功能仿真用于大型设计编译适配之前的仿真,而时序仿真则是再编译适配生成时序信息文件之基于FPGA的停车场停车位显示系统设计28后进行的仿真。系统仿真分以下步骤(1)建立仿真波形;(2)设置输入信号仿真波形;(3)运行仿真器进行仿真。421分组模块仿真及波形分析图42分组模块仿真波形由图42分析可知,100BIT的DIN信号在LOCK的时钟到来时被锁存,然后在CLK的时钟下被分组到QOUT0QOUT9。422显示模块仿真及波形分析图43显示模块仿真波形如图43所示在CLK信号的驱动下D0到D9的信号被分时扫描到HANG输出,同时基于FPGA的停车场停车位显示系统设计29从LIE输出点阵的列选信号。由此可以控制点阵车位状态显示的相关信息。1043系统设计的硬件下载在顺利完成软件仿真之后,进一步进行硬件下载测试,下载过程的步骤为芯片指定、引脚锁定、线路连接、程序下载等四个步骤。(1)芯片指定本课题使用的芯片是FLEX10K系列的EP1K100FC4841,需要在每一个子在每一个子程序及总的电路图的编译过程中都进行芯片的指定,这样在进行电路下载时才能将整个程序成功下载到可变成逻辑芯片中,芯片的指定在软件MAXPLUSII下拉菜单ASSIGN中进行。(2)引脚锁定所谓管脚锁定,即将软件平台上所设计的系统引脚与具体的目标芯片的引脚相对应起来。在锁定之前,具体要使用的目标芯片必须是确定的。有关目标芯片的可用引脚资源可查阅相关的数据手册。选定要加载的器件从ASSIGN菜单子中,选择DEVICE选项。在DEVICEFAMILY下拉列表中,选择MAX7000系列;在DEVICES的器件列表框中,选中MAX7000,最后选择OK。锁定管脚选择菜单ASSIGNPIN/LOCATION/CHIP。在NODENAME栏中键入要锁定的管脚的名字,在CHIPRESOURCE窗口中选中PIN,并键入要写入的引脚号码,最后点击右下角的ADD,则选中的管脚即被锁定。如果输入的管脚号码不是器件的I/O引脚,返回时将出现错误信息。(3)线路连接引脚锁定后,就可以进行线路连接,在进行连接时要保证连接准确,以便得到可靠的硬件调试结果,其他端口的连接按照引脚锁定图进行正确连接。其中,因为本设计需要大量的传感器,而实验条件并不具备,故根据传感器输出波形的特点决定使用开关代替传感器,完成线路链接进行仿真。线路连接完成以后,在进行一次仔细的检查,查看连接是否有错误。(4)程序下载ISP器件采用在系统可编程技术,是一种无需将器件从电路板上取下即可编程的EECMOS芯片。它通过五根编程连线与计算机的并行口相连,在软件平台MAXPLUSII的帮助下,即可非常方便地实现设计程序到芯片的下载,从而可免去以往PL

温馨提示

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

评论

0/150

提交评论