硕士学位论文
多通道脉冲信号发生器的设计
DESIGN OF THE MULTI-CHANNEL PULSE
SIGNAL GENERATOR
张 雷
哈尔滨工业大学 2012年7月
国内图书分类号:TN216 学校代码:10213 国际图书分类号:681.5 密级:公开
工学硕士学位论文
多通道脉冲信号发生器的设计
硕士研究生: 张雷
导 师: 周毅刚 副教授 申请学位: 工学硕士 学
科: 信息与通信工程
所 在 单 位: 电子与信息工程学院 答 辩 日 期: 2012年7月 授予学位单位: 哈尔滨工业大学
Classified Index: TP216 U.D.C.: 618.5
Dissertation for the Master Degree in Engineering
DESIGN OF THE MULTI-CHANNEL PULSE
SIGNAL GENERATOR
Candidate: Supervisor:
Academic Degree Applied for: Specialty: Affiliation: Date of Defence:
Zhang Lei
Associate Prof. Zhou Yigang Master of Engineering
Information and Communication Engineering
School of Electronics and Information Engineering July, 2012
Degree-Conferring-Institution: Harbin Institute of Technology
哈尔滨工业大学工学硕士学位论文
摘 要
脉冲信号广泛应用于超宽带通信,导弹制导,激光测距等领域,采用数字方法设计的脉冲信号发生器有着基于模拟技术的信号发生器不可比拟的优点。本文利用FPGA作为脉冲信号发生器的核心器件,脉冲信号的多个参数均可灵活调节。
本文以研究硬件电路为基础,采用六层板设计,核心芯片为Altera公司的Stratix II系列的EP2S30F672I4。为了实现高标准的脉冲信号,采用高速DAC,数据转换速率高达250MHz,本设计中脉冲宽度、幅度、输出频率均可调节,脉宽精度达到了4ns,最多可实现四路脉冲信号的输出,其中一路信号可以选择与其他三路同步或非同步输出。根据实际需要,可以模拟带有噪声的脉冲信号。利用加减法电路对脉冲信号的幅度进行调整,并可以实现负脉冲信号的输出。
在PC机终端利用Matlab产生脉冲信号波形数据源及相关参数,VC控制界面通过USB接口将数据传输到FPGA内部的寄存器或RAM资源中,同时达到对DAC芯片及脉冲信号输出的控制。为了使此信号发生器在以后的应用中具有便携性的优点,增加ARM控制模块,将FPGA挂载到ARM核心板的系统总线上,并对ARM模块初步调试。采用嵌入式Linux系统,通过用户界面可以实现读取SD卡中波形数据。
本开发板为高速电路,设计过程需要考虑电源完整性、信号完整性等诸多问题,本文对高速PCB的设计中注意的问题进行详细介绍。
本文在最后部分对所设计的脉冲信号发生器进行了测试,并对产生的误差进行分析,可以为今后的设计提供很好的设计经验。
关键字:脉冲信号发生器;四通道;高速电路;嵌入式系统
- I -
哈尔滨工业大学工学硕士学位论文
Abstract
The pulse signal is widely used in the field of ultra-wideband communications, missile guidance, and laser rangefinder. Pulse signal generator designed by digital method has many advantages than the design by analog methods. In this paper, the FPGA chip as the core components of the pulse signal generator, some parameters of the pulse signal can be flexibly regulated.
Based the hardware circuit, it used six panels and the core chip is Altera's Stratix II series EP2S30F672I4. In order to achieve high standards of the pulse signal, data conversion rates of high-speed DAC is up to 250MHz, while, the width, magnitude and frequency of the signal can be adjusted and the accuracy of pulse width is up to 4ns. All the way, the generator up to four pulse signal outputs which can be simulated with pulse signal that influenced by noise according to actual needs, one channel output can be chosen synchronous or asynchronous with the other three ways. To adjust the amplitude of the pulse signal with addition and subtraction circuit, it achieves a negative pulse signal output.
PC generates pulse signals waveform data source and related parameters with Matlab and transfers data to the FPGA internal registers, or RAM through the USB with the VC control interface, while achieving the DAC chip and the pulse signal output control. Meanwhile, in order to make this signal generator portability advantages in future applications, the design is implemented the ARM control module and the FPGA is mounted on system bus of the ARM core plate. With ARM module initially debugged of embedded Linux system, the waveform data in the SD card can be read through the GUI.
The designed board with high-speed circuit needs to consider power integrity, signal integrity, and many other issues, with a detailed note in the high-speed PCB design.
In the last part of the design of the pulse signal generator, it is provided a very good experience of designing for future design to test and analyze the resulting error.
Keywords: Pulse signal generator; four channels; high-speed circuit; embedded
system
- II -
哈尔滨工业大学工学硕士学位论文
目 录
摘 要 .................................................................................................................... I Abstract ................................................................................................................... II 第1章 绪 论 ........................................................................................................ 1
1.1 课题背景和意义 ......................................................................................... 1
1.1.1 信号发生器研究概况及意义 ............................................................ 1 1.1.2 嵌入式系统概述 ............................................................................... 2 1.2 脉冲信号发生器国内外发展状况 .............................................................. 3 1.3 论文主要研究内容与结构安排 .................................................................. 7 第2章 脉冲信号发生器电路设计 ......................................................................... 8
2.1 脉冲信号发生器的实现原理 ..................................................................... 8
2.1.1 DDS技术原理简介 ........................................................................... 8
2.1.2 电路设计方案 ................................................................................... 9 2.2 硬件逻辑代码设计 ................................................................................... 10 2.3 电路主要芯片选择 ................................................................................... 17
2.3.1 FPGA芯片 ...................................................................................... 17 2.3.2 ARM芯片 ........................................................................................ 18 2.3.3 D/A转换器 ...................................................................................... 20 2.4 本章小结 .................................................................................................. 21 第3章 硬件电路设计 .......................................................................................... 22
3.1 高速电路设计 .......................................................................................... 22
3.1.1 高速电路布局 ................................................................................. 22 3.1.2 高速电路板的分层设计 ................................................................. 25 3.2 电源模块设计 .......................................................................................... 26
3.2.1 FPGA电源 ...................................................................................... 26 3.2.2 参考电压源设计 ............................................................................. 29 3.2.3 后端处理模块设计 ......................................................................... 30 3.3 FPGA接口设计 ........................................................................................ 30
3.3.1 FPGA与D/A芯片接口设计 ........................................................... 30
3.3.2 FPGA与USB/ARM接口设计 ........................................................ 32 3.4 ARM模块设计 .......................................................................................... 34 3.5 后端处理电路设计 ................................................................................... 35
3.5.1 加减法器设计 ................................................................................. 35 3.5.2 滤波电路设计 ................................................................................. 36
- III -
哈尔滨工业大学工学硕士学位论文
3.6 本章小结 .................................................................................................. 38 第4章 软件设计及结果分析 ............................................................................... 39
4.1 嵌入式系统软件设计 ............................................................................... 39
4.1.1 嵌入式操作系统选择 ..................................................................... 39 4.1.2 嵌入式系统中GUI系统选择 ......................................................... 39 4.1.3 建立交叉编译环境与文件烧写 ...................................................... 40 4.1.4 SD卡驱动 ....................................................................................... 41 4.1.5 Qt程序开发 ..................................................................................... 42 4.2 PC与FPGA通信软件设计 ...................................................................... 43
4.2.1 固件程序设计 ................................................................................. 43 4.2.2 USB驱动程序设计 ......................................................................... 44 4.2.3 PC机程序设计 ................................................................................ 45 4.3 测试结果与分析 ....................................................................................... 48
4.3.1 ARM模块测试 ................................................................................ 48 4.3.2 波形测试与分析 ............................................................................. 49 4.4 本章小结 .................................................................................................. 51 结 论 ................................................................................................................... 52 参考文献 ................................................................................................................ 53 附录 电路实物图 ................................................................................................ 57 哈尔滨工业大学学位论文原创性声明及使用授权说明 ....................................... 58 致 谢 ................................................................................................................... 59
- IV -
哈尔滨工业大学工学硕士学位论文
第1章 绪 论
1.1 课题背景和意义
1.1.1 信号发生器研究概况及意义
信号发生器通常是指函数信号发生器,是能产生某些特定的周期性波形(如正弦波、方波和三角波)的时间信号,输出信号频率、幅度等在一定范围均可调整。信号发生器在通信、仪表和自动测试系统中具有十分广泛的应用。例如在通信、广播系统中,都会利用射频信号把音频、视频信号运载出去,就需要能够产生高频信号的振荡器。信号发生器除广泛应用在电学领域外,在其他非电测量领域也得到了广泛应用。
信号发生器的性能直接影响着测量结果的精度,很多情况下,甚至会决定着结果的正确与否。过去的信号发生器功能较为单一,只能产生几种特定的函数信号,如正余弦、方波和三角波,频率可调范围较窄,分辨率还很低。同时当输出信号的频率很低时,频率的稳定度很差[1],而输出信号的频率不能任意调节,这很大程度上限制了在科研上的应用。随着微电子技术的快速发展,芯片及软件技术的成熟,现在的信号发生器在输出频率范围、信号种类、频率精度等方面都有了很大的提高。
一直以来,信号发生器注重于幅度、输出频率和信号种类的改善,面对着某些特殊的应用场合,如超宽带通信技术[2]、导弹制导和激光脉冲测距,这些技术需要极窄的脉冲信号,虽然任意信号发生器也可以产生脉冲信号,但只限于很简单的方波信号。由于脉冲信号与其他信号在参数指标方面有很大的不同,普通的信号发生器已经不能满足科研工作者的需要,实际工程中,脉冲信号发生器作为单独的测试仪器进行设计。脉冲信号在光学工程[3]、国防军事和医学[4][5]等领域应用越来越广泛,如在超大规模集成电路(VLSI)的检测中,需要多样化的高速数字序列;地质勘探过程中,探测雷达需要使用极其稳定的毫/微秒级别的脉冲信号源[6];器件功能检定和测试时,必须能够精确控制脉冲信号的边沿,而且能够控制信号的宽度、占空比和偏移量[7]。同时在失误分析、功能测试、参数测试等领域也缺少不了脉冲发生器的应用,在现代电子测量中越来越显示出其优越性,使之成为不可替代的仪器设备。这一切也使得研究脉冲信号发生器成为信号发生器领域一个重要的研究课题。在国内,也很早就有科研院所研究相关课题,如电子科技大学、中科院上海光机所。
- 1 -
哈尔滨工业大学工学硕士学位论文
现在自动测试系统工作环境越来越恶劣,噪声对脉冲信号的影响不可忽略,回波信号也越来越复杂[8],为了能够更好地模拟实际环境对脉冲信号的影响,设计出能够输出复杂脉冲波形的信号发生器有着十分重要的意义[9]。本课题以产生脉冲信号为主要研究对象,设计一款基于FPGA芯片的信号发生器。此脉冲信号发生器脉冲宽度达到了纳秒级,并且根据实际的需要,输出脉冲信号幅度、宽度、频率均可以调节,选择是否增加噪声,通道数目最多可达四通道。PC机作为控制端,同时由于ARM可以充分满足便携性的需求,在电路板上增加了ARM功能模块,为以后实现ARM取代PC机功能创造有利条件。此信号发生器可用于激光测距,军事通信等诸多领域。
1.1.2 嵌入式系统概述
随着计算机和通信技术已经渗透到人们日常生活中的各个方面,同时面对着广泛的多媒体处理技术需求,嵌入式系统得到了前所未有的发展。小到MP3/MP4、手机,大到智能家电、工业机器人和汽车电子等,随处都能看到嵌入式系统的身影。
上世纪七十年代的早期,第一款商用微处理器英特尔4004的发布,标志了嵌入式系统的出现。经过十余年的发展,到了八十年代末期,大部分的电子设备中都采用了微处理器。同时,现在的嵌入式系统正朝着更高性能、更低功耗、更加便携和更廉价的方向发展[10]。
嵌入式系统通常是指专用计算机系统,其最大特点是专用于某个任务或者非常少的几个任务。而更多的时候受限于资源的缺乏,设计师通常需要对软硬件进行裁剪即去除不需要的功能,最终达到降低成本的目的。这也使得嵌入式系统具有芯片集成度高、软件代码少、响应速度快等优点,非常适合于对实时性和多任务要求较高的系统。同时,针对不同的任务,在系统方面一般会有很大的改动,这与通用计算机系统完全不同。
嵌入式处理器有许多种流行的处理器核,常见的有ARM、MIPS、PowerPC、x86四种。而芯片厂商一般基于这几种处理器核来生产芯片。其中的ARM处理器,由于低成本、高性能、低功耗的特点,在嵌入式系统设计中得到了广泛应用,同时也非常适用于移动通信领域。它也占据了32位嵌入式处理器75%的市场比例,而目前85%的移动通信设备采用了ARM架构,其中也包括苹果公司的Ipad、Iphone等产品。
近几年,片上系统(SoC)获得了较快的发展,许多芯片公司逐渐把嵌入式内核放在自己的专用芯片(ASIC)上,从而构建自己的SoC,用户使用最多的是
- 2 -
哈尔滨工业大学工学硕士学位论文
ARM处理器内核,同时ARM还提供了SoC解决方案。世界最大的两家FPGA芯片厂商Altera和Xilinx公司,也分别把ARM和PowerPC硬核植入到自己的FPGA芯片中。其中,Altera公司的FPGA内嵌处理器并没有取得很大的效果,而由自己开发的软CPU内核Nios却取得了不错的口碑,现在已经推出第二代处理器软核Nois II。Xilinx公司的嵌入式采用的是RISC结构的微处理器,目前广泛使用的内核是PowerPC和MicroBlaze[11],工作频率可达二三百兆赫兹。
国际上常用的嵌入式操作系统有Windows CE、Palm OS、VxWorks和嵌入式Linux。由于Linux系统是开放源代码的,功能强大、运行稳定和高效的特点,使得Linux爱好者遍布全球,这也成为了Linux开发的强大技术后盾。而智能手机的操作系统几乎均为嵌入式系统,其中由Google公司推出的Android系统,已经成为应用最广泛的智能手机操作系统,很多平板电脑厂商也采用了此系统。苹果推出的Iphone OS,诺基亚的Symbian等系统也得到了消费者的普遍赞扬。一些较小的手机厂商也已经推出或计划推出自己的操作系统。
虽然嵌入式内核和嵌入式系统已经发展多年,但与国外相比,我国在这方面的发展还没有取得重大的成果。在嵌入式内核方面,我国的最好的芯片生产厂商也只能做到购买国外厂商设计的微处理器内核,来生产所谓自己的芯片。我国每年购买芯片模块就需要花费上百亿元。在嵌入式系统方面,虽然已经开发出了Delta OS(道系统)和红旗嵌入式Linux等系统,但有着很多的不足,也没能得到广泛的应用。采用国外成熟的嵌入式系统而进行的二次开发,却有着很强的专用性。
随着下一代无线宽带网络,物联网和云计算平台的发展,嵌入式芯片和嵌入式系统会获得更加快速的发展。据不完全统计,在2011年,中国嵌入式软件市场规模就已经达到了4650亿,打造出自主品牌的嵌入式芯片与系统刻不容缓。在2011年颁布的“国家自然科学基金“十二五”发展规划”重点支持的纳米级集成电路中,就包括可重构与容错多核SoC和纳米尺度SoC电子设计自动化方向。嵌入式的发展,同时也会带动其它电子信息产业的快速发展,对我国经济的发展会起到了很积极的作用。
1.2 脉冲信号发生器国内外发展状况
信号发生器的研究最早可以追溯到上世纪二十年代,伴随着电子设备的出现,它也得到了发展。早期的信号发生器比较复杂,功率较高,同时受到电子技术的限制,发展速度很慢。直到上世纪六、七十年代,直接数字频率合成(DDS)技术的发展,才使得函数信号发生器得到空前的发展。直接数字频率合成是指
- 3 -
哈尔滨工业大学工学硕士学位论文
通过数字的方法,产生所需要的频率信号[12],然后经D/A转换器、滤波器最终获得模拟波形。
基于直接频率合成技术的任意波形发生器(AWG)不但能够产生大量的标准波形,还可以模拟各种复杂波形,因此被广泛用于自动控制系统[13]、光纤通信[14]和仪器仪表等领域。直至现在,任意波形发生器还是国内外绝大多数厂商力推的产品。
国外推出任意波形发生器的厂商主要有Agilent,Tektronix,NI等公司。国内也有很多企业、高校等科研单位研究出了自己的任意波形发生器产品。如哈工大自动化测试与控制研究所研发的基于LXI总线技术的HITATCIL201任意波形发生器[15],北京普源精电(RIGOL)公司也推出的多个产品。表1-1为四家不同企业或院校所研制的典型信号发生器的对比。
表1-1 几种信号发生器概况
公司或 院校 Agilent Fluke NI 哈工大
型号
最高输出频
最高采样率(Sa/s) 1.25G 200M 40M 200M 50M
储存容量 (字) 16M 64k 64k 512M 16k
最高输出电压幅值(V) 1 10 10 12 10
率(MHz)
N6033 500 33250 80 39A 16 PXI-5422 80 HITATCIL201 20
表1-1中Agilent的产品33250已经推出数年,属于该公司的低端产品,另外Fluke和NI等公司均推出了达到几个GHz的信号发生器。任意波形发生器技术相对脉冲信号发生器技术相对成熟,随着电子技术的发展,相信频率更高、稳定度更强的任意波形信号发生器种类会更多,成本也会更低。
为了更加清楚地理解脉冲信号发生器与其他信号发生器的不同,对脉冲信号波形进行简单介绍。本部分内容主要参考了2008年的《脉冲信号发生器通用规范》(报批稿)中的专业术语[16]。图1-1即为典型的脉冲信号波形,图1-2给出了脉冲上升沿和下降沿波形。
- 4 -
哈尔滨工业大学工学硕士学位论文
脉冲波形起始线 电平轴 脉冲幅度 中心点 中心点 脉冲高电平 中心线 50%幅度 脉冲宽度起始线 脉冲宽度终止线 顶 90%幅度 脉冲波形终止线 10%幅度 底 上升时间 脉冲宽度 脉冲波形存在时间 脉冲低电平 脉冲终止时间 时间轴 下降时间
图1-1 典型脉冲信号波形
振铃(+)
过冲 振铃(-)
前冲 振铃 前冲 过冲
图1-2 脉冲上升沿和下降沿波形
为了更加深入的了解脉冲波形,对图1-1和图1-2中几个重要概念加以介绍:
1) 过冲:主要指脉冲波形上升或者下降沿后的脉冲电平瞬时极大值的失
真,对于上升沿是指最高电压而对于下降沿是指最低电压。
2) 振铃:叠加在脉冲波形上表现出阻尼振荡式的失真,此失真通常发生
在波形上升/下降沿之后。
3) 电平稳定时间:脉冲电平由90%幅度处到100%稳定幅度处所持续的时
间。
4) 脉冲宽度:脉冲波形前沿50%幅度处与后沿50%幅度处之间的时间长
度。
- 5 -
哈尔滨工业大学工学硕士学位论文
对于脉冲信号发生器,虽然很早就有人研究,但大多基于模拟电路,主要方法是利用雪崩三极管、阶跃恢复二极管和CMOS场效应管来产生脉冲信号,运用前两者方法所产生的脉冲幅度大,可以高达数千伏,美国的M. E. Savage和B. S. Stoltzfus[17]研制的脉冲发生器,幅值达到80KV,脉冲持续时间虽然较长,但上升时间仅为6ns。其中雪崩三极管可产生过渡时间为500ps、幅度达到50V的脉冲信号。利用阶跃二极管可产生70ps量级过渡时间的阶跃信号,电压幅值可达30V。Sanghoon Sim等采用CMOS工艺[18],研制的脉冲信号发生器的平均抖动小于1.8ps。
为提高脉冲发生器输出灵活性,Jeongwoo Han和Cam Nguyen设计了一款可调的亚纳秒级脉冲信号发生器[19],该发生器通过调节短路传输线的长度来达到调节脉冲持续时间的目的。爱尔兰的Andreas E. H. Oehler,Thomas Südmeyer等[20]研究人员,他们利用锁模的方式设计了一款二极管激光器,输出的脉冲最高频率达到了101.5GHz。相对于国外,国内研制出的激光脉冲器在输出频率、稳定性等方面还远不能相比。
虽然现在市场上激光脉冲发生器多种多样,但几乎均是采用模拟电路设计,它们的优点是输出的频率会很高,但在实际的自动测试系统中,却有很多缺点,如波形宽度、幅值和输出频率控制难度大,稳定性也较差,而且在晶体管击穿过程中需要产生一个比较高的瞬时电压,这也会使整个发生器的功耗比较高[21]。为得到更高标准的脉冲信号,现在的仪器厂商开始研究基于数字电路的脉冲信号发生器。其中最具代表性的是Agilent公司生产的81100系列脉冲码型发生器,图1-3为此信号发生器的外形图,其中的81130A最高输出频率为660MHz,最小宽度值达到了1.5ns,跃变时间仅为500ps[22]。其他的仪器厂商如Fluke也开发了自己的脉冲码型发生器,这里不再详细介绍。
图1-3 81100系列脉冲码型发生器
国内部分研究单位和高校,如电子科技大学、南通南峰电子,虽也研究出了自己脉冲信号发生器,但只注重个别的几个参数,同时在整个频率范围内不能以相同的分辨精度进行调节,很大程度上限制了仪器的应用。输出的脉冲波
- 6 -
哈尔滨工业大学工学硕士学位论文
形也不能很好的模拟实际环境中信号波形。而在市场上,成熟的产品少之又少。虽然国外的产品性能比较优越,但价格昂贵,同时由于脉冲信号发生器具有针对性强的特点,实际应用时,会浪费仪器的很多资源。这也致使在很多项目中开发者会设计自己的脉冲信号发生器。
本人根据工程领域的需求,本着方便实用的原则,利用FPGA芯片实现了纳秒级的脉冲信号发生器,输出脉冲信号宽度、幅度、频率均可调节,最多可实现四通道脉冲信号同时输出。
1.3 论文主要研究内容与结构安排
本文将设计一款多通道的脉冲信号发生器,最高采样点数可达到250MHz。该发生器主要分为两大部分,第一部分为基于FPGA芯片的高速电路,其中FPGA为系统的主芯片,此部分主要包括D/A转换、脉冲信号后端处理部分。第二部分为信号发生器的控制模块,包括PC机控制模块和ARM模块,FPGA内部存储数据均由PC机产生,PC机通过USB接口将数据传输到FPGA内部。FPGA最终实现对信号各参数的调整,同时包括对高速DA芯片的控制。ARM模块可以为用户提供友好操作界面,控制端为嵌入式Linux系统,为以后实现取代PC机功能做好充分准备。
本文将完成硬件电路的设计,FPGA的内部逻辑电路设计及PC机的软件开发。其中PC端软件主要包括USB固件程序、USB驱动程序和应用程序,在固件程序和驱动程序共同的配合下,应用程序最终实现对输出波形的控制。同时对ARM核心板进行初步调试,能够实现对SD卡功能的初步控制。
此论文将分为四章内容对所设计的开发板的各原理等方面加以叙述: 第一章介绍了任意信号发生器的发展及分析了嵌入式系统的优点,对脉冲信号发生器的特点及应用进行了阐述。并对本课题需要完成的任务进行简单说明。
第二章对高速电路的设计加以阐述,主要包括信号发生器功能实现的原理,FPGA内部的重要功能模块的分析与测试。同时对FPGA,ARM,高速DA等芯片的选择做简单介绍。
第三章为PCB板的设计,包括高速电路板设计规则。主要包括各模块电源设计,FPGA与ARM、USB芯片、DAC接口的设计,ARM模块设计,并对后端处理电路进行简要分析。
第四章分析设计ARM端软件,USB的固件设计、驱动程序和主机应用程序,对所设计的信号发生器进行测试,并分析误差产生的原因。
- 7 -
哈尔滨工业大学工学硕士学位论文
第2章 脉冲信号发生器电路设计
2.1 脉冲信号发生器的实现原理
2.1.1 DDS技术原理简介
直接数字频率合成技术(DDS)是在1971年由美国学者提出,此技术基于相位概念而出发,能够实现所需波形的频率合成技术。DDS技术有如下诸多优点:频率分辨率高,输出频点最多可达2的N次方个(N为相位累加器位数);频率切换速度快,转换时间可达纳秒级;可产生宽带正交信号及多种调制信号
[23]
等诸多优点。
DDS技术原理框图如图2-1所示:
图2-1 DDS技术原理框图
直接数字频率合成器(DDS)是一种全数字化的器件,一般由相位累加器、信号波形存储器(一般为RAM)、D/A转换器、低通滤波器四部分组成。其工作原理是在外部时钟的控制下,相位累加器不断地做累加运算,相对波形存储器而言,相位累加器实现地址发生器的功能,波形存储器输出的波形数据经过D/A转换器得到需要的模拟信号,低通滤波器滤除模拟信号中的高频分量就可以得到频率成分相对纯净的输出信号[24]。
数字频率合成器的每一部分都会直接影响输出信号的各参数。相位累加器决定了波形存储器在每个周期内信号输出的波形点数,这也决定了信号的频率分辨率,相位累加器的输出最高地址对应2π的相位,每次累加输出对应的相位码,查找RAM输出信号的幅度值。输出的相位码个数越多,输出的信号完整性就越好。频率源频率除以频率控制字K,再乘以外部时钟频率既为输出信号的频率。波形存储器存储的数据为一个周期信号的波形数据,在相位累加器所能达到的地址范围内,存储器存储深度越深,波形数据越精细,输出的信号
- 8 -
哈尔滨工业大学工学硕士学位论文
就越完整。数模转换器决定了输出信号的分辨率和转换速率。低通滤波器的带宽的选择要采取折衷的方式,在滤除不需要高频分量的同时,更要尽量保留所需信号的高频分量。
基于DDS技术的信号发生器也存在着一定的缺点。在实际应用中,由于全局时钟速率的限制,会导致幅度量化误差。同时,由于DAC芯片的非线性特性,也会导致输出信号的频谱中含有噪声频率分量。此设计中要保证脉冲信号有效数据点能够完整的输出,可认为并不存在其他类型信号发生器所存在的相位截断误差。
2.1.2 电路设计方案
图2-2给出了整个电路的设计方案,FPGA与外部接口模块主要分为以下几个部分:
1) USB接口模块,实现与PC通信;
2) ARM接口模块,为仪器的便携性创造条件;
3) DAC接口模块,共与两种DAC芯片相连,对于脉冲信号转换芯片,
采用高速时钟,此模块在整个设计中要求最高。
图2-2 设计原理框图
本课题突破常规设计方式,在设计过程中输出脉冲信号不仅达到四路(图中画出一路),脉冲的重复频率范围高于大部分国内高校或研究所设计的脉冲信号发生器,脉冲宽度精度达到了4ns级别,还增加了输出负脉冲的功能,为了能够更好地模拟实际环境,可以选择性的增加噪声。
下面给出脉冲信号发生器技术指标: Ø 幅度范围:-3~3V Ø 脉宽范围:4ns~1us
- 9 -
哈尔滨工业大学工学硕士学位论文
Ø 脉宽精度:4ns
Ø 脉冲重复频率:4KHz~1MHz
核心芯片采用FPGA,主要实现对脉冲信号各参数控制的功能,这也充分利用了此芯片的可编程化、小型化和集成化特点。整个电路可分为四大部分:电源模块、FPGA及周边器件模块、ARM核心模块和输出信号后端处理模块。工作原理较为简单,PC机产生数据源,通过USB接口写入FPGA内部的RAM或寄存器中,写入完成后,FPGA输出波形数据,经D/A转换芯片输出脉冲波形,为了扩大脉冲幅度范围,增加电平调整电路,并可以选择滤波和非滤波功能,得到最终的脉冲信号。同时为了工程领域的扩展,为了使信号发生器的具有可移动性和便携性的优点,增加了ARM功能模块。可以通过SD卡直接读取PC机所产生的波形数据,写入到FPGA中,为最终实现完全替代PC机的功能创造有利条件。本设计过程中所用的全局时钟为250MHz,对FPGA芯片和D/A转换芯片都有很高的要求。
脉冲信号的波形多种样式,与普通模拟信号(如正余弦)相比,波形之间在时间轴上不连续(相邻波形之间有明显的间隔),其特点是具有一定的周期性。需要强调一点的是,矩形信号为脉冲信号的一种特殊形式,关于脉冲信号标准定义可以参考文献16。脉冲波形数据在一个周期内有效值可能非常少,其他大部分值可能均为零或为噪声,这就要保证相位累加器在一个周期内能够输出全部有效值,这是脉冲信号发生器与其他信号发生器设计中最大的不同点,这也使得设计过程中无法直接利用DDS技术。如何设计相位累加器和采用何种方式存储波形数据成为FPGA内部逻辑代码设计最重要的部分。
2.2 硬件逻辑代码设计
控制端PC机需要设定四路脉冲信号的各种参数,然后写入到FPGA的RAM或寄存器中,数据类型如图2-3所示,同时给出了各参数的宽度:
图2-3 输入数据类型
根据FPGA内部RAM位宽和USB传输数据特点,选择数据宽度均为
- 10 -
哈尔滨工业大学工学硕士学位论文
16bits。此处波形数据为一个周期内脉冲信号的采样数据,此数据根据精度需要有效位为10bits,其余高位均补零。为了更好地模拟实际环境,如果需要模拟带有噪声的脉冲信号,脉冲数据为与噪声数据叠加后的波形数据。这样可以很好地解决FPGA中RAM空间不足和增加噪声的问题。
双端口RAM采用FPGA内部的IP核,其中IP核是经过多次验证的,可以实现特定电路功能的硬件描述语言程序,现在的系统级芯片设计SoC的基本单元采用的均是IP内核[25][26]。IP内核由于硬件的描述级不同,产生了软核、固核和硬核三种内核。其中FPGA内部集成的软核,在使用的过程中不仅大大降低了开发者的工作量,也具有配置灵活、稳定性高的特点。但在使用双端口RAM时,由于两个端口一般会使用两个不同的时钟,要避免读写冲突,在本设计中,保证读使能与写使能不能同时有效即可。
脉冲重复频率完全由相位累加器寻址方式决定,有效位为16bits,最高寻址达到了216-1,此时脉冲重复频率为4KHz。实际的脉冲波形不一定从0V电平开始跃变,实际应用中也需要输出负脉冲信号,在此设计过程中增加了电平调整的功能,通过D/A转换后,输出直流分量,通过后端的处理,与脉冲波形进行叠加,得到最终脉冲波形。根据实际精度的要求,电平调整数据有效位为8bits,此精度并不会影响到脉冲波形数据的精度。
根据实际需要,本课题在设计过程中第二路信号增加延迟功能,当延迟为0时,四路信号同步输出,当延迟不为0时,此路信号相对其他三路脉冲信号非同步输出,延迟时间长度完全由PC机给定的延迟数据决定,此数据有效位为16bits,计算可知最多可延迟260多微秒。图2-4为第二路脉冲信号的相位累加器,对于双端口RAM而言,实现地址发生器的功能。
counterclkdatain[15..0]clrwrenwrentreadclk30inst24addr[8..0] 图2-4 相位累加器
各端口功能如下:clk为全局时钟250MHz;datain为PC机通过USB输入的数据;clr为清零信号;wren为重复频率数据写输入有效;wrent为延迟数据写有效信号;read为输出波形控制端;clk30为USB数据输入频率;addr为RAM的地址。同时模块的稳定性会影响到输出地址的正确与否,关系到是否
- 11 -
哈尔滨工业大学工学硕士学位论文
能够正确读取脉冲波形数据。此模块的基本时钟为250MHz,在高速电路中,最高时钟频率fmax时常会不能满足要求,下面给出几种优化fmax的方法:
1) 设计代码优化,这是优化fmax最有效、最根本的方法。在设计代码中,
常用的优化技巧有:增加流水级,在设计中尽量把大的组合逻辑拆开成为较小的几个模块;组合逻辑平衡,在不影响功能的情况下,把延迟较大的模块分一部分给延迟较小的模块[27];
2) 逻辑综合速度优化,采用的原理是实现面积换速度,在逻辑资源充裕
的情况下,此种方法十分有效。设计者可以在Quartus II软件中简单设置即可实现。
3) 网表优化和物理综合,此部分同样在软件的“Setting”的菜单中设置。在
对逻辑单元的物理综合过程中,改变关键路径的位置,来减少关键路径的逻辑级数,从而提高设计性能[28]。
当fmax满足时序要求时,面临最大的问题是信号的建立时间和保持时间,建立时间(setup time)是指在寄存器的时钟信号在有效沿到来之前,有效数据稳定不变的时间。保持时间(hold time)是指在寄存器的时钟信号有效沿到来以后,数据稳定不变的时间。如果建立时间和保持时间中某一个达不到要求,数据将不能被打入寄存器。此设计中,相位累加器输出的地址信号一定要达到足够长的建立时间和保持时间,才能输出正确的波形数据。
经过多次优化后,对所设计代码利用Quartus II自身仿真器进行测试,不仅能有效的快速找出编码中的错误和不足,而且可以很好地评估设计代码所消耗的FPGA内部资源,对最终制板时FPGA芯片的选择具有很高的参考作用。图2-5是利用Matlab软件仿真得到的某种脉冲信号波形图,并对所得波形均匀采样,得到256个点数值,作为FPGA仿真数据源。
- 12 -
哈尔滨工业大学工学硕士学位论文
图2-5 Matlab仿真波形图
为了便于测试代码,在FPGA内部开辟ROM存储空间,存储深度为256words(word宽16bits),ROM所利用的.mif文件的数据源既为图2-5中脉冲波形采样得到的数据。仿真所利用实验室开发的FPGA板,其中FPGA芯片为Altera公司的EP2S15F484C5,与本设计最终所用芯片在资源数目虽有所不同,但不会影响到测试结果。
图2-6为利用Quartus II自身仿真器仿真所得到的四路波形信号同步输出情况,阴影部分为脉冲信号有效数据值,数据输出时钟为250MHz(图中clock信号),由50MHz时钟(图中CLK50M)经锁相环(PLL)倍频而得。图2-7为第二路信号相对其他三路信号非同步输出情况,图中延迟时间长度为400ns。图2-8为对第二路数据展开,采用线性表示所观察到的波形。三幅图中四路信号周期分别为1.6us、2.0us、2.4us、2.8us。图中的“dffof”为电平调整数据,这里不详细介绍。
从仿真所得到的数据,经过与数据源进行比对和对结果测量,可知编写的模块满足设计的要求。
- 13 -
哈尔滨工业大学工学硕士学位论文
图2-6 四路信号同步输出
图2-7 第二路信号延迟400ns的波形
图2-8 展开后波形图
- 14 -
哈尔滨工业大学工学硕士学位论文
由于硬件电路存在数据传输延迟等诸多问题,为了更好的测试代码,在测试过程中利用了嵌入式逻辑分析仪SignalTap II,此处对SignalTap II进行简单介绍。此逻辑分析仪主要用来对Altera公司的FPGA芯片内部信号的状态进行实时测定,可以使设计者快速发现设计中不足。
SignalTap II工作原理是在工程中引入Megafunction模块中的嵌入式逻辑分析仪(ELA),利用预先设定的时钟采集实时数据,将采集到的数据存储在FPGA芯片内部RAM资源中,然后通过JTAG接口传送回Quartus II软件进行分析[29]。由此可见SignalTap II是在工程中额外加入了模块来采集信号,所以使用SignalTap II需要一定的代价,首先是逻辑单元(LE),其次是RAM,有时可能消耗几倍于实际使用的资源数量,如果FPGA资源已被工程耗尽则无法使用SignalTap II调试,所以工程中使用SignalTap II,就要保证剩余的资源比较充足,或者采取多种信号分开测定的方式,每次用的资源会减少很多。虽然SignalTap II的实时数据捕获速率还不能与专业的示波器相比,但最高速率可达270MHz。能够实时观察FPGA内部的各信号状态,这也是SignalTap II最大的优点。
SignalTap Ⅱ逻辑分析仪,有两种使用方法:第一种是创建一个SignalTapⅡ文件(.stp),然后定义STP文件的详细内容,包括采样时钟、被测信号、触发方式、触发级别、储存深度等;第二种是用MegaWizard Plug-In Manager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。由于第一种方法简单方便易于掌握,深受初学者的喜欢。本设计采用第一种方法对所设计代码进行测试,测试流程一般是在编译工程后,在设计中建立STP文件、配置STP文件各参数、编译并下载工程到FPGA、在软件中分析被测信号、测试完毕后断开逻辑分析仪。
图2-9给出部分配置参数,采样时钟决定了被采样信号的分辨精度,它的频率至少要等于被测信号的频率,否则不能正确反应出被采样信号波形的变化,采集到的数据存储在FPGA内部的RAM中,此处采样速率为250MHz。其中采样深度为每次对数据采集的点数,采样点数乘以采样时钟周期即为被测信号的时间长度,此FPGA芯片内部有三种RAM,此处选用读取速率最快的M4K型RAM。所用测试数据源与利用Quartus II自身仿真软件测试的数据源相同。
- 15 -
哈尔滨工业大学工学硕士学位论文
图2-9 signal tap II配置参数
Signaltap II对四路信号重复周期不同,在此测试过程中设定时钟信号在相同时刻对四路脉冲信号开始采样,得到图2-10所测试结果,此图标尺为时钟周期数目,每个时钟周期为4ns,本测试中四路信号重复周期分别为500、600、700、800个时钟周期。
图2-10 signaltap II仿真结果(一)
对前三路信号波形数据进行展开,可得图2-11结果,第四路信号未设定采样时刻,采集到的波形数据具有一定随机性。
- 16 -
哈尔滨工业大学工学硕士学位论文
图2-11 signaltap II仿真结果(二)
从测试结果可以得出,所设计的代码实现了理想中的功能。而在实际应用中,为了使设计的代码达到更优的效果,时常要调试硬件代码,使信号发生器的性能达到最佳状态。
2.3 电路主要芯片选择
此设计过程中用到的芯片数目较多,详细说明部分重要芯片的选型及设计过程中应该注意的问题。
2.3.1 FPGA芯片
FPGA与传统逻辑电路和门阵列(如PLA及CPLD器件)相比,一般采用基于SRAM工艺的查找表结构,此查找表是由基本的逻辑单元模块组成。Altera公司和Xilinx公司是世界上最大的两个FPGA厂商,占据了近80%的市场份额。Altera公司作为世界老牌可编程逻辑器件的厂家,是可编程逻辑器件的发明者,其生产的FPGA产品,由于性价比较高,广受消费者好评。Xilinx公司的FPGA产品超过了50%的市场份额,提供90%的高端65nm FPGA产品,特别是军工级产品的性能,远超过其他FPGA厂商。新产品的不断推出,也使这两个厂商能够一直保持着市场优势。
表2-1给出了Altera公司几款典型芯片特性,此课题设计需要输出四路脉冲波形信号、四路电平调整信号,并要实现与ARM芯片和USB芯片互联,需要较多的管脚。同时兼顾以后可能存在的系统升级问题,要保证使用后的芯片
- 17 -
哈尔滨工业大学工学硕士学位论文
有一定的余量,并考虑到FPGA内部的PLL、逻辑单元(LEs)的时钟速率及芯片成本,本设计过程中RAM的读时钟为250MHz,对RAM的读写速率要求较高,选择了Altera公司的Stratix II系列的EP2S30F672I4芯片。
表2-1 Altera公司典型芯片特性
芯片型号 Cyclone II Cyclone III Stratix Stratix II
PLLs RAM(bits) 逻辑单元(门)
4 1M 6.8万
4 4M 12万
12 7.4M 8万
12 9M 近18万
注:表中数据为此系列芯片资源的最大值
DSP模块
无 无 22 96
Stratix II系列芯片采用了90nm的制造工艺[30],等效的逻辑单元数高达18万门,即使在不减少逻辑资源的情况下,可利用的RAM可达9.4×106bits。其中4Kbits的RAM模块,最高读写时钟高达550MHz,完全可以胜任设计要求。同时Stratix II系列FPGA带有丰富的自适应逻辑模块、外部储存器接口、存储器资源,其中DSP功能模块最多有96个,不同运算方式的组合使得DSP模块能够实现FFT、FIR、IIR及其他相关函数的功能[30],应用过程中配置简单易用,这使得Stratix II芯片完全有能力实现高性能的DSP应用,如仪器分析、宽带通信和图像处理等。此型号芯片内部多达12个锁相环(PLL),最多输出频率可达500MHz,输出时钟的稳定性不逊于的锁相环芯片。同时支持外部高速储存器件的使用,如DDR、SDRAM。此芯片还具有专用时钟输入和输出管脚,利用此专用管脚时,可以增加时钟稳定性,并减少时钟偏斜,特别适合于高速电路的应用。
2.3.2 ARM芯片
为了使此信号发生器的具有便携性的优点,增加了ARM功能模块。此部分采用了天嵌公司开发的TQ2440核心板,不仅减少了整个电路板设计的复杂度,增强系统的稳定性和可靠性,调试过程中的很多软件还可以从公司的网站下载,减少设计开发的时间。此核心板采用6层布线工艺,具有低功耗、体积小的特点,图2-12为核心板的PCB图。
- 18 -
哈尔滨工业大学工学硕士学位论文
图2-12 TQ2440核心板
其中ARM芯片为三星公司ARM9系列中的S3C2440AL。此核心板上还包括一片Nand Flash、一片Nor Flash、两片SDRAM等芯片,并含有时钟和电源等电路,具有192个插针,直接插在电路板相匹配的插槽即可使用,并可以使用该公司配套的液晶显示屏(LCD)。S3C2440AL可以选择从Nand/Nor Flash启动,数据总线最宽为32bits。此核心板其他特点如表2-2
表2-2 TQ2440特性
特性 MCU Power Core Power NOR FLASH NAND FLASH SDRAM内存
说明
Samsung S3C2440AL,主频400MHz
3.3V电压供电
1.25V核电压供电,降低功耗 2MB容量,掉电非易失 256MB容量,掉电非易失
64MB容量,16位数据总线,时钟频率为100MHz
S3C2440AL采用0.13um CMOS制造工艺,是基于ARM920T内核开发的16/32-bit精简指令集(RISC)处理器,该内核是基于ARMv4T架构,内部采用5级流水线结构[31]。加强的内存管理单元(MMU)可以支持Linux、Windows CE、Vxworks等嵌入式操作系统;内部具有高级微控制器总线(AMBA)、指令高速存储缓冲器及数据高速存储缓冲器。MCU主频达400MHz,具有成本低、功耗小、性能高等显著特点,具有130个通用I/O端口和24个内部中断源[32]。并具有USB主/从、SPI、IIC总线、SD卡和系统总线等多种设备接口。此课题设计过程中利用到了SD接口,可以实现读取保存在SD卡中的波形数据,最终实现写入到FPGA中。通过ARM的系统总线与FPGA相连,可直接实现芯片之间的彼此通信。
- 19 -
哈尔滨工业大学工学硕士学位论文
2.3.3 D/A转换器
本设计需要采用两款DAC,分别用于脉冲波形数据转换和输出直流分量,其中为了满足前者要求,需要采用性能稳定的高速D/A转换芯片。后者仅是输出直流分量,各参数要求相对较低,主要考虑芯片的成本及设计复杂度。
脉冲波形数据转换所用DAC采用TI公司DAC5652,此芯片为双通道输出,分辨率为10bits,最高转换速率可达275MHz。同时还具有低功耗、数据跃变时间小于1ns、工作环境温度满足工业级范围等诸多优点[33],并特别适合于在通信系统、任意波形信号发生器等领域的应用。图2-13为芯片的原理框图。
图2-13 DAC5652原理框图
此芯片在使用时,具有双通道/交织两种输出模式,通过MODE端口进行选择。从原理框图可以得出此DAC为电流输出模式,最大输出电流在2mA~20mA之间,通过调节BIASJ_A/BIASJ_B输出端电阻,来调节最大输出电流。此芯片具有互补电流输出端,特别适合中频电路的设计,图2-13中IOUTA2与IOUTB2为相应的互补电流输出。设计中需要通过调节负载电阻来调节最大输出电压。本电路设计过程中需要采用两片芯片,采用双通道同时输出模式。本设计采用全局时钟250MHz,最大输出电流约20mA,理论上采用150欧姆的负载电阻,可以实现输出脉冲峰值电压为3V的功能。
采用AD公司AD5330数模转换芯片实现直流分量的输出,对输出脉冲波形进行上下电平调整。此芯片为单通道输出,幅度分辨率为8bits。最大的优点
- 20 -
哈尔滨工业大学工学硕士学位论文
在于具有极低的功耗,在3V工作电压下,电流仅为150uA。采用电压输出模式,最大输出电压由参考电压Vref决定,并且通过FPGA控制输入端Gain可以实现峰值电压为1×Vref和2×Vref的输出,本设计中Vref为3V电压。
2.4 本章小结
本章首先简单介绍DDS技术的基本理论和信号发生器的工作原理,然后给出了脉冲信号发生器的设计指标,并介绍了硬件电路的总体设计方案,对所设计的逻辑代码进行初步仿真和测试。并根据主要指标确定了脉冲信号发生器所用到的主要器件的型号,主要包括FPGA芯片、ARM芯片和DAC芯片,同时给出了这些器件的主要功能特点和设计要求。
- 21 -
哈尔滨工业大学工学硕士学位论文
第3章 硬件电路设计
整个脉冲信号发生器以FPGA芯片为核心,主要分为电源模块、FPGA与周边芯片通信模块、ARM模块和信号后端处理模块。
3.1 高速电路设计
高速电路虽然目前在业界并没有确切的定义,但一般认为信号的上升(或下降)时间小于4倍信号传输延迟时间,有时也认为工作频率远高于50MHz既为高速信号[34]。如果工作在该频率之上的电路面积达到了整个设计电路的三分之一,就认为该电路为高速电路。与低速电路设计相比,高速电路设计必须考虑布线时所产生的多种寄生效应(如寄生电感和电容),不同信号线间的相互影响,甚至包括电路板对外部环境的影响等。高速电路中能够影响到系统性能的所有高速现象均可称为信号完整性问题[35]。所谓信号完整性(Signal Integrity, SI),主要讨论的是信号沿导线传输后的质量和各种时序问题。信号完整性问题,主要包括反射、振铃、串扰、过冲/下冲、环绕振荡、时序、地弹、电磁干扰等[36]。PCB板层的参数、线端接方式及端接处的电气特性对信号完整性都会有不同程度的影响。本设计全局时钟为250MHz,并与多块芯片相连。信号完整性问题是必须考虑的问题。本节主要从高速电路设计中的PCB布局、PCB的分层设计两方面阐述。
3.1.1 高速电路布局
图3-1为此设计各功能模块的布局图,下面主要介绍设计过程中电路布局应注意的事项。
- 22 -
哈尔滨工业大学工学硕士学位论文
图3-1 PCB布局
为了减少噪声信号对FPGA和其他芯片的干扰,在芯片的电源和地引脚之间,放置了滤波、去耦电容,并使电容尽量靠近管脚。由于FPGA的电源和地管脚分布较分散,需尽量增加较多的电容,以达到更好的性能。
由于本设计中既有模拟电路又有数字电路,相应的PCB设计属于混合信号PCB设计。对于混合信号的PCB设计,元器件的布局和器件间的布线都会影响到电磁兼容特性。设计过程中,需要将数字和模拟元器件分开布局,尽量做到模拟器件或数字器件在各自的区域内,可以减少数字信号和模拟信号交叉走线,彼此之间的相互干扰就会大大降低。同时对电源也要合理安排,减少数字电压和模拟电压的相互干扰。
虽然某些芯片既有数字地又有模拟地,但在高速电路实际设计中会倾向于使用统一地。假如不使用统一地,通常被分割的两个地在某处会连接在一起,地电流会构成一个很大的环路,流过此环路的高频信号电流将会出现电磁辐射和很大的地电感,图3-2中可以明显看出高速电路板中的辐射问题。同时由于人类所处在复杂的电磁环境中,如果低压模拟电流流过此种环路,该电流很容易受到外部未知信号的干扰。
- 23 -
哈尔滨工业大学工学硕士学位论文
图3-2 PCB存在的辐射
芯片内部的地与芯片外部的地之间,会不可避免的存在一个小电感,这个小电感成为了地弹产生的根源。在多层板的设计过程中,经常会使用很多过孔,当电流流过这些过孔时,电流的突变,会使地弹现象非常明显。地弹现象会产生明显的辐射,电磁辐射到PCB板的边缘,最终辐射到周围的空间中,此种现象在实际设计中必须引起足够重视[37]。实际过程中利用异步电路,可以达到减少辐射的目的。对于要求较高标准的电路,通常方式采用特殊材料,减小寄生电感的影响。在不同的地平面之间间隔其它层,如电源层,并利用过孔将不同地平面连接,被认为是最有效的方法。
对于FPGA芯片,当大量的输入输出管脚在某时刻从高电平切换到低电平或者从低电平切换到高电平,在临近的管脚上会引入噪声,被称为同步切换噪声(SSN)。与其他的信号完整性问题不同,同步切换噪声是由多种噪声干扰共同导致的结果,其中包括串扰和地弹等[38]。FPGA每个输出管脚,与临近的地或者电源管脚及使用的过孔构成一个回路。同时相邻的多个输出管脚会共用此回路,这就会发生互感性的串扰,同时同步切换噪声会得到加强。除了上面提到的在FPGA的电源与地之间连接电容可以减少SSN噪声之外,可以在FPGA分配管脚时,保证信号质量的条件下,输出管脚可以设置较小的驱动电流强度,会相应的降低SSN噪声。同时紧凑型电磁带隙(EBG)结构对抑制同步开关噪声(SSN)会起到很好的效果[39]。
所用DAC和FPGA均为发热器件,一定要均匀放置,以利于整个电路板的散热。同时本设计所用芯片较多,出于PCB板的易调试和维修的目的,小的器件周围不能放置大的器件,要留出足够的空间。器件布局时,使用相同电源的器件,应尽量放在同一区域,这利于电源层的分割。同时在器件布局的过程中,遵照均匀分布、版面美观的原则优化布局。为了使布线质量更优,在设计之前一定要详细研究布线规则。
- 24 -
哈尔滨工业大学工学硕士学位论文
3.1.2 高速电路板的分层设计
多层电路板一般指两层以上的制板,其中四层板和六层板的应用最为广泛,在层数选择方面,必须根据电路的性能要求、器件的多少、布线的密集程度而定,同时要兼顾PCB的尺寸。多层板走线要把不同层分开,从而减少彼此之间的干扰。相邻布线层的走线应少走平行线,采用相互垂直或走斜线的方式,从而减少PCB的层间干扰。导线应尽量走短线,特别是对高速电路来讲,干扰也就越小。对于同一网络的走线,应采用钝角或曲线拐弯。布线的线宽,应根据该电路所使用电流的要求来确定,电源和地的线宽一般尽量大些,信号线可以相对小一些。同时布线时应注意同一层信号的线宽要尽量保持一致,避免导线突然变粗或变细,除减少信号的反射以外,同时有利于阻抗的匹配。
PCB多板层要求如下:
1) 多层板一般要求至少一个电源层和一个地层,当使用一个电源层时,
很多时候会对电源层分割,要保证分割线足够宽。
2) 不同信号层尽量避免直接相邻,以减少相邻两层信号之间的干扰。 3) 根据上节对地弹现象的介绍,两个地之间尽量放置电源层。 实际设计过程中,PCB的各层放置根据需要而定,没有固定的模式,本设计各层分布如图3-3。
图3-3 PCB各层分布
本设计采用六层板设计,其中图中Core部分为PCB的电介质材料,通常采用FR-4环氧玻璃布层压板。对于此高速电路板,FPGA与高速DAC的连接、与ARM核心板的通信成为设计关键,对于如何布线,后面内容会详细说明。考虑到制造工艺的限制,走线不能过细,同时为防止制板过程中的瑕疵影响到电路性能,甚至可能出现的短接,布线与焊点之间的间隔设置应尽量大一些。
- 25 -
哈尔滨工业大学工学硕士学位论文
3.2 电源模块设计
3.2.1 FPGA电源
FPGA作为信号发生器的核心部分,不仅要实现各模块逻辑和时序的控制,还要完成对数据的存储功能,所以要合理设计FPGA各部分电平,才能保证芯片的正常工作。同时必须估计FPGA工作时需要的电流强度,所用的电源芯片必须能够提供足够大的电流。
Stratix II支持大部分的工业I/O标准,如LVTTL、LVCMOS、SSTL-2、Differential SSTL-2,并支持HyperTransport技术,此种情况下,FPGA可以实现与其他芯片的很好互联,不需要额外的电平转换芯片。根据工程设计需要,提供合适的输入电压,同时在FPGA引脚分配时,一般需要设定合适的电压和电流标准,默认电压为3.3V LVTTL电平。图3-4中给出了Stratix II系列芯片各Bank分布图。
图3-4 FPGA各Bank分布
图中3、4、7和8Bank为FPGA的通用I/O管脚,电压标准灵活配置,其中包含片外高速存储器接口,如SDRAM和DDR芯片,利用专用管脚,不仅可以设置输出电平与此类芯片相同的电平标准,并且此类管脚具有很高的带宽。本设计使用这四个Bank与DAC、USB芯片和ARM核心板相连,这几款芯片接口均使用3.3LVTTL电平标准,并没采用其他工作电压。图中1、2、5和6Bank为高速差分(LVDS)接口,本设计过程中没利用到此部分,这里不详细介绍。Bank9和Bank10是设计过程容易忽视的部分,此两部分为时钟高速差分接口,时钟输入和输出专用管脚,使用此类管脚,可以减少时钟抖动和偏
- 26 -
哈尔滨工业大学工学硕士学位论文
斜。虽然其他Bank差分信号会使用低电压,如2.5V和1.8V。但此两个Bank需要提供的电平必须为3.3V,才能使时钟信号正常输出。
FPGA、USB芯片、ARM核心板和D/A转换芯片均需要提供3.3V电压,对各芯片在实际应用中电流强度的评估,本设计需要采用能够输出电流较大的电源芯片。同时对于FPGA芯片,设计FPGA电源的另一个需要考虑的重要问题是要确保输出电压值在一定时间内实现线性上升到标定电压,可以保证FPGA内部的各逻辑单元模块随着管脚输入电压的升高依次打开,这也被称为单调电压上升(monotonic voltage rise)。例如,电压从0V单调上升到3.3V必须在100ms内完成,对于电源芯片来讲,在这个时间段内,它的负载不是恒定的,因此芯片的选择,不仅要求在电压输出稳定后能够确保输出电压的稳定,而且在电压上升期间内同样实现输出电压的控制。同时FPGA各电源管脚要求电压波动范围不超过±5%。如果不能做到这两点,FPGA很可能不能正常工作。
此处3.3V电源芯片使用TI公司的TPS54620,此芯片采用同步压降输出方式,输出电压由输出端电阻进行调节,输出最大电流可达到6安培,电压转换速率快[40],完全可以满足设计需要。此芯片电压输出可采用两种设计方法,本设计过程中采用快速转变反馈的设计模式,相对另一种方法,电压反应时间会更快一些。图3-5给出了此芯片的连接方法,对于图3-5中电感的选择要能够承载大电流的输入输出。
R9p80.6KGND+5V56C18p10uFC19p4.7uF7U4p1234RT/CLKGNDGNDPVINPVINPwPdVINVPWRGDBOOTPHPHENSS/TRCOMP1413121110GND98C20p150pC21p0.01uFGNDGNDR11p10KC16p0.1uFL2p3.3uHC17p47uFR10p49.91B5p12D3.3V2VDD33VTPS54620R12p4.02KC22p0.01uF15R13p3.24KGNDGND
图3-5 3.3V电压输出
此处的电压输出为数字电压,USB芯片和DAC5652同时需要模拟的3.3V电压输入,在数字电压后端接一个磁珠,就可以实现数字电压到模拟电压的转换。这里磁珠的作用是过滤高频成分,从而减少高频信号对模拟电路中信号产生影响。
Stratix II系列FPGA芯片内置增强型和快速型锁相环(PLL)电路,如本设
- 27 -
哈尔滨工业大学工学硕士学位论文
计中用到的EP2S30F672I4中有两个增强型和四个快速型锁相环,设计者可以选择其中的一种,或者采用默认方式。使用过程中,配置灵活,可以用来去抖动、移相和修正占空比。这些PLL电路属于嵌入到FPGA数字电路内部的模拟部分,必须使用单独的地引脚GNDA和电源引脚VCCA,以减少由数字电路产生的噪声。即使设计中不使用这些PLL,电源引脚VCCA也必须连接1.2V的电压。图3-6为1.2V电压输出原理图。
VccintR3p80.6KGND3+5V456C11p10uFC12p4.7uF7U2p12RT/CLKGNDGNDPVINPVINPwPdVINVPWRGDBOOTPHPHENSS/TRCOMPTPS546201413121110GND98R6p4.02KC15p0.01uFGNDGNDC13p0.01uFC14p150pR7p10KR8p8.06KR5p49.9GNDGNDGNDC5p0.1uFL1p3.3uH1B3p1C6p47uF2C8p15uFC9p0.1uF2256+5VU3pINBIASTABOUTSDGND413C10p10uFC7p47uF1.2V1B4p12Vcca_pll2LP38843S-1.2GNDGND15
图3-6 1.2V电压输出
图3-6中1.2V输出电压使用TI公司的LP38843S-1.2芯片,输出电压转换速率快,输出电压波动小于±1.5%。同时因为此芯片为低压降线性电源芯片,输入的理想电压为1.5V或1.8V,所以本设计在此芯片前端使用TPS54620将5V输入电压转换得到1.8V电压,再实现1.2V输出。
设计过程中,对FPGA的PLL的供电通常有三种方式可供选择:使用独立的VCCA电源层;VCCA电源区域在1.2V数字电源层(VCCINT)中进行分割;在非电源层使用较粗的VCCA电源线。由于本文虽采用六层板设计,只使用了一个电源层,只能采用第三种方式,VCCA电源线的宽度设定为40mil,同时利用磁珠实现VCCA与VCCINT的隔离,从而减少高频信号的干扰,并在每一个VCCA管脚处并联0.001uF和0.1uF的去耦电容,图3-7中给出了各端管脚的连接方式。
- 28 -
哈尔滨工业大学工学硕士学位论文
图3-7 PLL电压提供方式
3.2.2 参考电压源设计
AD5330转换芯片需要稳定的电压作为参考,为了实现输出负脉冲,同样需要提供稳定的参考电压,后面会详细说明。根据实际需要,此两处电压值均采用3V作为参考。选用TI公司的精密稳压源LM4040,此系列芯片内部相当于一个稳压管,可以选择输出电压不同的芯片。LM4040输出电压精度共四个等级,其中的A等级达到千分之一的精度,本设计选用此等级,虽然实际应用过程中会受到温度的影响,可能达不到如此精度,但也完全可以满足本设计的需要。图3-8给出设计原理图。
+3VIN22+5V1B8pU7p132NCLM4040DBZGNDR20p1001图3-8 精密稳压源的设计
此芯片连接最重要的部分为对RS(图中R20p)的选择,可利用TI公司给出的算法,得出计算公式如下:
RS(min) >[VS(MAX)−VR] / [20mA + ILOAD(MIN)]
- 29 -
哈尔滨工业大学工学硕士学位论文
RS(max) <[VS(MIN)−VR] / [60μA + ILOAD(MAX)]
其中VS为输入电压(图中5V电压),一般设计采用恒定值。VR为输出电压(3V),ILOAD为负载电流,正确评估负载电流的范围成为设计的关键。实际应用中,很难精确评估电流范围,选择尽量偏中间的电阻值成为最合适的方案。
3.2.3 后端处理模块设计
后端处理部分主要对脉冲信号的加减和对得到的脉冲信号进行滤波,此部分使用器件主要是运算放大器。通常情况下,运算放大器使用常用的正5V和负5V电压分别接到放大器的正负VS端口。本电路板外部输入电压为5V,此电压性能不稳定,不能直接使用,最终选择非常用的正负4.5V接到运放端口。对于4.5V电压芯片采用TI公司的TPS78601,此部分不做详细介绍。对于-4.5V输出,先采用TPS54620输出-5V电压,此芯片的输入电压为5V,设计方法必须参考TI公司提供的快速转换输出负电压的设计方案。-4.5V电压输出芯片采用TI公司的UCC384-ADJ,接法如图3-9,此芯片同样为线性电源,具有输出电压稳定度高的优点,输出电压值由输出端电阻进行调节。
R14p3.85k1R15p10k5C28p4.7uFA-4.5V22GND8SD/CTGNDGND1uFC24pC25p0.015uF4U6pVOUTSVOUTVINVINVINVIN1B7p1236-5V7UCC384
图3-9 UCC384-ADJ实现-4.5V输出
3.3 FPGA接口设计
FPGA要与DAC、USB、ARM实现通信,PC机或者ARM通过USB芯片控制FPGA,最终实现对DAC的控制,本部分是整个PCB设计中设计最难、耗时最长的部分,此节将详细说明各接口的设计。
3.3.1 FPGA与D/A芯片接口设计
FPGA与DAC接口设计是整个PCB板设计的最重要部分,直接影响到脉
- 30 -
哈尔滨工业大学工学硕士学位论文
冲波形信号的输出的质量。同时共有8路DAC转换数据与FPGA相连,所用通用管脚较多,这也成为选择多管脚的FPGA的原因之一,合理分配利用FPGA管脚,成为设计的一个关键内容。图3-10给出之间连接方式,针对不同DAC只给出一路连接。
DA[9:0]SLEEPCLKADA[9:0]SLEEPCLKA/WRTADAC5652Stratix IIDB[7:0]nPDnWRDB[7:0]nPDnWRAD5330 图3-10 FPGA与DAC接口
其中SLEEP和nPD功能相同,当此两个信号有效时,相应的芯片处于睡眠模式,既低功耗状态。此种模式下,AD5330工作3V时,nPD端电流仅为3nA;在没有时钟输入状态时,DAC5652功耗仅为9.2mW。通过FPGA可以对DAC实现此种模式的控制。
AD5330中的nWR接口功能相当于时钟输入端,在信号上升沿数据写入到DAC芯片。由于输出直流分量,对时钟要求不高,此处nWR频率为156kHz,利用FPGA对30MHz分频得到。此部分为低速电路,同时接口简单,不进行详细叙述。
CLKA和数据输出速率为250MHz,此部分端口连接为整个电路设计的最重要部分,传输线和驱动电路的特性对信号完整性的影响很大[41][42],要有合理的布线,才会产生理想的脉冲波形。信号线尽量做到等宽和等长的同时,要减少过孔的使用,从而减少信号的反射。图3-11为信号的串扰现象,对DAC5652每个通道而言,数据线之间的距离也应做到相同,在线宽满足的情况下,之间距离尽量远一些,一般建议平行路径之间距离至少是线宽的四倍,以减少信号之间的串扰。每个通道信号线也应布在同一层,以避免干扰到另一个通道的信号。
- 31 -
哈尔滨工业大学工学硕士学位论文
图3-11 串扰现象
图3-12中给出DAC5652双通道工作模式下的波形图,根据芯片工作原理,在本设计过程中,对CLKA/CLKB与WRTA/WRTB短接,同时由于电路在传输数据过程中,波形数据与时钟到达时刻会存在着一定的时差。为了使时钟采集到稳定的有效数据,可利用FPGA内部的锁相环对时钟信号移相,而是否需要移相或者移相的多少,要根据实际测试的结果而定。
图3-12 DAC5652双通道工作模式
3.3.2 FPGA与USB/ARM接口设计
PC机产生数据源经USB口,传输到FPGA内部的RAM或寄存器中,同时FPGA接受PC的控制指令,实现对D/A转换芯片和信号输出的控制。图3-13中给出了FPGA与USB/ARM所用到的管脚连接方式。
- 32 -
哈尔滨工业大学工学硕士学位论文
图3-13 FPGA与通信接口连接
所用USB芯片为CYPRESS公司EZ-USB FX2系列中的CY7C68013A-100,此系列芯片是世界上第一款支持USB2.0协议的商用微处理器,并向下兼容USB1.1协议,能够支持480Mb/s高速传输,根据设计中的需求,可以选择不同的传输模式。其他主要特点还有:
(1) 内部结构包括增强型8501核,固件开发工具为Keil C51;
(2) 具有串行接口引擎(SIE),可以执行基本的USB功能,同时解放出嵌入
的微处理器(MCU),能够扩展其它丰富的功能,从而保证持续高效的数据传输;
(3) 固件软配置,可将USB芯片固件存放于主机上,当USB设备的线缆连接
好主机后,将固件下载到设备上,这样可不必改动硬件;
(4) 其他还包括4KB的FIFO、16KB的RAM、数据和地址总线和通用可编程
接口(GPIF)[43]。
此USB芯片为100管脚封装,使用过程中,对未利用的数据接口采取与FPGA相连的方式,如图3-13中UNUSED[0:7]端口,可以满足以后信号发生器功能上的升级。ADR为向USB芯片提供地址,对芯片内部FIFO进行选择。FPGA芯片实现与USB之间的通信,由SLOE、FLAGA和READ等信号线控制,后面章节会详细介绍。
ARM系统与FPGA间的通信具有串行、并行两种方式。串行方式采用ARM和FPGA自身具有的通信接口连接得以实现。并行接口按ARM系统的数据总线、地址总线和控制总线进行设计[44]。在此设计中采用ARM总线与FPGA直接相连的并行通信方式,可以减少外部扩展器件的使用量,使整个设计变得结构紧凑、功能分明,软件控制部分会更加简单。
LDATA为ARM的数据总线,ARM总线可利用数据总线为32位,本设计利
- 33 -
哈尔滨工业大学工学硕士学位论文
用核心板提供的系统总线接口,此接口数据宽度为16位,由LnOE和LnWE端控制数据读写,当LnOE有效时,此时LnWE必无效,数据从ARM输入到FPGA内部的RAM或寄存器。同时也为了功能的扩展,利用了核心板中GPA0通用管脚。CLK为系统内部提供的100MHz时钟,数据的传输部分也属于高速电路,布线过程中的要求可参考DAC5652的布线规则,这里不再详细说明。此部分仅是设计中给出连接,为使此开发板在以后的应用中具有便携性的优点增加便利条件,驱动的编写并不是本设计内容。
3.4 ARM模块设计
本部分由于采用了制作好的核心板,设计过程较为简单,核心板外部必须提供3.3V电压,虽然S3C2440芯片核心电压为1.25V,在核心板上有此电源芯片,不需外部提供。在自己设计底板时,必须增加LCD接口电路、复位电路、Nor/Nand flash启动选择开关。复位信号的好坏,直接影响到ARM核心板是否能够正常启动。其中LCD显示屏采用东华3.5寸屏,工作电压为5V。同时为了实现对ARM核心板进行调试,增加了JTAG、USB Slave和RS232串口,其中RS232串口后端需要接串口芯片,才能实现PC机与ARM之间的正常通信。
图3-14中给出了复位电路的接法,当系统电源电压低于MAX811S的复位阈值2.93V时,nRESET端将输出一个低脉冲信号,复位芯片将实现对ARM系统复位,同时FPGA也使用此复位信号,在此芯片的使用过程中,不要让两者之间相互影响,才能保证本开发板正常工作。
D3.3VMAX811S1GNDVCC40.1uFDC1d3RESETSWnRESETR3d510RESET2RESETMR图3-14 复位电路设计
本设计需要实现ARM能够读取SD卡中波形数据,此波形数据文件由PC机产生。开发板上增加了SD插槽,此卡不需要额外提供的电源就能保持其上存储的信息,表3-1给出SD卡各接口功能。
- 34 -
哈尔滨工业大学工学硕士学位论文
表3-1 SD总线功能描述
信号线 SDCLK SDCMD SDDATA0-SDDATA3 VDD、VSS1、VSS2
功能描述
主机向卡发送同步通信时钟信号 双方的命令/响应信号 四个双向的数据信号线 电源和地
S3C2440芯片中集成了SD模块,SD插槽与核心板相应接口可直接相连,设计方法如图3-15所示。SD卡能够支持三种数据传输模式:1位SD模式,SPI模式,4位SD模式,其中高速SD卡前两者模式传输速率最高为25Mbits/s,后者模式支持100Mbits/s高速传输,本设计采用第三种模式。
VDD33VR1AR2AR3AR4AR5AR6A10K10K10K10K10K10KCON1SDDATA1SDDATA0SDCLKSDCMDSDDATA3SDDATA2876543219DAT1DAT0VSS2CLKVDDVSS1CMDCD/DAT3DAT2nCDWP1110R7AR8A10K010KnCD_SDR9A0WP_SDR10AGNDPAD1PAD2PAD3PAD412131415GNDSD/MMC CARDGND图3-15 SD card接口设计
3.5 后端处理电路设计
对于高速电路,信号的调理电路尤为重要。根据实际需要,后端可增加不同功能,本设计DAC5652输出的脉冲信号电平范围0-3V,为了实现负脉冲波形的输出,在后端处理的过程中设计了加减法器。同时DAC的输出包含一些不需要的高频分量,增加了滤波电路,此部分给出详细说明。
3.5.1 加减法器设计
本设计利用运算放大器实现加减运算电路,当输入信号均作用于运算放大器的同一个输入端,则可以实现加法运算;若一部分输入信号作用于运放的同相输入端,而另一部分信号,作用于反相输入端,就可以实现加减运算[45]。本设计过程中,将精密稳压源输出的3V电压,接入到运放的反相输入端,DAC输出的信号接入到运放的正输入端,即可实现加减运算电路。
- 35 -
哈尔滨工业大学工学硕士学位论文
图3-16给出了加减法器的实现方法,根据电流反馈运算电路的响应速度取决于电流边沿速率,电压反馈运算电路取决于内部结构,当输入高频信号时,电流反馈的响应速度会远高于电压反馈运算电路,图中运算放大器采用TI公司的LMH6703,此放大器采用电流反馈方式,响应速度快速,低功耗,低噪音,-3db带宽为1.2GHz[46],可以保留脉冲波形的绝大部分高频分量,减小谐波失真。
A-4.5VC1W560OhmR1WDATAOUT0DOFFOUT0+3VINR3W560Ohm6.8uF560OhmR2WU1W456-INSDV++INV-OUTPUT3210.1uFC4WR5W50OhmLMH67030.1uFC7WC9WR7W560OhmC8W0.01uF6.8uFA+4.5V
图3-16 加减法器设计
图3-16中DATAOUT0为脉冲波形,DOFFOUT0为偏置直流分量,负载电阻值为50欧姆,为了实现输出电压VOUT(V)=DATAOUT0+DOFFOUT0-3,经计算R1W,R2W,R3W和R7W阻值必须相等,电阻采用图中的阻值时,运放的非理想特性对输出电压的影响可以忽略不计。同时DAC5652为电流输出方式,此处的负载会影响到最终的电压输出,影响的程度可以通过计算得到,利用PC机对输入的波形数据进行补偿,即可实现理想峰值的脉冲信号。
3.5.2 滤波电路设计
DAC输出的脉冲会包含不需要的高频分量,经过前级的运算放大器,少部分高频分量已经滤除,但滤波效果有着很大的不确定性,设计中在后端加入专用的滤波电路,并在外部增加选择开关,在使用过程中,可以选择是否将此滤波器接入。
无源滤波电路的通带截止频率及其放大倍数都随负载而变化,这一点不满足信号处理的要求,有源滤波电路虽然不适合大电流和高电压信号的处理,但却不存在上述无源滤波电路的缺点,适合本设计中信号的处理。图3-17中利用RC网络和运算放大器设计的一阶有源低通滤波电路,其中Nwave0和Nwave1为第一通道和第二通道脉冲信号经过加减法器后的输出脉冲信号。
运算放大器采用TI公司的OPA2695,此芯片为双通道、高带宽、低功耗、
- 36 -
哈尔滨工业大学工学硕士学位论文
电流反馈放大器,当放大倍数为1时,带宽为1.1GHz,根据滤波电路截止频率计算公式f0=1/2πRC,其中R、C分别为图3-17中R6W,C5W,根据实际需要选择合适的电阻和电容值。
A-4.5VC2W6.8uFR29W2.2kNwave0R6W22OhmC5W12pFU2W1234-INAOUTA+INA-Vs+INB+Vs-INBOUTBOPA2695GNDNwave1R9W22OhmC11W12pFGND2.2kR30W0.1uFC10WC12W6.8uFA+4.5V8765C6W0.01uFR8W50Ohm0.1uFR4W50OhmC3W
图3-17 滤波电路设计
图3-18中,给出某一阶低通滤波器电路的幅频特性,可以看出此滤波器过渡带宽较宽,实际中也可以采用多阶滤波电路,可加大衰减斜率。
图3-18 一阶低通滤波器幅频特性
当运算放大器的反相输入端与运放输出端直接相连时,等效于输出端短路,可能会导致电流反馈放大器内部过热,在此处串入一个电阻,一般电阻值会大于1KΩ,可以起到过流保护作用。同时由于运放不理想特性,此种接法可能会导致输入和输出电压存在偏差,根据实际需要,可以选择是否增加此电阻,但制板过程中一定要留此位置。为实现电路的阻抗匹配,负载电阻的阻值为50欧姆。
- 37 -
哈尔滨工业大学工学硕士学位论文
3.6 本章小结
本章首先介绍了高速电路的设计中存在的各种信号完整性问题,并针对FPGA与高速DAC的布局布线规则进行详细说明,其次介绍了PCB上四大功能模块设计,包括电路各部分使用的电源设计,FPGA与DAC、USB芯片和ARM接口设计,ARM功能模块设计,利用运算放大器实现加减法器和滤波电路在内的后端处理模块的设计。同时给出了各模块在设计过程中应该注意的事项。
- 38 -
哈尔滨工业大学工学硕士学位论文
第4章 软件设计及结果分析
4.1 嵌入式系统软件设计
此设计部分主要实现通过ARM控制端读取SD卡中波形数据的功能,软件部分包括嵌入式系统、SD卡驱动和操作界面。
4.1.1 嵌入式操作系统选择
本设计采用嵌入式Linux系统,主要原因如下[47]: (1) 广泛的硬件支持
嵌入式Linux有着特别丰富的驱动程序资源,能够很好的支持多种体系结构、各种主流及最新的硬件技术,同时可以在某些没有储存管理单元(MMU)的处理器上运行。
(2) 开放源码,软件丰富
Linux是开放源码的操作系统,符合GPL协议,同时由于不同的嵌入式系统差别很大,针对不同的应用,开发者通常需要对其进行修改并优化,能够获得源代码显得至关重要。在Linux中几乎可以找到每一种常见的软件资源。
(3) 内核高效稳定
Linux广泛应用于各个领域,经过大量的经验事实,已经充分证明其内核的高效与稳定,Linux漏洞极少,具有高安全性,独特的模块机制使得用户可以根据需要,将某些模块插入到内核或从内核中移出。这使得内核可以裁减到很小,适合嵌入式系统资源小的特点。
(4) 强大的网络通信功能和文件管理机制
嵌入式Linux支持所有标准的Internet网络协议,很多交换机和路由器都使用Linux。同时Linux还支持ext2、ntfs、cramfs等文件系统。
4.1.2 嵌入式系统中GUI系统选择
常用的PC机上的用户图形界面(GUI)相对嵌入式设备而言,资源会过于庞大,不能够满足嵌入式系统资源小的特点。由于嵌入式系统中硬件资源的限制,需要选择一个轻量级、高性能的GUI系统,一般遵循以下规则:
(1) 内核体积小,占用尽可能少的Flash资源,同时运行时,要占用少的
RAM资源;
- 39 -
哈尔滨工业大学工学硕士学位论文
(2) 耗用CPU的资源较少,同时要具有低功耗的特点; (3) 操作系统独立,能适合不同的系统架构。
目前GUI的实现方法主要有两种:第一种是某些大型厂商(如SUN、IBM公司)自主开发满足自身需要的GUI系统;第二种是某些厂商以付费或免费的方式使用比较成熟的GUI系统。目前国内外已经推出了很多基于嵌入式Linux的GUI产品,比较成熟的面向嵌入式的GUI系统有Qt/Embedded、MicroWindows、MiniGUI、WinCE等[48]。
本设计采用Qt界面,Qt由挪威TrollTech公司1995年推出,是一个跨平台、面向对象的C++图形用户界面开发包,提供大量丰富的应用程序接口(API),推出的不同版本能够支持各种流行的操作系统。其中Qt/Embedded(简称Qte)为该公司发布的面向嵌入式系统的版本,其中Qtapia是基于Qte开发的应用程序。本设计采用Qtapia-2.2.0免费版本,此版本为基于ARM的Linux嵌入式系统提供了图形界面开发框架,非常利于开发者的程序设计。
4.1.3 建立交叉编译环境与文件烧写
在PC机上利用虚拟机,安装了Redhat 9.0版本的Linux系统,需要将PC机上编写的程序进行编译,得到能够在ARM平台上运行的程序,这就需要使用交叉编译工具,本设计使用EABI-4.4.3交叉编译器,可用来烧写Qt库和应用程序等。
建立完交叉编译环境后,编译嵌入式Linux系统和驱动程序。嵌入式Linux程序启动需要烧写Uboot,Linux内核,开机镜像和文件系统。TQ2440开发板既支持从Nor Flash启动,也支持从Nand Flash启动。当第一次烧写Uboot或者开发板中Uboot被擦除时,必须通过Jtag口烧写,如果对Uboot更新,则可以通过其他接口进行烧写,本设计中将Uboot文件烧写到Nor Flash。
本设计中采用Linux 2.6.30.4版本内核,Linux 2.6内核与以前的内核版本相比,性能和可扩展性得到了显著地加强,同时在任务调度等方面有了诸多改进。通过采用新的调度算法有效的提高了任务响应的实时性和任务调度的效率[49]。同时,新的内核支持更多类型的ARM芯片,这就很大程度上减少了Linux系统的移植工作量[50],其中的Linux 2.6.30.4版本源文件更加丰富,代码更加简练,性能同时也得到了提升。
利用Secure CRT可实现Windows与Linux系统之间通信,首先在PC机Linux环境下解压Linux内核源码,利用交叉编译工具编译出适合ARM工作环境的内核,其次,连接好USB接口和232串口,打开USB下载软件DNW和串口软件
- 40 -
哈尔滨工业大学工学硕士学位论文
Secure CRT。串口软件执行烧写命令,DNW选择烧写文件,最后将编译好的内核烧写到Nand Flash相应分区。同时也利用此方法将开机LOGO图片、Uboot和Yaffs2文件系统镜像烧入Nand Flash。
对于一般可执行应用程序,除传输到指定目录外,还需要使用“chmod+program name(工程文件名)”命令,使其成为可执行文件。
4.1.4 SD卡驱动
Linux设备驱动程序是系统内核和硬件之间的软件桥梁,是一种专用于某一硬件或某类硬件的软件组件。它是使某个特定的硬件能够响应内部程序的接口,同时隐藏了硬件设备的工作细节[51]。本设计需要实现读取SD卡中波形数据文件,相应的需要使用SD卡驱动,Linux内核含有此驱动,不需要设计者编写,只需要对驱动简单配置即可。对于其他诸如LCD驱动程序,可从天嵌科技官网下载后,直接烧写进内核即可使用。
Linux驱动的基本原理之一是:系统程序力图使它对所有不同的硬件设备的输入、输出使用起来就如同对普通文件的实现输入、输出一样。设备驱动程序都可以利用像open(),read(),write(),close()等众多系统函数的调用,为实现此种方式的调用,所有设备必须有对应的文件名称。通常Linux驱动程序接口可以划分为如下四层:
1) 应用程序和内核文件的接口; 2) 内核文件和文件系统的接口; 3) 文件系统和设备驱动程序的接口; 4) 设备驱动程序和硬件设备的接口。
一般将Linux系统设备分为三类:字符设备、块设备和网络设备,针对不同的设备要采用不同的编写方式。其中块设备是指对其信息的存取以“块”为单位,主要针对存储设备,如硬盘、flash。对于SD卡,采用的就是块设备驱动方式。Linux系统中,只能将块设备看做多个块进行访问,同时块设备要支持挂载文件系统。块设备与字符设备只在内核管理方式上有所区别,对于字符设备的每一个I/O端口操作都直接与内核中的驱动程序进行通信,如本设计中要实现向FPGA中写入数据,可采取此种驱动方式,对于块设备,它利用一块系统内存作缓冲区,当用户进程的请求满足使用者的要求时,就返回请求的数据。
SD/MMC卡组成的存储系统是许多嵌入设备的主要存储设备,在嵌入设备上的SD/MMC卡控制器通过MMC协议来解析命令控制SD/MMC卡的操作。
- 41 -
哈尔滨工业大学工学硕士学位论文
SD/MMC卡上有一些寄存器来控制卡的状态及读写操作。
图4-1给出MMC驱动程序的层次结构,MMC驱动程序分为通用设备层、MMC抽象设备层、MMC协议层和具体设备层四层来构建,上层结构会抽象出下层结构的共有特性,每一层又会以相应的结构来描述,各层功能如图中括号内所注。这种分层结构,清晰明朗,内核管理会更加有效。MMC驱动程序主要完成两部分的内容,一个是创建硬盘设备号并向系统注册,可以使系统方便对MMC设备的管理。同时,要处理系统发来的读写请求。
图4-1 MMC驱动程序的层次结构
4.1.5 Qt程序开发
针对此开发环境,Qt开发应用程序过程如图4-2。
- 42 -
哈尔滨工业大学工学硕士学位论文
图4-2 Qt程序开发流程图
Qt界面程序设计最需要掌握的是信号与槽的实现机制,为了实现该机制,Qt设计了自己的语法结构来扩展C++的特性,同时利用一个称为moc的Qt工具自动将Qt语法转换成标准的C++代码。信号和槽的机制可以简单地理解为,当某个事件发生时,一个或多个被指定的信号就会被发射,槽则是接收该信号的函数,该机制可以很大程度上减少编程量[52]。
当卡槽插入SD卡后,超级终端上会显示SD卡的信息,根据信息提示,输入相应命令将SD卡挂载到指定目录下(此目录必须与Qt程序中指定目录相同),Qt程序就可以实现读取SD卡中数据,同时由于系统本身缺少对某些汉字库的支持,可能显示某些汉字时出现乱码。此设计中,波形数据均为二进制数据,本设计没有额外增加汉字字库。
4.2 PC与FPGA通信软件设计
完整的USB数据传输设计包括USB芯片固件程序、USB驱动程序和主机应用程序,本设计中还需要增加FPGA接口控制程序,此设计较为简单,不加详细介绍。Cypress公司为了使用户更加容易使用EZ-USB FX2系列芯片进行外设开发,向用户提供了EZ-USB FX2开发包,内含完整的USB固件程序的框架、USB外设所必需的驱动程序和应用程序事例,用户只需要添加接收和发送数据的程序代码,以及与外围芯片的通信代码就可以完成一个基本的USB应用程序
[53]
。
4.2.1 固件程序设计
固件程序是指CPU中运行的程序。外部设备要实现给定功能,必须保证固件程序的完好运行。它控制整个设计中传输模块的运行,接收并处理驱动程序的请求及PC机应用程序的控制指令,最终完成彼此之间的数据传输。
图4-3给出了固件框架流程,在使用CY7C68013A芯片进行程序开发,利用EZ-USB FX2固件框架可以简化开发过程。依据框架提供的结构函数,对各个函数的功能进行完善,可开发出功能优越的USB外设。
- 43 -
哈尔滨工业大学工学硕士学位论文
图4-3 固件流程框架
上电复位后,固件程序先初始化某些状态变量,开始调用相应函数,一直初始化设备到没有配置的状态并打开中断,循环1秒后再次进行一次重枚举,直到端点0能够接收到SETUP包,退出此部分循环,进入下一个循环语句,执行任务函数,函数包括:
Ø TD_POLL()用户任务调度函数,主要实现与USB外设之间的传输功能; Ø 如果发现有设备请求,则执行与之对应的USB请求。固件与外围电路的通
信主要通过发送用户请求来完成;
Ø 空闲状态时调用挂起函数TD_Suspend(),当再次出现唤醒信号,调用
TD_Resume()函数,进入while循环。
固件编译后,载入到USB芯片主要有两种方法:一种固件代码事先烧写入EEPROM中,USB设备上电后,通过彼此之间相连的I2C总线将EEPROM中的固件代码载入。另一种利用USB芯片所独有的软配置方式,将固件程序存放在PC机中,当USB设备接入数据线时,将固件代码下载到芯片中[54]。本设计采用了后者方法进行固件加载,可以省去外部的EEPROM,并且利于调试和升级
[55]
。
4.2.2 USB驱动程序设计
设备驱动程序向用户提供了访问设备的接口,EZ-USB FX2开发包提供了装载驱动程序的开发模板,利用此模板开发较为简单。对于USB设备来说,其
- 44 -
哈尔滨工业大学工学硕士学位论文
驱动程序可以分为USB底层和功能两种驱动程序,其中底层驱动程序负责与硬件通信。USB驱动程序的编写采用由微软公司推出的通用驱动程序模型WDM(Windows Driver Mode),此模型旨在实现对不同硬件支持的基础上,进一步简化驱动程序的开发过程。
WDM驱动程序主要有两种实现方法,一种是采用微软提供的WIN DDK驱动程序开发包,另一种是利用专业的驱动程序开发工具,如Tech公司的WinDriver,Compuware Numega公司的DriverStudio。后一种方法给出了驱动程序的开发框架及调试和测试的工具包,可以简化Windows系统下设备驱动程序的开发过程,能够减少开发时间但执行的效率较低,同时存在版本发布问题。本文采用的是WIN DDK开发包开发驱动程序,采用自动配置方式,需要编写固件下载驱动程序和设备通用驱动程序,同时利用Cypress公司提供的开发包及开发手册,减少了很大的工作量。图4-4给出了USB驱动程序体系结构框图。
图4-4 USB驱动程序体系结构框图
图4-4中,I/O管理器主要负责把用户模式中的I/O请求包(IRP)发送至设备的驱动程序;电源管理器负责识别各种电源事件,同时传递给对应的驱动程序;设备注册表和INF文件与系统共同实现设备的识别与注册,并为设备分配资源;内核模式中的PnP管理器实现与驱动程序中的其它内核模式组件和驱动程序进行通信[56]。
4.2.3 PC机程序设计
本部分主要完成的功能是把PC机产生的数据通过USB传送给FPGA,并根据应用程序发出的控制命令实现对USB的某些引脚的控制。
为了实现更好的模拟脉冲信号,要使用复杂的函数。传统的利用VC界面
- 45 -
哈尔滨工业大学工学硕士学位论文
设定波形参数的方法,有着一定的局限性。本设计暂定采用VC++和Matlab软件联合使用的方式,由Matlab产生波形数据及各种参数,VC调用此波形数据,写入到FPGA内部的RAM或寄存器中,其他控制均通过VC界面实现,图4-5给出了VC实现的流程图。
开始N检测到USB设备?Y打开USB设备获得设备描述符成功?Y关闭USB设备读取Matlab产生的数据结束显示错误信息成功?NY执行输出命令N
图4-5 VC程序流程图
应用程序是信号发生器的控制核心,主要实现检测USB设备、开启USB设备、设置USB数据缓冲区端点、读取波形数据、控制脉冲信号输出等。EZ-USB FX2芯片内部包含4KB的可配置端点缓冲区空间,可配置缓冲区用于EP2、EP4、EP6和EP8,此端点具有高宽带大容量的数据传输特点,其无需8051固件干涉,并行数据的写入和打包均由硬件完成,便可完成高速数据传输,通过对固件的修改,实现缓冲区的灵活配置,可以满足实际应用中不同带宽的要求。
在传输数据之前,首先bOpenDriver()子程序通过调用CreateFile()函数打开USB设备。CreateFile()函数中的第一个参数是要打开设备的名称,主要代码如下:
*phDeviceHandle = CreateFile( completeDeviceName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, 0,
NULL);
由于输入输出函数IOCTL的控制代码已经在设备通用驱动程序中进行了处理,所以要编写一个传输数据线程,它通过调用DeviceIOControl()函数直接传输控制代码命令到USB设备,最终实现数据传输。
- 46 -
哈尔滨工业大学工学硕士学位论文
本设计采用USB的Slave读写方式,图4-6给出Slave FIFO读功能时序图,选用端点EP2(由FADDR0和FADDR1选择),配置空间为1024字节。当此缓冲区有数据时,通知FPGA启动读命令,将数据写入到FPGA中。
图4-6 Slave FIFO读功能时序图
图4-7为所设计操作界面,其中FIFO读和FIFO输出控件实现写入数据和输出脉冲信号,其余控件功能简单易懂,不详细介绍。
图4-7 PC端操作界面
- 47 -
哈尔滨工业大学工学硕士学位论文
4.3 测试结果与分析
4.3.1 ARM模块测试
本设计中ARM模块主要实现读取SD卡中PC机产生的数据源,为以后工程中此脉冲信号发生器能够具有便携性的优点提供设计方便。将SD卡挂载到/mnt目录下,可得到如图4-8所示结果,其中sddisk文件夹既为对SD卡挂载所得到的结果。
图4-8 SD卡挂载结果
打开上述的文件夹,得到如图4-9结果,其中signal.txt文件为PC机产生的波形数据文件。打开此文件即可实现数据的读取,如图4-10所示。通过与源数据比对,其中的数据全部显示正确,达到了预期的目标。
- 48 -
哈尔滨工业大学工学硕士学位论文
图4-9 波形文件显示
图4-10 signal.txt文件内容
4.3.2 波形测试与分析
经过测试,精密稳压源电压值为2.952V,电平调整电路最大输出电压为
- 49 -
哈尔滨工业大学工学硕士学位论文
2.938V,理想情况下,此两处电压值应为3V,但此电压值非常稳定,不会影响到脉冲信号的整体精度。同时对DAC5652输出电流测定,最大输出电流为18.6mA,此设计输出端电阻采用暂时采用150欧姆电阻,最大输出电压幅度为2.79,需调整偏置电阻或输出端电阻才能得到3V电压。在Matlab中设定某通道脉冲信号的各参数,脉冲整体波形如第2章中图2-4所示,其中此脉冲信号脉宽100ns,幅度1.407V,重复频率1MHz,电平调整电压为满偏,图4-11所观察到的结果,其中此脉冲波形没有经过滤波电路的处理。
图4-11 脉冲信号波形
脉冲信号发生器的误差主要会影响电平调整电压、脉冲幅度、宽度三个方面,由于电平调整电压仅为DAC输出的直流分量,误差分析简单,不单独给出测试过程,经多次测试分析误差在1%之内。脉宽精度为4ns,误差在4ns内均可认为无误差,经测试满足设计指标。
四路脉冲信号设计方法相同,仅对某一通道的脉冲信号幅度进行测试。表4-1是脉冲幅度没有经过滤波电路时,进行多次测试所得到的结果,其中测试脉冲调整电平设定为满偏,实测为2.937-2.938V,脉冲宽度为100ns,周期为1us。测量过程中,由于噪声的存在,表中峰值为最接近的数值。
- 50 -
哈尔滨工业大学工学硕士学位论文
表4-1 幅度测试误差分析
设定脉冲 峰值(V) 1.476 1.392 0.694 0.346 0.172 0.084
理想输出脉冲峰值(V) 1.461 1.377 0.679 0.331 0.157 0.069
实测脉冲 峰值(V) 1.440 1.355 0.659 0.317 0.148 0.065
脉冲峰值绝 对误差(V) 0.021 0.022 0.017 0.014 0.008 0.004
脉冲峰值 相对误差 -1.4% -1.6% -2.5% -4.0% -4.7% -4.8%
表4-1中观察可知,脉冲信号在没经过滤波电路时,相对误差在5%之内。实际应用中,此开发板中的电平调整电路和脉冲信号转换电路的精度、运放的非理想特性、测量仪器的误差,均影响脉冲信号的质量,最后误差得以累积。当脉冲峰值较小时,仪器的测量误差对脉冲信号的影响会得到加强,从而导致峰值误差较大,观察表中数据,也可得到此结论。
表4-1中没有给出脉冲信号经过滤波电路后的峰值误差,实际测量中误差较大,分析可知,新产生的误差是由运算放大器的非理想特性引起的,同时脉冲波峰部分的高频分量会被滤除,此部分需要改进,才能满足设计要求。同时在实际应用中,可以选择是否将此滤波电路接入到后端的信号处理部分。
需要说明的是,上述所有测试是在室温情况下进行的,没有进行多次或长时间测试,能够满足精度要求。根据工程需要,在今后的仪器测试中,所设计的信号发生器应该在不同的温度下测试其稳定性和可靠性,使仪器在不同温度均能满足精度要求,并能够长时间工作。
4.4 本章小结
本章主要介绍整个开发板的软件设计及测试结果,软件部分首先介绍了嵌入式系统的软件设计,包括系统的选择、SD卡驱动和嵌入式操作界面Qt程序,其次介绍PC机的程序设计,包括固件程序、USB驱动程序和PC操作程序,最后对所设计开发板进行测试,虽然设计中的存在很多不足,但验证了方案的可行性,并能够满足设计要求。
- 51 -
哈尔滨工业大学工学硕士学位论文
结 论
脉冲信号发生器作为测量仪器中的一种重要仪器,在诸多领域有着广泛的应用,在国内,成熟的产品少之又少,高端产品还处于空白,研究此类信号发生器有着重要的意义。经过一年的努力,达到了预定目标,完成了以下任务:
(1) 根据设计指标,查阅相关文献,提出设计方案。
(2) 设计FPGA芯片内部逻辑代码,并初步测试,选定重要芯片,包括
FPGA、高速DAC和ARM核心板。
(3) 高速电路设计为整个设计中最关键部分,直接影响到输出波形的质量,
查阅大量文献,仔细研究布局布线中应注意事项。
(4) 对ARM模块简单调试,实现了读取SD卡的功能。并编写PC控制端
软件,包括USB驱动,固件程序和PC应用程序设计。并对所设计的电路板初步调试,得到测试结果并对误差来源进行分析。
本文虽然达到了预定目标,对设计中存在着诸多问题,如运放的非理想特性对脉冲波形产生了衰减,影响到了信号精度。在今后的设计中需充分考虑此部分设计,并可以对此信号发生器进行以下改善:
(1) 分析精密稳压源误差,可以考虑更换电阻或芯片,实现输出理想电压
值。同时调节DAC5652输出端电阻,使满量程电压为3V;
(2) 改进后端信号处理电路,滤波电路只需要外接一个电阻,就可增加放
大功能,补偿运算放大器对脉冲信号所带来的衰减;
(3) 可以采用更高速率的DA转换器,进一步提高采样速率,从而使脉宽
精度达到更高标准;
(4) 编写ARM和FPGA之间的驱动程序,实现彼此之间的通信,最终实现
ARM控制端取代PC的功能。
- 52 -
哈尔滨工业大学工学硕士学位论文
参考文献
[1] 胡伟. LXI高性能信号发生器模块研制[D]. 哈尔滨工业大学硕士论文,
2010:2-3.
[2] Depeng Yang1, Aly E. Fathy, et al. Millimeter Accuracy UWB Positioning
System Using Sequential Sub-sampler and Time Difference Estimation Algorithm[C]. IEEE Radio and Wireless Symposium (RWS), 2010:539-542. [3] Peter Zijlstra, James W.M.Chon. Five-dimensional optical recording
mediated by surface plasmons in gold nanorods[J]. Natural, 2009, 495:419-423. [4] Bhaskar Thakker, Anoop Lal Vyas. Frequency Domain Analysis of Radial
Pulse in Abnormal Health Conditions[C]. IEEE EMBS Conference on Biomedical Engineering & Sciences, 2010:227-231.
[5] Dong-Yu Zhang, Wang-Meng Zuo, et al. Wrist blood flow signal-based
computerized pulse diagnosis using spatial and spectrum features[J]. Biomedical Science and Engineering, 2010(3):361-366.
[6] Liang Ping, Li YaMei. The design of measurement and control system of the
radon detection instrument based on MCU[J]. Electronic and Mechanical
Engineering and Information Technology, 2011:4027-4029.
[7] 朱楠. 100MHz脉冲发生器设计与实践[D]. 电子科技大学硕士论文,
2010:1-2.
[8] Haolu Xie, Xin Wang, et al. A Varying Pulse Width 5th-Derivative Gaussian
Pulse Generator for UWB Transceivers in CMOS[J]. IEEE Radio and
Wireless Symposium, 2008:171-174.
[9] 李正周, 郑微. 基于DSP的脉冲雷达基带信号发生器设计[J]. 弹箭与制导
学报, 2010:240-242.
[10] 李岩, 王建卫等. 基于ARM嵌入式uCLinux系统原理与应用[M]. 北京:
清华大学出版社, 2009:1-2.
[11] 田耘, 徐文波. Xilinx FPGA开发使用教程[M]. 清华大学出版社,
2008:409. [12] 王文华. 基于DDS技术的任意波形发生器设计[D]. 浙江大学硕士论文,
2002:3.
[13] Runxiang Yu, Roberto Proietti, et al. Rapid Automatic High-Precision In-situ
Wavelength Calibration for Tunable Lasers Using an Athermal AWG[C]. IEEE Lasers and Electro-Optics, 2011:1-2
- 53 -
哈尔滨工业大学工学硕士学位论文
[14] 张金保, 宋凝芳, 等. 光纤陀螺本征频率和半波电压测量方法研究[J]. 电
光与控制, 2009:7.
[15] 郁琦. LXI任意波形发生器研制[D]. 哈尔滨工业大学硕士论文, 2008:1-8. [16] 中华人民共和国信息产业部. 脉冲信号发生器通用规范[S](报批稿),
2008:3-4.
[17] M. E. Savage, B. S. Stoltzfus. High reliability low jitter 80 kV pulse
generator[J]. PHYSICAL REVIEW SPECIAL TOPICS - ACCELERATORS AND BEAMS, 2009:1098-4402.
[18] Sanghoon Sim, Dong-Wook Kim, Songcheol Hong. A CMOS UWB Pulse
Generator for 6-10GHz Applications[J]. IEEE Microwave and Wireless Components Letters, 2010:83-85.
[19] Jeongwoo Han, Cam Nguyen. Ultra-Wideband Electronically Tunable Pulse
Generators[J]. IEEE Microwave and Wireless Components Letters, 2004, 14(3):112-114.
[20] Andreas E. H. Oehler, Thomas Südmeyer. 100GHz passively mode-locked
Er:Yb:glass laser at 1.5um with 1.6ps pulses[C]. OPTICS EXPRESS, 2008, 16:26. [21] 李晓欢, 陈倩, 等. 基于FPGA的TH-UWB窄脉冲信号发生器设计与实现
[J]. 集成电路设计与开发, 2008:336-339.
[22] Agilent Technology. Agilent Technologies 81100 Family Pulse/Pattern
Generator Technical Specifications[P]. Datasheet, 2004:5.
[23] 贾志强, 郭莉, 等. 基于FPGA/DDS技术的MSK信号调制与解调[J]. 微计算机信息, 2009(25):156-158.
[24] 刘德刚. 基于FPGA的信号源的设计[D]. 电子科技大学硕士论文,
2010:26-27.
[25] Yu-Cheng Fan. Testing-Based Watermarking Techniques for Intellectual-
Property Identification in SOC Design[J]. IEEE Transactions on
Instrumentation and Measurement, 2008(57):267-273.
[26] 何朝军, 李哲英. 数字电路IP软核任务流方法验证[J]. 电子测量技术,
2008(34):13-14.
[27] Franjo Plavec, Zvonko Vranesic, Stephen Brown. Enhancements to FPGA
design methodology using streaming[J]. Field Programmable Logic and Applications, 2009:294-301. [28] 吴继华, 王城. Altera FPGA/CPLD设计(高级篇)[M]. 人民邮电出版社,
2005:195-223. [29] 刘福奇. FPGA嵌入式项目开发实战[M]. 电子工业出版社, 2009:20-30.
- 54 -
哈尔滨工业大学工学硕士学位论文
[30] Altera Corporation. Stratix II Device Handbook[P]. Datasheet, 2007:1-5. [31] 李亚峰, 欧文盛, 等. ARM嵌入式Linux系统开发从入门到精通[M]. 清华
大学出版社, 2007:7-8.
[32] Samsung Electronics. S3C2440A 32-bit CMOS Microcontroller User's
MANNUAL[P]. Datasheet, 2004:1-1~15-44.
[33] Texas Instruments Incorporated. DAC5652: DUAL, 10-BIT 275MSPS
DIGITAL-TO-ANALOG CONVERTER[P]. Datasheet, 2007:1-10. [34] 杨华, 陈少昌, 等. 高速数字电路PCB中串扰问题的研究和仿真[J]. 电光
与控制, 2012(19):90-91.
[35] 周路. 高速电路信号完整性分析与设计[D]. 电子科技大学硕士论文,
2011:12-13.
[36] Yajing Han, Zhaowen Yan, et al. The SI and EMI Analysis and Pre-Design of
the Sensor[J]. IEEE Microwave, Antenna, Propagation, and EMC Technologies for Wireless Communications, 2011:566-569. [37] Kai-Bin Wu, Ruey-Beei Wu, Danil Deië Zutter. Modeling and Optimal
Design of Shorting Vias to Suppress Radiated Emission in High-Speed Alternating PCB Planes[C]. IEEE Transactions on Components, Packaging, and Manufacturing Technology, 2011:566-567.
[38] Jong Hwa Kwon, Dong Uk Sim, et al. Novel Electromagnetic Bandgap Array
Structure on Power Distribution Network for Suppressing Simultaneous Switching Noise and Minimizing Effects on High-Speed Signals[J]. IEEE Transactions on Electromagnetic Compatibility, 2010, 52(2):365. [39] Wu Tzong-lin, Chuang Hao-hsiang, et al. Overview of power integrity
solutions on package and PCB: decoupling and EBG isolation[J]. IEEE Transactions on Electromagnetic Compatibility, 2010, 52(2):346-356.
[40] Texas Instruments Incorporated. TPS54620:4.5V to 17V Input, 6A
Synchronous Step Down SWIFT Converter[P]. Datasheet, 2010:1-20. [41] 商世伟. 高速电路设计及其在板级电路中的应用[D]. 上海交通大学硕士
论文, 2007:8-9.
[42] Joungho Kim, Erping Li. Special Issue on PCB Level Signal Integrity, Power
Integrity, and EMC[J]. IEEE Transactions on Electromagnetic Compatibility, 2010:246-247.
[43] Cypress Incorporated. EZ-USB FX2LP USB Microcontroller[P]. Datasheet,
2006:1-3. [44] 周茉. 基于ARM+FPGA的嵌入式数控装置研究[D]. 大连交通大学硕士
论文, 2010:30-32.
- 55 -
哈尔滨工业大学工学硕士学位论文
[45] 童诗白,华成英. 模拟电子技术基础(第三版)[M]. 高等教育出版社,
2001:315-320.
[46] Texas Instruments Incorporated. LMH6703:1.2GHz, Low Distortion Op Amp
with Shutdown[P]. Datasheet, 2006:1-3. [47] 吴军, 周转运. 嵌入式Linux系统应用基础与开发实例[M]. 人民邮电出版
社, 2007:12-14.
[48] 赵英涛, 柳翠寅, 等. 基于Linux的轻量级嵌入式GUI系统及实现[J]. 微
计算机信息, 2008(50):77-78.
[49] Song Kai, Yan Liping. Improvement of Real-Time Performance of Linux 2.6
Kernel for Embedded Application[J]. Computer Science-Technology and Applications, 2009:71-74. [50] 晋容.快速静电探针测量仪的设计和开发[D]. 中国科技大学硕士论文,
2010:52-53. [51] 王亚庭. 基于ARM和FPGA的高速数据采集系统技术研究[D]. 北京交通大学硕士论文, 2007:26-27.
[52] Ken Hartness. Graphics and User Interfaces in C++ with Qt[J]. Journal of
Computing Sciences in Colleges, 2005(20):198-199. [53] 王春明. 激光测距高速数据采集电路的设计[D]. 哈尔滨工业大学硕士论
文, 2008:27-28.
[54] 程旭. 基于FPGA和USB2.0的数据采集系统的设计[D]. 西安电子科技大
学硕士论文, 2010:39-41.
[55] 罗向东. 基于FPGA与CY7C68013A的USB接口系统设计[J]. 科技广场,
2010:96-97. [56] 周明建, 林平分. USB设备驱动程序的研究与开发[J]. 电子元器件应用,
2010(12):53-55.
- 56 -
哈尔滨工业大学工学硕士学位论文
附录 电路实物图
附录1 开发板正面图(未接触摸屏)
附录2 开发板正面图
- 57 -
哈尔滨工业大学工学硕士学位论文
哈尔滨工业大学学位论文原创性声明及使用授权说明
学位论文原创性声明
本人郑重声明:此处所提交的硕士学位论文《多通道脉冲信号发生器的设计》,是本人在导师指导下,在哈尔滨工业大学攻读硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。
作者签字: 日期:2012年7月4日
学位论文使用授权说明
本人完全了解哈尔滨工业大学关于保存、使用学位论文的规定,即: (1)已获学位的研究生必须按学校规定提交学位论文;(2)学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;(3)为教学和科研目的,学校可以将学位论文作为资料在图书馆及校园网上提供目录检索与阅览服务;(4)根据相关要求,向国家图书馆报送学位论文。
保密论文在解密后遵守此规定。
本人保证遵守上述规定。
作者签名: 日期: 2012年7月4日
导师签名: 日期: 2012年7月4日
- 58 -
哈尔滨工业大学工学硕士学位论文
致 谢
在毕业论文完成之际,向所有给与我帮助的人表示由衷的感谢! 首先感谢的是我的导师周毅刚副教授,正是他的悉心教导才使我的论文能够很好的完成。两年的学习时光虽然短暂,但在导师的指导下,我专业知识得到了很大提升,他严谨的治学态度,一丝不苟的工作精神,同时深深地感染了我,使我在以后的工作中,能够有勇气面对新的挑战。在生活中,他也给予了我无微不至的关怀,在这里,表示真诚的感谢。
在毕业设计期间,同时得到了邹斌、任广辉、尹振东、宿富林等老师的精心点拨,给予了我很多宝贵的意见,使本设计日趋完善,在这里表示深深的谢意。
感谢赵洪峰、王德伍、何鹏等同学,当我遇到困难时,给予了我莫大的支持和帮助,同时也陪我度过了人生中最值得怀念的两年时光!同时感谢陈必新、于文连师弟及张明阳师妹,给我提供了一个良好的学习和生活环境,这里再次表示感谢!
感谢我的远方家人和朋友,感谢他们的问候和关怀,使我有信心做好本职工作。
最后再次向我的老师们、亲人和朋友们表示衷心的感谢!
- 59 -
多通道脉冲信号发生器的设计
作者:
学位授予单位:
张雷
哈尔滨工业大学
本文链接:http://d.wanfangdata.com.cn/Thesis_D241919.aspx
因篇幅问题不能全部显示,请点此查看更多更全内容