可编程逻辑器件与VHDL设计(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-12 17:34:01

点击下载

作者:靳鸿

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

可编程逻辑器件与VHDL设计

可编程逻辑器件与VHDL设计试读:

前言

随着计算机和大规模集成电路制造技术的迅猛发展,现代复杂数字逻辑系统正向小型化、低功耗和高集成度方向发展。具有可重复使用、可移植性好、系统设计效率高等优点的可编程逻辑器逐渐成为电子系统设计的主流。硬件描述语言VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)具有很强的行为描述能力,是进行可编程逻辑器件设计的主要工具,随着系统复杂性和智能化的不断提高,VHDL已成为不可替代的语言工具,将在通信、工业、航空、航天等领域担负重任。

本书从系统对VHDL的需求入手,在明确VHDL设计目的的基础上,结合此语言的相关基础知识,建立VHDL的设计思路。进行程序设计时,强调思路是设计的灵魂,先有思路才能很好地构思整个程序的结构,优化其算法。本书以控制模块的功能需求为背景,在明确了需要什么的基础上,提出如何满足需要的问题。这样,采用VHDL进行程序设计时,可以先对程序建立总体的认识,再对如何构建程序进行思考,以功能为牵引,分析不同风格和语句实现的区别,掌握最优的VHDL设计方案。书中以信息获取系统控制模块设计为主线,除了扩展各具体模块的应用特点外,还考虑了各模块间的相互关系,一方面加强对语言的认识,另一方面将理论与实践进行结合,充分考虑工程实际的应用背景,建立理论学习与实际使用的衔接。

本书是作者从事十多年教学经验的积累和科研结果的体现,实践性强;知识点与实际科研项目相结合;采用先建立知识框架再进行内容填充的介绍方式,便于读者的学习和理解。希望本书,能够使读者了解VHDL,建立VHDL程序设计的思路,掌握其设计的步骤和基本方法,对实践起到一定的指导作用。

本书共11章。第1章是绪论;第2~4章是对测试系统控制模块的相关描述,包括系统组成及控制模块的主要功能,控制模块的设计方法,基于VHDL的控制模块设计流程等;第5~7章着重介绍VHDL语言的基础理论及常用的语句;第8~10章是各控制模块的VHDL设计与实现方法;第11章介绍了数字电路常用器件以及数字电路开发常用的设计方法。

本书第1、9章由中北大学靳鸿编写;第2章由中北大学孟令军编写;第3章由中北大学王燕编写;第4章由沈阳理工大学装备工程学院郭文凤编写;第5章由中北大学郭华玲编写;第6章由中北大学赵正杰编写;第7、8章由中北大学沈大伟编写;第10章由中北大学崔建峰编写;第11章由太原理工大学刘喆编写。靳鸿、郭华玲、沈大伟负责统稿。

全体编者在此书的编写过程中都尽心尽力,但因水平有限,书中难免存在不足或疏漏之处,恳请广大读者批评指正,不胜感激。编者2017年1月第1章绪论

系统是由若干相互作用和相互依赖的事物组合而成的,具有特定功能的整体。其中,通常将由电子元器件或部件组成的能够产生、传输、采集或处理电信号及信息的客观实体称为电子系统。

电子系统设计的发展是与两个因素的产生、发展密切相关的,这两个因素的每一次飞跃都会影响系统设计的革命性变革。它们就是集成技术和电子设计自动化(Electronic Design Automation,EDA)技术。1.1 集成技术与可编程逻辑器件

集成技术的发展包括模拟集成、数字集成和混合集成技术的发展。其中数字技术的发展比较成熟,成为集成技术的主流。1.1.1 可编程逻辑器件

随着微电子技术与工艺的发展,数字集成电路由早期的电子管、晶体管经历了小规模集成电路、中规模集成电路、大规模集成电路、超大规模集成电路、具有特定功能的专用集成电路ASIC(Application Specific Integrated Circuit),到现在出现了片上系统SoC(System on Chip),集成度和功能不断增大和增强。在20世纪80年代初,随着微电子技术的高速发展,特别是ASIC的市场需求,出现了可编程逻辑器件PLD(Programmable Logic Device),其中应用最广泛的是现场可编程门阵列FPGA(Field Programmable Gate Array)和复杂可编程逻辑器件 CPLD(Complex Programmable Logic Device),目前已广泛应用于通信、电子、电力、军事、仪器仪表、影视等各个高科技研发领域和产品中。

20世纪80年代中期Altera公司推出了一种新型的可擦除、可编程逻辑器件EPLD(Erasable Programmable Logic Device),它采用CMOS和UVEPROM工艺制作,集成度比PAL和GAL高得多,设计也更加灵活,但内部互连能力比较弱。20世纪80年代末Lattice公司提出了在系统可编程技术以后,相继出现了一系列具备在系统可编程能力的复杂可编程逻辑器件CPLD。CPLD是在EPLD的基础上发展起来的,它采用E 2 CMOS工艺制作,增加了内部连线,改进了内部结构体系,因而比EPLD性能更好,设计更加灵活,其发展也非常迅速。1985年Xilinx公司首家推出了FPGA器件,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等许多优点。FPGA出现后立即受到世界范围内电子设计工程师的普遍欢迎,并得到迅速发展。1.1.2 CPLD和FPGA

CPLD和FPGA都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础上发展起来的。同以往的PAL、GAL等比较,CPLD和FPGA的规模更大,可以替代几十甚至几千块通用IC芯片。这样的CPLD和FPGA实际上就是一个子系统部件,因此受到了世界范围内电子工程设计人员的广泛关注和普遍欢迎。

1.CPLD

CPLD器件的结构是一种与阵列可编程、或阵列固定的与或阵列形式。PAL、GAL都采用这种形式,但CPLD同它们相比,增加了内部连线,对逻辑宏单元和I/O单元也有重大改进。一般情况下,CPLD器件中包含三种结构:可编程逻辑宏单元、可编程I/O单元、可编程内部连线。部分CPLD器件内还集成了RAM、FIFO或双口RAM等存储器,以适应DSP应用设计的要求。

CPLD器件具有同FPGA器件相似的集成度和易用性,在速度上还有一定的优势,因此,在可编程逻辑器件技术的竞争中它与FPGA并驾齐驱,成为两支领导可编程器件技术发展的力量。

2.FPGA

FPGA是新一代面向用户的可编程逻辑器件,它的功能密度远远超过其他PLD器件,一块FPGA可以替代100~200片标准器件或者20~40片GAL器件,其I/O引脚数多达100余条。所以一片FPGA芯片可以替代多个逻辑功能复杂的逻辑部件,或者一个小型数字系统。自FPGA问世以来,它已在许多领域获得了广泛的应用。

逻辑单元型结构LCA(Logic Cell Array)的FPGA由三部分组成,即逻辑单元阵列CLB (Configurable Logic Block)、I/O单元、互联资源。这种类型结构的特点是通过对CLB编程实现逻辑功能;通过对I/O单元编程确定输入或输出结构;通过对互联资源编程实现CLB之间、CLB与I/O单元之间、I/O单元之间的互联关系,从而实现用户所需要的逻辑功能。PAL结构扩展型FPGA则是在PLA基础上加以改进和扩展,大幅度增加了寄存器数量和I/O引脚数,增设了可编程互联资源,改善了互联模式,改进了阵列结构,使得芯片的利用率大大提高。

3.两者的区别

CPLD与FPGA在价格、性能、逻辑规模和封装(包括EDA软件性能)等方面各有千秋,面对不同的开发项目,使用者应该作出最佳的选择,表1-1是对CPLD/FPGA在各个方面的比较。

随着电子技术的高速发展,今天的CPLD和FPGA器件在集成度、功能和性能(速度及可靠性)方面已经能够满足大多数场合的使用要求。用CPLD、FPGA 等大规模可编程逻辑器件取代传统的标准集成电路、接口电路和专用集成电路已成为技术发展的必然趋势。表1-1 CPLD与FPGA的比较1.2 电子系统设计与VHDL

如今,现场可编程器件FPGA和复杂可编程逻辑器件CPLD已广泛应用于通信、工业自动化、智能仪表、图像处理、计算机领域,大有取代中、小规模集成电路之趋势,成为电子系统设计(本文简称为“系统设计”)的主流。1.2.1 传统系统的设计方法

以标准集成电路为对象的传统系统设计方法一般按照以下步骤进行:(1)根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图。(2)根据技术规格书和系统控制流图,对系统的功能进行分化,合理地划分功能模块,并画出系统功能框图。(3)进行各功能模块的细化和电路设计。(4)电路版图PCB(Printed Circuit Board)设计。(5)各个模块的功能调试。(6)各个模块的硬件电路连接并调试。(7)整个系统的硬件电路调试。

若其中某个步骤出现问题,可能需要重新进行PCB板的设计,并重新进行电路板的焊接和调试步骤,如此反复,直到整个系统完成为止。这种方法也称为“自底向上”(Bottom-Up)的系统设计方法。

传统的电路设计方法,系统仿真和调试要在系统的硬件完成后才能进行,因此存在的问题只有在后期才能发现,一旦考虑不周,就要重新设计,使得设计的费用和周期增大。另外,由于设计文件是电原理图,如果设计的系统比较复杂,那么其原理图就要成千上万张,给存档、阅读和修改都带来了不便。

除此之外,这种设计方法在进行底层设计时,缺乏对整个系统总体性能的把握、效率低,如果在整个系统完成后发现性能还需改进,修改起来就比较困难,不能适应系统规模与复杂度提高的发展趋势。1.2.2 VHDL与“自顶向下”的设计方法

以若干张原理图构成设计文件的传统电路设计方法随着电路系统的复杂性、智能性的发展,所需的系统也逐渐庞大,所需的图纸成千上万,这么多的原理图不仅在设计上存在不便,在归档、阅读、修改等方面也有许多问题。于是人们寻求一种新的设计方法用于解决这样的问题。

1.硬件描述语言

借鉴软件编程的思想,人们希望把复杂的电子电路用文字文件方式描述并保存下来,方便他人了解电路内容,就诞生了最初的硬件描述语言。

从20世纪60年代开始,为了解决大规模复杂集成电路的设计问题,许多EDA厂商和科研机构就建立和使用着自己的电路硬件描述语言,如Data I/O公司的ABEL―HDL、Altera公司的AHDL、Microsim公司的DSL,等等。这些硬件描述语言各具特色,普遍收到了优于传统方法的实际效果,语言本身也在应用中不断地发展和完善,逐步成为描述硬件电路的重要手段。

2.VHDL

20世纪80年代初美国国防部为其超高速集成电路计划(VHSIC)提出了硬件描述语言VHDL(Very-High-Speed Integrated Circuit Hardware Description Language),作为该计划的标准HDL格式。VHDL主要用于描述数字系统的结构、行为、功能和接口,在使用中,很好地体现了标准化的威力,因而逐步得到推广。目前在硬件描述语言中,较为常用的除VHDL外还有起源于集成电路的设计Verilog HDL。

VHDL具有强大的功能、覆盖面广、描述能力强,可用于从门级、电路级直至系统级的描述、仿真和综合。具有丰富的仿真语句和库函数,随时可对系统进行仿真模拟;与原理图设计相比VHDL有良好的可读性,容易被读者理解,易于文件的归档;VHDL支持对大规模设计的分解和已有设计的再利用,可由多人、多项目组来共同承担和完成,标准化的规则和风格,为设计的再利用提供了有力的支持。

3.“自顶向下”的设计方法

随着硬件描述语言HDL和EDA工具的发展出现了一种(Top-Down)的全新设计方法,就是设计者以系统功能和性能为出发点,接着对系统进行功能划分,形成若干子系统,由子系统再细化为不同的功能模块,再向下到单元电路、元器件。

采用这种方法进行系统设计是从系统顶层开始的,利用仿真等手段,在设计的初期就掌握所实现系统的性能状况,并可以做相应的设计方案调整。方案没有问题可向下继续进行,并随时可以根据需要加以调整,直到设计完成,这种设计方法是在上一级方案满足设计要求的前提下往下进行的,有力地保证了设计结果的正确性,缩短了设计周期,提高了设计的一次成功率。设计规模越大,这种设计方法的优势越明显。

这种设计方法的主要设计文件使用HDL语言编写源程序,用HDL语言编写的源程序作为归档文件有很多好处:一是资料量小,便于保存;二是可继承性好;三是阅读方便。可编程逻辑器件的设计流程一般包括设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程和测试七个步骤。1.3 EDA、VHDL及其应用

可编程逻辑器件是逻辑器件家族中发展最快的一类器件,可编程逻辑器件的出现及其所具有的VHDL的设计方法使得其产品开发周期缩短、现场灵活性好、开发风险变小。随着工艺、技术及市场的不断发展,PLD产品的价格将越来越便宜、集成度越来越高、速度越来越快,再加上其设计开发采用符合国际标准的、功能强大的通用性EDA工具,可编程逻辑器件的应用前景将愈来愈广阔,FPGA、CPLD以其不可替代的地位,将越来越受到业内人士的关注。1.3.1 EDA

随着可编程逻辑器件规模的不断扩大,对芯片功能的二次开发就越来越依赖于专用的手段和工具才能完成,EDA顺应了这种需求,是人们利用集计算机图形学、拓扑逻辑学、计算数学、人工智能等多种计算机应用学科的最新成果开发而成的一整套软件工具,可进行芯片逻辑功能的设计、仿真、时序分析、逻辑综合等,极大地改善了开发环境。应用这种软件工具及其支持的硬件描述语言从事电子系统的设计,打破了软硬件之间最后的屏障,使软硬件工程师们有了真正的共同语言。

在EDA的设计过程中,除了硬件的行为和功能描述外,其他设计过程都可以用计算机来自动完成。它可以大大节省人力和物力,缩短研制周期,从而增强了设计的实时性,因而EDA设计方法得到了广泛的应用。

20世纪80年代末至90年代初,EDA技术发展的主要特点是采用自顶向下的设计方法,以最终实现可靠的硬件系统为目标,因而配备了系统设计自动化的全部工具。比如硬件描述语言平台VHDL、Verilong HDL、ABEL-HDL等各种软件工具提供了各种输入方法,主要有硬件描述语言文本输入法、原理图输入法和波形输入法等(见图1.1和图1.2);以并行设计工程(CE)方式和系统级目标设计方法作为支持,并提供高性能的逻辑综合、优化和仿真模拟工具。图1.1 MAX+PLUSⅡ原理图输图1.2 QuartusⅡVHDL设计界入界面面

硬件电路设计的软件化是电路设计的发展趋势,VHDL是实现硬件电路设计软件化的重要语言工具,它实现了将数字系统的设计直接面向用户,根据系统的行为和功能要求,自上而下地完成相应的描述、综合、优化、仿真和验证,直到生成器件。1.3.2 VHDL特点

自1962年Iverson提出硬件描述语言(HDL)以来,出现了很多种硬件描述语言,但由于这些语言与硬件产品密切相关且语法不统一,造成了信息交流和设备维护的困难。VHDL也是其中的一种硬件描述语言,原先由美国国防部制定,作为各合同商之间提交复杂电路设计文档的一种标准方案,1987年被采纳为IEEE1076标准,并于1993年更新为IEEE1164标准。VHDL用于描述、组织电路的结构行为,它克服了原理图输入在设计门级电路方面的局限性(一般认为瓶颈为1万左右,门级电路再增加,则测试和修改便难以进行)。

VHDL语言具有很强的行为描述能力,可以实现各种级别(系统级、算法级、寄存器级、逻辑级、门级)的逻辑设计、仿真验证、时序分析、逻辑综合等。它所具有的丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能检查设计系统功能的可行性,随时对设计进行仿真模拟。VHDL采用基于库(Library)的设计方法。在设计过程中,可以建立各种可再次利用的模块,一个大规模的硬件电路设计往往不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以是一些标准库,也可以是预先设计或以前设计的模块,将这些模块存于库中,就可以在以后的设计中反复使用。这种设计方法可以大大地减少设计工作量,降低设计周期。

一个相对完整的VHDL设计由以下几个部分组成:库、程序包、实体、结构体、配置,如图1.3所示。图1.3 VHDL程序结构框图

VHDL设计实体、程序包、设计库等结构为设计任务分解和并行工作提供了有利的支持,便于加快设计流程和方便组合各功能模块,加快开发周期,降低开发成本。VHDL具有相对独立性,设计者没有必要熟悉硬件的结构,也不必了解最终设计实现的目标器件是什么,即可进行独立的设计,它良好的可移植性可兼容许多EDA软件平台和逻辑仿真与综合工具。1.3.3 VHDL设计流程及应用

VHDL是用来描述从抽象到具体硬件级别的工业标准语言,并已成为一种通用的硬件设计交换媒介。计算机辅助工程软件的供应商已把VHDL作为其CAD或EDA软件输入与输出的标准,例如SYNOPSYS、ALTERA、CA-DENCE、VIEWLOGIC等EDA厂商均提供了VHDL的编译器,并在其仿真工具、综合工具和布图工具中提供了对VHDL的支持。VHDL的设计流程如图1.4所示。图1.4 VHDL的设计流程

在过去的半个世纪里,集成电路技术的进步不断刷新全球电子信息产业的形态,五光十色的新产品、新应用也改变了人类的生活方式。市场的需求使得电子产品的市场寿命周期日益缩短,与此同时,工艺技术的升级也让产品的开发成本呈几何级数上升。市场急需一种能够降低研发成本、缩短开发周期并具有设计灵活性的产品。在此背景下,FPGA(现场可编程门阵列)产业逐渐壮大,广泛应用在通信、工业、航空等领域(见图1.5),并显露出不可阻挡的气势。图1.5 FPGA在通信、工业、航空等领域应用

1.在ASIC设计中的应用

可编程逻辑器件是在专用型集成电路(Application Specific Integrated Circuit,ASIC)设计的基础上发展起来的,在ASIC设计方法中,通常采用全定制和半定制电路设计方法,设计完成后,如果不能满足要求,就得重新设计再进行验证。这样就使得设计开发周期变长,产品上市时间难以保证,大大增加了产品的开发费用。而FPGA/CPLD芯片是特殊的ASIC芯片,它们除具有ASIC的特点之外,还具有自身的优势。ASIC向FPGA发展的过程如图1.6所示。图1.6 ASIC向FPGA发展的过程

目前,ASIC的容量越来越大,密度已达到平均每平方英寸100万个门电路。但随着密度的不断提高,芯片则受到引脚的限制,片上芯片虽然很多,但接入内核的引脚数目却是有限的。而选用FPGA/CPLD则不存在这样的限制,因为现在可达到的金属层数目增强了产品的优势, FPGA/CPLD芯片的规模越来越大,其单片逻辑门数已达到上百万门,实现的功能也越来越强,同时可以实现系统集成。

另外,与ASIC相比,可编程逻辑器件研制周期较短,先期开发费用较低,也没有最少订购数量的限制,所有这一切简化了库存管理。随着每个门电路成本的降低和每个器件中门电路数量的增加,可编程逻辑器件正在大举打入传统的门阵列领域,并已有少量的打入了标准单元ASIC的领域。

2.在电子技术领域中的应用

1)在微机系统中的应用

FPGA/CPLD可以取代现有的全部微机接口芯片,实现微机系统中的地址译码、总线控制、中断及DMA控制、DRAM管理和I/O接口电路等功能。利用CPLD和FPGA可以把多个微机系统的功能集成在同一块芯片中,即进行所谓的“功能集成”。图1.7为基于FPGA的微机接口及应用综合实验平台。

2)在通信领域中的应用

现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低。FPGA/CPLD在集成度、功能和速度上的优势正好满足通信系统的这些要求。所以现在无论是民用的移动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图像处理设计、遥控遥测设备、加密通信机都已广泛地使用大规模可编程逻辑器件。图1.8为Google手机操作系统及其开发板,这些FPGA/CPLD随着产品复杂性提升更加依赖硬件描述语言的支持。图1.7 FPGA的微机接口及应用综合实验平台图1.8 Google手机操作系统及其开发板

3)在数字信号处理技术(DSP)领域中的应用

DSP在很多领域内具有广泛的用途,如雷达、图像处理、数据压缩、数字电视和数字通信机等。随着DSP系统复杂程度和功能要求的提高,用DSP解决方案出现其缺陷性:实时性不强、灵活性太差,不适合在实验室或技术开发等场合使用等。现在,FPGA/CPLD为DSP提供了解决问题的方案,FPGA/CPLD和DSP的技术结合,能够在集成度、速度(实时性)和系统功能方面满足DSP的需要。应用FPGA/CPLD设计DSP系统可以减少系统体积,提高系统的工作速度。图1.9 3D数字视频

VHDL的快速处理能力使得其在数据处理方面比单片机具有更好的优势。图1.9为基于FPGA/CPLD和DSP的3D数字视频的应用,图1.10为基于FPGA生产的各种电子产品。图1.10 基于FPGA的各种电子产品

4)在大型控制系统中的应用

为了提供满足航天设计人员需求的创新硅解决方案,Actel公司宣布推出业界首个面向太空飞行应用——以Flash为基础,耐辐射的FPGA器件。全新的低功耗RT ProASIC3器件具有可重编程功能,可简化原型构建和硬件时序确认,同时提供至关重要的辐射引发配置翻转的免疫能力。这款新产品结合同时发布的全新RTAX-DSP解决方案,扩展了Actel业界领先的航天产品系列,为设计人员提供了设计下一代太空飞行系统所需的可靠及灵活的解决方案,如图1.11所示。图1.11 低功耗、可重编程的RT ProASIC3器件

军用产品级VIRTEX®-5Q系列提供了最广泛的可重编程器件选择,面向执行关键任务的航空航天和军事应用,如图1.12所示。图1.12 军用产品级VIRTEX-5Q FPGA

Compact RIO硬件平台是一个基于FPGA技术的嵌入式系统。FPGA芯片是Compact RIO体系结构的核心,直接和相应的车载模块相连。车载模块可直接和车用传感器、执行器和网络相连,并提供信号调理、隔离和汽车总线。该平台包含一个嵌入式实时处理器,可用于独立工作、确定性控制、车载数据记录和分析等。Compact RIO具有小型、坚固的机械封装,可承受50g冲击和-40℃到70℃工作温度范围等特点,提供双电压输入(9~35V),可直接从车上电池取电。这些都使CARLOS适用于复杂的车载测试环境和有限的测试空间,如图1.13所示。图1.13 Goepel CARLOS车载数据采集系统

无人机的飞行控制和机载电子设备的控制指令主要通过地面控制计算机中的软件或者无人机控制器产生,这两种相互独立的控制方式互为备份。而无人机控制器主要由硬件电路和嵌入式软件设计实现,不依赖于计算机,因此具有可靠性高、稳定性好等优点,是实现无人机远程遥控的主要方式之一。采用基于FPGA设计的无人机控制器,充分利用了FPGA并行数据处理能力和同步设计优势,将键盘扫描、指令编码与显示、指令异步串行发送等功能模块都集成在FPGA内部,硬件结构简单,扩展性强,遥控指令的触发到输出的指令数据群延时小于80ms,能够满足各种类型无人机的实时远程控制要求,如图1.14所示。图1.14 基于FPGA的无人机控制系统

随着电子技术的高速发展,今天的CPLD和FPGA器件在集成度、功能和性能(速度及可靠性)方面已经能够满足大多数场合的使用要求。硬件描述语言是进行可编程逻辑器件设计的主要工具,随着系统复杂性和智能化的不断提高,VHDL也成为不可替代的语言工具,将在通信、工业、航空等领域担负重任。第2章测试系统构成及控制模块主要功能

目前,动态测试在现代测量技术中占有主导地位,而存储测试因其具有抗恶劣环境、微型化、智能化等优点,在兵器、航天、航空等领域广泛应用。存储测试主要特点为置入式测试、信号事后显示等。本书所介绍的测试系统为存储测试系统,这种系统一般以传感器作为信息获取的主要部件,在基本功能和组成等方面具有一致性。2.1 测试系统的基本组成

测试系统主要完成信息的采集、处理、传输等任务,由多个不同的功能模块组成,其中控制模块是完成系统协调各模块工作状态、工作模式、确定各模块工作参数等工作的重要环节。2.1.1 系统模型

建立系统模型是对系统进行分析的重要和必要手段,通过建模可以反映构成系统的各单元之间结构、连接关系及各单元对系统特性的影响。

测试系统模型大致可分为三个层次(如图2.1所示):信息获取层(传感器)、信息处理层(测试仪)和信息分析层(虚拟仪器)。图2.1 测试系统结构模型

根据分析,测试仪模型也可以分为以下三个层次。(1)信号调理层:包括对传感器输出模拟信号的放大、滤波。(2)信号数字化及存储层:包括ADC(Analog to Digital Converter)及存储器。(3)信号控制层:包括各种控制模块及信息传输模块。2.1.2 系统基本组成

测试系统的结构如图2.2所示,测试信号由传感器进行信息采集,之后输入测试仪进行处理,最终在虚拟面板进行信号的显示和处理。

测试仪主要包括信号调理、ADC、存储器、控制器、接口等部分。信号调理主要将传感器输出的信号进行处理,滤除噪声,并将其幅度范围转换为ADC可以转换的正常范围;ADC将经过处理的模拟信号转换为数字信号,便于存储、显示和处理,并同时提高信号的抗干扰能力;存储器是存储测试的关键,将处理后信号进行实时存储,确保信号的完整、有效;接口是数据传输的通道;控制模块在测试工作过程中起着管理的功能,是测试仪工作正常的保障。图2.2 测试系统结构框图2.2 控制模块的实现形式

控制模块是测试系统的关键部件,测试仪的工作模式等都由控制模块控制实现。随着系统智能性的提高,其控制模块日趋复杂,所需器件数量和类型也随之增加,但是,根据存储测试置入式的要求,控制模块的体积还要达到微型化、可放入的标准。因此,此模块一般采取高度集成的方式实现,兼顾复杂性和微型化。选用高集成度的芯片完成控制模块的设计是目前普遍采用的方法。其中,可编程逻辑器件和单片机是选用最多的集成芯片之一。2.2.1 基于可编程逻辑器件的设计与实现

可编程逻辑器件可以将复杂的控制模块分立器件进行集成,在智能性提高的同时可以将体积减小,非常适合微型化的要求。

图2.3是利用FPGA、STM32等设计的一种双通道同步高速采集系统的采集模块框图,适用于准确计算石油管道内壁腐蚀速度的仪器。这个系统中采用的FPGA为EP4CEI5F17CSN,具有响应速度快、并行处理能力强等的优点。被测参数经信号调理电路后,输入至高速ADC,再通过FPGA编码后由总线输出。这个系统的FPGA直接与被测信号连接,实现总线转换的功能,由于FPGA处理速度高(Speedster的SPD60速度可达1.5GHz)所以在总线转换过程中,能够满足实时处理的要求。图2.3 信号处理模块框图

1.FPGA与DSP

FPGA主要实现控制逻辑,当系统需要进行数据处理时,可以与DSP同时使用。图2.4是以FPGA和DSP为核心器件设计的实现超声信号的高速数据采集和复杂的信号处理算法的系统。图2.4 数字采集处理系统框图

FPGA具有丰富的逻辑和I/O资源,编程灵活,非常适合在数字风速仪中作为超声发射的控制、回波信号采集控制以及信号的预处理单元,可以实现高度集成化设计。系统设计的FPGA采用ALTERA M公司的低功耗、低成本Cyclone II系列,图2.5和图2.6是FPGA部分控制信号的仿真波形。图2.5 FPGA发射控制逻辑时序图2.6 FPGA FIR滤波处理逻辑时序

DSP最大特点是内部有专用的硬件乘法器和哈佛总线结构,对大量的数字信号处理速度快,其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器。而FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。两者相比,DSP是通用的信号处理器,用软件实现数据处理;FPGA用硬件实现数据处理。DSP成本低,算法灵活,功能性强;而FPGA的实时性好,成本较高,FPGA适合于控制功能算法简单且含有大量重复计算的工程使用,DSP适合于控制功能复杂且含有大量计算任务的工程应用。

2.SoPC(System-on-a-ProgrammabIe-Chip)

图2.7是以FPGA为整个系统核心设计的χ-γ剂量仪。FPGA主要完成对数据的读取、运算以及输入/输出的控制。FPGA采用美国ALTEAR公司生产的Cyclone系列EP1C6Q240C8N,这款芯片采用SoPC技术内嵌多种类型模块。系统基于FPGA芯片、内嵌等精度测频模块(EPMM)、MC8051软核等,实现对剂量数据的读取、运算和显示。

可编程片上系统SoPC是一种特殊的嵌入式系统。首先,它是片上系统SoC,即由单个芯片完成整个系统的主要逻辑功能。其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。图2.7 基于FPGA的系统结构框图

SoPC结合了SoC和PLD、FPGA各自的优点,一般具备以下基本特征:

①至少包含一个嵌入式处理器内核。

②具有小容量片内高速RAM资源。

③丰富的IP Core资源可供选择。

④足够的片上可编程逻辑资源。

⑤处理器调试接口和FPGA编程接口。

⑥可能包含部分可编程模拟电路。

⑦单芯片、低功耗、微封装。

SoPC集成度高、设计灵活并且可进行时序和功能仿真,已被广泛应用于通信、信息安全、视听、汽车电子等领域。供应商主要为Atmel、Xilinx和Altera。Xilinx公司的SoPC芯片型号为Spartan、Spartan-II、Virtex、Virlex-II、XC4000和XC9500系列,Altera公司的SoPC芯片为APEX EP20KE系列。SoPC针对数字电路的设计,并很好地把FPGA、微处理器和DSP的优点结合在一起。Altera公司的SoPC,可嵌入该公司自行开发的Nios软核,并带有DSP功能块,在Nios核中还可得到定时器/计数器、PIO、SPI、PWM控制器、10/100M以太网MAC和SDRAM控制器等资源。2.2.2 基于单片机的设计与实现

近年来,随着新的测试对象的不断出现,以及测试手段的不断发展,基于单片机的测试系统的功能越来越完善,各种应用场合对测试系统的要求也日益提高。现在的大多数单片机测试系统不仅能完成工业现场的实时测控任务,同时还能进一步实现对测试数据的实时处理和保存。

用SoC单片机实现测试系统有很多优点,程序编写简单,控制灵活,程序改写容易,能够大大地简化测试系统。而且,随着半导体集成电路技术和工艺的发展,以及EDA技术水平的不断提高,单片机已经由原来的8位提高到16位及32位,而且越来越多的单片机内部集成了很多的外围模块,例如模拟部分有放大器、ADC、模拟比较器,还有硬件乘法器、DMA控制器、液晶驱动器、大量存储区域、串口等,这不仅使单片机在运算速度上有了很大的提高,而且只需一片单片机就可组成一个测试系统,包括模拟适配部分、模数转换部分、数据处理、存储,以及传输等。组成这样的一个系统,既大大减小了整个测试系统的体积,同时由于其外部连线特别少,也就提高了系统的可靠性,而这正是现在测试系统所追求的特性。因此利用一款合适的单片机,也能实现一种微型存储测试系统。

AdµC812是高度集成的高精度12位数据采集系统芯片,该芯片内不仅集成了可重新编程的非易失性闪速/电擦除程序存储器的MCU,还集成了ADC,采用52脚扁平塑料四方形(PQF)封装,大小约为1cm 2。图2.8是运用AdµC812单片机研制出来的存储式转矩测试系统,该系统可动态测量工程机械动力传动系统的转矩,并把各路工况下所测转矩数据以及对应时间实时存储到Flash中。

图2.9是存储式转矩测试装置的原理框图。单片机模块包括初始化模块、延时及存储器擦除模块、数据传输模块、转矩采集中断服务模块和转速采集中断服务模块。图2.8 存储式转矩测试系统实车实验图2.9 存储式转矩测试装置原理框图

89C52也是一款常用单片机,有8KB的内部程序存储器(EPROM)和256B的内部数据存储器;32根I/O线,均为全双工的串行口;5个中断源,每个中断源的优先级是可以编程的;有两个定时/计数器,通过编程可以实现四种工作模式。

MSP430单片机因其集成多种外设也成为广泛使用的控制核心器件。它在超低功耗方面有突出的表现,经常被电池应用设计师所选用,被业界称为绿色MCU。同时它内部有丰富的片内外围模块,是一个典型的片上系统(SoC),又是16位的精简指令结构,功能相当强大。

图2.10是以MSP430F149单片机作为控制和处理的核心设计完成的气体传感器批量测试系统。图2.10 系统总体框图

此外,ADµC81单片机还应用于井下油气压力存储测试系统,它不仅封装体积小,而且测试系统所需的高性能硬件和功能几乎都集成在片内,经使用系统稳定、可靠;AT90系列单片机应用于过载测试系统的实现,AT90S8515作为系统控制器使系统易于实现,硬件结构清晰软件设计易于实现,而且使得测试系统小型化。此过载存储测试数据采集板经测试可以满足系统频响(200kHz)要求。2.3 控制模块主要控制功能

对于存储测试系统来说,需要控制的环节主要为ADC、存储器和接口等,每种测试系统根据其功能及工作环境的不同,可能还有其他的被控对象。如前级采用程控放大器则需要控制模块提供相应的控制信号,完成放大器放大倍数的设定。2.3.1 ADC控制

ADC是将模拟信号转换为数字信号的器件,是将模拟信号进行离散即抽取,再进行编码输出,转换后的数字信号更适合于传输、处理、存储。

测试系统中,ADC的控制信号主要包括片选、读和采样时钟等。控制模块主要是将输入的模拟信号按照采样时钟的时间要求转换为相应的数字信号。图2.11是ADC基本的控制信号与方向。图2.11 ADC主要控制信号及其方向

图2.11中,基准电压决定了ADC可以有效转换的模拟量的范围;CLK为采样时钟,这个时钟的频率要符合采样定理的要求,否则信号会出现频率混叠现象;、BUSY和为控制命令,不同类型的ADC这些信号的时序和类型可能会有差别。

AD7492是一款采用先进的技术来获得高数据通过率下低功耗的逐次逼近式ADC。在5V电压下,速度为1MSPS时,平均电流仅为1.72mA;在5V电压和500KSPS数据通过率下的消耗电流为1.24mA。

AD7492有两种工作模式,高速采样模式以及全部休眠或者部分休眠模式。在高速采样模式下,转换信号在转换完成也即BUSY信号变低之前被拉高;采用休眠模式可以在低数据通过率时实现低功耗。在5V电压时,若速度为100KSPS,则平均电流为230μA。AD7492的模拟输入范围为0~REFIN。另外,该器件内部还可提供2.5V参考电压,同时,该参考也对外部有效。器件的转换速度由内部时钟决定。图2.12为AD7492的工作时序图。图2.12 AD7492的工作时序图

输入信号从的下降沿开始被采样,经过很短的保持时间后转换启动。忙信号线BUSY在转换开始时为高电平,810ns后跳变为低电平以表示转换结束。转换结果是借助于(片选)和信号从一个高速并行接口存取的。

控制信号的时序关系可以查看芯片的数据手册。在这些信号里,采样时钟直接决定了数据转换的有效性,并且对于存储测试而言,这个时钟频率的选取与数据存储容量密切相关。两者的关系可以通过设置不同的采样策略得到解决,目前常用的采样策略包括定频率采样和变频率采样。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载