+基于FPGA的多功能信号发生器

合集下载

基于FPGA技术的多功能DDS信号发生器设计

基于FPGA技术的多功能DDS信号发生器设计

·16·仪表技术2007年第8期基于FPGA技术的多功能DDS信号发生器设计蔡丽1,翟小东1,高云红2(1.中国矿业大学信电学院,江苏徐州221008;2.沈阳航空工业学院自动控制系,辽宁沈阳110034)摘要:介绍DDS的基本理论及新型FPGA器件(EPlKl0)的特点,并结合EPIKIO对DDS信号发生器的设计过程及优化方案进行论述。

最终实现频率、相位、复合渡形皆可调节的直接数字合成的信号发生器。

关键词:直接数字合成器;单片机;FPGA;复合波形中图分类号:TM930文献标识码:B文章编号:1006—2394(2007)08—0016—02ADesignofMulti-purposeDDSSignalGeneratorBasedonFPGATechnologyCAILil.ZHAIXiao.don91,GAOYun.hon92(1.CollegeofInformationandElectricalEngineeringofCUMT,Xuzhou221008,China;2.DepartmentofAutomaticControl,ShenyangInstituteofAeronauticalEngineering,Shenyang110034,China)Abstract:ThebasictheoryofDigitalDirectSynthesizerandmainpointofnewFPGAdeviceEPlK10,andhowtoimplementtheDDSsignalgeneratordesignwithinEPlK10introducedinthispaper.TheDDSsignalgeneratorwhichcanadjustsignalphase,signalfrequencyandcomplexwaveisdesigned.Keywords:directdigitalsynthesizer;singlechipmicrocomputer;FPGA;complexwave1多功能直接数字频率合成DDS原理假设正弦信号的表达式为如下:Y=Asin(p+妒o)(1)Y=Asin(2rrfi+够o)=Asin2-rr(fi+90/2曩-)(2)式(1)中9为正弦函数的相位,妒。

基于FPGA的信号发生器

基于FPGA的信号发生器

基于FPGA的信号发生器摘要本次设计课题为应用VHDL语言及MAX+PLUS II软件提供的原理图输入设计功能,结合电子线路的设计加以完成一个可应用于数字系统开发或实验时做输入脉冲信号或基准脉冲信号用的信号发生器,它具结构紧凑,性能稳定,设计结构灵活,方便进行多功能组合的特点,经济实用,成本低廉。

具有产生三种基本波形脉冲信号(正弦波、矩形波和三角波),以及三次(及三次以下)谐波与基波的线性组合脉冲波形输出,且单脉冲输出脉宽及连续脉冲输出频率可调,范围从100HZ到1kHZ,步进为100HZ;幅度可调,从0到5伏,步进为0.1V。

关键词:信号发生器, FPGA,EDA,VHDL语言。

AbstractThe design project for the application VHDL language and MAX + PLUS II software provides the principle diagram input function design, combined with the design of the electronic circuit to complete a can be applied to digital system development or experiment do input pulse signal or reference pulse signal with signal generator, it has compact structure, stable performance, design structure agile, facilitate multi-function combination of characteristics, economic and practical, the cost is low. Ability to produce three basic wave pulse signal (sine wave, rectangular wave and triangular wave), and three times (and three times the following) harmonic and base wave linear combination of the pulse waveform output, and the single pulse output pulse width and continuous pulse output frequency adjustable, ranging from 100 hz to 1 KHZ, step by step for 100 hz; Amplitude can be adjusted from 0 to 5 V, step by step to 0.1 V. Key words:Signal generator, FPGA, EDA, VHDL language.1 前言随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。

基于FPGA与单片机的多功能信号发生器的设计与实现

基于FPGA与单片机的多功能信号发生器的设计与实现
宗接华, 赵春红, 王
( 江西工业工程Βιβλιοθήκη 职业技术 学院, 江西超
萍乡 3 3 7 0 0 0 )
摘 要: 文章设计的多功能信号发生器> X F P G A芯片为系统核心, 利用单片机 进行系统控制, 采用液晶屏作为显示界 面, 设计的
信号发生器可以产生正弦波、 三角波、 矩形波及任意波形等信号, 并且 信号具有精度高、 频带宽、 稳定度高等特 占 ’ 。
关键词 : 信号发生器; F P G A; 单片机 当前 的频率 、 波 形类 型及输入频 率、 预设波 形类 型显示 出 遥 感遥测等 众多场合 都有着广泛 的应用 , 是一种 为电子测 来 。 单片机要根据 输入 的频率值 , 计算 出相应 的频率控 制 量 工作提 供电信号的设备, 和示波器、 电压表、 频率计等仪 字, 计算的公式如下所示 : 器一样是 最基本也是应 用最广泛 的电子 仪器之一_ 】 ] 。 随着 M :盟 近 年来电子技术 的迅 猛发展 , 电子测量工作对 于包含 波形 { c 发生器在 内的电子测量 仪器 提 出了越来越 高的要求 。 为适 应 现代电子技 术的不断发展和市场需求 , 研究制作高性能 其中, 是 输出频 率 , 为F P G A,  ̄ u , 片的时钟信号, 频 率 的多功能波形发生器 十分必要。 为1 6 0 M, 相位累加器的宽度n 取值为4 0 。 1 方案比较及选择 矩阵式 键盘 l 信号发 生器主要 可 以采用两 种方案来 实现 。 一种 方案 电 源 模 块卜 _ 荜 片 机 控 制 轰 统 — 一 1 6 0 2 拉 示 是 以AD公司的直接 数字 频率合成 芯片为核心 , 通 过单片 I l 机 进 行控 制, 从而输 出信号波 形。 另一种 方案 是以现场可 F P G A核心 系统 — O A转换及放 犬 电路 编 程门阵列 ( F i e l d P r o g r a mma b l e Ga t e Ar r a y , F P G A) 芯片为核心, 采用直接 数字式频率合成器 ( Di r e c t Di g i t a l 图1 系统方块 S y n t h e s i z e r , DD S ) 技术 , 以单片机芯片为控 制器, 从而实 现波形 输出。 将 以上两 种方案 进行 比较 , 方案一 的特点是 3 . 2 基于 F P G A 的D DS 电路 频 率范 围宽、 频率 稳定 度高 、 编程 工作量较 少, 但 是只能 DDS 以高精度 时钟信号作为参 考, 经 由相位累加 器及 在正弦查找表 中找到相应的幅值信息, 通 过D / A 变 输 出正弦波和方 波且成本 较高; 方案二 的特点是频率范 围 寄存器, 再选用 低通滤 波器 , 最后输 出正 宽、 频率稳定度 较高, 不仅可输 出正弦波和 方波这两 种常 换 得到相应 的数字 信号, 用波形 , 同时还可以输 出三角波、 锯齿波及任意波形 , 且成 弦信号 。 本设计选用F P G A芯片E P 4 C 6 E 2 2 C 8 作为系 统的 核心, 该芯片的功能分成3 个模 块 : 控制逻 辑模块 、 I P 核模 本 较低 。 故本设计采用方案二来实现 。 2 系统总体设计 块及信号生成模块 。 控 制逻辑模 块主 要实现 与单片机 的通 信, 接 受单片机 本设 计 以F P G A芯片E P 4 C6 E 2 2 C8 为 核心,以单片机 传送 过 来 的4 8 位频 率控 制字 ,同时为 了增 强 系统 的稳 定 A T 8 9 S 5 1 为控制器, 通过矩 阵式键 盘进行输入输 出控制 , 在本模块采取了相应措施解决了亚稳态问题。 液 晶屏1 6 0 2 为显示界面 , 可实现 正弦波、 方 波、 三角波、 锯 性 , 齿波 及任 意波等波 形的输出, 如 图1 所 示。 本设计输 出频率 为了提高系统 的设计效率和稳定性 , 本系统选用Al t e r a P 核, 分别来产生正弦信号、 三角波信号 以及 范围为0 . 1 Hz ~ 1 0 MHz , 频率分辨率为0 . 1 Hz , 频率稳定度 公司定制好的I 任意波形信号。 方波信号通过 生产一个比较器来产生。 较高。 信 号生 产模 块是 F P G A芯片的顶 层模 块 , 在 编写代码 3 系统主要模块 电路 3 . 1单片机控制电路 的过程 中, 需将 以上 两个 模 块 例化 , 同时 该模 块 有 两 个 单片机芯片在 整个系统 中起 到控制协调 作用。 该 电路 引脚 与单 片机相 连 , 由单 片机 来控 制 最终 输 出的数 字 波 包 ̄ ' 4 X 4 矩 阵式键盘 , 通过键盘可 以输入各种频率值 , 同时 形信号。 - 3 D / A 车 等 换 电路 及 放 大电路 通 过键盘 中的控制键可 以实现整个系统的复位、 频率数 据 3 为了将F P G A 输 出的数字信号转换为模拟信号, 本 设计 的发送等操作。 单片机外围连接 了1 6 0 2 液 晶显示屏, 可以将

基于FPGA的多功能波形发生器设计研究

基于FPGA的多功能波形发生器设计研究

基于FPGA的多功能波形发生器设计研究设计以VHDL为开发语言,对FPGA芯片进行编程设计,并对输出数据进行数模转换,以完成一个简单的周期可调的多波形发生器。

标签:FPGA;VHDL;多波形发生器1 引言在教学实验和教学研究中,信号发生器作为提供测试用电信号的仪器必不可少。

目前通用的信号发生器一般只能输出常用的波形信号,无法满足教学实验和教学研究的需要。

基于可编程逻辑器件FPGA的多波形信号发生器,采用VHDL 编程实现,整个系统除晶体振荡器和D/A转换外,全部集成在一片美国Altera 公司生产的EPF10K10LC84-3的芯片上,FPGA输出的8位数据经DAC0832模数转换器后接示波器观察其波形,通过改变控制信号线的高低电平实现波行的转换。

它除了输出常用的正弦波、三角波、方波以外,还可以输出以上两种波形任意线性组合波形。

该信号发生器输出波形的频率可数控选择,100HZ~1KHZ,且可手动调节频率,频率步进间隔为100HZ。

2 各模块电路设计2.1 总体设计FPGA器件内部结构多功能波形发生器由初值模块、分频模块、方波产生模块、三角波产生模块、正弦波产生模块、波形输出控制模块等部分组成,如图1所示。

调频模块TIAOPIN的主要目的是使频率调节能够手动执行。

通过手动输入端口RESETY输入若干脉冲,可达到对周期可调的多波形发生器循环选择输出频率的目的。

初值模块CHUZHI提供初值,供下一个模块FANA分频时用,通过不同的初值,在波形产生模块得到不同的工作频率,从而实现调节波形频率的目的。

由于输入的晶振频率是5MHz。

而要求得到的波形的频率为100Hz~1KHz,频率步进为100Hz。

而又由于设计的波形模块都是64个时钟为一个周期。

因此要求波形模块得到的频率是6.4KHz~64KHz。

由5M/64KHz≈78,而又由频率输出分高电平和低电平。

这样78/2≈39,这样可以得到输入状态为1001时,Q的输出参数为39;分频模块FANA的功能是将前一模块CHUZHI送来的初值对时钟进行分频,得到不同的工作频率,从而调节波形频率;方波产生模块ZENG的功能是产生方波;三角波产生模块DELTA的功能是产生三角波;正弦波产生模块SIN的功能产生正弦波;波形输出控制模块CHPRO31设置了三个按键,分别控制三种波形任意一种,或任意两种波形的叠加。

基于FPGA的实用多功能信号发生器的设计与制作

基于FPGA的实用多功能信号发生器的设计与制作

基于FPGA的实用多功能信号发生器的设计与制作基于FPGA的实用多功能信号发生器的设计与制作摘要多功能信号发生器已成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。

直接数字频率合成(DDS)是二十世纪七十年代初提出的一种全数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。

由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高函数发生器的性能,降低生产成本。

本文首先介绍了函数信号发生器的研究背景和DDS的理论。

然后详尽地叙述了利用Verilog HDL描述DDS模块的设计过程,以及设计过程中应注意的问题。

文中详细地介绍了多种信号的发生理论、实现方法、实现过程、部分Verilog HDL代码以及利用Modelsim仿真的结果。

文中还介绍了Altera公司的DE2多媒体开发平台的部分功能及使用,并最终利用DE2平台完成了多功能信号发生器的大部分功能。

包括由LCD显示和按键输入构成的人机界面和多种信号的发生。

数字模拟转换器是BURR-BROWN 公司生产的DAC902。

该信号发生器能输出8种不同的信号,并且能对输出信号的频率、相位以及调制信号的频率进行修改设定。

关键词:信号发生器;DDS;FPGA;DE2Practical FPGA-based multi function signal generatordesign and productionAbstractMulti function signal generator has become the most widely used in modern testing field of general instrument, and has represented one of the development direction of the source. Direct digital frequency synthesis (DDS) is a totaly digital frequency synthesis technology, which been put forward in the early 1970s. Using a look-up table method to synthetic waveform, it can satisfy any requirement of waveform produce. Due to the field programmable gates array (FPGA) with high integrity, high speed, and large storage properties, it can realize the DDS technology effectively, increase signal generator’s performance and reduce production costs.Firstly, this article introduced the function signal generator of the research background and DDS theory. Then, it described how to design a DDS module by Verilog HDL, and introduced various signal occurs theory, method and the implementation process, Verilog HDL code and simulation results.This paper also introduces the function of DE2 multimedia development platform, and completed most of the functions of multi-function signal generator on DE2 platform finally. Including the occurrence of multiple signal and the man-machine interface which composed by LCD display and key input. Digital-to-analog converters is DAC902, which produced by company BURR-BROWN.This signal generator can output eight different kinds of signals, and the frequency of the output signal, phase and modulation frequency signal also can be modifyed.Key Words: Signal generator; DDS; FPGA; DE2目录论文总页数:34页1 引言 (1)1.1课题背景 (1)1.2国内外波形发生器的发展现状 (1)1.3本文研究的主要内容 (2)2 信号发生器原理 (2)2.1直接数字频率合成技术的基本原理 (2)2.2相位偏移控制 (3)2.3多种信号的发生 (3)2.3.1方波的发生 (3)2.3.2三角波发生 (4)2.2.3锯齿波发生 (4)2.3.4 PWM信号发生 (4)2.3.5 SPWM信号发生 (5)2.3.6 AM信号发生 (5)2.3.7 FM信号发生 (6)2.4DDS的特点 (7)2.4.1 DDS 的优点 (7)2.4.2 DDS 系统的缺点 (7)3 系统整体设计 (8)3.1硬件部分 (8)3.1.1 DE2实验板 (8)3.1.2 LCD模块 (9)3.1.2 DAC902 (11)3.2基于VERILOG的FPGA设计 (12)3.3软件工具 (12)3.3.1 Modelsim (12)3.3.2 Quartus (12)3.4系统设计 (13)3.4.1 系统初始化模块 (13)3.4.2按键模块和LCD模块 (13)3.4.3 RAM模块 (14)3.4.4数据转换模块 (15)3.4.5 DAC驱动模块 (15)3.4.6系统的运行 (15)4 VERILOG HDL代码实现与仿真 (15)4.1信号发生器模块 (15)4.1.1频率控制字和相位累加器 (15)4.1.2 相位偏移控制 (16)4.1.3正弦波发生模块 (17)4.1.4 方波发生模块 (17)4.1.5 三角波发生模块 (18)4.1.6 锯齿波发生模块 (18)4.1.7 PWM信号发生模块 (19)4.1.8 SPWM信号发生模块 (19)4.1.9 AM信号发生模块 (20)4.1.10 FM信号发生模块 (21)4.2按键输入模块 (22)4.3LCD显示模块 (23)4.4RAM模块 (24)4.5数据转换模块 (25)5 系统测试 (26)5.1控制及显示部分测试 (27)5.2输出频率测试 (27)5.3信号发生测试 (28)5.3.1 正弦波、方波、三角波、锯齿波测试 (28)5.3.2 PWM信号测试 (29)5.3.3 SPWM信号测试 (29)5.3.4 AM信号测试 (29)5.3.5 FM信号测试 (30)结论 (31)参考文献 (32)致谢...................................................... 错误!未定义书签。

基于FPGA的多功能信号发生器的设计

基于FPGA的多功能信号发生器的设计

电子电路设计与方案0 前言现场可编程门阵列具有运行速度快,修改灵活方便,并自带大量的输入输出端口等优点,通过FPGA实现该信号发生器的核心部件DDS模块,可以灵活地对信号发生器的参数进行调整,另外通过单片机的配合实现对其他外设电路的控制,实现信号发生器显示、参数调节等辅助的功能,通过数模转换电路和波形处理电路实现所需信号波形的输出。

本设计的主要指标为:(1)频率范围:0~1MHz,可通过键盘任意设置频率,步进1Hz。

(2)频率精度:±1%。

(3)幅值范围:±5V,可通过键盘任意设置幅度,步进100mV。

(4)幅值精度:±5%。

(5)用液晶显示所选波形名称,频率,幅值。

1 系统硬件结构该信号发生器主要是由FPGA构成其最小系统,通过编程实现信号发生器的主要功能部件数字频率合成功能模块,并对其信号进行控制和处理,使得输出波形更加平滑、符合要求。

当然为了使电路能够实现人机对话、参数设置等功能,并设计了由单片机和外围电路构成的控制电路部分,实现对显示电路、输入电路的控制。

本系统通过单片机来识别按键所输入的指令,并根据其该指令,产生输出波形的参数要求,并将该数据送入FPGA 的ROM中,再由FPGA完成DDS数据处理功能(频率控制、移相等),将波形数据送入D/A转换器,并将波形参数(如频率、幅值等)送入到显示电路中显示,最后通过低通滤波电路滤波使输出的波形平滑。

系统硬件结构如图1所示。

本设计未采用专用DDS芯片,而是通Verilog HDL语言编程在目标芯片上来实现信号源的主要功能,可以根据实际设计的要求来增删DDS的功能,具有灵活、方便等特点,同时该DDS模块中的参数及子模块根据所用目标器件稍加调整,完全可用于其他需要DDS技术的应用场合,有很好的通用性。

图1 系统硬件结构图2 单元电路的设计整个硬件系统以FPGA为核心,配合外围电路控制参数实现波形的模拟输出。

外围电路主要包括控制电路及信号处理电路两部分。

基于DDS和FPGA的多功能信号发生器设计

基于DDS和FPGA的多功能信号发生器设计

基于DDS和FPGA的多功能信号发生器设计王新辉【摘要】根据直接数字频率合成技术,以FPGA为核心,设计了一种便携式多功能信号发生器,可产生正弦波、方波、三角波、锯齿波等信号。

通过仿真及硬件实验表明,该信号发生器具有信号频率误差小、分辨率高、体积小、质量轻等优点。

%According to direct digital synthesis(DDS),a portable multi-functional signal generator was designed based on FPGA,which could output sinusoidal wave,square wave,triangle wave and sawtoothwave.Simulation and hardware experiment show that the portable multi-functional signal generator has some advantages,such as high accuracy and high resolution with small size.【期刊名称】《湖南人文科技学院学报》【年(卷),期】2011(000)002【总页数】4页(P91-94)【关键词】DDS;FPGA;D/A转换器;信号发生器【作者】王新辉【作者单位】湖南人文科技学院计算机科学技术系,湖南娄底417001【正文语种】中文【中图分类】TP346近年来,随着微电子技术的迅速发展,模拟信号发生器在带宽,精确度,可控制性等方面体现出严重缺限;而直接数字频率合成器(Direct Digital Frequency Synthesis简称DDS或DDFS)在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能,输出频率相对带宽较宽的信号;输出波形的灵活性,只要在DDS内部加上相应控制如调频控制FM、调相控制PM和调幅控制AM,即可以方便灵活地实现调频、调相和调幅功能,产生FSK、PSK、ASK和MSK等信号。

基于FPGA的多功能正弦信号发生器

基于FPGA的多功能正弦信号发生器

2.6
ASK 与 PSK 控制模块 &=> 调制的基本原理是实现键控数字信号对一定频率的信号的幅度控制 8 即当调制信号的幅度是 1 时8 已调信号的幅度与原信号的幅度一致 8 当调制信号的幅度为 2 时8 已调信号的幅度为 28 由此可由乘法来 实现 ; 为了实现输出与输入的同步 8 采用同时钟输入 8 时钟到来时 8 把由 #$%& 产生的正弦数字信号 ( 12 位 ) 送入乘法器 8 经过乘法器输出的信号送 ? : & 转换即得到调幅 &=> 信号 8 如图 @ 所示 ; 其波形仿真如图 12 所 示;
2.4
普通调幅( AM ) 控制模块 为了便于分析 + 首先假设调制信号是一个单一频率的余弦信号 ’! H (!) PQR !*/ 载波 ’& H (&) PQR "&*+ 载 波的角频率 "&@ !/ 普通调幅波的表示式为 , % . 1 ’+, H ()- # - S ).PQR !* $ ・PQR "&* 其中 #,( !) !()普通调幅波形形成框图如图 " 所示1 ). H
第!期
智少雷等: 基于 #$%& 的多功能正弦信号发生器
!"
应用 #$%& 实现框图及波形仿真如图 " 所示’
2.5
调频( FM) 控制模块 已知调频信号’ !"# ( $ ) * %&’+,- ( !($ . &)-/0 "$ . #’ ) 在 122 345 6 12 745 频率范围内产生 12 345 最大频偏 8 且最大频偏可分为 9 : 12 345 二级程控调节 8 正弦调制信号频率为 1 3458 调制信号自行产生; 其原理如图 < 所示’

基于FPGA的多功能信号发生器

基于FPGA的多功能信号发生器

基于FPGA的多功能信号发生器一.实验目的:1.了解GW48-CK综合实验箱结构2.熟悉VHDL语言3.了解FPGA芯片<EP1K30TC144-3)结构及引脚4.了解D/A芯片<DAC0832)结构[5.熟悉FPGA设计软件quartus ii 9.0的使用6.掌握产生三角波,锯齿波,梯形波的原理7.学会用FPGA设计多功能信号发生器二.实验仪器及设备:1.pc机2.GW48-CK型FPGA综合实验箱3.FPGA芯片:EP1K30TC144-34.D/A芯片:DAC08325.示波器6.quartus ii 9.0仿真软件三.实验要求:.设计基于FPGA的多功能信号发生器,此信号发生器可产生的波形有:正弦波,方波,三角波,斜升锯齿波,斜降锯齿波,梯形波,阶梯波,双阶梯波中的六种。

F1NgHcUqUBb5E2RGbCAP设计软件要求用quartus ii,先用该软件仿真,再接上FPGA实验箱,编译,运行并下载到实验箱,用示波器观察期指定输出端波形。

F1NgHcUqUBp1EanqFDPw四.实验原理:1.基于QUASTUS II 9.0平台,利用DDS<直接数字信号合成)技术,采用VHDL语言,设计一波形信号发生器。

首先根据对各波形的幅度进行采样,获得各波形的波形数据表,然后FPGA根据输入的时钟<频率可根据要求可变)作为地址信号,从FPGA数据线上输出相应的波形数据,再送入GW48-CK实验板上的D/A转换芯片进行转换为模拟信号,最后送入滤波电路滤波后输出。

F1NgHcUqUBDXDiTa9E3d2.实验整体框图如下:由方波模块<niushengli_fb)、阶梯波模块<niushengli_jtb)、正弦波模块<niushengli_sin)、三角波模块<niushengli_sjb)、斜升锯齿波模块<niushengli_xsjcb)、斜降锯齿波模块<niushengli_xjjcb)、6选1选择器<niushengli_mux61)以及反向器<not)组成。

基于FPGA的DDS多功能信号发生器的设计

基于FPGA的DDS多功能信号发生器的设计

第27卷第3期 2017年6月梧州学院学报JOURNAL OF W UZHOU UNIVERSITY No.3Vol.27Jun.2017基于FPGA的D D S多功能信号发生器的设计黄玉健、黄永庆2(1.2.梧州学院图像处理与智能信息系统广西高校重点实验室,广西梧州543002)[摘要]多功能信号发生器作为一种基本电子设备在教学、电子信息工程和科研等领域,都有着广泛的使用。

该文 以直接数字频率合成技术(D D S)为核心,描述了基于FPGA的DDS多功能信号发生器的原理结构和设计方法,重点阐述 了 FPGA的DDS内核设计方法。

设计结果表明,与普通的信号发生器相比,基于FPGA的DDS为核心技术的信号发生器能够灵活产生更加精准、更加稳定和更宽频率范围的正弦波、方波、三角波和锯齿波等信号。

[关键词]多功能信号发生器;DDS; FPGA[中图分类号]TN741 [文献标识码]A [文章编号]1673-8535(2017)03-0010-07〇引言信号发生器作为一种基本频率源发生器无论是在教学、电子信息工程和科研等领域,都有着广泛的使 用。

随着通信技术、卫星定位系统、精密机械控制以及航空航天测控等领域对测控技术要求的不断提高, X才信号发生器的稳定度、精确度和频率带宽等要求越来越高,而传统振荡器由于产生的频率信号精度不 高、太单一或者只能在比较小范围内调节频率而不能满足要求⑴。

利用频率合成技术就是解决该问题的最 好方法之一。

直接数字频率合成技术DDS(Direct Digital Synthesizer)是一种新型的频率合成技术,它是 把一系列数字信号通过D/A转换器转换为模拟信号的合成技术[1]。

DDS能够在频率带宽比较宽的范围内 实现比较高的频率分辨率,可以实现快速频率切换,并且在频率改变时能够保持相位的连续,比较容易实 现频率、相位和幅度的数控调制[2]。

利用专门DDS芯片设计产生信号源也是设计信号发生器的一种方法,该方法优点是输出正弦信号频 率范围大、波形好;缺点是DDS芯片的ROM里一般都只存储正弦波,产生其他波形需要加上一些外围电 路的方式获得,产生波形速度受到很大的限制,频率带宽受影响严重,导致使用不够灵活[3]。

基于FPGA的信号发生器设计

基于FPGA的信号发生器设计

基于FPGA的信号发生器设计 以FPGA 芯片为载体,通过QuartusII 的LPM_ROM 模块和VHDL 语言为核心设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波、递减锯齿波、三角波、阶梯波和方波等5 种信号,通过QuartusII 软件进行波形仿真、定时分析,仿真正确后,利用实验板提供的资源,下载到芯片中实现预定功能。

信号发生器又称为波形发生器,是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。

它是科研及工程实践中最重要的仪器之一,以往多用硬件组成,系统结构比较复杂,可维护性和可操作性不佳。

随着计算机技术的发展,信号发生器的设计制作越来越多的是用计算机技术,种类繁多,价格、性能差异很大。

用FPGA 或CPLD 来实现,它的优点是可以进行功能仿真,而且FPGA 和CPLD 的片内资源丰富,设计的流程简单。

用FPGA 所构成的系统来产生波形信号,这个系统既能和主机系统相连,用相应的上层软件展示波形信号,又方便程序的编写,而且还有A/D0809接口可以产生模拟信号的输出和外面的示波器相连。

1 正弦信号发生器的LPM 定制 正弦信号发生器由计数器或地址发生器(6 位)、正弦信号数据ROM (6 位地址线,8 位数据线,含有64 个8 位数据,一个周期)、原理图顶层设计和8 位D/A (实验中用DAC0832 代替)。

其框图如图1 所示。

其中信号产生模块将产生所需的各种信号,这些信号的产生可以有多种方式,如用计数器直接产生信号输出,或者用计数器产生存储器的地址,在存储器中存放信号输出的数据。

信号发生器的控制模块可以用数据选择器实现,用8 选1 数据选择器实现对5 种信号的选择。

 图1 信号发生器结构框图 最后将波形数据送入D/A 转换器,将数字信号转换为模拟信号输出。

用示波器测试D/A 转换器的输出,可以观测到5 种信号的输出。

1.1 定制初始化数据文件 QuartusII 能接受的LPM_ROM 模块中的初始化数据文件的格式有两种:。

基于FPGA的多功能信号发生器设计

基于FPGA的多功能信号发生器设计

1绪论 信号发生器 是一种常 用的信号 源[1Jj它是一种 为电子测量 和计量工 作提供 信号 的设 备 ,信 号源 作为一 种基本 电子设 备 ,在教学 、科 研 、电子产 品测量 与调 试 、部 队设备 技术保 障等领 域都有 着广 泛 的应用 。近几 年 随着FPGA技术 的快 速 发展和 广泛应 用 ,其在信 号发 生器上 的应用得 到 了很好 的认 同 ,很好 的解决 了传统 信号发 生器带来 的一些 问题 ,信号 发生器 己成为测试 仪器 中至 关重要 的 一 类 ,因此开 发信 号 发生器 具有重 大意 义 。 2 FPGA概 述 FPGA是现场 可编程 门阵列 ,它是 在PAL、GAL、CPLD等 可编程 器件 的基 础上 进一 步发展 的产 物 。它是 作为 专用集 成 电路(ASIC)领 域 中的一 种半 定制 电路 而 出现的 。FPGA以其 独特 的优 点在 电子设 计 中发挥越 来越 重要 的作用 。 采用FPGA进 行设 计开 发流 程 为 : (1段 计输入 。设计 输入包 括使用 硬件描述 语言HDL、状 态 图与原理 图输入 三种方 式。HDL ̄¥t方 式是现 今设计 大规模数 字集成 电路 的 良好形 式 ,主要 以 IEEE标 准 中VHDL与Verilog HDL两种形 式f2】。原理 图输 入在 顶层 设计 、数 据 通 路逻辑 、手 工最优 化 电路等方 面具有 图形 化强 、单元节 俭 、功能 明确等特 点 。 常用 方式是 以HDLi ̄言为主 ,原理 图为 辅 ,进 行混合设计 以发挥二 者各 自特 色 。 (2)设计综合 。设 计综合 就是针对给 定的 电路 实现功 能和实 现此电路 的约束 条件 ,如速 度 、功 耗 、成 本及 电路类型 等 ,通 过计算机进 行优化处 理 ,获 得一个 能 满足 上述 要 求的 电路设 计方 案 。 (3肪 真验 证 。仿真是 指使用设 计软件 包对 已实现 的设 计进行 完整测 试 ,模 拟实 际物理环 境 下的工 作情 况 。 (4)设计 实现 。实现可理 解为利用实 现工具把逻辑映 射到 目标器 件结构 的资 源中 ,决定逻 辑 的最 佳布 局 ,选择逻 辑与 输入输 出功能 连接 的布线通 道进行 连 线 ,并产生 相应 文件 。 (5)时序分 析 。在设计 实现过程 中,在映射 后需要 对一个设 计的实 际功 能块 的延时 和估计 的布 线延时 进行 时序 分析 ;而 在布局 布线后 ,也要对实 际布局 布 线的功 能块 延时和 实 际布 线 延时进 行静 态时序 分析 。 (6)下载 验证 。下载 是在功 能仿真与 时序仿 真正确 的前提 下 ,将综 合后 形成 的文件 下载到具 体的FPGA芯片 中 ,也叫芯 片配置 。将位流 文件下 载到FPGA器 件内部后 进行实 际器件的物 理测试 即为 电路验证 ,当得 到正确 的验 证结果 后就 证明 了设计 的正 确性 。 3信号 发生 器的设 计 3.1 系统功 能 本 文拟设计 一个 多功能 发生器 ,要求 能够 以稳定 的频率产 生递增锯 齿 波 、 递减锯齿 波 、三角波 、梯形波 、和方 波等5种波 形 ,并且可 以通 过示波器观 察到所 选择 的波 形。

基于FPGA的多功能信号发生器设计

基于FPGA的多功能信号发生器设计

三角波的实现 输入的选择信号等于3时,信号发生器顶层电路的仿 真波形如图所示,此时输出波形是三角波。
阶梯波的实现 输入的选择信号等于4时,信号发生器顶层电路的仿 真波形如图所示,此时输5时,信号发生器顶层电路的仿 真波形如图所示,此时输出的波形是方波。输出的数字信 号为周期性的全0或全1。
基于FPGA的多功能信号发生器设计 论文答辩
指导老师: 学生: 学号:
论文框架
1、系统任务 2、课题背景 3、方案论证 4、信号发生器的设计过程 5、波形仿真 6、结论
系统任务
通过运用所学知识,查阅相关资料,在 老师的细心指导下,一定能在规定的时间内 完成课题的要求, 用VHDL语言结合原理图 设计实现一个多功能信号发生器 。
信号发生器的设计过程
设计规划 根据设计思路,信号发生器的结构框图如图所示。它 由信号产生,信号控制,D/A转换三部分组成。
时钟信 号 选择信 号
信 号 产 生 信 号 控 制 D/A 转 换 器 输 出 信 号
递增锯齿波模块 其生成的元器件如图
递减锯齿波模块 其生成的元器件如图
三角波模块 其生成的元器件如图
选择方案
综合以上原因,从实现难易,误差大小以及最终结果等各 方面考虑,选择方案二。 根据方案二中多功能信号发生器的设计原理,本次方案运 用VHDL编程实现多波形数字输出,然后再通过DAC0832实 现数模转换,通过示波器观察到模拟波形输出,完成实验。 由于程序各个模块独立,思路清晰,比较简单,容易及时 修改,验证和仿真;简单易行。实现了多功能信号发生器 各个波形的成功输出。
结论
EDA技术是电子设计的发展趋势,利用EDA工具可 以代替设计者完成电子系统设计中的大部分工作EDA工 具从数字系统设计的单一领域,发展到今天,应用范围己 涉及模拟、微波等多个领域,可以实现各个领域电子系统 设计的测试、设计仿真和布局布线等。通过使用quartus Ⅱ这个完全集成化、易学易用的可编程逻辑设计环境,利 用VHDL语言设计的多功能信号发生器,较成功的完成了 预期的效果,能够正确的输出递增锯齿波、递减锯齿波、 三角波、方波以及阶梯波,并能够有选择、有规律的输出。 但在实际硬件实施过程中器件本身所存在的误差,导致波 形有些失真。由于时间关系,我们没有及时消除,但不影 响测试结果。系统功能实现不够完善,这些都需要不断的 改进和补充。本设计基于FPGA的高精度数字式多功能波 信号发生器,采用文本和原理图结合的方法设计,提高开 发效率,缩短研发周期,而且系统的调试方便,修改容易。 实验表明系统产生的波形比较稳定,抗干扰能力强,有一 定的开发及生产价值。

基于FPGAMCU多功能信号发生器的设计与实现

基于FPGAMCU多功能信号发生器的设计与实现

图4系统软件主控流程图 Fig.4 Flowchart of system master control
为10 MHz的运放。综合以上几方面的技术要求,最 终选用高速运放THS3001芯片构成PA。 2.5 LPF电路
为了保证最终波形的正确输出,必须加入LPF 滤除高频分量。同时,为了不使输出的方波及三角波 波形失真.又必须包含该波形的高次谐波,即最大 谐波频率将达到7 MHz.所以滤波器的带宽亦要保证 10 MHz.因为DDS不可避免地会将FPGA的时钟信 号(即DDS的采样频率)夹杂带人输出波形中,必须 将该40 MH:(DDS的采样频率)频率滤除。所以设 计了三阶低通滤波器。三阶低通滤波器研制中采用
通过PSpice软件仿真调试,进一步优化了三阶低通 滤波器的特性。
万方数据
3整机性能测试
我院自行设计并研制成功的多功能高精度信号 发生器.经上电严格测试,证明不仅很好地达到了项 目设计任务的各项技术指标的预期要求.而且优于 设计指标参数,如表1所示。
表l整机主要技术设计指标与实测结果数据对比
Tab.1 Comparison between main technical design indexes and test results
【8]沈红卫.基i:单片机的智能系统设计与实现{M].北京:电子工 业出版社.2006.
[9]蔡丽,翟小东,高厶红.基丁FPGA技术的多功能信弓发生器设 计【J].仪表技术,2007(8):16—20.
CAI Li,ZHAI Xiamlong,GAO Yunhong.A design of multi—purpose
频—率1控位一累…加……器…H…寄…存……器…r…f…存…储…器……州转换器H滤波器r波_—形 +

基于FPGA LPM多功能信号发生器设计

基于FPGA LPM多功能信号发生器设计

基于FPGA LPM多功能信号发生器设计
周新宇
【期刊名称】《中国电子商务》
【年(卷),期】2012(000)002
【摘要】信号发生器广泛应用于电子电路,通信,控制等领域,是科研工作的最重要仪器之一。

以往多用硬件实现,具有可维护性差,可操作性不佳等弊端。

随着FPGA/CPLD的发展,信号发生器越来越多的应用其来实现。

用FPGA所构成的系统产生信号既能和主机系统相连,又能满足方便的编写程序,而且DACO852可以很方便的产生模拟信号与外部示波器相连接
【总页数】1页(P64-64)
【作者】周新宇
【作者单位】潍坊学院信息与控制工程学院,山东潍坊261061
【正文语种】中文
【中图分类】H085.6
【相关文献】
1.基于FPGA与单片机的多功能信号发生器的设计与实现 [J], 宗接华;赵春红;王超
2.基于FPGA的多功能信号发生器的设计 [J], 郭宏
3.基于FPGA LPM多功能信号发生器设计 [J], 徐运武;周泽湘
4.基于FPGA的DDS多功能信号发生器的设计 [J], 黄玉健;黄永庆
5.基于FPGA的多功能图像信号发生器的设计 [J], 周旭;朱礼年;孙卫兵
因版权原因,仅展示原文概要,查看原文内容请购买。

FPGA实现多功能函数信号发生器

FPGA实现多功能函数信号发生器

多功能函数发生器
一、 二、 三、 四、 五、 设计目的 设计任务与性能指标 系统总体设计与工作原理 系统安装调试 实验波形
一.设计目的
利用Verilog语言及Quartus软件编写多功能信号发
生器,并在实验板锁定管脚,利用按键进行调频调幅,
利用DAC0832转化为模拟波形,使示波器能辨别信号, 以达到输出波形的目的。
方波
f=780.0KHz Vpp=10.16mV
人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。
二、 设计任务与性能指标ቤተ መጻሕፍቲ ባይዱ
①实现产生波形参数设定; ②完成输出波形函数的图像显示功能; ③实现正弦波、三角波和方波等;
④可实现频率幅度调节;
三、 系统总体设计与工作原理
FPGA DAC LPF 示波器
DDS原理图:
DDS工作原理: DDS的具体工作过程是由N位相位累加器、N 位加法器和N位累加寄存器组成。每来一个时钟脉冲, N位加法器将频率控制字K与N位累加寄存器输出的 累加相位数据相加,并把相加后的结果送至累加寄 存器的输入端。累加寄存器一方面将上一时钟周期 作用后所产生的新的相位数据反馈到加法器的输入 端,使加法器在下一时钟的作用下继续与频率控制 字K相加;另一方面将这个值作为取样地址送入幅度/ 相位转换电路,幅度/相位转换电路根据这个地址输 出相应的波形数据。最后经D/A转换器和 LPF将波形 数据转换成所需要的模拟波形。

基于FPGA的多用途信号发生器的设计

基于FPGA的多用途信号发生器的设计

基于FPGA的多用途信号发生器的设计黎燕兵;万生鹏;胡元华;曾少航【期刊名称】《现代电子技术》【年(卷),期】2016(039)013【摘要】To obtain different modulating and driving signals suiting for optical fiber sensing and optical fiber communication system,a design scheme of the multipurpose signal generator based on FPGA is proposed. In the scheme,the FPGA device is taken as the hardware platform,and the frequency division technology and DDS technology are used to generate the arbitrary low and medium frequency signal,and output a pulse signal,a DDS signal and DC signal at the same time. Both pulse width and repetition frequency of the pulse signal can be regulated by control keys. The minimum pulse width of pulse signal can reach up to 8 ns,the minimun pulse width deviation is less than 0.5 ns,and the repetition frequency is adjusted from 0.05 Hz to 100 MHz. The output frequency range of the DDS signal is 0.058 2 Hz~100 kHz,and the minimum frequency can reach up to 0.058 2 Hz. The experimental results show that all signals generated by the signal generator have good stability and high preci⁃sion,and the generator is suitable for various fields.%为了获得适用于光纤传感及光纤通信系统的各种调制及驱动信号,提出了一种基于FPGA的多用途信号发生器的设计方案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的多功能信号发生器一.试验目的:1.了解GW48-CK综合实验箱结构2.熟悉VHDL语言3.了解FPGA芯片(EP1K30TC144-3)结构及引脚4.了解D/A芯片(DAC0832)结构[5.熟悉FPGA设计软件quartus ii 9.0的使用6.掌握产生三角波,锯齿波,梯形波的原理7.学会用FPGA设计多功能信号发生器二.试验仪器及设备:1.pc机2.GW48-CK型FPGA综合试验箱3.FPGA芯片:EP1K30TC144-34.D/A芯片:DAC08325.示波器6.quartus ii 9.0仿真软件三.实验要求:.设计基于FPGA的多功能信号发生器,此信号发生器可产生的波形有:正弦波,方波,三角波,斜升锯齿波,斜降锯齿波,梯形波,阶梯波,双阶梯波中的六种。

设计软件要求用quartus ii,先用该软件仿真,再接上FPGA试验箱,编译,运行并下载到实验箱,用示波器观察期指定输出端波形。

四.试验原理:1.基于QUASTUS II 9.0平台,利用DDS(直接数字信号合成)技术,采用VHDL语言,设计一波形信号发生器。

首先根据对各波形的幅度进行采样,获得各波形的波形数据表,然后FPGA根据输入的时钟(频率可根据要求可变)作为地址信号,从FPGA数据线上输出相应的波形数据,再送入GW48-CK 实验板上的D/A转换芯片进行转换为模拟信号,最后送入滤波电路滤波后输出。

2.实验整体框图如下:由方波模块(niushengli_fb)、阶梯波模块(niushengli_jtb)、正弦波模块(niushengli_sin)、三角波模块(niushengli_sjb)、斜升锯齿波模块(niushengli_xsjcb)、斜降锯齿波模块(niushengli_xjjcb)、6选1选择器(niushengli_mux61)以及反向器(not)组成。

五.试验步骤:a)在桌面上双击quartus ii 9.0图标(或在开始中→程序→Aler a→quartus ii9.0)启动设计软件。

b)新建工程命名(niushengli_xhfsq),在新建VHDL文本文件,分别输入正弦波、方波、三角波、斜升锯齿波,梯形波,斜降锯齿波以及6选1选择器程序。

c)点击保存并命名(注意:命名应与程序实体名相同,后缀为:.vhd),编译,若有错误,则调试程序直至编译成功d)新建模块/原理图输入方式文件,用编译后生成的各信号模块编写原理图文件并设置为顶层文件(命名为niushengli_xhfsq.bdf)保存e)新建一个仿真波形文件,添加输入/输出信号节点,编辑信号节点波形并保存(命名为:niushengli_xhfsq.vwf)f)点击Assignments菜单,选择目标芯片(EP1K30TC144-3)并进行管脚配置(详情见附录3)g)点击编译器processing/Start Compilation,再点击Start Simulation命令启动仿真器,查看仿真波形并记录h)连接好pc机和GW48-CK实验箱,下载编译好的程序到试验箱,用示波器观察输出端波形,检验设计的信号发生器功能并记录六.试验结果:a)当键3、键2、键1组合为000时,输出方波仿真图形记录如下:b)当键3、键2、键1组合为001时,输出阶梯波仿真图形记录如下:c)当键3、键2、键1组合为010时,输出正弦波仿真图形记录如下:d)当键3、键2、键1组合为011时,输出三角波仿真图形记录如下:e)当键3、键2、键1组合为100时,输出斜降锯齿波仿真图形记录如下:f)当键3、键2、键1组合为101时,输出斜升锯齿波仿真图形记录如下:七.试验心的体会:通过俩周的设计,我的设计较好地完成了既定目标,能够产生正弦波、方波、三角波、锯齿波等6种波形,并能改变波形发生的频率。

通过三个按键组合,可在6种波形中任意切换,使所设计系统容易使用。

成功的实现了系统的功能。

在实验中也有失败,如当经过几天的努力把各个信号模块做好后进行了整体的运作后,波形怎么也不出现。

后来才知道原来我们设计的电路只有在特定的试验箱特定的参数设置后才能实验成功,多亏老师的指导让我们少走很多弯路。

也从中发现自己还有很多知识不懂,最终把波形弄出来了!在这次设计中,我更进一步地了解了开发项目该如何组织进行,对正弦波信号发生器、方波信号发生器、三角波信号发生器、锯齿波信号发生器的实现有了更好的理解。

同时也提高了查阅文档解决问题的能力,对EDA技术的运用有了深一层的认识,对VHDL程序语言设计有了更深的理解,并熟练掌握了杭州康芯硬件结构动态可配置型EDA+SOPC试验箱、北京达盛公司全开方式EDA+SOPC试验箱的用法。

通过本实验设计更增加了我对电子技术的热爱,对专业知识有了更透彻的认识!有因掌握了这一技术而更加自信。

相信通过今后的学习会更成为一个科技含量高的技术人才!在试验过程中,充分体会到团队精神的重要,我们很默契很团结,才最终把实验做成功。

通过实验也给自己一个成就感,让平时所学的知识有了实用的机会,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,让我以后更有信心,无论遇到什么困难都要勇于克服,遇到问题要善于思考并虚心请教。

附录:(1).多功能信号发生器FPGA芯片配置说明:本次多功能信号发生器设计采用VHDL语言设计并通过QUARTUS II软件编译、仿真完成后,需将生成的配置文件下载到EDA试验箱中测试输出波形。

有关配制情况说明如下:1.试验平台:GW48系列EDA/SOC试验开发系统2.FPGA芯片型号:Altera EP1K30TC144-31. --锯齿波(斜升)LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY niushengli_xsjcb IS -- 牛胜利(40604030109)PORT (clk,reset: IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0));END niushengli_xsjcb;ARCHITECTURE behave OF niushengli_xsjcb ISBEGINPROCESS (clk,reset)V ARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0);BEGINIF reset='0'THENtmp:="00000000";ELSIF clk'EVENT AND clk='1'THENIF tmp="11111111"THENtmp:="00000000";ELSEtmp:=tmp+1;END IF;END IF;q<=tmp;END PROCESS;END behave;2. --方波LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY niushengli_fb IS--牛胜利(40604030109)PORT (clk,reset: IN STD_LOGIC;q:OUT INTEGER RANGE 0 TO 255); END niushengli_fb;ARCHITECTURE behave OF niushengli_fb IS SIGNAL a: BIT;BEGINPROCESS (clk,reset)V ARIABLE cnt: INTEGER;BEGINIF reset='0'THENA<='0';ELSIF clk'EVENT AND clk='1'THENIF cnt<63 THENCnt:=cnt+1;ELSEcnt:=0;a<=NOT a;END IF;END IF;END PROCESS;Process (clk,a)BEGINIF clk'EVENT AND clk='1'THENIF a='1'THENQ<=255;ELSEQ<=0;END IF;END IF;END PROCESS;END behave;3. --双阶梯波library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity niushengli_jtb isport(clk,reset:in std_logic;q:out std_logic_vector(7 downto 0));end niushengli_jtb;architecture a of niushengli_jtb isbeginprocess(clk,reset)variable tmp:std_logic_vector(7 downto 0);beginif reset='0' thentmp:="00000000";else if clk'event and clk='1' thenif tmp="11111111" thentmp:="00000000";elsetmp:=tmp+16;end if;end if;end if;q<=tmp;end process;end a;4.--正弦波library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity niushengli_sin is --牛胜利(40604030109)port(clk:in std_logic;reset:in std_logic;q:out std_logic_vector(7 downto 0));end niushengli_sin;architecture behav of niushengli_sin issignal b:integer range 0 to 63;signal d:integer range 0 to 255;beginprocess(clk)beginif reset='0'then b<=0;elsif clk'event and clk='1' thenif b=63 then b<=0;else b<=b+1;end if;end if;end process;process(b)begincase b iswhen 00=>d<=255; when 01=>d<=254; when 02=>d<=252; when 03=>d<=249;when 04=>d<=245; when 05=>d<=239; when 06=>d<=233; when 07=>d<=225;when 08=>d<=217; when 09=>d<=207; when 10=>d<=197; when 11=>d<=186;when 12=>d<=174; when 13=>d<=162; when 14=>d<=150; when 15=>d<=137;when 16=>d<=124; when 17=>d<=112; when 18=>d<=99; when 19=>d<=87;when 20=>d<=75; when 21=>d<=64; when 22=>d<=53; when 23=>d<=43;when 24=>d<=34; when 25=>d<=26; when 26=>d<=19; when 27=>d<=13;when 28=>d<=8; when 29=>d<=4; when 30=>d<=1; when 31=>d<=0;when 32=>d<=0; when 33=>d<=1; when 34=>d<=4; when 35=>d<=8;when 36=>d<=13; when 37=>d<=19; when 38=>d<=26; when 39=>d<=34;when 40=>d<=43; when 41=>d<=53; when 42=>d<=64; when 43=>d<=75;when 44=>d<=87; when 45=>d<=99; when 46=>d<=112; when 47=>d<=124;when 48=>d<=137; when 49=>d<=150; when 50=>d<=162; when 51=>d<=174;when 52=>d<=186; when 53=>d<=197; when 54=>d<=207; when 55=>d<=217;when 56=>d<=225; when 57=>d<=233; when 58=>d<=239; when 59=>d<=245;when 60=>d<=249; when 61=>d<=252; when 62=>d<=254; when 63=>d<=255;when others=>null;end case;end process;q<=conv_std_logic_vector(d,8);end behav;5 -- 三角波LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY niushengli_sjb IS --牛胜利(40604030109)PORT (clk,reset: IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0));END niushengli_sjb;ARCHITECTURE behave OF niushengli_sjb ISBEGINPROCESS (clk,reset)V ARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0);V ARIABLE a: STD_LOGIC;BEGINIF reset='0'THENtmp:="00000000";ELSIF clk'EVENT AND clk='1'THENIF a='0'THENIF tmp="11111110"THENtmp:="11111111";a:='1';ELSEtmp:=tmp+1;END IF;ELSEIF tmp="00000001"THENtmp:="00000000";a:='0';ELSETmp:=tmp-1;END IF;END IF;END IF;q<=tmp;END PROCESS;END behave;6. --锯齿波(斜降)LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY niushengli_xjc IS --牛胜利(40604030109)PORT (clk,reset: IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END niushengli_xjc;ARCHITECTURE behave OF niushengli_xjc ISBEGINPROCESS (clk,reset)V ARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0);BEGINIF reset='0'THENtmp:="11111111";ELSIF clk'EVENT AND clk='1'THENIF tmp="00000000"THENTmp:="11111111";ELSEtmp:=tmp-1;END IF;END IF;q<=tmp;END PROCESS;END behave;7. --六选一选择器LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY niushengli_MUX61 IS --牛胜利(40604030109)PORT (sel: IN STD_LOGIC_VECTOR (2 DOWNTO 0);d0,d1,d2,d3,d4,d5: IN STD_LOGIC_VECTOR(7 DOWNTO 0);q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END niushengli_MUX61;ARCHITECTURE behave OF niushengli_MUX61 ISBEGINPROCESS (sel)BEGINCASE sel ISWHEN "000" =>q<=d0;WHEN "001" =>q<=d1;WHEN "010" =>q<=d2;WHEN "011" =>q<=d3;WHEN "100" =>q<=d4;WHEN "101" =>q<=d5;WHEN OTHERS =>NULL;END CASE;END PROCESS;END behave;。

相关文档
最新文档