1、1王进:基于 DDS 信号发生器的电路设计I摘 要在信号发生器的设计中,传统的用分立元件或通用数字电路元件设计电子线路的方法设计周期长,花费大,可移植性差。本设计是用直接数字频率合成器(DDS),设计出两个相互正交的信号,该信号发生器输出信号的频率范围为:0-400MHz,频率分辨率:0.232Hz ,频率误差范围:-2%2%,相位差的误差4与传统的频率合成方法相比,DDS 合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。使用单片机灵活的控制能力与 FPGA 器件的高性能、高集成度相结合,可以克服传统 DDS 设计中的不足,从而设计开发出性能优良的 DDS 系统。关键词:单片
2、机,直接数字频率合成,可编程逻辑器件Abstract四川理工学院本科毕业( 设计)论文IIIn the designing of the signal generator, the traditional method, which designs electronic circuits using discrete components or general digital circuits components, takes a long time with high cost, whats more, the transplanting ability of it is unsatisf
3、actory. In this design, the circuit is designed the designing of DDS. Its output frequency range is 0 to 400MHz ,the resolutionis 0.232HZ and zhe error is bitween -2% and 2%.Compared with traditional methods of frequency synthesizing, direct digital frequency synthesizing (DDS) has lots of advantage
4、s, such as short time of quick frequency exchanging, high frequency resolution, continuous phase changing, etc. Micro-control unit has is characterized by. Many drawbacks can be overcome and a good DDS system with good performance can be developed after combining the flexible control capability of m
5、icro-control unit with high performance and integration of the FPGA devices in the same system.Keywords: MCU, DDS,FPGA王进:基于 DDS 信号发生器的电路设计-1-目 录摘要 IAbstractII第一章绪言 11.1 课题背景 11.2 课题研究的目的和意义 11.3 国内外的研究状况 21.3.1 波形发生器的发展状况 21.3.3 本课题在国内外的研究现状 4第二章信号发生器的方案设计 62.1 系统实现方案分析与比较 62.1.1 频率合成器方案 62.1.2 移相方案
6、 82.1.3 存储器方案 82.2 模块结构划分 92.2.1 DDS 的基本原理 102.2.2 FPGA 实现的直接数字频率合成器 112.2.3 移相原理 12第三章电路设计 143.1 FPGA 设计 DDS 电路的具体实现 143.1.1 相位累加器部分 143.1.2 相位/幅度转换电路 143.1.3 波形表生成 153.1.4 D/A 转换电路 153.1.5 系统控制电路 153.2 单片机与 FPGA 的接口设计 153.3 现场可编程逻辑器件(FPGA)的选择 173.4 其他电路设计 183.4.1 晶体振荡电路 183.4.2 地址计数脉冲产生电路 193.4.3
7、幅度控制电路 193.4.4 单片机外扩展存储器电路 193.4.5 滤波、缓冲输出电路 203.4.6 键盘和显示控制电路 213.4.7 D/A 转换电路的设计 223.4.8 DAC0832 芯片原理 25结束语 29致谢 30参考文献 31附录 133四川理工学院本科毕业( 设计)论文-2-附录 234附录 337王进:基于 DDS 信号发生器的电路设计-1-第一章 绪言1.1 课题背景在一些电子设备的电路板故障检测仪中,往往需要频率、幅度都能由计算机自动调节的信号源。采用诸如 MAX038 信号发生器芯片外加电阻及切换开关等器件虽然也能调节频率和幅度,但这种调节是离散的,且电路复杂,
8、使用不方便。而采用直接数字合成芯片 DDS 及外加 D/A 转换芯片构成的可控信号源,可产生正弦波、调频波、调幅波及方波等,并且其信号的频率和幅度可由微机来精确控制,调节非常方便。另外随着 21 世纪的到来,人类正在跨入信息时代。现代通信系统的发展方向是功能更强,体积更小,速度更快,功耗更低。而大规模可编程器件 CPLD/FPGA 在集成度、功能和速度上的优势正好满足通信系统的这些要求。所以今天无论是民用的移动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图形处理仪器、遥控遥测设备、加密通信机中,都已广泛地使用大规模可编程器件 2。由于数字技术在处理和传输信息方面的各
9、种优点,数字技术和数字集成电路的使用已经成为构成现代电子系统的重要标志。电子系统的集成化,不仅可使系统的体积小、重量轻且功耗低,更重要的是可使系统的可靠性大大提高。因此自集成电路问世以来,集成规模便以 10 倍/6 年的速度增长。从 20 世纪 90 年代初以来,电子系统日趋数字化、复杂化和大规模集成化。为满足个人电脑、无绳电话和高速数据传输设备的发展需求,电子厂商们越加迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸。为达到此目标,必须采用少量的IC 器件使面积尽可能小。1.2 课题研究的目的和意义正弦信号发生器作为电子技术领域中最基本的电子仪器,广泛应用于航空航天测控、通信
10、系统、电子对抗、电子测量、科研等各个领域中。随着电子信息技术的发展,对其性能的要求也越来越高,如要求频率稳定性高、转换速度快,具有调幅、调频、调相等功能,另外还经常需要两路正弦信号不仅具有相同的频率,同时要有确定的相位差 4。随着数字信号处理和集成电路技术的发展,直接数字频率合成(DDS)的应用也越来越广泛。DDS 具有相位和频率分辨率高、稳定度好、频率转换时间短、输出相位连续、可以实现多种数字与模拟调制的优点,而可编程门阵列(FPGA)具有集成度高、通用性好、设计灵活、编程方便、可以实现芯片的动态重构等特点,因此可以快速地完成复杂的数字系统。由于模拟调相方法有生产性差、调试不方便、调制度控制
11、不精确等缺点,因此采用数字方法实现各种模拟调制也越来越普遍 5。现在许多 DDS 芯片都直接提供了四川理工学院本科毕业( 设计)论文-2-实现多种数字调制的功能,实现起来比较简单,而要实现模拟线性调制具有一定的难度。因此本设计介绍了一种由单片机控制,并采用 FPGA 实现 DDS 功能,产生频率和相位可调的正弦波信号的方法。单片机是实现各种控制策略和算法的载体。波形发生器也可运用单片机技术,通过巧妙的软件设计和简易的硬件电路,产生数字式的正弦波相位、频率和幅值可调的信号。信号的频率、相位可通过键盘输入并显示。与现有各类型波形发生器比较而言,产生的数字信号干扰小,输出稳定,可靠性高,特别是操作简
12、单方便,成本低。1.3 国内外的研究状况1.3.1 波形发生器的发展状况波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用 555 振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号
13、源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的 RC 很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。在 70 年代前,信号发生器主要有
14、两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。王进:基于 DDS 信号发生器的电路设计-3-在 70 年代后,微处理器的出现,可以利用处理器、A/D/和 D/A,硬件和软件使波形发生器的功能扩大,产生更加
15、复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对 DAC 的程序控制,就可以得到各种简单的波形。90 年代末,出现几种真正高性能、高价格的函数发生器、但是 HP 公司推出了型号为 HP770S 的信号模拟装置系统,它由 HP8770A 任意波形数字化和 HP1776A 波形发生软件组成。HP8770A 实际上也只能产生 8 中波形,而且价格昂贵。不久以后,Analogic 公司推出了型号为 Data-2020 的多波形合成器,Lecroy 公司生产的型号为 9100 的任意波形发生器等。而近几年来,国际上波形发生器技术发展主要体现在以下几个方面:(1)过去由于频率很低应用的范围
16、比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成 v=f (t)形式的波形方程的数学表达式产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如 Visual Basic ,Visual C 等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波
17、形的输入。(2)与 VXI 资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的 VXI 模块。由于 VXI 总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用 VXI 系统测量产生复杂的波形, VXI 的系统资源提供了明显的优越性,但由于开发 VXI 模块的周期长,而且需要专门的 VXI 机箱的配套使用,使得波形发生器VXI 模块仅限于航空、军事及国防等大型领域。在民用方面,VXI 模块远远不如台式仪器更为方便。(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有
18、多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.3.2、国内外波形发生器产品比较早在 1978 年,由美国 Wavetek 公司和日本东亚电波工业公司公布了最高取样频率为 5MHz ,可以形成 256 点(存储长度)波形数据,垂直分辨率为 8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近 30 年的发展,伴随着电子元器件四川理工学院本科毕业( 设计)论文-4-、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的
19、越多,波形形成的操作性越好。表 1.1 给出了几种波形发生器的性能指标,从中可以看出当今世界上重要电子仪器生产商在波形发生器上的研制水平。表 1.1 一些波形发生器的性能指标公司 Tektronix Tektronix 横河电机 Wavetek型号 AG320 AWG710 AG5100 295最高采用频率16MS/s 4GMS/s 1GMS/s 50MS/s通道数 2 2 2 4垂直分辨率12bit 8bit 8bit 12bit存储容量 64K 8M 8M 64K输出电压 10V 2.5V 2V 15V1.3.3 本课题在国内外的研究现状二十一世纪,随着集成电路技术的高速发展,出现了多种工
20、作频率可过 GHz 的 DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent 的产品 33220A 能够产生 17 种波形,最高频率可达到 20M,2005 年的产品 N6030A 能够产生高达 500MHz 的频率,采样的频率可达 1.25GHz。由上面的产品可以看出,函数波形发生器发展很快。对目前而言,国外(美)研究和使用的信号发生器大多要求频率在 10 HZ-650MHZ,产生正弦、三角、锯齿、方波、调幅、直流等波形,而国内则对频率在5*10 HZ-40MHZ,能产生正选 -三角等基本波形已经调幅、调频、TTL 等的信号发生器3需求大。四川理工学院本科毕业( 设计
21、)论文-6-第二章信号发生器的方案设计2.1 系统实现方案分析与比较在这个系统中,较为困难的部分是由 FPGA 实现频率合成器的功能及移相功能的实现。因为要求产生两路两路信号,频率和相位可调,且都要以数字的形式进行控制和处理,所以在设计中将分别对部分电路提出几种实现方案并进行分析和论证。2.1.1 频率合成器方案频率合成是指对一个标准信号频率经过一系列算术运算,产生具有相同精度和稳定度的大量离散频率的技术 13。频率合成有多种实现方法,其中直接数字频率合成技术与传统频率合成技术相比具有难以比拟的优点,如频率切换速度快、分辨率高、频率和相位易于控制等。因此得到越来越广泛的应用,成为当今现代电子系
22、统及设备中频率源设计的首选。实现 DDS 的三种技术方案 :(1)采用高性能 DDS 单片电路的解决方案 :随着微电子技术的飞速发展,目前市场上性能优良的 DDS 产品不断推出,主要有Qualcomm、AD、Sciteg 和 Stanforc 等公司单片电路(monolithic) 。Qualcomm 公司推出了 DDS 系列 Q2220、Q2230、Q2334、Q2240、Q2368,其中 Q2368 的时钟频率为 130MHZ,分辨率为 0.03HZ,杂散控制为-76dBc,变频时间为 0.1us;美国 AD 公司也相继推出了他们的 DDS 系列:AD9850、AD9851、可以实现线性调
23、频的 AD9852、两路正交输出的 AD9854以及以 DDS 为核心的 QPSK 调制器 AD9853、数字上变频器 AD9856 和 AD9857。AD 公司的DDS 系列产品以其较高的性能价格比,目前取得了极为广泛的应用。下面仅对比较常用的 AD9850 芯片作一个简单介绍。 AD9850 是 AD 公司采用先进的 DDS 技术,1996 年推出的高集成度 DDS 频率合成器,它内部包括可编程 DDS 系统、高性能 DAC 及高速比较器,能实现全数字编程控制的频率合成器和时钟发生器。接上精密时钟源,AD9850 可产生一个频谱纯净、频率和相位都可编程控制的模拟正弦波输出。此正弦波可直接用
24、作频率信号源或转换成方波用作时钟输出。AD9850 接口控制简单,可以用 8 位并行口或串行口直接输入频率、相位等控制数据。32 位频率控制字,在 125MHZ 时钟下,输出频率分辨率达 0.029HZ。先进的 CMOS 工艺使AD9850 不仅性能指标一流,而且功耗少,在 3.3V 供电时,功耗仅为 155mW。扩展工业级温度范围为-40+85 摄氏度,其封装是 28 引脚的 SSOP 表面封装。 AD9850 采用 32 位相位累加器,截断成 14 位,输入正弦查询表,查询表输出截断成10 位,输入到 DAC。DAC 输出两个互补的模拟电流,接到滤波器上。调节 DAC 满量程输王进:基于
25、DDS 信号发生器的电路设计-7-出电流,需外接一个电阻 Rset,其调节关系是 Iset=32(1.248V/Rset),满量程电流为1020mA 14。(2)采用低频正弦波 DDS 单片电路的解决方案: Micro Linear 公司的电源管理事业部推出低频正弦波 DDS 单片电路 ML2035 以其价格低廉、使用简单得到广泛应用。ML2035 特性:(1)输出频率为 025KHZ,在时钟输入为 12.352MHZ 时频率分辨率可达到 1.5HZ(-0.75+0.75HZ),输出正弦波信号的峰峰值为 Vcc;(2)高度集成化,无需或仅需极少的外接元件支持,自带 312MHZ 晶体振荡电路;
26、(3)兼容的 3 线 SPI 串行输入口,带双缓冲,能方便地配合单片机使用;(4)增益误差和总谐波失真很低。 ML2035 为 DIP-8 封装,各引脚功能如下: (1)Vss:-5V 电源; (2)SCK:串行时钟输入,在上升沿将串行数据锁入 16 位移位寄存器; (3)SID:串行数据输入,该串行数据为频率控制字,决定 6 脚输出的频率; (4)LATI:串行数据锁存,在下降沿将频率控制字锁入 16 位数据锁存器; (5)VCC:+5V 电源; (6)VOUT:模拟信号输出; (7)GND:公共地,输入、输出均以此点作为参考点; (8)CLK IN:时钟输入,可外接时钟或石英晶体。 ML2
27、035 生成的频率较低(025KHZ),一般应用于一些需产生的频率为工频和音频的场合。如用 2 片 ML2035 产生多频互控信号,并与 AMS3104(多频接收芯片)或ML2031/2032(音频检波器)配合,制作通信系统中的收发电路等。 可编程正弦波发生器芯片 ML2035 设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛,适合需要低成本、高可靠性的正弦信号的场合。 (3)自行设计的基于 FPGA 芯片的解决方案: DDS 技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、可编程,以及有强大 EDA 软件支持等特性,十分适合实现 DDS 技术。Alter
28、a 是著名的 PLD 生产厂商,多年来一直占据着行业领先的地位。Altera 的 PLD 具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的 IP 核、宏功能库等,因此 Altera 的产品获得了广泛的应用。 Altera 的产品有多个系列,按照推出的先后顺序依次为 Classic 系列、 MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、 APEX(Advanced Logic Element Matrix)系列、ACEX 系列、Stratix 系列以及 Cyclone 等 15。
29、 虽然有的专用 DDS 芯片的功能也比较多,但控制方式却是固定的,因此不一定是我们所需要的。而利用 FPGA 则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用 DDS 芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用 FPGA 也能输出较高质量的信号,虽然达不到专用 DDS 芯片的水平,但信号精度误差在允许范围之内四川理工学院本科毕业( 设计)论文-8-2.1.2 移相方案要实现两路信号具有确定的相位差,采用数字移相技术,这是目前移相技术的潮流。数字移相技术的核心是先将模拟信号数字化,移相后再还原成模拟信号。
30、数字移相主要有两种形式:一种是先将正弦波信号数字化,并形成一张数据表存入ROM 芯片中,此后可通过两片 DA 转换芯片在单片机的控制下连续地循环输出该数据表,就可获得两路正弦波信号,当两片 DA 转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。另一种是先将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号。以延时的长短来决定两信号间的相位值。这种处理方式的实质是将延时的时间映射为信号间的
31、相位值。综合各方面考虑本设计采用前一种方式,具体调整方法如下:可预置计数器的初值不同,从 ROM 中读出周期信号函数采样信号时的起始地址就不同,对应的信号相位也就不同。故只要在初始时刻,通过对计数器预置不同的初值即可形成两路信号间不同的相位差,从而达到调节信号间相位的目的。2.1.3 存储器方案(1)波形表存储器因为本设计是采用 FPGA 实现 DDS 的功能,所以使用 FPGA 作为数据转换的桥梁,将波形数据存储到其内部的 RAM 中,并由 DDS 系统产生波形输出。需存储在 RAM 中的波形数据是由单片机采集外部数据,对 ROM 中存储的标准波形进行各种相应的运算而得到。波形表存储器 RO
32、M 有三种方法实现。方法一:外接 ROM 用单片机来完成。可采用并行两片 32K 的 EEPROM 存储器AT28C256,共 16 位位宽,可以实现 12 位波形表存储,150ns 读取速度完全满足 20KHZ的工作频率。实现方案:将归一化的正弦波存储在 32KEEPROM 中,波形存储 64 个点。然后由单片机根据键盘输入的不同要求,对各点数据乘相应系数并叠加,再将所得到的新数据存储在 RAM 中,此时便得到了所需要的波形数据表。方法二:由逻辑方式在 FPGA 中实现。方法三:利用 Altera 公司的含于 EAB 器件中的兆功能模块 LPM_ROM,通过 VHDL 语言编程来实现。第一种
33、方法容量最大,但速度最慢,且编程比较麻烦;第二种方法速度最快,但容量非常小;第三种方法兼顾了两者的优点,克服了其缺点。在选用 FPGA 芯片时,本设计选用的是 Altera 公司的 FLEX10K 系列芯片 EPF10K10LC84_4, 有 LPM_ROM 模块,因此 ROM选用第三种方法。(2)外存储器由于本设计选用的单片机为 MSC-51 系列的 8051,它相对于高速的 FPGA 来说速度太慢,因此对单片机扩展外部数据存储器和波形存储器。王进:基于 DDS 信号发生器的电路设计-9-半导体存储器可分为三类:只读存储器(ROM、PROM、EPROM),随机存储器(SRAM、DRAM) ,
34、不挥发性读写存储器(EEPROM、NOVRAM) 。本设计要实现编辑功能,故必须选择随机存储器或不挥发性读写存储器。方案一:采用 SRAM(6264:8KRAM)和 EEPROM(2817:2KROM) ,通过总线隔离的办法实现,既能通过 CPU 改变存储器数据,又能通过相位累加实现读取波形存储器数据的功能。方案二:采用特殊存储器双口 RAM。双口 RAM 有左右两套相同的 I/O 口,即两套数据总线,分别有两套地址、控制总线,并有一套竞争仲裁电路。它可通过左右两边的任一组 I/O 进行异步的存储器读写操作,避免了系统总线隔离 17。 对比上述两种方案,方案一的硬件电路虽较复杂,但设计简单,成
35、本低,容量大,故采用此方案。2.1.4 存储器寻址方案方案一:采用移位寄存器 74164 对 BCD 乘法器 14527 进行设置。BCD 乘法器 14527接成加法级联方式,输入频率由晶振提供,级联输出频率为:(2.1)1054103210 kkkf 式中 K1、K2、K3、K4、K5 为 BCD 乘法器置数。根据置数不同,可以输出不同的频率的计数脉冲,再经计数器计数对存储器寻址,频率控制寻址频率,从而控制输出波形的频率。此方案硬件接线复杂,频带不易拓宽。方案二:运用 FPGA 构成的相位累加器对 EEPROM 进行寻址。由单片机控制步长即可控制寻址频率,而相移也可方便地由单片机控制相位累加
36、器的初始值来设定。比较两种方案,方案二设计简单,易于单片机控制,故选方案二。2.2 模块结构划分本次设计所研究的就是对所需要的某种波形输出对应的数字信号,在通过 D/A转换器和单片机部分的转换输出一组连续变化的 05V 的电压脉冲值。在通过显示部分显示其频率,和波形。在设计时分块来做,按照波形设定,D/A 转换,51 单片机连接,键盘控制和显示五个模块的设计。最后通过联调仿真,做出电路板成品。从而简化人机交互的问题,具体设计模块如图四川理工学院本科毕业( 设计)论文-10-模块介绍:1.波形设定:对任意波形的手动设定2.D/A 转换:主要选用 DAC0832 来把数字信号转换为模拟信号,在送入
37、单片机进行处理。3.单片机部分:最小系统4.键盘:用按键来控制输出波形的种类和数值的输入5.显示部分:采用 LCD 显示波形的频率系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。考虑单片机部分(有最小系统,D/A 转换,键盘接口,扩展部分显示等部分)的功耗大小,机器体积小,价格便宜,耗电少,频率适中,便于携带。2.2.1 DDS 的基本原理直接数字频率合成器(DDFS)的基本原理:DDS 是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在 EPROM 中构成一个正弦查询表,通过查表法产生波形 10。它是由参考时钟、相位累加器、正弦查询表和
38、DA 转换器组成,如图 2.2所示。图 2.2 直接数字频率合成器原理框图相位累加器由 N 位加法器与 N 位累加寄存器级联构成,其原理框图如图 2.3 所示。每来一个时钟脉冲 Fc,N 位加法器将频率控制数据 K 与累加寄存器输出的累加相位数据相加,把相加后的结果 Y 送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据 K 相加;另一方面以相加后的结果形成正弦查询表的地址,取出表王进:基于 DDS 信号发生器的电路设计-11-中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/
39、相位转换电路(即图 2.1 中的波形存储器)。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到 D/A 转换器,D/A 转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。图 2.3 相位累加器原理框图由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是 DDS 输出的信号频率。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同
40、,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。2.2.2 FPGA 实现的直接数字频率合成器本设计基于 DDS 的基本原理,利用 Altera 公司的 FPGA 芯片 FLEX10 系列器件设法将波形采样点的值依次通过数模转换器(MDAC)转换成模拟量输出,可达到预期的目的,具有较高的性价比。其基本环节由计数器(Counter)、只读存储器(EPROM)、数模转换器
41、(MDAC)和滤波器等组成(同 DDS 原理) 11。具体方案如下:累加器由加法器和 D 触发器级联组成。在时钟脉冲 fc的控制下,对输入频率控制字 K 进行累加,累加满量时产生溢出。相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在02 范围内起变化。相位累加器位数为 N,最大输出为 2 -1,对应于 2 的相位,累 N加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经 D/A 转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。整个 DDS 电路的电路结构如图 2.4 所示。四川理工学院本科毕业( 设计)论文-12-图 2.4 FPGA 实
42、现的 DDS 原理框图2.2.3 移相原理所谓移相是指两路同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为相位的移动。两路信号的相位不同,便存在相位差,简称相差。若我们将一个信号周期看作是 360,则相差的范围就在 0360之间。例如在图2.5 中,以 A 信号为参考,B 信号相对于 A 信号作滞后移相 ,则称 A 超前 B,或称 B 滞后 A。图 2.5 移相示意图若输出信号 A 和 B 的相位差可调,须保证两路信号同步,故应满足以下条件:(1)输入到两个频率合成器芯片的参考时钟之间的相位偏移要足够小。这个相移会导致输出信号之间产生与之成比例的相移。因此在布线时必
43、须精心设计,使从 FPGA 输出参考时钟的引脚到两个频率合成器芯片的参考时钟输入引脚的引线距离相等,以保证系统时钟同步。另外,参考时钟上升下降沿的抖动应尽可能小,并且时间应尽可能短,因为不同频率合成器芯片输入电路的触发电压不同,因此参考时钟的上升下降沿时间太长会增加输出信号的相位误差。(2)频率控制字送到频率合成器的数据缓冲区后,还必须通过一个更新时钟才能将数据缓冲区中的数据送到相位累加器,成为有效数据后进行输出。频率合成器有两种更新王进:基于 DDS 信号发生器的电路设计-13-时钟产生方式,一种由 FPGA 内部自动产生,另一种由外部提供。要使两路输出信号同步,必须使用外部 IO 更新时钟
44、,同时必须使参考时钟信号(REFCLK)与外部 IO 更新时钟(UPDATE CLK)上升沿之间满足图 2.6 所示的时序关系。图 2.6 参考时钟与更新时钟之间的时序关系图更新时钟的上升沿必须在参考时钟的下降沿 0.3ns 之后与下一个下降沿 1.5ns 之前之间(图 2.6 中深色区间为有效区域)产生,这样可以使两个频率合成器工作在相同的系统时钟(参考时钟乘以一定倍数)下,且它们的系统时钟脉冲数相差不能超过 1 个脉冲。(3)在第一次传送数据之前必须先使频率合成器复位,以保证其输出的相位是可知的。因为 DDS 芯片的相位输出是连续的,所示复位信号可使两个频率合成器的相位累加器复位到 COS
45、(0)状态。新的数据送到相位累加器时,它们之间的相位关系可以得到保持,也可以通过相位控制字来调节两片频率合成器之间的相位差。四川理工学院本科毕业( 设计)论文-14-第三章电路设计3.1 FPGA 设计 DDS 电路的具体实现FPGA 设计的 DDS 系统主要由相位累加器及相位/幅度转换电路组成。根据设计的具体要求,还设计了一个系统控制电路,这一电路可灵活设计,以突出 FPGA 的优点所在。另外采用 VHDL 硬件描述语言实现整个 DDS 电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同 FPGA 器件之间实现移植。 3.1.1 相位累加器部分在用 FPGA 设计 DDS
46、电路的时候,相位累加器是决定 DDS 电路性能的一个关键部分。小的累加器可以利用 FLEX 器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的 LAB(逻辑阵列块)和 LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。综合考虑后,相位累加器采用流水线技术来实现,这样能保证较高的资源
47、利用率,又能提高系统的性能和速度。设计中整个系统只加入了一级流水线来提高速度。为了进一步提高速度,在设计相位累加器模块和加法器模块时并没有采用 FPGA 单元库中1632 位加法器,尽管它们可以很容易地实现高达 32 位的相位累加器,但当工作频率较高时,它们较大的延时不能满足速度要求,故不可取。因此,具体实现时分别采用了4 个和 8 个 4 位累加器,以流水线的方式实现 16 位累加器和 32 位加法器。采用流水线技术可以大大提高系统的工作速度。3.1.2 相位/幅度转换电路相位/幅度转换电路是 DDS 电路中的另一个关键部分。该电路通常采用 ROM 结构,相位累加器的输出是一种数字式锯齿波,
48、通过取它的若干位作为 ROM 的地址输入,而后通过查表和运算,ROM 就能输出所需波形的量化数据。在 FPGA(针对 Altera 公司的器件)中,ROM 一般由 EAB 实现,且 ROM 表的尺寸随地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提下,如何有效利用 FPGA 的有限资源,成为相位/幅度转换电路中最关键的一点。在设计时可充分利用信号周期内的对称性和算术关系来减少 EAB 的开销。王进:基于 DDS 信号发生器的电路设计-15-相位/幅度转换电路中的主要问题在于 ROM 的大小。由于本设计只需要输出正弦波,故考虑了以下的优化方式:正弦波信号对于 x= 直线成奇对称,
49、基于此可以将 ROM 表减至原来的 1/2,再利用左半周期内,波形对于点(/2,0)成偶对称,进一步将 ROM 表减至最初的 1/4,因此通过一个正弦码表的前 1/4 周期就可以变换得到的正弦的整个周期码表,这样就节省了将近 3/4 的资源 19。3.1.3 波形表生成由于 DDS 中波形表存储器是采用 FPGA 芯片内部的 LPM_ROM 实现,故波形表可以 VHDL编程的.mif 文件形式存入 LPM_ROM 中,具体实现见附录 2。3.1.4 D/A 转换电路因为要产生两路具有相位差的正弦波,所以必须采用两片 D/A 转换芯片将两路信号分别转换成模拟量输出。在此选用转换速率为 500ns 的芯片 AD7521 作为数字量到模拟量的转换器件。3.1.5 系统控制电路系统控制电路主要是根据是否需要相位调制及频率调制,系统时钟是否需要分频得到所需的基准时钟,频率码的输入方式是串行、并行还是微机接口方式,如何控制输出等具体要求而设计的,其功能实现见图 2.4。3.2 单片机与 FPGA 的接口设计在功能上,单片机与 FPGA 有很强的互补性。单片机具有性价比高、功能灵活、易于人机对话、良好的数据处理能力等特点;FPGA 则具有高速、高可靠性以及开发便捷、