基于fpga的任意信号发生器系统设计内容摘要:
辨率较差。 FPGA器件通过 频率合成的方法做成的信号发生器。 由于合成信号发生器具有较高的频率稳定度,很容易实现数字显示频率,因此,频率分辨率高和频率的置定重复性好,以及能方便实现频率的程序控制是合成信号发生 8 器的重要特点。 由此可见通过设计频率合成器 是整个信号发生器的最为关键的部分。 根据上文提到的课题要求,特列出以下论证方案,为了显出该设计的优 越性我们特意将以下三个频率合成方案进行比较: 方案一:直接式频率合成,这是最早的合成方法,它是利用混频器、倍频器、分频器及滤波器等 模拟电路 来完成频率的加、减、乘、除四种运算 ,然后通过单片机等 MCU 控制实现控制。 如 采用单片机函数发生器(如 8038),可同时产生正弦波、脉冲波,方法简单易行;用 D/A转换器的输出来改变调节电压,也可以实现数控调整频率, 直接式频率合成器的优点是频率变换速度快、相位噪声小,但它的杂波大、硬件设备复杂、体积大、步长难以满足要求,且频率稳定度不太高。 方案二:锁相式频率合成(简称锁相频率 合成),也叫间接式频率合成,它利用一个或多个锁相环来完成频率变换任务 , 采用锁相式频率合成器,利用锁相环,将压控 震 荡器( VCO)的输出频率锁定在所需频率上。 这种频率合成器已得到了广泛的应用,已有许多频率合成器专用锁相集成电路,给制作体积小、性能好、价格便宜的频率合成器带来了极大的方便 , 但难以达到输出频率覆盖系数的要求,且电路复杂,不适于产生低频信号。 方案三:直接数字式频率合成( Direct Digital Synthesis),它利用查阅 ROM内的 所存储的 任意信号波形 的取样值, 再 通过数模变换来产生模拟信号, 改变查表速度就可以变换 频率。 这种方法也称为波形合成法。 虽然这种合成器体积小、功耗低,而且可以几乎是实时地以连续相位转换频率,频率分辨力 高。 采用直接数字频率合成器( DDS),可用 FPGA 硬件或软件实现 , 即用累加器按频率要求相对应的相位增量进行累加,再以累加相位值作为地址码,取 出 存放于 ROM 中的波形数据,经 D/A转换、滤波即得所需波形。 这种 方法简单,频率稳定度高,易于程控。 通过上面的比较,我们选择方案三来完成本系统的整体设计。 系统的性能要求 基于 FPGA 的任意 信号发生器由 单片机 、接口电路、 FPGA、 低通滤波器 、 D/A 转换等模块 组成, 其中主要为用 FPGA 实现直接数字频率合成器 (DDS)的功能及单片机的控制功能。 其 系统 组成框图如图 21 所示。 用 FPGA 作为基本波形产生的核心,通过查找表的方式产生正弦波 、 方波 、 三角波 和锯齿波等 数据,然后通过 10 位高速 9 D/A 芯片产生连续波形;同时我们将若干单片机外围电路芯片的功能以软件形式集成到了 FPGA 内部,这样既充分利用了 FPGA 的内部资源, 又减少了单片机及 FPGA与外围的电路的接口,简化了电路结构。 我们以 STC89C51 单片机为基本核心构成控制单元,完成对波形的各个参 量(包括幅度控制字和频率控制字)的改变、显示、功能选择的控制实现。 波形数据表中的波形数据经过 D/A 芯片完成数模转换,再由DAC0832 内部的电阻分压网络实现波形幅度的控制,进而经过滤波以及稳幅电路后输出,得到具有一定带负载能力的所需波形。 系统的性能要求: 能产生 方波、三角波、正弦波 和锯齿波 等波形的任意信号 ;波形 频率范围 20Hz~ 20KHZ,步进 20Hz; 能显示出波形的频率和 相位。 系统实现 原理 本设计 采用直接数字频率合成技术设 计任意 信号 发生器,可以输出频率、相位可调的 任意信号波形。 该发生器具有频率稳定度高及调频、调相迅速的优点。 由于本系统主要由单片机控制 DDS 实现,故在此着重介绍 DDS 的原理及其 FPGA 实现方法。 DDS 基本原理 直接数字合成技术 (Direet Digital Synthesis,简称 DDS)是建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经 D/ A转换器转换为模拟量,将保存的波形重新合成出来。 DDS基本 结构 原理图如图 22 所示。 单 片 机 波形 数据表 波形存储 显示 键盘控制 波形产生 频率控制 幅度控制 输出级 图 21:系统总体 结构框 图 10 图 22 DDS 结构原理图 DDS的工作原理是基于相位和幅度的对应关系,通过改变频率控制字来改变相位累加器的累加速度,然后在固定时钟的控制下取样,取样得到的相位值通过相位幅度转换得到与相位值对应的幅度序列,幅度序列通过数模转换得到模拟形式量化的正弦波输出。 由图 22可以 看出, DDS系统的参考时钟源通常是一个具有高稳定性的晶体振荡器,整个系统的各个组成部分提供同步时钟。 频率字 (FSW)实际上是相位增量值 (二进制编码 ),作为相位累加器的累加值。 相位累加器在每一个参考时钟脉冲输入时,累加一次频率字,其输出相应增加一个 步长的相位增量。 由于相位累加器的输出连接在波形存储器 (ROM)的地址线上,因此其输出的改变就相当于查表。 这样就可把存储在波形存储器内的波形抽样值 (二进制编码 )经查找表查出。 ROM的输出送到 D/ A转换器,经 D/ A转换器转换成模拟量输出。 FPGA 实现的直接数字频率合成器 本设计基于 DDS 的 基本原理 ,利用 Altera 公司的 FPGA 芯片 FLEX10 系列器件 设法将波形采样点的值依次通过数模转换器( MDAC)转换成模拟量输出 ,可达到预期的目的,具有较高的性价比。 其基本环节由计数器( Counter)、只读存 储器( EPROM)、数模转换器( MDAC)和滤波器等组成。 具体方案如下 :累加器由加法器和 D触发器级联组成。 在时钟脉冲 fc 的控制下,对输入频率控制字 K 进行累加,累加满量时产生溢出。 相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在 0~ 2 范围内起变化。 相位累加器位数为 N,最大输出为 2N 1,对应于 2 的相位,累加一次就输出一个相应的相位码,通过查表得到 波形 信号 的幅度,然后经 D/A转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的 波形 信号。 整个 DDS电路的结构如图 23所示。 11 图 23 FPGA实现的 DDS结构 图 在这个系统中,较为困难的部分是由 FPGA 实现频率合成器产生任意信号波形的功能的实现。 因为要求产生能产生任意信号波,频率和相位可调,且都要以数字的形式进行控制和处理,所以在设计中将分别对部分电路提出几种实现方案并进行分析和论证。 MCS51单片机和 FPGA 器件简单介绍 单片机的全称是单片微型计算机 ( Single Chip Microputer),它把组成计算机的主要功能部件:中央处理器( CPU)、数据存储器( RAM)、程序存储器( ROM、EPROM、 E2PROM 或 FLASH)、定时 /计数器和各种输入 /输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。 MCS51系列单片机是美国 Intel 公司于 1980 年推出的一种 8位单片机系列。 该系列的基本型产品是 805 8031 和 8751。 这 3 种产品之间的区别只是在片内程序存储器方面。 8051 的片内程序存储器( ROM)是掩膜型的,即在制 造芯片时已将应用程序固化进去; 8031 片内没有程序存储器; 8751 内部包含有用作程序存储器的4KB的 EPROM。 MCS51系列单片机优异的性能 /价格比使得它从面世以来就获得用户的认可。 Intel 公司把这种单片机的内核,即 8051 内核,以出售或互换专利的方式授权给一些公司,如 Atmel、 Philips、 ADI 等。 这些公司的这类产品也被称为 8051兼容芯片,这些 8051 兼容芯片在原来的基础上增加了许多特性。 80C51 是 INTEL 公司 MCS51 系列单片机中最基本的产品,它采用 INTEL 公司可靠的 CHMOS工 艺技术制造的高性能 8位单片机,属于标准的 MCS51的 HCMOS产品。 12 它结合了 HMOS的高速和高密度技术及 CHMOS的低功耗特征,它继承和扩展了 MCS48单片机的体系结构和指令系统。 8051 是 MCS51 系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、 21 个专用控制寄存器、 4kB的程序存储器、 128 字节的数据存储器、 4 组 8 位的并行口、两个 16位的可编程定时 /计数器、一个全双工的串行口以及布尔处理器。 80C51 内置中 央处理单元、 128字节内部数据存储器 RAM、 32 个双向输入 /输出 (I/O)口、 2个 16位定时 /计数器和 5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 此外, 80C51 还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。 在空闲模式下冻结 CPU而 RAM 定时器、串行口和中断系统维持其功能。 掉电模式下,保存 RAM 数据,时钟振荡停止,同时停止芯片内其它功能。 80C51 有 PDIP(40pin)和 PLCC(44pin)两种封装形式。 其引脚结构图如图 24所示: 图 24 51单片机 引 脚 图 3 系统总体 设计 FPGA 设计 DDS 电路的具体实现 早期的 DDS 系统使用分离的数字器件 连接 ,随着整个电路系统运行频率的升高,采用分离器件构建的 DDS 电路有其自身无法克服的缺点,主要表现在电磁兼容和系统工作频率上。 后来出现的专用 DDS 芯片极大的推动了 DDS 技术的发展,但专用 DDS芯片价格昂贵,且无法实现任意波形输出,近来, CPLD 及 FPGA 的发展为实现 DDS提供了更好的技术手段。 FPGA 的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。 而且它的时 钟频率已可达到几百兆赫兹,加上它的灵活性和高可靠性,非常适合用于实现波形发生器的数 13 字电路部分。 用 FPGA 设计 DDS 电路比采用专用 DDS 芯片更为灵活。 因为,只要改变 FPGA 中的 ROM 数据, DDS 就可以产生任意波形,因而具有相当大的灵活性。 相比之下, FPGA的功能完全取决于设计需求,可以复杂也可以简单,而且 FPGA 芯片还支持在系统现场升级,虽然在精度和速度上略有不足,但也能基本满足绝大多数系统的使用要求。 另外,将 DDS设计嵌入到 FPGA 芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者 的很多倍。 因此,采用 FPGA 来设计 DDS 系统具有很高的性价比。 用 FPG A 可 以非常方便的实现 DDS 系统的数字电路环节,且可现场编程进行电路的修改。 在 DDS 系统中, FPGA 的主要完成 : (1)保存频率字 ; (2)保存相位字 ; (3)构成相位累加器,产生波形 RAM 的地址 ; (4)形成波形 RAM。 FPGA 设计流程 任意波形发生器的 FPGA的电路设计主要是用 FPGA设计 DDS的核心部分即相位累加器、相位加法器、相位寄存器、控制字输入寄存器、波形查找表、任意波形数据寄存器。 任意波形发生器的 FPGA的电路组成框图 如图 31所示。 图 31 FPGA电路组成框图 该系统可实现常规固定波形输出和任意波形输出。 其中相位累加器是一个带有累加功能的 32位加法器,它以设定的频率控制字 k作为步长来进行加法运算,当其和满时清零,并进行重新运算。 相位寄存器是一个 10位寄存器,它接收单片机送来的频率和相位控制字数据并进行寄存,当下一个时钟到来时,输入寄存的数据,对输出波形的频率和相位进行控制。 波形查找表 ROM及 RAM是 DDS的关键部分,设计时首先需对时域波形进行。基于fpga的任意信号发生器系统设计
相关推荐
988 年, Milstd454 规定所有为美国国防部设计的 ASIC 产品必须采用 VHDL 来进行描述。 1993 年,经过几年的修订 和扩展,IEEE 公布了 VHDL 的新版本 IEEE1164。 1996 年, 成为 VHDL 的综合标准。 1995 年,我国国家技术监督局制定的《 CAD 通用技术规范》推荐 VHDL 作为我国电子设计自动化硬件描述语言的国家标准。 自此, VHDL
内占据首位。 但是由于直流电动机本身有机械换向器,给直流调速系统造成一些固有的、难于解决的问题。 随着交流传动电动机调速的理论问题的突破 和调速装置 (主要指变频器 )性能的完善,交流电动机调速系统的性能差的缺点已经得到了克服,目前,交流调速系统的性能已经可以和直流系统相媲美,甚至可以超过直流系统。 由于交流调速不断显示其本身的优越性和巨大的社会效益,使变频器具有越来越旺盛的生命力。
发了整套工具 (包括 SOPC Builder, NiosⅡ集成设计环境和 QuartusⅡ开发软件 )帮助用户加速硬件和软件的开发,实现完整的基于可编程逻辑的SOPC 解决方案 8 Quartus II 是目前进行 Altera 的 CPLD、 FPGA 和结构化 ASIC 设计的最佳软件, 具有强的的功能及良好的易用性。 相比较传统的 Max+plusII 软件和早期版本的 Quarters
data_high_3 状态,将数据线拉高,等待鼠标返回应答信号。 若 PS/2 时钟信号下降沿来临时,数据线仍未变为高电平,则进入m2_error_no_ack 状态,此时握手失败,系统将保持 m2_error_no_ack 状态直到下一次复位,否则进入 m2_await_response 状态接收应答字,接收完成进入 m2_verify 数据校验,然后进入 m2_use 状态,锁存输出数据
)直到门级电路逐层进行描述。 另外,高层次的行为描述可以与底层次的寄存器描述和结构描述混合使用。 采用 VHDL 语言设计硬件电路时,当门级或门级以上层次的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺。 在工艺更新时无须 原设计程序,只需改变相应的映射工具。 由此可见,修改电路和修改工艺相互之间不会产生影响。 作为 IEEE 标准的 VHDL 语言,语法严格,设计成果便于复用和交流
中的 t个或更少个错误的任意组合,称之为能纠正t个错误的二元本原 BCH码。 BCH码是循环码的一类,因此,它具有分组码、循环码的一切性质。 但它明确界定了码长,校验位数目,码的最小距离之间的关系。 可以看出它的性能较好,在同样的编码效率下,纠错能力均较强,故可在无线通信系统中获得广泛应用。 根据 BCH码的定义,若 a是 ( )中的本原元,又码长为 ,能纠正 t个错误的二元