资源描述
西 南 交 通 大 学本科毕业设计(论文)基于EP3SL150的FPGA硬件电路系统设计和延时细分算法与FPGA实现第VIII页 西南交通大学本科毕业设计(论文)毕业设计(论文)任务书班 级 电讯2009- 03班 学生姓名 李栋 学 号 20093988 发题日期:2012 年 11 月 20 日 完成日期:2013年 6月 20 日题 目 基于EP3SL150的FPGA硬件电路系统设计和延时细分算法与FPGA实现 1、本论文的目的、意义:随着电于技术和计算机技术的快速发展, 超声相控阵技术逐渐应用于工业无损检测,近几年,相声相控阵技术发展尤为迅速,在相控阵系统设计、系统仿真、生产与测试和应用等方面取得一系列进展。其中,自适应聚焦相控阵技术尤为突出,它利用接收到的缺陷回波信息调整下一次激发规则,实现了声束的优化控制,提高缺陷的检出率。“基于EP3SL150的FPGA硬件电路系统设计和延时细分算法与FPGA实现”涉及到多种关键技术,如FPGA的开发、电子设计、硬件编程语言等。“基于EP3SL150的FPGA硬件电路系统设计和延时细分算法与FPGA实现”是超声相控阵技术中的一项关键技术,通过Verilog HDL硬件语言描述算法,进而在FPGA芯片上实现功能。 2、学生应完成的任务:首先查阅相关的资料,了解“基于EP3SL150的FPGA系统设计”的原理、结构、组成,进而学习相关知识,了解电路原理,并了解设计思想和仿真原理和过程。在完成以上工作的基础之上,再学习FPGA的相关知识,了解FPGA的原理、工作过程、特色优点和实现方法。接着需要学习Verilog HDL语言的开发技术的相关知识,了解其配合过程,语言特定、模块组成部分的作用以及相关参数的调节方法,重点是模块理论分析和编程思路。在完成以上理论学习的基础上,还要开始着手EDA工具的学习,通过学习了解电子设计自动化的理念及其优势,主要是理解电路设计的思路和方法。在设计完电路之后还要完成相关PCB电路板的制作,并要手工焊接所有的元器件和完成相关的测试、软件和硬件调试任务,以达到较好的控制效果。 3、论文各部分内容及时间分配:(共 15 周)第一部分调研课题的目的、意义和背景,学习相关基础知识。 (2周) 第二部分参阅相关资料,翻译外文资料,方案初步设计,时间规划、过程规划 (2周)第三部分 设计方案模块化、分解设计、系统设计、理论分析、系统仿真、模块仿真、软件编程工程定义,电路方案的工程定义、设计、模块电路图、仿真报告。 (3周)第四部分软件编程、调试,电路设计、仿真,硬件电路的调试、验收,测量方案制定,软件联调,硬件联调、软件和硬件配合调试、联调,软件验收、硬件验收,系统测量验收,验收。 (3周)第五部分撰写软件设计操作文档,硬件文档,软件规范化、硬件规范化;设计归档,撰写论文初稿,导师审查,知识产权审查,修稿,导师审查, (3周)评阅及答辩:提交学院审查、评阅,撰写PPT报告,答辩,提交论文,归档毕业设计文档。 (2周)备 注 指导教师: 年 月 日审 批 人: 年 月 日 摘 要随着科学技术的不断发展,我们对材料质量的检测要求也变得越来越高。现代无损检测技术的发展趋势就是对材料实现高精度、高分辨率的检测。从而为当代复杂的工业设备提供更好的无损评估。在整个超声相控阵系统中,延迟聚焦算法是关键,提高延迟量的精度可以提高整个系统精度。本课题通过对超声相控阵技术中的延迟细分法则的研究,最终实现两种延迟模式,粗延迟和细延迟。粗延迟是指发射脉冲高电平的持续时间只能是延迟模块的控制时钟周期的整数倍;在细延迟中我们可以对延迟模块的控制时钟进行多相位的分频,最终可以提高延迟模块可以达到的精度。FPGA内部集成的增强型锁相环可以实现多相位时钟信号,利用这些多相位的时钟信号,我们可以将延迟量的精度提高。本设计是基于FPGA平台,巧妙地借助FPGA内部集成的增强型锁相环,实现延迟细分算法的硬件电路。并且在modelsim上对设计结果进行验证。主控平台可以完成的扫描模式是扇形扫描,完成相控阵的聚焦法则,最终输出十六个通道的触发脉冲延迟数据。用户可以根据自己的实际要求,手动的选择粗延迟或细延迟。本论文主要对一下几个模块进行论述:算法的实现模块、扫描模块、延迟模块、波束合成模块。在算法实现模块,我们借助FPGA运行速度的优势,实现二进制的开方运算,传统的二进制开方运算采用的是迭代的算法,使得整个算法的实现过程变得比较长。本课题模拟二进制开方手算的过程,利用FPGA内部的乘法器硬核实现二进制开方运算。在整个课题的设计过程中,我们利用FPGA内部集成的硬件乘法器,利用内部集成的增强型的锁相环和快速锁相环对系统时钟进行倍频和分频,产生我们设计所需要的相关时钟信号。这样可以大大简化设计的开发周期,并且可以提高设计的准确性。关键字:FPGA;超声相控阵;细延迟;聚焦法则AbstractWith the continuous development of science and technology, the quality of our materials testing requirements are becoming increasingly high. Modern non-destructive testing technology trends is right materials to achieve high-precision, high-resolution detector. Thus it provide better Nondestructive Evaluation for contemporary complex industrial equipments. Throughout the ultrasonic phased array system, the delay focusing algorithm is the key to improve the accuracy of the amount of delay can improve overall system accuracy. This issue through ultrasonic phased array technology for the delay subdivision law studies, and ultimately implement two delay mode, the coarse delay and fine delay. Coarse delay is the transmitted pulse duration of the high level the control module can only be delayed by an integer multiple of the clock cycle; the fine delay of the delay module, we can control the multi-phase clock frequency, can ultimately increase the delay module achievable accuracy. Enhanced FPGA integrated PLL can achieve multi-phase clock signals, using the multi-phase clock signals, we can improve the accuracy of the delay amount. This design is based on the FPGA platform, cleverly integrated with enhanced FPGA internal PLL to achieve delay subdivision algorithm hardware circuit.In modelsim to verify the results on the design. Master platform is completed scan mode sector scan, complete phased array focal law, the final output sixteen channel trigger pulse delay data. According to their actual requirements, users can manually select the coarse or fine delay time.This paper mainly discusses about several modules: algorithm module, scanning module, the delay module, the beam forming module. In the algorithm module, we use the advantage of running speed FPGA to achieve binary root operation, the traditional binary root operation using the iterative algorithm, making the whole algorithm implementation process becomes relatively long. This topic simulate the process of binary prescribing hand count, using FPGA internal multiplier hardcore achieve binary root operation.Throughout the project design process, we use internal FPGA integrated hardware multiplier, use enhanced integrated PLL and fast PLL system clock multiplication and division, giving us the needs of design-related clock signal. This can greatly simplify the design of the development cycle, and can improve the design accuracy.Keywords: FPGA; ultrasonic phased array; small delay; focal law目录摘要是否需要显示摘 要IVAbstractV第1章 绪论111引言112超声相控阵无损检测技术的发展现状2121国内超声相控阵无损检测技术的发展现状2122国外超声相控阵无损检测技术的发展现状313本课题研究的内容314本章小结5第2章 超声相控阵聚焦原理的概述621超声波声场基本概念622超声相控阵的检测原理6221超声相控阵的组成6222超声相控阵的聚焦法则723总结9第3章 FPGA的实现1031 EP3SL150的FPGA硬件10311 FPGA10312 FPGA内部锁相环1132 相控阵的发射模块1333 扫描模块的设计16331 偏转角度的扫描18332 PO值的扫描2134 算法的实现模块24341 聚焦算法的基本原理24342 算法的硬件实现模块2635 延迟模块30351 延迟译码模块30352 延迟发射模块3136细延迟模块32361 锁相环模块33362 时钟产生模块34363 延迟模块35364 计算模块3737超声相控阵发射顶层模块383.8硬件仿真结果4039本章小结42结 论43致 谢46参考文献47附录:源程序代码49西南交通大学本科毕业设计(论文) 第104页第1章 绪论注意论文标题中1.1点号是英文格式1.1引言无损检测技术是利用物质的声、光、电特性,在不损害物质的前提下,检测物质中是否存在缺陷,并且可以准确的给出缺陷的大小,位置。与传统的有损检测相比,有以下几个明显的优势:第一,在整个检测的过程中,其不会破坏被检测物体;第二,在必要的时候可以对被检测物进行全方位的检测,这个是有损检测无法达到的;第三,有损检测针对的对象基本都是原材料,而无损检测的对象可以是生产工艺中任何一个生产环节。无损检测是现代科技发展的一个重要分支,在现代工业生产中得到了十分广泛的应用,而超声检测更是无损检测技术中应用最为广泛的。自十九世纪末到20世纪初,在物理学上发现了压电效应和反压电效应之后1,人们开始利用电子学技术产生控制超声波,从而迅速推广了超声波的发展史。在第一次世界大战期间,人们就已经开始利用超声波技术对水下物体进行检测。经过这么多年的发展,超声波检测技术已经得到了十分广泛的应用,尤其是在工业、医学、和石油开采等方面。对着超声波技术和现代科学技术的不断结合,从而已经开始产生了很多不同的领域。在工业上,近几年发展起来的超声相控阵技术已经发展成为无损检测技术中的研究热点。超声相控阵技术来自于雷达相控阵技术,相控阵雷达技术是由许多辐射单元组成的,通过控制各辐射单元辐射电磁波的相位和幅度,可以灵活调整合成电磁波的辐射方向,从而完成在一定区域的扫描。在超声相控阵,其由很多的压电晶片组成,这些压电晶片在脉冲的控制作用下可以连续不断的发出超声波,所以可以通过控制各个压电晶片发出超声波的时间,实现超声波的聚焦、偏移等特性,完成整个扫描过程,从而检测物体中是否存在缺陷。超声相控阵技术已经有了20多年的发展历史2。初期主要是应用在医学领域,在医学超声成像技术中,用相控阵换能器的快速移动声束,实现对被检测物体的成像功能。最初由于超声相控阵技术的复杂性,超声波在固体中传播的复杂性,以及生产成本高等缺陷,使得超声相控阵技术难以得到广泛的应用。然而随着计算机技术的发展,超声相控阵技术得到的很快的发展,尤其在工业发展特别迅速,数字电路的发展促进了整个超声相控阵技术的准确性。与传统的超声波检测技术相比,超声相控阵有很多优势:在超声相控阵技术中,完成对波束的聚焦是通过控制各个压电晶片发出超声波的时间来实现的,从而避免了对声学透镜的使用。所以检测的范围十分广,可以实现对十分复杂的物体进行检测,避免传统检测中存在的扫描盲区,提高了检测的范围,同时也确保了检测结果的准确性和检测的速率。 利用超声相控阵完成物体检测的整个过程我们并不需要移动被检测物体,直接通过改变聚焦偏转角度改变就可以实现对物体进行多个角度的检测,在对大型复杂工业的检测中,可以大大提高检测的效率。 超声相控阵技术拥有聚焦特性,通过对各个换能器进行一定的时序控制,使得每一个换能器发出的超声波都作用在被聚焦点,这样就可以在很大程度上提高该点的声场强度,大大提高了检测灵敏度。 在超声相控阵技术中,聚焦的偏转角度、聚焦半径的增量等这些重要的参数都是可以自定义的,所以可以通过对这些参数的不断优化,提高整套检测系统的可靠性以及检测精度,同时还可以减少检测的盲区。近几年来,超声相控阵技术得到了很快地发展,在世界无损检测的会议当中,关于超声相控阵技术的文章也变得越来越多3。由于其可以自动的实现聚焦特性,已经在业界得到了广泛的关注。随着压电复合材料、计算机技术、数字电路的不断发展,为超声相控阵技术提供了很好的发展平台。随着技术的不断发展,超声相控阵技术已在多个工业的无损检测领域得到了应用。比如:对石油传输管道的检测、火车车轴的检测、核电站的检测以及航空材料的检测4。由此我们可以看出超声相控阵技术的应用前景是十分好的。12超声相控阵无损检测技术的发展现状121国内超声相控阵无损检测技术的发展现状目前国内的超声相控阵技术主要应用在医学监测中。国内已经出现了很多的研究超声相控阵的机构,其中就包含许多高校,比如:清华大学,上海交通大学,等一些知名高校和研究所对相控阵系统中的自适应聚焦和相控阵的延迟技术方面都做了大量的实验和研究。1.2.2国外超声相控阵无损检测技术的发展现状超声相控阵技术的发展初期是为了应用于医学领域上,最早是为了实现诊断和治疗,主要是向人体发射超声波,并接收超声波,来获得人体组织的一些信息,从而对患者进行诊断,此方法实施起来比较简单,并且得到的图像也比较清楚,所以得到了很快的发展。目前,国外研究的应用于管道检测中的全自动超声相控阵技术已经得到的很广泛的应用,并且对于焊缝检测的技术已经发展的十分成熟。他们在航空航天和核工业方面,对超声相控阵技术提出了更高质量的要求。超声相控阵技术已经成为国外无损检测的研究热点。近几年来,在国外超声相控阵技术的发展中,超声相控阵系统中的压电还能晶片的质量已经得到了很大的提高,由于数字电路的快速发展,对超声波的延迟时间的控制已经可以达到纳秒级别的精确控制。90年代末,国外对合成孔径聚焦技术的研究对超声相控阵的发展产生了很大的影响。目前已经有公司推出了全新的超声相控阵的检测技术,可以实现扇形扫面,动态聚焦等功能,使得相控阵技术的应用又得到了很大程度的发展。麻省理工学院研究出来的超声相控阵检测技术可以对混凝土进行检测,并且可以判断混凝土中钢筋的具体位置以及走向。英国推出了一款超声相控阵检测设备,可以实现用电池供电,这种设备可以实现对32路压电晶片同时激发,并且能够很好的接受到回波信号,针对回波信号进行分析,最终产生完整的检测分析报告。日本生产的超声相控阵技术主要是应用于检测焊缝连接,该种技术在整个超声相控阵技术中占有很重要的地位5。在国外超声相控阵技术研究的重点已经逐步向相控阵的动态聚焦、自适应聚焦、高分辨率的数字成像等方面进行发展。 13本课题研究的内容在整个超声相控阵技术中,如何控制各个晶片发射超声波的时间是这项技术的关键,合理的控制超声相控阵技术中的延迟技术使得合成的超声波可以发生聚焦偏转等特性是整个技术的核心内容。由此可以相控阵的延迟技术是设计超声相控阵技术的核心,合理的设定延迟量,控制各个晶片发射超声波的时序,使得整个设计达到要求。在传统的超声相控系统中,整个系统的控制核心是计算机。计算机通过一系列的计算,得到每个通道确定的延迟信息,之后经过总线技术,传输给下位机。下位机在控制信号的作用下,接收由计算机传来的数据,根据具体的数据,控制模拟多路开关,实现各个通道的延迟。在这个系统中延迟量是通过模拟开关产生的,所以整个系统的硬件实现电路比较复杂,从而使得系统的集成度降低。随着数字电路的不断发展,尤其是现场可编程门阵列的发展,基于FPGA的数字电路的设计已经展现出来了十分强大的优势,而且人们对FPGA的认识也越来越成熟了,已经可以开始利用FPGA设计很多十分复杂的逻辑电路,并且整个系统的集成度也十分高。Altera公司也根据电子技术发展的要求,推出了一代又一代FPGA,使得利用FPGA设计的成本不断的减少,技术越来越成熟。所以本次课题通过多次调研,了解FPGA的特性,结合超声相控阵技术的特点,利用FPGA平台,来实现整个延迟细分算法,利用逻辑门阵列,代替传统的模拟开关,从而实现16通道的超声相控阵的延迟电路,大大增加了整个系统的集成度。本论文研究的主要内容如下:1.研究超声相控阵技术,了解其基本原理以及实现该设计的基本方法,尤其是对延迟细分算法实现部分的研究2.了解EP3SL150的FPGA 硬件电路系统设计,主要包括设计中用到的一些特殊模块的学习快速锁相环FPLL和增强型锁相环的学习EPLL。3.基于FPGA主控平台实现一些模块的具体功能,主要包括,发射模块,扫描模块,算法的实现模块,延迟模块以及利用FPGA内部增强型锁相环实现8相位的时钟信号的输出,最终实习细延迟功能。4.利用Modelsim软件对整个系统的设计进行仿真,确保整个系统设计的理论可实现性。5.将程序下载到FPGA里面,利用软件集成的逻辑分析仪,对硬件电路的测试结果进行验证,确保程序的实际可操作性。其中论文中对利用FPGA实现模块的部分作为本次论文说明的中心。14本章小结本章主要介绍了超声相控阵的发展历史以及超声相控阵的主要应用。描述国内外的超声相控阵的发展状况,最后介绍了课题中研究的主要内容。第2章 超声相控阵聚焦原理的概述人类能够听到的声音的频率小于20KHZ,当声音的频率不在这个范围的时候,人类的听觉就失去了作用。通常我们将频率大于20KHZ的声音成为超声波7。超声波的波长一般都比较短,不容易在空间形成绕射效应,基本可以认为是按照直线传播的,具有很好的方向性,并且其具有很强的穿透性,所以在很多方面超声波都得到了广泛的应用。超声相控阵技术的理论基础就是超声波的传播特性,主要利用到了超声波声场的一些特性,以及关于空间中合成波的一些基本特性。超声相控阵技术中,主要利用的是超声波在空间传播中会发生发射,折射,在空间超声波会相互之间干扰形成叠加效应等特性。利用超声波在不同介质中会形成不同的传播特性是利用超声相控阵技术进行无损检测最主要的理论依据。21超声波声场基本概念超声波的声场指的是充满超声波的空间,以及包括由于超声波的波动而带动空间介质震动的部分介质。在空间中,稳定的超声波声场具有一定的特性,但是在两种介质间,超声波可能会存在一些不同的特性,所以可以通过检测这些超声波参量的变化,来确定被检测物体中是否存在缺陷。超声波的参量主要包括以下几个部分“声压、声强以及特征阻抗1。在超声波传播的整个过程中,声阻抗表明了介质对超声波的阻碍情况,对于不同的介质其对超声波产生的阻碍作用是不一样的,所以我们可以以该理论作为基础,判断陪检测物体中是否存在缺陷。反而言之,如果介质和缺陷间的声阻抗一样,则我们同样无法检测到被检测物体中是否存在缺陷。22超声相控阵的检测原理221超声相控阵的组成超声相控阵中重要组成部分是相控阵中的多个探头,每个探头都是由压电转换器构成的,可以实现将电压信号转换为声能信号。它是超声相控阵检测系统中的最主要的部分,晶片的灵敏度的提高可以提高整个相控阵检测的精度和检测的准确性。在相控阵系统中,各个晶片按照一定的规律分散而成8,本课题研究的主要是线性分布的相控阵。各个晶片之间是相互独立的,均可以在脉冲作用下发射只和该通道相关的超声波。并且所有通道发出的超声波是想干波,这些相干波在空间会进行叠加,最终实现稳定的声场。在超声波的参数中,声阻抗是最重要的,他是实现利用超声波进行无损检测的基础。声阻抗值指的是在超声波传播的过程中,介质内任意一点的声压与超声波传播速度的比值。声阻抗表示了介质对超声波的阻碍作用,所以对于不同的介质来讲由于声阻抗特性是不一样的,从而导致超声波在不同介质中传播的过程中会表现出不同的传输特性。前面已经提到了,超声波在不同的介质中传播时,介质呈现出来的阻抗特性是不一样的,当相控阵的各个通道发出超声波之后,当超声波遇到被检测物体时,由于反射现象的存在,会有一部分的超声波反射回来。所以我们就可以通过接受相控阵发射出来的超声波的回波来判断被检测物体中是否存在缺陷。222超声相控阵的聚焦法则相控阵的聚焦法则,是整个超声相控阵系统的主要组成部分,当相控阵中的各个晶片接收到具有不同延迟量的脉冲信号之后,就会形成不同的特性,我们将各个晶片要遵守的时序法则称为相控阵的聚焦法则9。波束的偏转:当相控阵系统中的各个晶片发射脉冲的延迟量满足等差数列的时候,超声波的波阵面将表现出来偏转的特性10。波束的聚焦:当超声相控阵系统中,各个晶片发射的延迟时间呈抛物线关系的时候,发射的超声波的波阵面会在中心轴上的某一点出现聚焦特性11。图2-1为波束偏转聚焦的示意图。图2-1波束偏转和聚焦的示意图在整个超声相控阵的控制系统中,我们不是要单单实现波束的聚焦或波束的偏转,而是要在系统中同时实现波束的偏转和聚焦特性,所以我们必须要认真的讨论如何控制延迟聚焦的时间,运用合理的算法实现最终的聚焦过程。并且要在设计的基础上尽可能的提高设计的精确度和使用的范围。综上所述,在整个相控阵技术中,延迟聚焦算法是整个相控阵系统设计的核心,延迟量可以达到的精度影响整个相控阵的精度。只有确保超声相控阵系统可以发射出稳定的超声波,最终的相控阵系统才可以达到设计要求。在以往的很多设计中,延迟信息的实现是通过模拟开关进行控阵的,并且由于系统比较庞大,数据传输的聚焦长,所以在数据的传输过程中,可能会造成一定程度上的误差。FPGA是专门为处理数字电路,可以实现很强大的逻辑功能,并且芯片的集成度很高,本课题通过在FPGA实现相控阵系统,取代传统意义上的模拟开关,可以增加系统的可靠性,并且数据传输的距离有限,可以确保数据传输的可靠性。23总结在整个超声相控阵的控制系统中,我们不是要单单实现波束的聚焦或波束的偏转,而是要在系统中同时实现波束的偏转和聚焦特性,所以我们必须要认真的讨论如何控制延迟聚焦的时间,运用合理的算法实现最终的聚焦过程。并且要在设计的基础上尽可能得提高设计的精确度和使用的范围。综上所述,在整个相控阵技术中,延迟聚焦算法是整个相控阵系统设计的核心,延迟量可以达到的精度,直接影响到整个相控阵的精度。只有确保超声相控阵系统可以发射出稳定的超声波,最终的相控阵系统才可以达到设计要求。在以往的很多设计中,延迟信息的实现是通过模拟开关进行控阵的,并且由于系统比较庞大,数据传输的时间长,所以在数据的传输过程中,可能会造成一定程度上的误差。FPGA是专门处理数字电路,可具有很强大的逻辑功能,并且芯片的集成度很高,本课题通过在FPGA实现相控阵系统,取代传统意义上的模拟开关,可以增加系统的可靠性,并且数据传输的距离有限,可以确保数据传输的可靠性。第3章 FPGA的实现31 EP3SL150的FPGA硬件311 FPGAStratixII(EP3SL150是第三代还是第二代)系列的FPGA加入了一个新的逻辑结构,尽可能大的提高了设备的性能,内部的逻辑门阵列的密度增加到180,000个。StratixII内部集成了9M的矩阵存储器,可以被应用于一些对存储器要求很高的设计中,内部增加了96个DSP模块,内部集成了384个18位乘以18位的乘法器,用户可以直接调用这些硬核乘法器,可以大大降低用户的开发周期。支持一些高速的外部存储器接口,I/O接口支持很多电平标准,在DPA回路中支持1G/S的输出传输速度。StratixII内部提供了完整的时钟管理模式,内部运行的时钟最大可以达到550M,内部锁相环可以实现12种相位时钟。用户可以对以前配置的FPGA通过数据流重新配置内部寄存器10。StratixII中的用户逻辑单元是采用二维矩阵形式进行排列的,行和列之间使用不同长度不同速度的内部连接将逻辑数组模块,存储器模块,和数字信号处理模块连接在一起。每一个逻辑数组模块包括了8个自适应逻辑模块。ALM是StratixII系列FPGA的基本逻辑设计模块,提高了用户逻辑功能实现的效率。在芯片内部LABs也是按照行和列排列的。StratixII的特征:包含的逻辑单元的个数最多可以达到179400个;增加了自适应逻辑模块,提高了FPGA的性能,提高资源的利用率;在没有降低逻辑资源的基础上,使得RAM增加到9383040位;矩阵存储器,包括了三个RAM模块,被应用在双端口的存储器中,内部集成了FIFO缓冲器;高速的数据处理模块,应用于硬件乘法器中,最大运行速度可以达到450M,乘法累加功能,有限的脉冲响应滤波器;在每个区域中包括了24个时钟源,增加了16个全局时钟;时钟管理模块支持动态的时钟使能和禁制功能,可以禁制时钟信号的运行,减少设备的功耗;内部集成了12个锁相环其中包括四个增强型锁相环和8个快速锁相环,每一个锁相环都支持时钟的功率谱密度的拓展,可以对带宽进行配置,时钟转换功能,实时的锁相环进行重新配置,先进的倍频和相移的能力;支持多种单端和差分输入输出的电平标准;在DPA模块中,差分I/O端口的运行速度可以达到1G/S;支持高速网络和通信总线的标准;支持远程配置更新;可以通过配置加密确保系统设计的安全性;在调用IP核的模块中,StratixII提供了多个产权技术,用户可以调用比较多的IP核模块,优化系统的设计。在本次课题的设计中,我们需要直接调用FPGA内部的乘法器硬核资源提高FPGA逻辑单元的利用率,直接调用硬核资源可以确保计算结果的准确性,StratixII内部的具有丰富的硬核乘法资源可以调用。在细延迟模块中,我们需要产生8相位的时钟输出,而FPGA内部集成的增强型锁相环可以很方便的实现这种功能,并且输出的结果具有很高的精度。在本课题的设计中,我们外部采用的时钟信号比较多,FPGA内部的时钟管理模块可以对这些时钟进行很好的管理,避免时序的混乱。312 FPGA内部锁相环锁相环的功能:锁相环路实际上就是一种反馈电路,简称锁相环12。锁相环的特点是可以实现信号频率和相位的跟踪。锁相环包括三个部分:鉴相器、环路滤波器、压控振荡器器,鉴相器通过比较输入信号和反馈信号的频率和相位,并且将信号的差值转换为电压值;环路滤波器通过滤除电压信号携带的一些文波和噪音,将电压信号变为稳定的电平值;产生的电平值控制压控振荡器的输出频率和相位,最终实现输出信号和输入信号的频率相等、相位差保持恒定。锁相环通常用来产生进行信号的分频或者倍频,并且可以产生质量较高的时钟信号。FPGA内部的锁相环:FPGA内部的锁相环可以两种:增强型锁相环(EPLL)、快速锁相环(FPLL)。StratixII中的锁相环提供了完整的时钟管理、控制设备时钟管理的同步性、外部系统的时钟管理、可以进行高速的I/O端口通信。StratixII内部有12个十分通用的锁相环,并且其可以配置零延迟缓冲,地抖动模式等其他模式。StratixII内部包含两种锁相环,增强型锁相环和快速锁相环。增强型锁相环和快速锁相环都有很强的可操作性,并且可以进行一些对于锁相环来讲比较先进的操作方式,比如说输入时钟可以在多个时钟源之间进行转换、可以进行锁相环相位的重新配置、锁相环的重新配置以及带宽的重新配置。内部的锁相环可以被用来进行时钟管理,支持复用功能,可以自定义的配置相移和占空比。另外增强型锁相环可以支持外部时钟作为反馈信号,进行时钟功率谱的拓展,并且可以进行锁相环的多级级联模式。快速锁相环提供了十分快的数据传输速度,可以用来进行高速差分I/O端口的输入输出。StratixII内部的锁相环支持低功耗模式,当时钟信号不需要工作的时候,我们可以很容易的禁制该时钟信号的运行,从而减少设备的功耗。锁相环输入时钟可以从五个可能的时钟源中动态的选择一个时钟作为其输入时钟,反馈到第一个或者第二个时钟输入端口。增强型锁相环:StratixII设备包括了四个增强型的锁相环,其可以进行先进的时钟管理特性。锁相环的主要目的是为了保证内部和外部的时钟与输入的参考时钟保持相位和频率的一致性。FPGA内部包括了很多部分确保整个系统的可靠性。StratixII在输入参考时钟的上升沿通过鉴相器将信号反馈回来。设定占空比的参数可以改变时钟的下降沿。鉴相器通过产生一个增加或者减少的信号决定压控振荡器产生的时钟信号的频率应该增加还是应该减少。鉴相器的输出信号通过电荷垹和环路滤波器产生一个电压控制信号,控制压控振荡器器的输出频率。如果鉴相器的输出电压增加,VCO的输出频率增加,反之VCO的输出频率减少。鉴相器将增减控制信号输入到电荷垹中,根据电荷垹的输出,电荷垹会进行输出电流的增加或者减少的。环路滤波器将这些增减信号转换为相应的电压信号,作用于压控振荡器。环路滤波器可以滤除有电荷垹出来的短波干扰。环路滤波器的输出电压决定了压控振荡器的输出频率。VCO实现了四级差分回路晶振。分频因子插入到反馈回路中增加VCO的频率,VCO的输出频率等于m倍的输入参考频率。鉴相器的输入参考频率等于锁相环的输入频率除以n,所以FPGA内部的锁相环可以同时实现分频和倍频的功能。VCO的输出可以通过六个不同的通道反馈回去。通过设计计数器的大小,我们可以产生一系列相关的输出时钟信号。图3-1是FPGA内部增强型锁相环的内部框图图3-1 FPGA内部增强型锁相环六个输出时钟均可以用作外部时钟的输出端口,所以每一个计数器都可以对应着产生响应的频率信号。每一个输出时钟的相位都可以进行单独的设定,也可以通过设计倍频和分频因子产生不同频率和不同相位的相关时钟。时钟的输出电平可以支持很多种模式,用户可以自动设定输出时钟对应的电平。当没有使能锁相环功能的时候,这些锁相环的端口可以被用作普通的I/O端口进行数据的通信。 32 相控阵的发射模块在整个超声相控阵延迟细分算法的实现过程中包含了多个模块,并且各个模块在时序上必须要满足一定的时间顺序,否则在每个模块的计算过程中得不到准确的数据,从而影响整个计算的结果,所以我们必须要合理的编写一些控制信号,按照一定的时序要求,使能各个模块。图3-2为发射控制模块的顶层设计图。图3-2 发射控制模块顶层发射模块的时钟采用的是50MHZ,在发射模块的内部是一个计数器,当计数器的数值到达不同的取值时,发出不同的控制信号,使能后面的各个模块。各个信号代表的具体意义:M_clock :触发计数器计数的时钟信号Reset :复位信号,当该信号为高电平时,各输出信号均为无效状态HLT :全局等待信号,当该信号为高电平时,整个系统进入等待模式Scan_st :全局扫描控制信号,当该信号为高电平的时候,系统进入正常的扇形扫描模式Scan_n :使能通道扫描模块,当该信号有效的时候,通道扫描模块使能Scan_cos :使能偏转角度扫面模块,当该信号有效的时候,偏转角度扫描模块使能Count_wr :加载数据到算法实现模块Count_st:开始进行计算,即对加入到算法实现模块的数据进行处理,得到最终的延迟信息Delay_wr: 当该信号有效的时候,将延迟信息加载到延迟模块Delay_st: 当该信号有效的时候,将加载到延迟模块的数据一次传到各个通道中,最终数据延迟脉冲对发射控制模块参数的选择:在发射超声波信号的时候,为了避免超声波在第二次发射的过程中与在第一次发射的超声波发生重叠,所以我们必须要根据实际情况来控制超声波发射的周期。在本次课题的设计中我们假设扫描的最大焦距H为7cm,而超声波在钢铁中的传输速度V为5.9km/s,所以超声波完成一次发射与接收的时间13为:=23.7us所以发射超声波频率对应的周期应该大于,所以超声波发射的重复频率等于42khz,为了使得在一个周期内完成对16通道扫描,计算以及延迟信息的加载,所以我们设定每个通道控制信号的重复频率为1khz。这样我们在一个周期内,就可以完成对一个点的聚焦过程,当进行到下一个周期的时候,自动转换到下一个聚焦点上。如此重复就可以完成整个扇形扫描的全部过程。图3-3为发射控制模块的仿真时序图。图3-3 发射控制模块的仿真当全局等待信号有效的时候,计数器停止计数,但是计数器依然保持原有的数据,整个发射控制系统进入等待模式。当复位信号有效的时候,计数器复位其值变为0,输出信号全部变为无效状态。由仿真图我们可以知道,在一个周期内对聚焦偏转角度扫面一次,但是对通道数要扫描十六次,即完成十六通道的全部扫描过程。在整个扫描的过程中,延迟数据的数据加载信号会一直保持有效,当完成一次聚焦之后,延迟数据的输出信号有效,16个通道按照响应的延迟信息输出脉冲波形。从而保证整个系统的同步性。图3-4为发射控制模块单个周期内的仿真时序图。图3-4 发射控制模块单周期的仿真时序 33 扫描模块的设计扫描模块是为整个算法实现模块提供数据源,整个扫描模块是一系列的数据进行自动扫描之后加载到各个算法实现模块上的。根据前面的计算公式:其中d表示的是相控阵系统中相邻晶片之间的距离,是一个常数;v表示的是超声波在钢铁中传播的速度,也是一个常数;所以整个扫描系统主要扫描的参数包括:各个通道i值得扫描、偏转角度的扫描、中心晶片到聚焦点位置PO的扫描。系统通过自动对这些参数进行不断的改变,便可以得到各个通道延迟信息的大小,最终完成整个扇形扫面系统14。扫描模块主要包括:扫描译码、通道数目i的扫描、偏转角度的扫面、聚焦半径的扫描。图3-5是整个扫描模块的顶层设计图。图3-5 扫描模块的顶层设计下面将对各个模块的具体功能进行描述:扫描译码:该模块主要是接受外部通过32位数据总线和四位地址总线传来的数据,根据地址总线的数据,将数据转换为扫面模块需要的数据,并发送给其他各个模块。表3-1给出了地址与对应输出的关系,图3-6给出了扫描译码模块的顶层设计图,图3-7给出了扫描译码模块的仿真时序图。表3-1 地址与输出关系输出数据代表的意义地址扫描角度的初始值(cos_addr_out)0000相邻晶片的距离(d_out)0001聚焦半径的最小值(PO_min)0010聚焦半径的最大值(PO_max)0011聚焦半径的步进值(PO_r)0100超声波的波速(v_out)0101图3-6 扫描模块的顶层设计图图3-7 扫描译码模块的仿真时序由仿真结果我们可以得出,当复位信号有效的时候,译码模块传输的数据均为0,即此时不需要进行后续模块的计算,当写信号有效的时候,在时钟信号的控制下,按照地址的大小,最终将输入的数据传输给响应的通道,并且此时PO_WR信号有效,该信号在数据传输结束后,会失效,即该信号控制后续的计算模块时候接受前级传入的数据。扫描模块的时钟为50Mhz的系统时钟,32位的数据总线和4位的地址总线在时序的控制下一次传入六组数据到译码模块。译码模块根据传入进来的地址,将这些数据翻译成为扫描模块需要的数据,最终输出给其他模块。331 偏转角度的扫描该模块主要完成三个功能:当完成一段弧度的扫描之后使能PO的扫描、进行扇形扫描中对偏转角度的扫描、输出cos_F信号判断输出的角度是大于90还是小于90。图3-8为偏转角度扫描的顶层图。图3-8 偏转角度扫描的顶层图根据相关的研究表明,当偏转角度大于75的时候,超声波会出现波瓣,所以在工业检测的应用中,偏转角度数一般小于60,我们都知道偏转角度数越小,超声波的方向性就越好。在目前的工业和医学上,偏转角度数一般选在30,这样既能满足要求,又可以增加超声波的方向性15。在本课题中,我们采用的是扇形扫描,我们以相控阵的中心晶片为圆心,以中心晶片到聚焦点的距离为半径,偏转角度数范围为60到120,实现一段弧度的扫描过程。具体的工作方式如下:首先给出一个聚焦半径,围绕该半径实现一段弧度的扫描,每次扫描角度的增量为3,当完成一段弧度的扫描之后,聚焦半径增加,从而进行第二段弧度的扫描。在FPGA内部,无法进行负数的运算,对于互补的两个角度,其余弦值对应的绝对值是一样的,因此为了区分该角度和其补角的关系我们设定一个输出端口,当角度大于90时,cos_F输出为高电平,反之输出为低电平。图3-9给出了偏转角度的时序仿真图图3-9 偏转角度的时序仿真图由仿真结果可以看出来,当HLT有效的时候,扫描模块进入等待状态,也就是维持先前的计数状态保持不变。我们设定的扫描角度总工有20个,当一段角度扫描完成之后,PO_en,信号有效,此时便可以进行PO数值的扫描。在进行一个完整的角度扫描时,标志位信号会在不同的角度范围内给出不同的标志位,从图中我们可以得到,扫描角度小于90,标志位信号为低电平,当扫描角度大于90,标志位信号给出高电平,这样我们通过比较标志位信号,就可以进行区域选择的判断。通道数目的扫描:一个聚焦周期实际上就是对i值实现一个完整的扫描过程。在每一次的聚焦过程中,我们都必须对i值进行一次完整的扫描,我们采用的是16通道的相控阵控制技术,所以在给定一个聚焦半径和偏转角度,就需要对通道数目扫描16次。图3-10为通道数目扫描的顶层设计图。图3-10 通道数扫描的顶层模块在本次设计中我们对通道数目的扫描采用顺序赋值的方式。我们令中心晶片为原点,左右两个各有8中i的取值,最小为0最大为7,。类似的我们设置一个输出端口F,当晶片处于中心晶片左边的时候,F输出为高电平,反之F输出为低电平。扫描的时钟信号为50mhz的系统时钟,当全局使能信号和scan_n_en信号均有效的时候,开始进行通道数的扫描。由仿真结果我们可以知道,没当scan_n_cos使能一次通道数目就会增加一次,每当n_addr由0增加到7的时候,F_n的输出都会发生一次去翻过程,输出channel_addr表示的是具体的通道数目,在本次可提取其取值为1到16。图3-11为通道数目扫描的仿真图。图3-11 通道数目扫描的仿真图由仿真结果可以看出来,当HLT有效的时候,扫描模块进入等待状态,也就是维持先前的计数状态保持不变。我们设定的通道数目总共是十六个,在n值的扫描过程中,我们是将中心晶片的位置设为0,左右两边对称,通道数目在中心晶片的左边或者右边会有一个标志位F_n,通道的地址是0到15,完成一个扫描过程之后,通道数目会自动变为0,如果扫描信号有效,就继续进行扫描。332 PO值的扫描该模块主要是由一个加法器构成的,当PO的大小,在我们给定的范围内的时候,每当使能信号来临的时候,PO的数值总是在其原有的基础上加上PO_r。PO大小指的就是当扫面的角度为0时,中心晶片达到聚焦位置的焦距半径。图3-12给出了聚焦半径扫描模块的顶层图,图3-13给出了聚焦半径扫描的仿真图。图3-12 聚焦半径扫描的顶层图图3-13 聚焦半径扫描的仿真图由仿真结果我们可以知道,每当PO_en信号有效的时候,PO的数值就在原来的基础上增加PO_r,当PO大于PO_max的时候,输出scan_stop信号。当全局变量失效的情况下,扫描模块进入停止工作模式。区域选择:在前面我们已经提到过了,我们的整个相控阵系统中的晶片位置实际上是可以看做是以中心晶片对应的法线位置分为左右两个区域16,在这两个区域中对称点实际上是有着相同的i并且相应角度的余弦值的绝对值也是一样的,所以他们在整个无符号的计算过程中会出现相同的参数,从而导致输出的延迟量发生变化。为了区分这种情况,我们设定一个输出信号F_out,我们设当F_n和cos_F具有相同的数值,即输出均为0或者为1的情况下,输出F_out为0,反之为1。图3-14为区域选择的顶层模块图,图3-15 区域选择模块的仿真图。图3-14 区域选择的顶层模块图图3-15 区域选择模块的仿真图由仿真结果我们可以看出当cos_F、F_n均为0或者均为1的时候,输出F_out为0,反之输出F_out为1图3-16为扫描模块的额内部连接图,图3-17为在发射控制模块的作用下,各个扫描模块进行扫描的仿真图图3-16 扫描模块的内部模块连接图3-17 扫描顶层模块的仿真图由仿真图,我们可以看出,在写信号的控制下,模块先将对应的数据传给不同的端口,当收到收据之后,扫描模块开始进行扫描过程,整个扫描过程分为三个循环的过程,速度最快的是对于通道数目的扫描,当通道数目完成一整个扫描过程,角度的扫描才会在原有的基础上进行自动加一,而当角度扫描完成一个完整的过程之后,在PO_en信号的使能下,PO模块才进入到扫描状态,而PO的初始值,就是我们预先设定的数值大小。 34 算法的实现模块算法实现模块式整个超声相控阵聚焦系统设计运算的核心部分,该部分接受前面传来的数据,在其内部进行一系列的运算处理,最终输出准确的延迟信息。超声相控阵的偏转聚焦等特性都是由这一部分数据进行控制的。在前面的设计中,扫描模块中采用的时钟信号为频率为50MHZ的主时钟信号,但是在运算模块中我们采用的是FPGA内部锁相环产生的10MHZ的时钟作为运算时钟,所以为了保证扫描模块和运算模块之间的数据保持同步,我们在设计中采用两级缓存17。第一级缓存采用的时钟和扫描模块中的时钟信号保持一致,当缓存模块接收到算法写信号的时候,便开始向第一级缓存中加入通过扫描模块得到的数据,当数据加载完成之后,如果接收到发射控制模块发射的count_st信号,第一级缓存中的数据,就在时钟的作用下开始存放到第二级缓存模块中。第二级缓存模块的时钟要保持和算法的计算模块的时钟信号一致。加入缓存模块除了可以保证数据同步之外,还可以保证数据传输的可靠性。在数字信号的传输过程中,电平的变化是需要一定的时间,所以为了保证前级数据达到稳定之后,再传给后级模块参与运算,这样可以保证参与运算数据的准确性,避免在整个运算的过程中出
展开阅读全文