1、摘 要超声测距作为一种非接触测量技术,因其性能好,价格低廉、使用方便,在工业测量、车辆避障、安全预警、自动导航以及现场机器人等相关领域都有应用。然而超声波测距在实际应用也有很多局限性,特别是在特定的工作环境下,如何提高超声波测距精度和范围等方面需要深入研究,这对于超声波检测技术的发展具有重要的应用意义。目前市场上大量超声波测距系统是以传统单片机作为信号发生器产生驱动信号,虽然成本低廉,但是其测量渡越时间的精度和对超声波换能器的驱动效率有限,测量精度往往难以令人满意。FPGA作为一种高密度可编程器件,具有运行速度快,内部资源丰富等特点为开发高性能的超声测距传感器提供了新的方案。为此,本文设计了一
2、种基于FPGA的超声波测距系统。超声波测距的核心在于超声波信号的收发部分,论文通过分析传统单片机内部指令运行时存在较大延时误差从而导致其精度无法满足精密测量要求这一缺陷,设计了基于FPGA的超声波测距硬件系统,并结合软件设计利用FPGA的超高运行速度对全局时钟信号进行了分频处理,实现了对超声波驱动信号的中心频率精确控制;且采用频率计数的方式对超声波传播渡越时间实现了精确测量,提高了系统测距精度。关键词:超声波测距系统,现场可编程门阵列,单片机AbstractAs an indirect distance measurement,the system of ultrasonic ranging
3、has beenwidely used in traffic obstacle avoidance,safety early warning,autonavigation andfield robot for its good capability and lower priceBut ultrasonic distancemeasurement also has much limitation in special actual applicationThe research onimproving the measurement accuracy is very important to
4、developing the technologyof ultrasonic rangingIn market,most of the systems of ultrasonic ranging use the single chipmicrocomputer as a main controller to transmit the driving signalThe measurementaccuracy cannot win great satisfaction,although its cheapThe FPGA(FieldProgrammable Gate Arrays)is a ki
5、nd of programmable deviceIt provides a new planof design for the system of ultrasonic rangingAs these reasons,this paper introducesa system of ultrasonic ranging base on FPGAThe most important parts of the system are the signal transport and receiverThere is a error of time delay When the program is
6、 runningFor this reason the MCUcan not match the needed of exactitude rangingThis paper introduces the hardware ofthe systemWith a view to the software of the system,the FPGA can easily control thecenter frequency of ultrasonic detector by dividing the frequency of the main clockItcan get all accura
7、cy time of the measurement through a frequency counterAs aconclusion,the design can improve the accuracy of the systemKey words:The system of ultrasonic ranging,FPGA,MCUlI独创性声明本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同
8、志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。签名:坠垫日期:竺1:!关于论文使用授权的说明本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。(保密的论文在解密后应遵守此规定)签名:坠垫 导师签名:武汉理I:人学硕士学位论文11前言第1章绪论科技飞速发展时至今日,超声波测距广泛应用于工业,农业,交通,环境,安全防护能源测量等科学领域,超声波测距的测量精度、测量距离,可靠性等性能指标对于提高相关应用系统的测控精度、可靠性,提高生产效率、促进科学
9、技术的发展都具有极为重要的作用。随着经济的迅速发展,交通系统日益庞大,交通安全问题越来越被重视,安全防护现在变成为一个重要议题。近几年,船舶运输事故频发,复杂的水运环境,如大雨、大雾或夜间行驶常常导致航道的能见度降低,造成碰撞事故。由于超声波测距技术具有在黑暗、灰尘、烟雾等恶劣的环境下正常工作的特性,将超声波测距引入航运系统能切实可行的缓解这一问题【151o超声波测距系统的设计结构多种多样,性能差异也各异。目前市面上主流的超声波测距系统大多是以8位或者16位单片机为主空芯片,产生驱动信号,并负责接收处理回波,控制现实通讯。这样处理成本固然降低了,但是测量精度,和测量距离,以及时序的控制能力有限
10、。超声波测距的核心在于超声波信号的收发部分,传统单片机内部指令运行时存在较大延时误差其精度无法满足精密测量的要求,本设计将FPGA(现场可编程门阵列)引入超声波测距系统的设计内,利用其较高的运行速度和丰富的片内资源,取代单片机,提高对超声波工作频率的控制精度以及对超声波收发渡越时间的测量精度。12超声波的特性当物体振动时会发出声音。科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为20-20000赫兹。当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”16J。超声和可闻声本质上是一致的
11、,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短。武汉理I:人学硕十学位论文超声波是一种在弹性介质中的机械振荡,传播速度仅为光波的百万分之一,纵向分辨率较高超声波对色彩、光照度、外界光线和电磁场不敏感,对于被测物处于黑暗、有灰尘或烟雾、强电磁干扰、有毒等恶劣的环境下超声波有很强的适应能力。由于超声波的能量消耗缓慢,在介质中传播的距离较远,声波传播速度在相当大范围内与频率无关等独特优点超声波被视为测距技术的一种良好选择在军事,工业,交通上上有很多的应用I瑚J。13超声波测距原理超声波测距的原理是利用超声波在空气中的传播速度为已
12、知,如果温度变化不大,则可认为声速是基本不变的,根据测距方式超声波测距原理又分为直接测距和间接测距两种。直接测量法:测量超声波从发射端到接收端的渡越时间,根据超声波在环境温度中的速度计算出实际距离。I超声瘐发射潴。I I趣声波接收嫱。II一I-J图11超声波测距原理1测距的公式表示为:S=CxT间接测量法:测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时问差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。2、ll,;l,武汉理I:大学硕十学位论文图12超声波测距原理2测距的公式表示为:S=CxT2式中:S为测量的距离长度;C为超声波在空气中的传播速度;T
13、为超声波的渡越传播时间【9加l。14超声波传感器为研究和利用超声波,人们设计和制成了许多种类的超声波换能器(也叫超声波传感器),就产生超声波的方式上来讲,总体分为两大类:一类是用电气方式产生超声波。电气方式包括:压电型、磁致伸缩型和电动型等。另一类是采用机械方式产生超声波。有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波换能器【11d 5。如图13:jL移:p三II、i2强J:板图13超声波换能器结构原理图压电式超声波传感器主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声波传感器多作探测作用。它有
14、许多不同的结构,如果片内部圈圈搦搦囫豳黧豳团一;,7、,l、I,f,f)一一口匪一一口口一一P。皿一P。姗一目国皿一目国砌武汉理I:人学硕十学位论文质点的振动方向垂直于晶片平面,那么晶片向外发射的就是超声波。超声波在介质中传播可以有不同形式,它取决于介质可以承受何种作用力以及如何对介质激发超声波。通常有如下三种:纵波波型:当介质中质点振动方向与超声波的传播方向一致时,此超声波为纵波波型。任何固体介质当其体积发生交替变化时均能产生纵波。横波波型:当介质中质点的振动方向与超声波垂直时,此种超声波为横波波型。由于固体介质除了能承受体积变形外,还能够承受切变变形。当其中剪切力交替作用于固体介质时均能产
15、生横波。横波只能在固体介质中传播。表面波波型:是沿着固体表面传播的具有纵波和横波的双重性质的波。表面波可以看成是由平行于表面的纵波和垂直于横波的横波合成,振动质点的轨迹为一椭圆,在距表面14波长深处振幅最强ll71。15国内外对超声波测距的研究超声波测距被大量应用于各种工业领域,诸如工业自动控制,建筑工程测量和机器人视觉识别等方面。和其他方法相比,比如激光测距、微波测距等,由于声波在空气中传播速度远远小于光线和无线电波的传播速度,对于时间侧量精度的要求远小于激光测距、微波测距等系统,因而超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响,在各种场合
16、均得到广泛应用。超声波测距作为一种典型的非接触测量方法,在很多场合得以应用。然而超声波测距在实际应用也有很多局限性。超声波在空气中衰减极大,由于测量距离的不同,造成回波信号的起伏变化,不同幅度回波信号在通过固定门限比较器的整形过程中,回波到达时间的测t产生较大的误差,另外就是构成超声波传感器的压电陶瓷片在压电的双向转换过程中,存在惯性、滞后等现象,以及超声波脉冲在空气中传播本身及多重的反射路径,均导致回波信号被展宽,也使测量产生较大的误差,影响了测距的分辨率。其他还有一些因素,诸如环境温度,风速等也会对测量造成一定的影响Il圳。目前国内外对超声波测距的研究主要集中在提高测距精度方面。由于超声波
17、测距其测量范围与测量精度是相互矛盾的。要想得到较大的测量范围,需降低超声波的频率,而此时波长增大,测量精度则会降低;要想提高测量精度,需使用高频的超声波,其在空气中衰减很快,测量范围则会缩小。超声波测距的精度主要取决于所测超声波传输时间的测量精度和超声波在介质中的传输速度这两方面。国外在提高超声波测距性能方面做了大量研究,国内相关学者也做了相关研究。提高传输时问的测量精度主要通过提高测距仪器的4武汉理I:人学硕十学位论文计时精度来实现。而对于超声波的传输速度的提高,主要通过采用高频的超声波换能器实现。高频的超声波换能器的工作中心频率,一般是几到十几MHz,由于换能器的工作频率很高,超声波衰减非
18、常明显,这就对测距仪器的驱动信号的驱动效率提出了更高要求,如何使驱动信号的中心频率精度提高成为了一个派生研究方向。16本章小结本章主要介绍了超声波测距的相关背景知识,做为后文设计中器件选择,硬件和软件设计的思想依据;通过介绍国内外关于超声波测距的研究,提出了现在主要的研究方向:提高所测超声波传输时间的测量精度、提高超声波在介质中的传输速度。由于超声波测距其测量范围与测量精度是相互矛盾的,而对于超声波的传输速度的提高,主要通过采用高频的超声波换能器实现。如何使驱动信号的中心频率精度提高成为了一个派生研究方向。针对这一现状,本文的主要工作是设计一种新型超声波测距系统。从提高超声波传输时间的测量精度
19、和准确控制超声波驱动信号的中心频率两个方面实现测量精度的提高。武汉理J:人学硕十学位论文第2章系统设计准备21 FPGA对于设计的必要性在这里我们比较一下单片机与FPGA的性能特点:单片机:可采用C语言编程,灵活多变,可以方便的实现复杂的指令控制。但是对时序控制实现能力较弱,组合逻辑能力较弱,程序执行采用顺序执行方式,外部自由使用IO口数量有限,对于接口信号的频率控制能力较弱,运行速率约为几十兆赫兹,采用外部晶振的频率不能超过40MHz。FPGA:采用硬件语言编程,没有指令控制系统,控制能力较弱。但具有很强的时序控制能力和逻辑组合能力,对于通信接口特别是高速接口可以将不同速率不同协议的耦合和桥
20、接。运行速率约为几百兆赫兹,采用外部晶振的频率可超过100MHz。整个系统的核心部分是超声波的收发控制端和信号处理部分,正是出于这种考虑现在主流的设计是采用单片机做为主控芯片负责产生超声波驱动信号并对回波进行数据处理,控制现实输出119之0。决定超声波驱动信号的效果。同时对于会波信号的处理,和整个超声波测距总计时,超声波周期的精确时间是一个重要的参数。对于驱动信号频率的严格控制,总计时的时间控制,是系统高性能保障重要条件。现在主流的设计是采用单片机的中断加定时计数器来处理,为方便计算定时器初值,采用12MHz晶振来计算,无论是采用是采用哪种位定时器计数器方式,驱动信号的频率精度都有限,与理论精
21、度相差较大,随着进入中断之前执行任务的不同,定时器的计时值存在着多达3us以上的不确定误差;若采用定时器的对外部正脉冲自动计时的功能,将待测信号接入外部中断引脚,自动实现信号宽度的测量,该方案的计时精度也只能达到lus。而且计时的精度受制于单片机的运行速度,可提高空间很小;若采用1trL分立元件(如82538254)来实现计数器电路,这样计时的精度会有所提高,但计时频率可提高空间不大,如8254最高计时频率不超过10MHz。同时设计由于采用分立元件,体积也很大【21之引。对回波到达时间的测量,对回波信号的辨识和综合处理也是系统设计的关键任务。实际上超声波换能器由于余震自身存在1到2us的不确定
22、误差,若计时器自身的计时误差也是US级的,那么综合起来之后,误差又将增大。、本设计中采用FPGA技术,利用其强大的时序处理能力,极高的运行速度(100MHz以上),同时,其丰富的内部资源又可以将前述的各种逻辑功能集中在一块芯片内部实现,体积也很小,FPGA(Field Programmable Gate Array)是可编程逻辑器件的6武汉理I:人学硕十学位论文一种。可编程逻辑器件是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合计算机软件技术可以快速、方便地构建数字系统。以下简要介绍可编程逻辑器件及FPGA的发展、结构和功能特点。22可编程逻辑器件随着微电子设计技术与工艺的发展,数
23、字集成电路从电子管、晶体管、中小规模集成电路、超大规模集成电路(VLSIC)逐步发展到今天的专用集成电路(ASIC)。ASIC的出现降低了产品的成本,提高了系统的可靠性,缩小了设计科的物理尺寸,推动了社会的饿数字化进程。但是ASIC因其设计周期长,改版投资大,灵活性差等缺陷制约着它的应用范围。硬件工程师希望有一种更灵活的设计方法,根据需要,在实验室就能设计、更改大规模数字逻辑,焉知自己的ASIC并马上投入使用,这是提出可编程逻辑器件的基本思想。可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步。从早起的只能存储少量数据,完成简单逻辑功能的可编程只读存储器(PROM)、紫外线可擦除只读存储器
24、(EPROM)和电可擦除只读存储器,发展到成为可以完成超大规模的复杂组合逻辑与时序逻辑的可编程逻辑器件(CPLD)和现场可编程逻辑门阵列(FPGA)。随着工艺技术的发展与市场的需要,超大规模、高速、低功耗的新型FPGACPLD不断推陈出新。新一代的FPGA甚至集成了中央处理器(CPU)或数字处理器(DSP)内核,在一片FPGA上进行软硬件协同设计,为实现片上可编程系统(SOPC,System On Programmable Chip)提供了强大的硬件支持Iz5之7J。23可编程逻辑器件分类广义上讲,可编程逻辑器件是指一切通过软件手段更改,配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集
25、成电路。目前常用的可编程逻辑器件主要有简单的逻辑阵列(P叫GAL)、复杂可编程逻辑器件(CPLD)和现场可编程逻辑阵列(FPGA)等3大类。PAL是Programmable Array Logic的缩写,即可编程阵列逻辑;GAL是GenericArray Logic的缩写,即通用可编程阵列逻辑,PALGAL是早期可编程逻辑器件的发展形式,其特点是大多基于ECMOS工艺,结构较为简单,可编程逻辑单元多为与,或阵列,可编程单元密度较低,仅能适用于某些简单的数字逻辑电路。目前,国内很多对成本十分敏感的设计都在使用GAL等低成本可编辑逻辑器件。越来越多的74系列逻辑电路被GAL取代。目前比较大的GAL
26、器件武汉理I:入学硕十学位论文供应商主要是Lattice半导体。CPLD是Complex Programmable Logic Device的缩写,即复杂的可编程逻辑器件。Altera为了突出特性,曾将自己的CPLD器件称为EPLD(EnhancedProgrammable Logic Device),即增强型可编程逻辑器件。其实EPLD(EnhancedProgrammable Logic Device),即增强型可编程逻辑器件。其实EPLD和CPLD属于同等性质的逻辑器件,目前Altera为了遵循称呼习惯,已经将其EPLD统称为CPLD。CPLD是在P地GAL的基础上发展起来的,CPLD可
27、实现的逻辑功能比PAL,GAL有了大幅度的提升,一般可以完成设计中较复杂,较高速度的逻辑功能,如接口转换,总线控制等,CPLD的主要器件供应商有Altera、Lattice和Xilinx虚盘号手oFPGA是Filed Programmable Gate Array的缩写,即现场可编程逻辑阵列,FPGA是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它一般采用SRAM工艺,也有一些专用器件采用flash工艺或反熔丝(AntiFuse)工艺等。FPGA的集成度很高,其器件密度从数万系统门到千万系统门不等,可以完成及其复杂的时序与组合逻辑电路功能,适用于高速,高密度的高端数字逻辑电路设计领域
28、。FPGA的基本组成部分有可编程输入输出单元,基本可编程逻辑单元,嵌入式块RAM,丰富的布线资源,底层嵌入功能单元,内嵌专用硬核等。图21逻辑芯片的分类对使用者来说,CPLD和FPGA在大部分特性上的区别并不大,可视实际需要灵活选取。不过,一般来说,CPLD适用于组合逻辑的应用场合,而FPGA则更适合存在大量时序和逻辑运算的场合。根据课题需要大量时序控制的具体特点,本设计选择了FPGA作为主控芯片,以下简要介绍其结构和工作原理以及选型的参考依掘【2引。8武汉理r:人学硕十学位论文24 FPGA的结构、工作原理以及选型依据FPGA生产厂家有Altera、Xilinx、Actel、Lattice等
29、四家公司,其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。其中Altera公司一直都处于可编程芯片系统(SOPC)领域的前沿和领袖地位,为业界提供最先进的可编程器件和相关软件工具、IP软件模块以及优秀的设计方案。其主流FPGA系列包括FLEX6000、FLEXl0K、ACEX、Cyclone、CyclonelI、APEX20K、APEXII、Stratix、Mercury、Exclibur等。简化的FPGA基本由6部分组成,分别为可编程输入输出单元,基本可编程逻辑单元,嵌入式RAM,丰
30、富的布线资源,底层嵌入功能单元和内嵌专用硬核等,如图:底层嵌入式单元丰富的布线资源可编弓I0单元 萋查晕凳程囡囵圜固垦国国垦尽曩国目囵囝国 |一 一婴1嘲I哪II|11 lml哪i11种 厕l 馒该lil I lil I IU 高l、圈 囝雪l一嵌入式快、Ill I IHI l J爨I一喝 洲I|I_Ill I I|I 凰Ill I iil I lil 曷ii i曷i国囝国国囡国囵国囫囡囡囵囡国囝图22 F)GA的内部逻辑结构每个单元的基本概念介绍如下:(1)可编程输入输出单元输入输出(InputOutput)单元简称IO,他们是芯片与外界电路的接口部分,完成不同电气特性对IO信号的驱动与匹配
31、需求,为了使FPGA有更灵活的应用,目前大多数FPGA的I0单元被设计为可编程模式,即通过软件的灵活配置,可适配不同的电气标准与IO物理特性,可以调整匹配阻抗特性,上下拉电阻,可以调整输出驱动电流大小等。可编程IO单元支持的电气标准因工艺而异,不同器件商不同器件族的FPGA支持的IO标准也不同,一般晚来,参见的电气标准有LvTrL,LVCMOS,9武汉理f:大学硕十学位论文SSTL,HSTL,LVDS,LVPECL和PCI等。值得一提的是,随着ASIC工艺的飞速发展,目前可编程IO支持的最高频率越来越高,一些高端FPGA通过DDR寄存器技术,甚至可以支持高达2Gbits的数据速率。(2)基本可
32、编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般式基于SRAM工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器(Register)组成的。FPGA由内部查找表一般为4输入(注:Altera Srtatix II的自适应逻辑模块ALM结构比较特殊),查找表一般完成纯组合逻辑功能。FPGA内部寄存器结构相当灵活,可以配置为带同步异步复位或置位、时钟使能的触发器(FF,Flip Flop),也可以配置成为锁存器(Latch)。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经
33、典的基本可编程单元的配置是一个寄存器加一个查找表,但是不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。例如,Altera可编程逻辑单元通常被称为LE(LogicElement逻辑单元),由一个Register加一个LUT构成。Altera大多数FPGA将10个LE有机地组合起来,构成更大功能单元逻辑阵列模块(L址,LogicArrayBlock),LAB中除了LE还包含LE间进位链、LAB控制信号,局部互联线资源,uJT级联链、寄存器级联链等连线与控制资源。Xilinx可编程逻辑单元叫Slice,它是由上下两个部分构成,每个部分都由一个Register加一个
34、LUT组成,被称为LC(Logic Cell,逻辑单元),两个LC之间有一些共用逻辑,可以完成LC之间的配合与级联。Lattice的底层逻辑单元叫PFU(Programmable Function Unit,可编程功能单元),它由8个LUT和8-9个Register构成,当然这些可编程单元的配置结构随着器件的发展也在不断的更新,最新的一些可编程逻辑器件长长根据设计需求推出一些新的UJT和Register的配置比率,并优化其内部的连接结构。很多器件手册上涌器件中的ASIC门数或等族的系统门数表示器件的规模。但是由于目前FPGA内部除了基本可编程逻辑单元外,还包含有丰富的嵌入式RAM,PLL,或D
35、LL,专用Hard Ip Core(硬知识产权功能核)等。这些功能模块也会等效出一定规模的系统门,所以用系统门权衡基本可编程逻辑单元的数量是不准确的,常常混淆设计者,比较简单科学的方法是用器件的Register或LUT的数量权衡(一般来说两者比率为1:1)。例如,Xilinx的SpartanIII系列的XC3S1000有15360个LUT,而Lattice的EC系列的LFECl5E也有15360个LUT,所以这两款FPGA的可编程逻辑单元数量基本相当,属于同一规模的产品。同样道理,Altera的Cyclone器件族的EPICl2的LUT数量是12060个,10武汉理。1:人学硕十学位论文就比前
36、面提到的两款规模略小,需要说明的是,器件选型是一个综合性问题,需要将设计的需求,成本压力,规模,速度等级,时钟资源,IO特性,封装,专用功能模块等诸多因素综合考虑。(3)嵌入式RAM目前大多数FPGA都有内嵌的块RAM(Block Ram),FPGA内部嵌入可编程RAM模块,打打地拓展了FPGA的应用范围和使用灵活性,FPGA内嵌的块RAM一般可以灵活配置为单端I=1 RAM(SPRAM,Single Port RAM),双端口RAM(DPRAM,Double Poas ram),伪双端口RAM(Pseudo DPRAM),CAM(ContentAddressable Memory),FIFO
37、(First In First Out)等常用存储结构。RAM的概念和功能读者应该非常熟悉,在此不再冗述。FPGA中其实并没用专用的ROM硬件资源,实现ROM的思路是对RAM赋予初值,并保持该初值。所谓CAM,即内容地址储存器。CAM这种存储器在其每个存储单元都包含了一个内嵌的比较逻辑,写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。概括地讲,RAM是一种根据地址读写数据的存储单元;而CAM和RAM恰恰相反,它返回的是与端口数据相匹配的内部地址。CAM的应用也非常广泛,比如在路由器中的地址交换表等。FIFO是“先进先出队列”式存储结构。FPGA内部
38、实现RAM,ROM,CAM,FIFO等存储结构都可以基于嵌入式快RAM单元,并根据需求自动生成相应的粘合逻辑(Glue Logic)以完成地址和片选等控制逻辑。不同器件商或不同器件族的内嵌RAM的结构不同,Xilinx常见的RAM大小是4kbit和18kbit两种结构,Lattice常用的块RAM大小事9kbit,Altera的块RAM最为灵活,一些高端旗舰内部同时含有3种块RAM结构,分别是M512RAM(512bit)M4KRAM(4kbit),MRAM(512kbit)。需要补充一点的是,除了块RAM,Xilinx和Lattice的FPGA还可以灵活的将UJT配置成RAM,ROM,FIF
39、O等存储结构,这种技术被称为分布式RAM(Disturbed Ram)根据设计需求,块RAM的数量和配置方式也是器件选型的一个重要标准。(4)丰富的布线资源布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度,FPGA内部有着非常丰富的布线资源,这些布线资源根据工艺,长度,宽度,和分布位置的不同而被划分为不同的等级。有一些是全局性的专用布线资源,用以完成器件内部的全局时钟和全局复位置位的布线;一些叫做长线资源,用以完成器件Bank(分区)间的一些高速信号和一些第一全局时钟信号(有时也被称为Low Skew信号)的仃线;还有一些叫做短线资源,武汉理1:大学硕十
40、学位论文用以完成基本逻辑单元之间的逻辑互联与布线;另外,在基本逻辑单元内部还有着各式各样的布线资源和专用时钟、复位等控制信号线。实现过程中,设计者一般不需要直接选择布线资源,而是由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以设计者常常忽略布线资源,其实布线资源的优化与使用和设计的实现结果(包含速度和面积两个方面)有直接关系。(5)底层嵌入功能单元底层嵌入功能单元的概念比较笼统,这里我们指的是那些通用程度较高的嵌入式功能模块,比如PLL(Phase Locked Loop),DLL(Delay Locked Loop),DSP,CPU等。随着
41、FPGA的发展,这些模块被越来越多地嵌入到FPGA的内部,以满足不同场合的需求。目前大多数FPGA厂商都在FPGA内部集成了DLL或PLL硬件电路,用以完成时钟的高精度,低抖动的倍频,分频,占空比调整,移相等功能。目前,高端FPGA产品集成的DLL和PLL资源越来越丰富,功能越来越复杂,进度越来越高(一般在ps的数量级)。Altera芯片集成的是PLL,Xinlinx芯片主要集成的是DLL,Lattice的新型FPGA同时集成了PLL与DLL以适应不同的需求。Altera芯片的PLL模块分为增强型PLL(Enhanced PLL)和快速PLL(Fast PLL)等。Xilinx芯片DLL的模块
42、名称为CLKDLL,在高端FPGA中,CLKDLL的增强型模块为DCM(DigJtal Clock Manager,数字时钟管理模块),这些时钟模块的生成和配置方法一般分为两种,一种是在HDL代码和原理图中直接实例化,另一种方法实在IP核生成器中配置相关参数,自动生成IP。Altera的IP核生成器叫做Mega Wizard,Xilinx的IP核生成器叫做Core Generator,Lattice的IP核生成器被称为ModuleIP Manager。另外可以通过在综合,实现不中的约束文件中编写约束属性来完成时钟模块的约束。越来越多的高端FPGA产品将包含DSP或CPU等软处理核,从而FPGA
43、将由传统的硬件设计手段逐步过渡为系统级设计平台。例如Altera的Stratix,StratixGX、Stratix II等器件族内部集成了DSP Core,配合通用逻辑资源,还可以实现ARM,MIPS,NIOS等嵌入式处理器系统,Xilinx的Virtex II和Virtex II Pro系列FPGA内部集成了Power PC 450的CPU Core和MicroBlaze Risc处理器Core;Lattice的ECP系列FPGA内部集成了系统DSP Core模块。这些CPU或DSP处理模块的硬件主要由一些加,乘,快速进位链,Pipelining和Mux等结构组成,加上用逻辑资源和块RAM
44、实现的软核部分,就组成了功能强大的软运算中心,这种CPU或DSP比较适合实现FIR滤波器,编码解码,F丌(快速傅罩叶变换)等运算密集型运用。FPGA内部嵌入CPU或DSP等处理器,使FPGA在一定程12武汉理I人学硕+学位论文度上具备了实现软硬件联合系统的能力,FPGA正逐步称为s0Pc(System OnProgrammable Chip)的高教设计平台。Altera的系统级开发工具是Sopc Builder和DSPBuilder,通过这些平台用户可以方便地设计标准的DSF处理器(如ARM,NIOS等),专用硬件结构与软硬件协同处理模块等。Xilinx的系统级设计工具是EDK和Platfor
45、m Studio,lattice的嵌入式DSP开发工具是Matlab的Simulink。(6)内嵌专用硬核这里的内嵌装用硬核与前面的“底层嵌入单元是有区分的,这里讲的内嵌专用硬核主要指那些通用性相对较弱,不是所有FPGA器件都包含硬核(HardCore)。我们称FPGA和CPLD为通用逻辑器件,是区分于专用集成电路(ASIC)而言的。其实FPGA内部也有两个阵营:一方面是通用性较强,目标市场范围很广,价格适中的PPGA;另一方面是针对性较强,目标市场明确,价格较高的FPGA。前者主要指低成本(Low Cost)FPGA,后者主要指某些高端同性市场的可编程逻辑器件。例如,Altega的Sttat
46、ix GX器件族内部集成了31875GbitsSERDES(串并收发单元);Xilinx的对应器件族是Virtex II pro和Virlcx II PIOX;Lattice器件的专用HardcoTc的比重更大,有两类器件族支持SERDES功能,分别是Lattice高端SC系列FPGA和现场可编程系统芯片(FPSC,FieldProgrammable System Chip)。目前,I山ttice和Xilinx都已经推出内嵌10 GbitsSERDES模块的系统级可编程逻辑器件130-32。基于上述考虑我们选择的是Altcra公司Cyclone系列的EPlC60240CSN型FPGA,如图:图
47、2 3 EPIC60240C8N型FPGA实物圈它的要性能特点如r:EAB,可E上完成许多宏曲数如存贮器、台找表等。武汉理I:人学硕十学位论文全局时钟使用,可以最大限度减少时钟到各触发器的延迟,尽量使整个系统同步。Pu硬件电路,用以完成时钟的高精度,低抖动的倍频,分频,占空比调整,移相等功能。 功能丰富的IO引脚,外部IO输出邢33V电平。低功耗,系统不工作时电流小于lmA。灵活多变的行列连线资源。 强大的集成开发环境。25超声波传感器的选择本设计采用压电式超声波传感器,为了充分发挥本设计的优越性,换能器选择收发分体式换能器。由于传感器的驱动信号是由FPGA产生的11133V方波信号,超声波传
48、感器的工作电压不宜过高。系统设计的是一种收发一体式超声波测距系统,传感器的体积不应过大。超声波传感器的主要性能指标133-37l包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。(2)工作温度。由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。基于以上考虑,本设计采用T4016型超声波传感器,这是一种小功率收发一体式超
49、声波传感器,其性能指标如下表:表21 T4016物理特性列表型号 T4016T T4016R功能 发射 接收中心频率 40KHz(25误差) 40KHz(25误差)声压 114dB min灵敏度 68dB min电容 2500Pf(20) 2500Pf(20)最大电压 20V 20V指向性 60。(25) 600(25)工作温度 零下20。至70。 零下20。至70。14武汉理I:人学硕十学位论文Bottom View Side懒Top Visa-卫。 饔薯。9 0一捌一 笔 j 0 曩1幽 l争 图24 T4016超声波换能器结构原理图由图可见该超声波换能器的尺寸封装完全符合本设计小型化的要求。由其性能参数可见该换能器满足工作电压低,灵敏度高的要求。测距距离为38m符合设计的测试要求。此外T4016型分体式超声波传感器市场的价格约为8元对,对于降低系统成本来说是较好的选择。26显示器件选择对于显示现实器件的选择有如下考虑:现有的测距系