基于VHDL的多波形m序列发生器的设计
- 格式:pdf
- 大小:280.38 KB
- 文档页数:2
实验四用VHDL设计多功能信号发生器一、设计任务基于《VHDL语言》,通过给定的仪器(EDA6000试验箱)设计一个多功能信号发生器,要求:(1)能产生周期性正弦波、方波、三角波、锯齿波以及用户自己编辑的特定波形(选作);(2)输出信号的频率范围为100Hz~200KHz,且输出频率可以调节;(3)具有显示输出波形、频率的功能。
(选作)二、系统顶层框图弦波的数字幅度信息,每个查找表的地址对应正(余)弦波幅度信号,同时输出到数模转换器(DAC)输入端,DAC输出的模拟信号经过低通滤波器(LPF),可以得到一个频谱纯净的正(余)弦波。
二、设计步骤用VHDL语言结合原理图设计实现一个函数信号发生器,输出正弦波、方波和三角波三种波形。
将频率控制、分频、三角波、正弦波、方波发生邓各个模块分别用VHDL语言编程为一个子程序,并把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块,连接电路如上图系统顶层框图所示。
通过按键1到按键8控制频率调节f〔7...0〕,用按键6、按键7、按键8控制dlt 、sin 、sqr 波形选通,最后把八位输出接DAC0832通过D/A 转换,从示波器上就能看到波形输出。
按下不同的按键输出不同的波形及频率。
三、系统设计(1)数控分频器模块在时钟的作用下,通过预置分频数DIN ,来改变输出频率。
假如分频系数为N ,波形存储模块存储一个周期的波形,实验里按照一个周期波形采样64个点存储在波形存储模块里。
则输出频率N f f clkout .64=(2).数据存储模块 (存储波形数据)数据存储模块主要存的是正弦波、三角波、锯齿波等一个周期的采样点。
三角波模块可设计一个可逆计数器实现,设计时设置一变量作为工作状态标志,在此变量为0时,当检测到时钟的上升沿进行加同一个数操作;为1时,进行减同一个数操作。
DA 转换采用的DA0832,输入有8个数据端,范围是0到255;而且设置64个时钟周期为一个三角波周期,所有每次加、减为8.锯齿波的存储数据与三角波类似。
VHDL多路波形发生器实验报告一、基本要求:1、对输入时钟信号进行分频,实现三路互差120°的信号。
2、实现输出信号的占空比控制clk: 输入时钟信号reset: 同步复位信号(低电平有效)div: 输入分频控制信号(注意:6n分频)ctrl: 占空比控制信号ctrl=1时, 占空比为1:1ctrl=2时, 占空比为1:2ctrl=3时, 占空比为2:1A,B,C: 三路输出信号二、设计思路:1.实验为6n分频,用变量s来控制,0~6n-1这六个数,当时钟信号每来一个上升沿时加1,当为6n-1时清零;2.定义N为常量,通过改变N的值改变分频;3.ctrl值不同时,占空比不同,用case语句控制,ctrl分别为01,10,11和其他;4.具体波形的实现用if语句,当占空比为1时,A输出信号在s=0和s=3*n时翻转,B输出信号在s=2*n和s=5*n时翻转,C输出信号在s=4*n和s=n的时候翻转。
当占空比为1:2时,A输出信号在s=0和s=2*n时翻转,B输出信号在s=2*n和s=4*n时翻转,C输出信号在s=4*n和s=0的时候翻转。
当占空比为2:1时,A输出信号在s=0和s=4*n时翻转,B输出信号在s=2*n和s=0时翻转,C输出信号在s=4*n和s=2*n的时候翻转;5.在占空比为1和1:2时,C输出信号应比B慢120度,但是实际输出超前B,所以要对C输出进行反相;同理,在占空比为2:1时,要对B、C分别进行反向。
6.用if语句判断是否复位,若非,则执行case语句。
三、流程图:四、源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity top isport(clk,reset:in std_logic;ctrl:in std_logic_vector(1 downto 0);A,B,C:out std_logic);end top ;architecture rel of top issignal temp1,temp2,temp3,temp4,temp5 : std_logic; constant N: integer:=1;signal s:integer range 0 to 6*N-1 ;beginprocess(clk,reset,ctrl)beginif (reset='0') thentemp1<='0';temp2<='0';temp3<='0';temp4<='0';temp5<='0';s<=0;elsecase ctrl iswhen "01"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=3*N thentemp1<= not temp1;end if;if s=2*N thentemp2<= not temp2;end if;if s=5*N thentemp2<= not temp2;end if;if s=4*N thentemp4<= not temp4;end if;if s=N thentemp4<= not temp4;end if;end if;temp3<= not temp4;when "10"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=2*N thentemp1<= not temp1;end if;if s=2*N thentemp2<= not temp2;end if;if s=4*N thentemp2<= not temp2;end if;if s=4*N thentemp4<= not temp4;end if;if s=0 thentemp4<= not temp4;end if;end if;temp3<= not temp4;when "11"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=4*N thentemp1<= not temp1;end if;if s=2*N thentemp5<= not temp5;end if;if s=0 thentemp5<= not temp5;end if;if s=4*N thentemp4<= not temp4;end if;if s=2*N thentemp4<= not temp4;end if;end if;temp2<= not temp5;temp3<= not temp4;when others=>temp1<='0';temp2<='0';temp3<='0';end case;end if;end process;A<=temp1;B<=temp2;C<=temp3;end rel;五、仿真波形:整体波形:当ctrl=1 当ctrl=2 当ctrl=3复位当ctrl=其他:六、实验过程遇到的问题:在程序设计时,开始不知该怎样使A,B,C互差120度,开始是想通过定义一个变量,每来一个上升沿加1,从0开始,A路信号除3n 取余为0则翻转,B路信号除3n取余为1则翻转,C路信号除3n取余为2则翻转,我觉得这样的想法应该没有错,可是实际却调不出来,可能是某处逻辑有问题,后来就模仿老师给的6分频程序,设计了现在的程序。
成都电子机械高等专科学校毕业设计论文作者姚世刚学号2009111733系部电子与电气工程系专业电子测量技术与仪器题目基于VHDL的m序列伪随机信号发生器的设计指导教师赵茂林评阅教师完成时间:2012年4 月30日毕业设计(论文)中文摘要题目:基于VHDL的m序列发生器的设计摘要:VHDL/CPLD即复杂可编程逻辑器件作为一种大规模集成电路,可根据用户的需要自行构造逻辑功能,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。
几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。
本文介绍了基于CPLD的m序列发生器的设计方法。
关键词:CPLD;MAX+PLUS II;伪随机码;m序列发生器毕业设计(论文)外文摘要Title : M—sequence Generator Based CPLDAbstract: VHDL/CPLD Complex Programmable Logic Device that is, as a large scale integrated circuits can be constructed according to the needs of users on their own logic, enabling large-scale circuit design, it is widely used in product design and prototype production into. Almost all applications of small and medium general-purpose digital integrated circuits may be applied CPLD devices occasions. This article describes the m-sequence generator based on CPLD design method.Key words: CPLD;MAX+PLUS II;Pseudorandom Code;m sequence code Generator目录前言 (6)1课题介绍 (7)1.1为什么研究此课题 (7)1.2伪随机序列的应用与意义 (7)1.3伪随机序列的研究现状 (8)1.4研究内容 (8)2设计中使用芯片及VHDL语言介绍 (9)2.1 CPLD芯片介绍 (9)2.1.1概述 (9)2.1.2 MAX7000特点 (9)2.1.3 EPM7128LC84-7 (11)3 伪随机序列介绍 (12)3.1 伪随机序列理论的发展史 (13)3.2 伪随机序列的构造方法 (13)4 序列信号发生器原理 (14)4.1序列信号发生器的设计 (15)4.1.1反馈移位型序列信号发生器 (15)4.1.2计数型序列码发生器 (18)5 移位寄存器 (20)5.1移位寄存器 (20)5.1.1 寄存器 (20)5.1.2移位寄存器 (21)5.2 线性反馈移位寄存器结构 (22)5.2.1 D触发器 (22)5.2.1.1 D触发器工作原理 (22)5.2.1.2 D触发器真值表 (23)5.2.1.3 特征方程 (23)5.2.1.4 状态转移图 (23)5.2.1.5时序图 (24)5.2.1.6 脉冲特性 (24)5.2.2异或门 (25)5.2.2.1 基本原理 (25)5.2.2.2 异或门逻辑符号 (25)5.2.2.3 逻辑表达式 (25)5.2.2.4 真值表 (25)5.3 线性反馈移位寄存器 (26)5.3.1 什么是反馈移位寄存器 (26)5.3.2 线性反馈移位寄存器 (26)5.3.3 性质 (26)6 伪随机信号 (27)6.1 伪随机信号 (27)6.2 m序列码发生器 (30)7 m序列性质 (33)7.1 均衡性 (33)7.2游程特性 (33)7.3 移位相加性 (33)7.4 相关特性 (33)7.5 伪随机特性 (34)8 序列信号发生器的设计和仿真实现 (35)8.1 m序列生成单元的电路设计 (35)8.1.1 系统组成 (35)8.1.2 程序方框图 (36)8.2 m序列发生器 (36)8.3 VHDL语言实现 (37)8.4 仿真数据及结论 (39)结论 (42)致谢 (43)参考文献 (43)前言CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
基于VHDL语言的波形发生器的设计基于VHDL语言的波形发生器的设计利用FPGA芯片信号发生器的设计。
当按下开关1时产生三角波,当按下开关2时产生正弦波,当按下开关3时产生方波。
本次设计采用xilinx公司的ISE设计工具,在zedboard开发板中的xc7z020芯片上用VHDL来实现,并且利用ISE自带的chipscop完成对FPGA内部的信号的读取。
这样的设计具有体积小,修改升级容易等特点。
本设计采用自顶向下、纯文本实现数字时钟的设计、下载和调试。
1 设计原理本设计由信号产生,信号选择,信号控制输出三大模块组合而成。
其中信号产生模块有:三角波模块、方波模块、正弦波模块。
本设计采用K0~K2这三个按键为信号选择开关,选择信号产生模块输出的信号。
(顶层设计的例化语句见附录一)其RTL 图1-1:RTL图1-12主要功能模块u1:square方波产生模块;u2:sin正弦波产生模块;u3:delta三角波产生模块;u4:sig_control数据选择器模块;u5,u6:为使用chipscope所需生成的IP核。
2.1 u1方波产生模块(程序见附录二)产生方波,初始化为幅值225的高电平,每有一次时钟上升沿触发产生一次计数,当计数值达到128时跳到为0的低电平。
利用循环语句不断的产生高低电平的方波输出。
原理如图2-1:方波模块RTL 图2-12.2 u1正弦波产生模块(程序见附录三)功能是产生正弦波,产用信号抽样的原理,在一个正弦信号中等间隔的抽样64点,此64点的幅值作为一个正弦波数据表,每有一次时钟上升沿触发便赋予输出端q一个点的数据,依次赋值64个点的数据便完成一个周期的正弦波的输出。
并利用循环语句不断的产生正弦波的输出。
原理如图2-2:正弦波模块RTL 图2-22.3 u1三角波产生模块(程序见附录四)功能是产生三角波,初始化为幅值为0,每有一次时钟上升沿触发便进行幅值加1,当幅值达到最大255时,每有一次时钟上升沿触发便进行幅值减1,当幅值减为0时完成一个周期的输出。
Yi bin University EDA技术及应用课程设计报告题目基于VHDL的PWM信号发生器系别物理与电子工程学院专业电子信息科学与技术学生姓名学号班级2013 年 12月 21日摘要本次课程设计是基于VHDL的PWM信号发生器,PWM信号发生器应用所学的数字电路和模拟电路的知识进行设计。
在设计过程中,所有电路仿真均基于Quartus II 9.1仿真软件。
本课程设计介绍了PWM 信号发生器的设计方案及其基本原理,并着重介绍了PWM信号发生器各单元电路的设计思路,原理及仿真,整体电路的的工作原理,控制器件的工作情况。
设计共有三大组成部分:一是原理电路的设计,本部分详细讲解了电路的理论实现,是关键部分;二是性能测试,这部分用于测试设计是否符合任务要求。
三是是对本次课程设计的总结。
关键词: PWM信号发生器仿真设计目录第1章绪论1.1 EDA 和QuartusⅡ的简介及起源 (1)1.2 EDA的优势及发展趋势 (1)第2章系统设计思路 (3)第3章可自加载加法计数器的设计 (4)第4章信号发生器设计过程 (6)第5章软件仿真5.1 Quartus Ⅱ软件简介 (8)5.2 用Quartus Ⅱ的仿真步骤和图像 (9)5.3 逻辑综合结果 (12)第6章设计总结 (13)第7章参考文献 (15)附录设计程序 (16)第1章绪论1.1 EDA和QuartusⅡ的简介及起源EDA是英文“electronic design automation”(电子自动化设计)的缩写,EDA技术是20世纪90年代迅速发展起来的,是现代电子设计的最新技术潮流,是综合现代电子技术和计算机技术的最新研究成果,是电子线路设计与分析的一门技术。
EDA包括电子线路的设计、计算机模拟仿真和电路分析及印制电路板的自动化设计三个方面的内容。
随着可编程逻辑器件迅速发展,出现了功能强大的全新的EDA工具。
具有较强描述能力的硬件描述语言(VHDL、Verilog、HDL)及高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发。
摘要:硬件描述语言HDL是EDA技术中的重要组成部分,VHDL是当前最流行的硬件描述语言之一,此语言具有良好的可读性、可移植性等特点。
本设计主要是利用VHDL语言设计一个多功能信号发生器,根据输入信号的选择可以输出方波、三角波、正弦波和阶梯波4种信号,主要使用了Altera公司的Quartus II软件。
本设计利用VHDL语言使用文本输入法,新建工程,通过设计输入、编译、仿真完成各种信号的设计,然后生成元器件,再使用原理图输入法完成各部分的整合,从而形成一个完整的多波形信号发生器,而后经过锁定引脚下载数模转换可以在示波器上观察到波形。
关键词:VHDL,文本输入法,原理图输入法,数模转换Abstract:Hardware describe language HDL is an important part of EDA technology ,VHDL is one of the current most popular hardware describe language,this language has a nice readability and portability. This design primarily uses vhdl language to design a versatile signal generator. According to the choice of the input signal wave,the generator can export the one wave of the four waves including square-wave、triangular-wave、sine-wave、ladder-wave . This design primarily uses the Quartus II software of Altera company.The design uses text input method by VHDL language to creat new projects,design the input,compile,simulate various kinds signals.And it generate new component,then it form a completed various kinds signals generator by schematic diagram method,then you can observe the waveforms on the oscillograph after locking the pins,downloading,digital-analogue conversion.Keywor ds:VHDL,text input method,schematic diagram method,digital-to-analogue conversion目录1.绪论 (4)1.1 EDA概述 (4)1.2 Quartus II 概述 (4)1.3 信号发生器概述 (5)2. VHDL语言介绍 (5)3.主要功能 (7)3.1 功能模块的划分 (7)3.2 主要功能的实现 (7)3.2.1方波的实现 (7)3.2.2三角波的实现 (9)3.2.3正弦波的实现 (11)3.2.4阶梯波的实现 (13)3.2.5四选一输出波形选择模块 (14)3.3 多波形信号发生器 (16)4.外围电路设计 (17)4.1基于EPM1270T144C5芯片的开发板介绍 (17)4.2 D/A转换器 (18)4.3示波器观察图形 (19)结论 (21)参考文献 (22)致谢 (23)1.绪论1.1 EDA概述EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件的方式设计的电子系统到硬件系统实现,最终形成集成电子系统或专用集成芯片的一门新技术。
长江大学工程技术学院毕业论文学院:专业班级:学号:姓名:指导教师:辅导教师:________~________学年________年____月至 ________年____月基于 VHDL 的函数信号发生器的仿真设计【摘要】数字技术和计算机技术已经广泛运用于工业、农业、医学、教育、军事、生活等各个领域,其应用之深之广令人惊叹。
电子设计自动化技术已日趋成为现代电子设计技术的核心,这种技术又称为 EDA(Electronic Design Automation)技术。
EDA 技术基于硬件描述语言 HDL。
VHDL 是 HDL 的一种,并广泛应用在电子设计中。
锯齿波、三角波、方波、正弦波等多种波形均可以从函数信号发生器中产生。
我们在电路实验中也广泛运用到函数信号发生器。
本文基于 VHDL 语言设计各个波形产生模块,然后在 QUARTUS II 软件上实现波形的编译及仿真,通过四选一数据选择器选择输出三角波、锯齿波、矩形波或正弦波中的一种规定波形,并采用调频模块和调幅模块进行调频调幅,可以产生多种波形。
【关键词】:函数信号发生器;EDA 技术;VHDL;QUARTUS II 软件目录1 基于VHDL的函数信号发生器的设计…………………………………………1.1信号发生器的发展现状……………………………………………………1.2研究信号发生器目的和意义………………………………………………1.3主要研究设计内容、关键问题及解决思路………………………………1.3.1主要研究内容…………………………………………………………1.3.2关键问题………………………………………………………………1.3.3解决思路………………………………………………………………2系统设计………………………………………………………………………2.1设计要求与任务……………………………………………………………2.2设计方案……………………………………………………………………2.3相关模块介绍………………………………………………………………2.3.1时钟脉冲与复位………………………………………………………2.3.2调频与调幅……………………………………………………………2.4相关组合对应关系…………………………………………………………3 系统仿真………………………………………………………………………3.1相关工具简介………………………………………………………………3.2波形数据产生模块…………………………………………………………3.2.1锯齿波…………………………………………………………………3.2.2三角波…………………………………………………………………3.2.3方波……………………………………………………………………3.2.4正弦波…………………………………………………………………4 调控模块………………………………………………………………………4.1波形输入控制模块…………………………………………………………4.2波形输出控制模块…………………………………………………………4.3频率控制模块………………………………………………………………4.4幅度控制模块………………………………………………………………5 结果分析………………………………………………………………………6 结论……………………………………………………………………………前言信号发生器也被称为信号源或振荡器,被广泛应用于生产实践与科学技术。
成都电子机械高等专科学校毕业设计论文作者姚世刚学号2009111733系部电子与电气工程系专业电子测量技术与仪器题目基于VHDL的m序列伪随机信号发生器的设计指导教师赵茂林评阅教师完成时间:2012年4 月30日毕业设计(论文)中文摘要题目:基于VHDL的m序列发生器的设计摘要:VHDL/CPLD即复杂可编程逻辑器件作为一种大规模集成电路,可根据用户的需要自行构造逻辑功能,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。
几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。
本文介绍了基于CPLD的m序列发生器的设计方法。
关键词:CPLD;MAX+PLUS II;伪随机码;m序列发生器毕业设计(论文)外文摘要Title : M—sequence Generator Based CPLDAbstract: VHDL/CPLD Complex Programmable Logic Device that is, as a large scale integrated circuits can be constructed according to the needs of users on their own logic, enabling large-scale circuit design, it is widely used in product design and prototype production into. Almost all applications of small and medium general-purpose digital integrated circuits may be applied CPLD devices occasions. This article describes the m-sequence generator based on CPLD design method.Key words: CPLD;MAX+PLUS II;Pseudorandom Code;m sequence code Generator目录前言 (6)1课题介绍 (7)1.1为什么研究此课题 (7)1.2伪随机序列的应用与意义 (7)1.3伪随机序列的研究现状 (8)1.4研究内容 (8)2设计中使用芯片及VHDL语言介绍 (9)2.1 CPLD芯片介绍 (9)2.1.1概述 (9)2.1.2 MAX7000特点 (9)2.1.3 EPM7128LC84-7 (11)3 伪随机序列介绍 (12)3.1 伪随机序列理论的发展史 (13)3.2 伪随机序列的构造方法 (13)4 序列信号发生器原理 (14)4.1序列信号发生器的设计 (15)4.1.1反馈移位型序列信号发生器 (15)4.1.2计数型序列码发生器 (18)5 移位寄存器 (20)5.1移位寄存器 (20)5.1.1 寄存器 (20)5.1.2移位寄存器 (21)5.2 线性反馈移位寄存器结构 (22)5.2.1 D触发器 (22)5.2.1.1 D触发器工作原理 (22)5.2.1.2 D触发器真值表 (23)5.2.1.3 特征方程 (23)5.2.1.4 状态转移图 (23)5.2.1.5时序图 (24)5.2.1.6 脉冲特性 (24)5.2.2异或门 (25)5.2.2.1 基本原理 (25)5.2.2.2 异或门逻辑符号 (25)5.2.2.3 逻辑表达式 (25)5.2.2.4 真值表 (25)5.3 线性反馈移位寄存器 (26)5.3.1 什么是反馈移位寄存器 (26)5.3.2 线性反馈移位寄存器 (26)5.3.3 性质 (26)6 伪随机信号 (27)6.1 伪随机信号 (27)6.2 m序列码发生器 (30)7 m序列性质 (33)7.1 均衡性 (33)7.2游程特性 (33)7.3 移位相加性 (33)7.4 相关特性 (33)7.5 伪随机特性 (34)8 序列信号发生器的设计和仿真实现 (35)8.1 m序列生成单元的电路设计 (35)8.1.1 系统组成 (35)8.1.2 程序方框图 (36)8.2 m序列发生器 (36)8.3 VHDL语言实现 (37)8.4 仿真数据及结论 (39)结论 (42)致谢 (43)参考文献 (43)前言CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
基于 VHDL 可编程 m 序列发生器的研制赵林军(陕西理工学院 电子与信息工程系 陕西 汉中 723003)摘 要: 提出一种可实现周期ƒ初相位编程控制的 m 序列发生器逻辑电路的设计方案。
给出了 V HDL 与 C P L D 的实现 方 案。
程序经编译、仿真、测试后, 可以实现设计要求。
该器件在M C S 51 的控制下, 实现m 序列的周期、初相位的编程变关键词: m 序列发生器; V HDL ; 逻辑电路; C P L D中图分类号: TN 914142文献标识码: B文章编号: 1004 373X (2004) 14 033 02Re s ea r ch an d D eve lop m en t of Programm a b le m Sequen ce Gen e ra tor Ba sed on VHDLZHA O L in jun(D ep a r t m en t o f E lec t ro n i c & Info rm a t i o n E ng inee r ing , Shaanx i U n i ve r s ity o f T echno lo gy , H anzho ng , 723003, C h ina )A b stra c t : T h e a r t i c l e in t r o d uce s o n e o f m sequ en ce gen e r a t o r s , w h ich deve l op ed ba s in g o n V HDL lan guage an d can beenp ro g r am m ab le o n p e r i o d s f r om 22 - 1 to 232- 11 W e exp lica t ed m ak in g p r i n c i p le an d w o rk i n g co u r s e , fu r t h e r m o re , gave th e h a r d w ir ec i rcu it o f th e i m p lem en t th a t h a s g r ea t l y p rac t i ca l and refe r en t i a l va l ue 1Keywords : m sequ en ce gen e r a t o r ; V HDL ; lo g i ca l c i rcu it ; C P L Dm 序列广泛应用于数字基带信号进行加扰, 改善数字 序列的位定时质量与帧同步和自适应时域均衡性能, 同时 也是构造平衡 G OL D 码的基础。
说明可控m序列产生器我分成四个小模块来做,M,M1,M2,M3分别对应为:m序列产生器、控制器、码长选择器、码速率选择器。
一、M: m序列产生器这是该设计的核心局部,原理就是设计一个通用m序列产生子单元,然后由外部选择器来写入码型,码长等参数,加以循环可连接成任意长度的m序列产生器,其子单元构造如下:如上图,假设N=15,就有15个这样的子单元首尾相接。
注意:开头和结尾的两个子单元会有所不同,因为首单元需要输入初值,尾单元要进展直通反应,在程序里请多留意。
图中,主要部件是一个D触发器,Q(N+1)为上一级输出;Q(N)既是本级输出;CP为选择后的时钟脉冲;B(N)为本级参数选择控制;A(N)受控于B(N),决定本级输出Q(N)是否反应〔B(N)为1时反应〕;C〔N〕为本级反应;C〔N-1〕为下一级反应。
具体原理参看m序列组成构造。
此外,本程序还参加了EN(发送控制)、RN(首单元置数)、SEL1(码长选择,即N的选择,N=2-15)、SEL2(码型选择,即正逆码选择)四个控制端,可满足设计要求。
OP为码输出端。
二、M1:控制器控制器主要是将外部的序列发送控制信号STA转换为EN和RN 两个控制信号。
其中,EN与STA的波形根本一致,只是它与CP进展了同步处理;RN在EN为‘1’的头一个脉冲周期里置高电平,以到达为序列发生器的首端置数的目的。
如果不清楚的话可以看一下它的模拟波形。
〔注意:STA要采用自锁定开关,高电平有效〕三、M2:码长选择序列的码长选择既是N值的选择,码长=2**N-1。
核心就是一个计数器,可从2计到15。
按一次PUSH就可以自动加一〔注意:按键建议采用自弹跳按键,如过需要软件去除按键震颤的话,我再做发给你〕,没有0,1两个状态。
如果需要的话还可以扩展7段数码管的接口,以显示N值。
四、M3:码速率选择器码的传输速率是靠CP来控制的,CP的频率就等于码元速率。
这段程序包含一个倍频器,一个5分频的分频器,可把5MHZ的脉冲源CLK扩展成1MHZ和10MHZ。
基于VHDL语言的序列发生器设计
焦鹏;邓正万
【期刊名称】《数字技术与应用》
【年(卷),期】2023(41)1
【摘要】在介绍了序列信号发生器的基础上,给出了利用VHDL语言设计的具体方法。
结合MAX+PLUS II的波形仿真功能,验证设计的正确性。
1序列信号发生器简介数字信号采用二值信息“0”和“1”来表示两个相对的状态,如脉冲的有、无或电平的高、低。
例如:若用“1”表示高电平,则“0”可表示低电平;若用“0”表示有脉冲,则“1”可表示无脉冲。
数字电路中,“0”和“1”仅表示两种相对独立的状态,没有数值上的大小概念,在实际应用中,两个相对独立的状态可用电子器件的开关特性来实现,就是利用二极管、三极管、场效应管等元器件的开关特性,如完全导通表示一种状态,完全截止表示另一种状态。
因此,数字电路的传输与信号处理无论在电路结构还是研究内容、分析方法均与模拟电路不同。
【总页数】3页(P171-173)
【作者】焦鹏;邓正万
【作者单位】江苏商贸职业学院
【正文语种】中文
【中图分类】TP391.9
【相关文献】
1.基于VHDL的GOLD序列发生器的设计与实现
2.基于VHDL可编程m序列发生器的设计及应用
3.基于VHDL语言的数字波形发生器的设计
4.基于VHDL全状态伪随机序列发生器的设计
5.基于VHDL的多波形m序列发生器的设计
因版权原因,仅展示原文概要,查看原文内容请购买。
基于VHDL函数信号发生器的设计近年来,信号发生器在电子测试和实验中起着关键作用。
基于VHDL函数的信号发生器设计是一种常用的方法,本文将详细介绍该设计思路和实现步骤。
一、设计思路VHDL是一种硬件描述语言,可用于设计数字电路和系统。
我们可以使用VHDL编写代码来定义信号的行为和特性,从而生成所需的信号。
信号发生器的设计思路是生成一个包含特定频率和幅度的周期性信号。
为了实现这个功能,我们可以通过使用函数、计数器以及DAC(数模转换器)等模块来完成。
具体来说,设计思路分为以下几个步骤:1.定义所需的信号特性,包括频率、幅度以及波形类型等。
2.使用VHDL函数生成幅度随时间变化的波形数据。
3.设计一个计数器来确定当期的波形数据。
4.使用DAC将波形数据转换为模拟信号输出。
二、信号发生器的实现步骤以下是信号发生器的实现步骤。
以一个简单的正弦波生成器为例,介绍各个步骤的具体实现方式。
1.定义信号特性:在设计过程中,我们需要定义信号的频率和幅度。
比如,我们可以设置频率为1kHz,幅度为2V。
2.生成波形数据:使用VHDL函数的方式来生成正弦波形的数据。
具体实现方式如下:- 定义一个常量signal_Amplitude表示信号的幅度。
- 在一个process块中,定义一个变量signal_Data,来存储生成的波形数据。
- 循环迭代变量i,使用sine函数生成正弦波的样本点。
-将样本点乘以信号幅度,得到最终的波形数据。
- 将波形数据输出到一个信号signal_Output。
3.设计计数器:为了确定当前的波形数据,我们需要设计一个计数器。
计数器的周期应该随着信号频率的变化而改变。
具体步骤如下:- 定义一个计数器signal_Counter,用于在每个时钟周期内递增。
- 使用一个变量signal_Period,表示信号的周期,计算公式为:signal_Period = (Fclk / Freq) - 1,其中Fclk为时钟频率,Freq为信号频率。
EDA 课程设计报告书课题名称 基于VHDL 语言信号发生器的设计 姓 名易金祥学 号 081220139 院 系 物理与电信工程系 专 业 电子信息工程 指导教师周来秀 讲师2011年 6月10日※※※※※※※※※ ※※ ※※ ※※2008级学生EDA 课程设计基于VHDL语言信号发生器的设计1、设计目的1) 掌握使用EDA工具设计信号发生器系统的设计思路和设计方法,体会使用EDA综合过程中电路设计方法和设计思路的不同,理解层次化设计理念。
2) 熟悉在Quartus II环境中,用文本输入方式与原理图输入方式完成电路的设计,同时掌握使用这两种方式相结合的EDA设计思路。
3) 通过这一部分的学习,对VHDL语言的设计方法进行进一步的学习,对其相关语言设计规范进行更深层次的掌握,能够更加熟练的做一些编程设计。
2、设计的主要内容和要求通过使用VHDL语言及Quartus II软件,设计多功能信号发生器的每个模块,将正弦波模块,方波模块,三角波模块,阶梯波模块创建相应的元件符号,同时设计好4选1数据选择器模块,再通过原理图输入方式,将各个模块组合起来,设计成一个完整的多种信号发生器电路,同时将各个模块单独进行仿真,设计各个模块的仿真波形,最后进行总原理图电路仿真,设计该信号发生器的总的仿真波形。
信号发生器:体现在它能自动的实现四种波形的转换。
根据题目的分析与整体构思可知,要完成设计任务必须完成以下要求:1、设计好用于波形切换的四路数据选择器selector4_1;2、设计好用于总电路设计的各个信号输出模块;3、设计好数模(D/A)转换器。
3、整体设计方案基本设计方案:在现有单一信号发生器的基础上,加上其它信号模块,通过组合与设计,用数模转换器(D/A)将选中的信号源发出的信号由数字信号转换为模拟信号,再用示波器显示出来,其信号发生器的结构框图如图3.1所示。
信号发生器由各个单一信号模块组合而成,其中信号产生模块将产生所需的各种信号,信号发生器的控制模块可以用数据选择器实现,用4选1数据选择器实现对四种信号的选择。