基于FPGA的直接数字频率合成器设计

合集下载

基于FPGA的直接数字频率合成器

基于FPGA的直接数字频率合成器

攀枝花学院专科毕业设计(论文)摘要摘要技术的实现依赖于高速、高性能的数字器件,选用现场可编程器件FPGA作为目标器件,可利用其高速、高性能及可重构性,根据需要方便地实现各种比较复杂的调频、调相和调幅功能。

本设计给出了基于FPGA芯片的直接数字频率合成器(DDS)的设计方法。

因为微电子技术的不断发展,开发者能很容易地将整个应用系统实现在一片FPGA 中,从而实现片上系统(SoC)。

因此,用FPGA实现DDS就有了更广泛的现实意义,并在现代通信系统中具有良好的实用性。

本设计在介绍DDS工作原理的基础上,运用EDA技术,使用FPGA来实现一个DDS,频率控制字和相位控制字由凌阳单片机来完成。

关键词:直接数字频率合成器,现场可编程门阵列(FPGA),相位累加器,数/模转换器,凌阳单片机I攀枝花学院专科毕业设计(论文)ABSTRACTABSTRACTThe realization of technology depends on the high-speed , high-performance digital device, select to use on-the-spot programming device FPGA as the goal device, it can utilize its high speed , high performance and can reconstructing,it last various complicated frequency modulation, last looks and amplitude modulation function according to need conveniently. Originally design the design method to provide direct digital frequency synthesizer (DDS ) based on FPGA chip. Because of the constant development of the microelectric technique, the developer can employ the system to realize in a slice of FPGA entirely very much easily , thus it is systematic (SoC ) to realize on slice. So realize with FPGA DDS have extensive realistic meaning , and have good practicability in the modern communication systems.Originally design on the basis of introduction DDS operation principle, use EDA technology , use FPGA to realize one DDS, frequency control word and phase place control word finish by Ling Yang one-chip computer.Keywords:Direct Digital Frequency Synthesizer, FPGA, Phase Addition, DAC,SPCE061A.II目录摘要 (Ⅰ)ABSTRACT (Ⅱ)1绪论 (1)1.1课题背景 (1)1.2发展方向 (1)2方案设计与论证 (2)2.1方案设计 (2)2.2方案论证 (2)3 模组简介 (3)3.1 凌阳单片机介绍 (3)3.1 .1凌阳单片机61板简介 (3)3.1.2 SPCE061A单片机简介 (4)3.2.现场可编程门阵列(FPGA)简介 (7)3.3 VHDL简介 (8)3.3.1概述 (8)3.3.2 HDL的种类 (9)3.3.3 VHDL语言开发环境和硬件平台 (10)3.3.4 VHDL 程序结构 (10)3.4DAC 0832及应用 (11)3.4.1 DAC的内部结构 (11)3.4.2 DAC 0832的基本工作方式 (12)3.5滤波电路 (14)3.5.1、初步定义 (14)3.5.2、有源滤波电路的分类 (14)3.5.3、一阶有源滤波电路 (15)3.5.4、二阶有源滤波电路 (16)3.6 DSP简介 (16)4 DDS的工作原理 (18)4.1 DDS基本原理 (18)4.2 DDS的FPGA实现设计 (18)5 系统软件设计 (21)5.1系统控制部分 (21)5.2 按键控制部份 (25)5.3调试 (26)6 结论 (28)参考文献 (29)附录:部分元器件清单 (30)致谢 (31)1 绪论1.1课题背景1971年,美国学者J.Tierncy、C.M.Reader和B..Gold提出了以全数字技术从相位概念出发直接合成所需波形的一种新的频率合成原理。

基于FPGA平台的数字频率合成器的设计和实现

基于FPGA平台的数字频率合成器的设计和实现

基于FPGA平台的数字频率合成器的设计和实现数字频率合成技术是一种实现高精度频率合成的方法,具有广泛应用价值。

在数字频率合成中,FPGA是一种非常重要的平台,能够实现高速、高精度、可编程的数字频率合成。

本文将介绍基于FPGA平台的数字频率合成器的设计和实现。

一、FPGA简介FPGA是一种可以编程的数字集成电路,具有非常灵活的可编程性。

FPGA中包含了大量的逻辑单元、存储单元和输入输出接口,可以通过编程实现各种数字电路功能。

FPGA具有高速、高度集成、低功耗等优点,在数字电路的设计和实现中得到了广泛应用。

二、数字频率合成的基本原理数字频率合成是通过一组特定的频率合成器和相位加法器来合成所需要的频率。

首先,将参考频率和相位加法器连接起来,形成一个频率合成器。

然后,将输出频率与参考频率的比例进行数字控制,并将输出频率的相位与参考频率相位进行加法计算,最终输出要求的频率。

三、数字频率合成器的设计1. 参考频率生成模块参考频率生成模块是数字频率合成器的核心模块。

参考频率一般使用晶振作为输入信号,并通过频率除和锁相环等技术来产生高精度的参考频率。

在FPGA中,可以使用PLL、DCM等IP核来实现参考频率的生成。

2. 分频器分频器是将参考频率转化为所需的输出频率的模块,一般使用计数器实现。

在FPGA中,可以使用计数器IP核或使用Verilog等HDL语言来实现。

3. 相位加法器相位加法器用于将输出频率的相位和参考频率的相位相加。

在FPGA中,可以使用LUT(查找表)实现相位加法器。

4. 控制单元控制单元用于控制数字频率合成器的各个模块,并实现与外部设备的接口。

在FPGA中,可以使用微处理器或FPGA内部逻辑来实现控制单元。

四、数字频率合成器的实现数字频率合成器的实现需要进行数字电路设计和FPGA编程。

一般来说,可以采用Verilog或VHDL等硬件描述语言进行FPGA编程,实现各个模块的功能。

数字电路设计过程中,需要考虑到功耗、面积和时序等问题,同时需要进行仿真和验证。

基于FPGA的直接数字频率合成技术设计

基于FPGA的直接数字频率合成技术设计

基于FPGA的直接数字频率合成技术设计
以下是关于基于FPGA的直接数字频率合成技术设计,希望内容对您有帮助,感谢您得阅读。

实践证明:用FPGA设计DDS电路较采用专用DDS芯片更为灵活。

因为,只要改变FPGA中的ROM数据,DDS就可以产生任意波形,因而具有相当大的灵活性。

相比之下:FPGA的功能完全取决于设计需求,可以复杂也可以简单,而且FPGA芯片还支持在系统现场升级,虽然在精度和速度上略有不足,但也能基本满足绝大多数系统的使用要求。

另外,将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。

因此,采用FPGA来设计DDS系统具有很高的性价比。

·。

基于FPGA的直接数字频率合成器的设计

基于FPGA的直接数字频率合成器的设计

第27卷第6期增刊 2006年6月仪 器 仪 表 学 报Chinese Journal of Scientific InstrumentVol.27No.6J une.2006 基于FPGA 的直接数字频率合成器的设计董国伟 李秋明 赵强 顾德英 汪晋宽(东北大学秦皇岛分校 秦皇岛 066004)摘 要 本文介绍了直接数字频率合成器(DDS )的基本组成及设计原理,给出了基于FP GA 的具体设计方案及编程实现方法。

仿真结果表明,该设计简单合理,使用灵活方便,具有良好的性价比。

关键词 直接数字频率合成器(DDS )FP GA 性价比Design of direct digital frequency synthesizer based on FPGADong Guowei Li Qiuming Zhao Qiang Gu Deying Wang Jinkuan(N ortheastern Universit y at Qinhuang dao ,Qinhuang dao 066004,China )Abstract The struct ure and principles of Direct Digital Frequency Synt hesizer is introduced.Also a detailed design and t he met hod of program realization based on FP GA are introduced.The result of simulation shows t hat t he design is simple and feasible ,convenient and flexible.Ratio for quality to price is high.K ey w ords direct digital frequency synt hesizer (DDS ) FP GA quality to price1 引 言直接数字频率合成器(简称DDS )是一种将直接合成所需波形的新的频率合成器,它具有频率分辨率高、相对带宽宽、转换速度快及相位噪声低的优点。

最新-基于FPGA的直接数字频率合成器的设计和实现 精品

最新-基于FPGA的直接数字频率合成器的设计和实现 精品

基于FPGA的直接数字频率合成器的设计和实现摘要介绍了利用的器件150实现直接数字频率合成器的工作原理、设计思想、电路结构和改进优化方法。

关键词直接数字频率合成现场可编程门阵列直接数字频率合成,即,一般简称是从相位概念出发直接合成所需要波形的一种新的频率合成技术。

目前各大芯片制造厂商都相继推出采用先进工艺生产的高性能和多功能的芯片其中应用较为广泛的是公司的985系列,为电路设计者提供了多种选择。

然而在某些场合,专用的芯片在控制方式、置频速率等方面与系统的要求差距很大,这时如果用高性能的器件设计符合自己需要的电路就是一个很好的解决方法。

1是公司着眼于通信、音频处理及类似场合的应用而推出的器件芯片系列,总的来看将会逐步取代10系列,成为首选的中规模器件产品。

它具有如下特点11采用查找表和嵌入式阵列块相结合的结构,特别适用于实现复杂逻辑功能存储器功能,例如通信中应用的数字信号处理、多通道数据处理、数据传递和微控制等。

2典型门数为1万到10万门,有多达49152位的每个有4096位。

3器件内核采用25电压,功耗低,能够提供高达250的双向功能,完全支持33和66的局部总线标准。

4具有快速连续式延时可预测的快速通道互连;具有实现快速加法器、计数器、乘法器和比较器等算术功能的专用进位链和实现高速多扇入逻辑功能的专用级连接。

150具有典型门数50000门,逻辑单元2880个,嵌入系统块10个,完全符合单片实现电路的要求。

因此采用它设计电路,设计工具为的下一代设计工具软件。

范文先生网收集整理1电路工作原理图1所示是一个基于的电路的工作原理框图。

的工作原理是以数控振荡器的方式产生频率、相位可控制的正弦波。

电路一般包括基准时钟、频率累加器、相位累加器、幅度相位转换电路、转换器和低通滤波器。

基于FPGA的直接数字频率合成器

基于FPGA的直接数字频率合成器

基于FPGA的直接数字频率合成器
李运升
【期刊名称】《电子制作》
【年(卷),期】2014(0)6
【摘要】在设计信号发生器时,采用通用数字电路元件设计电子线路的方法具有很多的缺点,比如移植性差、周期长和成本高等。

在本文中,运用了EDA技术对电路进行了设计,所使用的信号发生器输出信号的频率分布在20Hz~20KHz之间,幅度的峰-峰值范围分布在0.3V~5V的范围之间,而两路信号之间的相位差则分布在0°~359°之间。

本文主要研究分析了基于FPGA的直接数字频率合成器(DDS)的性能。

运用设置多组累加器初值(K1)和初始相位值(K2),就能够获得调节两路相同频率在正弦信号条件下的相位差,从而得出相对应的频率和幅值、相位的具有一定可调性的正弦波信号,然后就可利用MAX+plusI 进行演示,从而得出模拟的结果。

【总页数】2页(P14-14,4)
【作者】李运升
【作者单位】胜利石油工程有限公司钻井工艺研究院随钻测控技术研究所山东东营 257017
【正文语种】中文
【相关文献】
1.基于 Parallel -CORDIC 的高精度高速度直接数字频率合成器的 FPGA 实现 [J],
2.基于FPGA的直接数字频率合成器设计 [J], 胡鹏飞;沈力;韩锋
3.基于FPGA的直接数字频率合成器的设计 [J], 平淞元;
4.基于FPGA的直接数字频率合成器的设计 [J], 平淞元
5.基于FPGA的直接数字频率合成器 [J], 杨雪;陈雪勇
因版权原因,仅展示原文概要,查看原文内容请购买。

《基于FPGA的PLL+DDS的频率合成器》范文

《基于FPGA的PLL+DDS的频率合成器》范文

《基于FPGA的PLL+DDS的频率合成器》篇一一、引言随着电子技术的不断发展,频率合成器在通信、雷达、测距等众多领域扮演着越来越重要的角色。

为了满足日益增长的高频、高精度、高稳定性的需求,基于FPGA(现场可编程门阵列)的PLL(锁相环)+DDS(直接数字频率合成器)的频率合成器逐渐成为研究热点。

本文将详细介绍基于FPGA的PLL+DDS的频率合成器的设计原理、实现方法及其应用优势。

二、设计原理1. PLL原理PLL是一种闭环控制系统,通过比较输入信号与内部产生的参考信号的相位差,自动调整输出信号的相位和频率,使其与输入信号保持同步。

在频率合成器中,PLL用于提供稳定的参考频率。

2. DDS原理DDS是一种数字信号处理方法,通过将所需的信号进行数学运算后存储在数字存储器中,再由数模转换器(DAC)转换成实际模拟信号输出。

在频率合成器中,DDS主要用于实现宽范围的频率变化。

3. FPGA的作用FPGA具有高度的可编程性和并行处理能力,可以实现对PLL和DDS的控制和优化。

通过FPGA,可以实现对频率合成器的快速配置和灵活调整,以满足不同应用的需求。

三、实现方法1. 硬件设计基于FPGA的PLL+DDS的频率合成器硬件设计主要包括FPGA芯片、PLL模块、DDS模块、数模转换器(DAC)等部分。

其中,FPGA芯片负责整个系统的控制和数据处理;PLL模块提供稳定的参考频率;DDS模块实现宽范围的频率变化;DAC将数字信号转换成实际模拟信号输出。

2. 软件设计软件设计主要包括FPGA的编程和控制逻辑设计。

通过编写FPGA程序,实现对PLL和DDS的控制和优化,以及与外部设备的通信和数据传输。

此外,还需要进行算法设计和仿真验证,以确保系统的稳定性和可靠性。

四、应用优势1. 高精度和高稳定性基于FPGA的PLL+DDS的频率合成器具有高精度和高稳定性的特点,可以满足各种高精度应用的需求。

通过PLL和DDS 的结合,可以实现精确的频率控制和调整,同时通过FPGA的控制和优化,可以进一步提高系统的稳定性和可靠性。

基于FPGA的DDS直接数字频率合成器设计与实现

基于FPGA的DDS直接数字频率合成器设计与实现

图 5
期只采样 2点,难 以保证输出精度 。为了保证输 出精度 ,规 定最低每 周期采样 8 点,此时 K 2/ = 2 ,则 :f = = 8 18 … K×
f/ 1 . 2 H c2= 6 5 M z 5
( )最 小步长的正弦波 ( 6 1 图 )
频 率 控 制 字 : 00 0 0 0 00001 相 位 控 制 字 : 00 0 0 0 00000
r — V v\ 1 / 厂 八 八八 / / ^厂 r u 厂 九 \ ^\ 、
图7
仿 真测得正弦波频率为:2 2 . 8 8 7 s2 .6 s /( 0 3 76 u 一 0 2 u )≈ 1. 4 3 H ,与计算参 数相 近,误差来 自于仿真测量时的显 5 6 1M z
2 波形存储 .
本设计 中波形存储 为连续存储 ,对正 弦波进行采样 利用 O a ts制造 一个 R M ,进 行 查值 操 作 , 波 形 的 存 储 方 法 ur u O表 在 上可 以有两种 方案 ,一个是对正弦波从 0到 2 进行采样 ,在 兀 这 次 设计 和 以上 的 参 数 选 取 上 均 基 于 这 种 方 案 ,这 个 方 案 的
示 误差 。
正弦波幅值的获得 ,可通过 C语言编程得到,将 C程序
所 得 结 果 导 出 到一 个 文 件 中 便 可 得 到 正 弦波 幅 值 。 3 系 统 设计 . 由波 形 存 储 模 式 ,设 计 系统 模 型 框 图 4 :
( )最 大 步 长 的 正 弦波 ( 7 2 图 ) 频 率 控 制 字 : 0 10 0 0 00000 相 位 控 制 字 :0 0 0 0 0 0 0 0 00
优 点 是 实现 简 单 ,思 路 清 晰 ;另一 种 方 案 是 对 正 弦波 从 0到
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1JANGSU UNIVERSITY OF TECHNOLOGY FPGA技术实验报告基于FPGA的直接数字频率合成器设计学院:电气信息工程学院专业:电子信息工程班级:姓名:学号:指导教师:戴霞娟、陈海忠时间: 2015.9.241目录绪论.......................................................................................... 错误!未定义书签。

一、背景与意义 (2)二、设计要求与整体设计 (2)2.1 设计要求 (2)2.2 数字信号发生器的系统组成 (3)2.3 DDS技术 (3)三、硬件电路设计及原理分析 (4)3.1 硬件电路设计图 (4)3.2 设计原理 (5)四、程序模块设计、仿真结果及分析 (5)4.1顶层模块设计 (6)4.2分频模块设计 (6)4.3时钟模块设计 (11)4.4数据选择模块设计 (12)4.5正弦波产生模块设计........................................................ 错误!未定义书签。

4.6三角波产生模块设计 (15)4.7方波产生模块设计............................................................ 错误!未定义书签。

4.8锯齿波模块设计 (18)五、软硬件调试 (21)5.1正弦波 (22)5.2锯齿波 (22)5.3方波 (23)5.4三角 (23)六、调试结果说明及故障分析 (24)七、心得体会 (24)八、参考文献 (25)九、附录 (25)绪论直接数字频率合成技术(DirectDigitalFrequencySynthesi,即DDFS一般简称DDS)是从相位直接合成所需波形的一种新的频率合成技术。

近年来,直接数字频率合成器由于其具有频率分辨率高、频率变换速度快、相位可连续变化等特点,在数字通信系统中已被广泛采用。

随着微电子技术的发展,现场可编程门阵列( FPGA)器件得到了飞速发展。

由于该器件具有速度快、集成度高和现场可编程的优点,因而在数字处理中得到广泛应用,越来越得到硬件电路设计工程师的青睐。

一、背景与意义信号发生器是一种常用的信号源,广泛运用于科学研究、生产实践和教学试验等领域。

特别是在通信系统的科研实验中,常常需要用到不同频率和幅度的信号,如正弦波、三角波、方波和锯齿波等。

作为一种为电子测量和计量提供电信号的设备,它和万用表、示波器、频率计等仪器一样,是最普通、最基本,也是运用最广泛的电子仪器之一,几乎所有电参量的测量都需要用到信号发生器。

凡是能产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。

本课题的主要研究内容是参考直接数字频率合成原理(DDS)技术[6],利用Quartus II9.0软件作为平台,VHDL语言作为开发语言,基于FPGA配合相应外围电路实现一个数字信号发生器,其电路结构简单,容易扩展,具有极大的灵活性和方便性,实现了产生频率可调的正弦波、三角波、方波的信号发生器。

二、设计要求与整体设计:2.1设计要求设计多功能波形发生器,该波形发生器能产生正弦波、方波、三角波和由用户编辑的特定形状波形,并且幅度、频率可调。

具体要求如下:(1)具有产生正弦波、方波、三角波、锯齿波4种周期性波形的功能。

(2)输出波形的频率范围为100KHZ~200KHZ。

(3)输出波形幅度不大于5V(峰-峰值),且幅度可调。

2.2 数字信号发生器系统组成原理框图该数字信号发生器系统主要由输入部分、FPGA 部分、D/A 转换部分、频率、幅值调节和波形转换部分组成。

如图2.1所示。

图2.1数字信号发生器系统组成2.3 DDS 技术DDS 与大多数的数字信号处理技术一样,它的基础仍然是奈圭斯特采定理。

奈圭斯特采样定理是任何模拟信号进行数字化处理的基础,它描述的是一个带限的模拟信号经抽样变成离散序列后可不可以由这些离散序列恢复出原始模拟信号的问题。

奈圭斯特采样定理告诉我们,当抽样频率大于或者等于模拟信号最高频率的分频器FPGA 部分系统控制器时钟复位 波形调幅调频正弦波三角波方波其他波型波形 D\A转换滤波输出两倍时,可以由抽样得到的离散序列无失真地恢复出原始模拟信号。

只不过在DDS 技术中,这个过程被颠倒过来了。

DDS不是对模拟信号进行抽样,而是一个假定抽样过程已经发生且抽样值已经量化完成,如何通过某种方法把已经量化的数值重建原始信号的问题。

DDS电路一般由参考时钟、相位累加器、波形存通滤波器(LPF)组成。

其结构如图2.1所示。

图2.2 DDS基本结构框图三、硬件电路设计及原理分析3.1硬件电路设计图3.2原理分析利用FPGA-EP2C5T144C8编程实现直接数字频率合成器,能生成正弦波、三角波及锯齿波。

频率,相位可调可控。

DDS 具体工作过程如下:每来一个时钟脉冲clk,N 位全加器将频率控制数据M 与累加寄存器输出的累加相位数据N 相加,把相加后的结果送至累加寄存器的输入端。

累加寄存器一方面将上一时钟周期作用后所产生的新的数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据M 相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路,此电路根据取样地址输出相应的波形数据。

最后经D/A 转换器和低通滤波器将波形数据转换成所需要的模拟波形。

四、程序模块设计、仿真结果及分析波形发生器可以由顶层模块、分频模块、时钟模块、数据选择器模块、正弦波产生模块、三角波产生模块、方波产生模块、锯齿波产生模块。

4.1顶层模块4.2分频模块:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY wxm_CLK ISPORT(CLK:IN STD_LOGIC;EN,EN1,EN2:IN STD_LOGIC;CLKOUT:OUT STD_LOGIC);END;ARCHITECTURE BEHAVE OF wxm_CLK IS SIGNAL CNT:STD_LOGIC_VECTOR(19 DOWNTO 0); SIGNAL EN3,EN4,EN5: STD_LOGIC;SIGNAL EN6:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINEN6<=EN3&EN4&EN5;PROCESS(EN)BEGINIF EN'EVENT AND EN='0' THEN IF EN3 ='0' THENEN3<='1';ELSEEN3<='0';END IF;END IF;END PROCESS;PROCESS(EN1)BEGINIF EN1'EVENT AND EN1='0' THEN IF EN4 ='0' THENEN4<='1';ELSEEN4<='0';END IF;END IF;END PROCESS;PROCESS(EN2)BEGINIF EN2'EVENT AND EN2='0' THEN IF EN5 ='0' THENEN5<='1';ELSEEN5<='0';END IF;END IF;END PROCESS;PROCESS(CLK,EN6)BEGINIF CLK'EVENT AND CLK='1' AND EN6="000" THEN IF CNT>4 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>2 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="001" THEN IF CNT>8 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>4 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="010" THEN IF CNT>16 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>8 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="011" THEN IF CNT>30 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>15 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="100" THEN IF CNT>62 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>31 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="101" THEN IF CNT>124 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>62 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="110" THEN IF CNT>250 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>125 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;ELSIF CLK'EVENT AND CLK='1' AND EN6="111" THEN IF CNT>500 THENCNT<=(OTHERS=>'0');CLKOUT<='0';ELSIF CNT>250 THENCLKOUT<='1' ;CNT<=CNT+1;ELSECNT<=CNT+1;END IF;END IF;END PROCESS;END;4.3时钟模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT1024 ISPORT(CLK:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0)); END;ARCHITECTURE BHV OF CNT1024 ISSIGNAL Q1:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THENQ1<=Q1+1;END IF;END PROCESS;Q<=Q1;END;4.4数据选择模块设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY wxm_MUX ISPORT(Q1,Q2,Q3,Q4:IN STD_LOGIC_VECTOR(9 DOWNTO 0); A1,A0:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END;ARCHITECTURE ONE OF wxm_MUX IS SIGNAL A:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL A2,A3:STD_LOGIC;BEGINPROCESS(A1)BEGINIF A1'EVENT AND A1='0' THENIF A2='0' THENA2<='1';ELSEA2<='0';END IF;END IF;END PROCESS;PROCESS(A0)BEGINIF A0'EVENT AND A0='0' THENIF A3='0' THENA3<='1';ELSEA3<='0';END IF;END IF;END PROCESS;A<=A2&A3;Q<=Q1 WHEN A="11" ELSEQ2 WHEN A="10" ELSEQ3 WHEN A="01" ELSEQ4;END;4.5正弦波产生模块设计:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY wxm_sin ISPORT(address : IN STD_LOGIC_VECTOR (9 DOWNTO 0);clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) );END wxm_sin;ARCHITECTURE SYN OF wxm_sin ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT altsyncramGENERIC (clock_enable_input_a : STRING;clock_enable_output_a : STRING;init_file : STRING;intended_device_family : STRING;lpm_hint : STRING;lpm_type : STRING;numwords_a : NATURAL;operation_mode : STRING;outdata_aclr_a : STRING;outdata_reg_a : STRING;widthad_a : NATURAL;width_a : NATURAL;width_byteena_a : NATURAL);PORT (clock0 : IN STD_LOGIC ;address_a : IN STD_LOGIC_VECTOR (9 DOWNTO 0);q_a : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) );END COMPONENT;BEGINq <= sub_wire0(9 DOWNTO 0);altsyncram_component : altsyncramGENERIC MAP (clock_enable_input_a => "BYPASS",clock_enable_output_a => "BYPASS",init_file => "E:/wxm/wxm_sin.mif",intended_device_family => "Cyclone II",lpm_hint => "ENABLE_RUNTIME_MOD=NO",lpm_type => "altsyncram",numwords_a => 1024,operation_mode => "ROM",outdata_aclr_a => "NONE",outdata_reg_a => "CLOCK0",widthad_a => 10,width_a => 10,width_byteena_a => 1)PORT MAP (clock0 => clock,address_a => address,q_a => sub_wire0);END SYN;由图 4.5可知,输出的幅值为所设计,正弦波选点正常,与相位能相互对应。

相关文档
最新文档