全部评论(1条)
-
- 就上此网14 2012-02-21 00:00:00
- 你这个可以用模拟图实现的 无需写程序 给个参考你吧 本设计有5个模块组成,其中有:方波发生器,三角波发生器,正弦波发生器,阶梯波发生器,4选1选择器。下面是我设计的整个过程: 方波发生器:实质上是一段时间输出0,一段时间输出255的数字信号,当然这有8位的通道输出。 程序设计如下: --工程名:方波发生器 --功能:产生方波,是通过交替送出全0和全1实现的,每32个时钟翻转一次 --时间:2010-12-17 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sqaure is port(clk,clr:in std_logic; q:out integer range 0 to 255 ); end entity; architecture behav of sqaure is signal a:bit; begin process(clk,clr) --计数分频 variable cnt:integer range 0 to 32; begin if(clr='0') then a<='0'; elsif clk'event and clk='1' then if cnt<31 then --进行32分频 cnt:=cnt+1; else cnt:=0; a<=not a; end if; end if; end process; process(clk,a) --信号输出 begin if clk'event and clk='1' then if a='1' then q<=255; else q<=0; end if; end if; end process; end behav; 三角波发生器:实质上是先输出直线递增的数字信号,随后按照同样的斜率输出递减的数字信号。这样就能实现三角波的发生了。 程序设计如下: --工程名:三角波信号发生器 --功能:产生的三角波以64个时钟为一个周期,输出q每次加减8。 --时间:2010-12-17 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity delta1 is port(clk:in std_logic;--时钟信号 rst:in std_logic;--复位信号 q:out std_logic_vector(7 downto 0)); --输出信号 end entity; architecture behav of delta1 is begin process(clk,rst) variable tmp:std_logic_vector(7 downto 0); variable a:std_logic; begin if(rst='0') then tmp:="00000000"; elsif clk'event and clk='1' then if(a='0') then if(tmp="11111000") then --tmp=248 tmp:="11111111"; a:='1';--信号计数完成,下一次改成递减 else tmp:=tmp+8;--递增 end if; else if tmp="00000111" then --tmp=7 tmp:="00000000"; a:='0';--信号计数完成,下一次改成递增 else tmp:=tmp-8;--递减 end if; end if; end if; q<=tmp;--信号输出 end process; end behav; 正弦波发生器:这里我设计了64个状态,就是将一个周期的正弦波分成64分,在然后一份份的数字信号输出就可以了。具体怎么取值,用excel计算就可以了。自己手动计算也可以的哦。 具体程序设计如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sin1 is port(clk,clr:in std_logic; d:out integer range 0 to 255); end entity; architecture behav of sin1 is begin process(clk,clr) variable tmp:integer range 0 to 63; begin if clr='0' then d<=0; elsif clk'event and clk='1' then if tmp=63 then tmp:=0; else tmp:=tmp+1; end if; case tmp is when 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<=252; when 63=>d<=255; when others=>null; end case; end if; end process; end behav;
-
赞(15)
回复(0)
热门问答
- EDA高手进来,帮忙用VHDL语言写一个可控正弦信号发生器。有完整论文更好
2012-02-20 12:01:19
335
1
- 用VHDL语言设计一个频率计
- 问题补充是: 用于测量1M Hz 以下数字脉冲信号的频率。闸门只有1S一档。测量结果在数码管上显示出来。不测信号脉宽,在实验台上完成调试。 (2)设计提示 ①频率计的基本工作原理如下:首先产生一系列准确闸门信号,例如1mS、0.1S和1S等,然后用这些闸门信号控... 问题补充是: 用于测量1M Hz 以下数字脉冲信号的频率。闸门只有1S一档。测量结果在数码管上显示出来。不测信号脉宽,在实验台上完成调试。 (2)设计提示 ①频率计的基本工作原理如下:首先产生一系列准确闸门信号,例如1mS、0.1S和1S等,然后用这些闸门信号控制一个计数器对被测脉冲进行计数,Z后将结果显示出来。如果闸门信号是1S,那么1S内计数的结果就是被测信号的频率。如果闸门信号是1mS,那么计数结果是被测信号频率的千分之一,或者说结果是以KHz为单位的频率值。 ②频率计中,Z原始的时基信号准确度一定要高。用实验台上的100KHz时钟信号作原始时基信号。 ③1S的闸门信号是由100KHz时钟经5次10分频后,再经2分频产生。这样产生的闸门信号脉宽是1S,占空比是50%。在2S的时间内,1S用于计数,1S用于显示结果。 ④用于被测信号计数的计数器应采用十进制。测得的结果可直接送实验台上的六个数码管显示。每次对被测信号计数前,计数器应被清零。 展开
2016-05-05 04:35:34
365
1
- 2.设计一个正弦信号发生器。
- 2.设计一个正弦信号发生器。要求:(1)正弦波输出频率范围:1kHz~2MHz;(2)具有频率调节功能(频率可调);(3)输出信号频率稳定度:优于10-2;(4)输出电压幅度:在负载电阻上... 2.设计一个正弦信号发生器。要求: (1)正弦波输出频率范围:1kHz~2MHz; (2)具有频率调节功能(频率可调); (3)输出信号频率稳定度:优于10-2; (4)输出电压幅度:在 负载电阻上的电压峰-峰值Vopp≥1V; 大侠些,麻烦了,帮我设计一下,特别是那个频率可调1kHz-2MHz,网友laohuzhou88给的参考很不错,谢谢你了,不过现在我是初学者,还需要一些指点,成了再加分! 展开
2008-10-21 07:53:37
471
3
- 如何用VHDL语言实现8位十进制数字频率计,恳请高手帮忙,求程序啊
2011-06-27 01:41:01
335
2
- 设计并制作一个正弦信号发生器。
- 设计并制作一个正弦信号发生器。(1)设计制作的技术指标要求:1)正弦波输出频率范围:1kHz~10MHz;2)输出信号频率稳定度:优于10-4;3)输出电压幅度:在负载电阻上的电压峰-峰值... 设计并制作一个正弦信号发生器。 (1)设计制作的技术指标要求: 1)正弦波输出频率范围:1kHz~10MHz; 2)输出信号频率稳定度:优于10-4; 3)输出电压幅度:在 负载电阻上的电压峰-峰值Vopp≥1V; 4)失真度:用示波器观察时无明显失真。 展开
2013-12-11 04:04:32
400
3
- 正弦信号发生器
- 1。正弦波输出频率范围:1KH-10MH;2。具有频率设置功能,频率步进:100H;3。输出信号频率稳定度,优于10的负4次方4。输出电压幅度:在50欧负载电阻上的电压蜂-峰值Vopp>=1V;5。失真... 1。正弦波输出频率范围:1KH-10MH; 2。具有频率设置功能,频率步进:100H; 3。输出信号频率稳定度,优于10的负4次方 4。输出电压幅度:在50欧负载电阻上的电压蜂-峰值Vopp>=1V; 5。失真度:用示波器观察时无明显失真 我需要一个原理图,和计算方法。 展开
2009-07-23 13:14:51
486
3
- 您好,我想请教VHDL语言编写一个RS编码器,希望您可以帮忙
2011-03-30 15:31:51
451
1
- VHDL语言设计滤波器
- 设计FIR低通滤波器,系统频率为50MHz,通带截止频率Fpass为1MHz,阻带截止频率Fstop为4MHz,通带Z大衰减Apass为1dB,阻带Z小衰减Astop为30dB。 程序和必要的程序注释 谢谢
2011-06-19 05:59:16
269
1
- 求用VHDL语言设计一数字频率计
- 1,输入为矩形脉冲,频率范围0-99MHZ, 2,用五位数码管显示,只显示Z后结果,过程无需显示 3,单位为HZ KMZ两档,自动切换
2011-12-16 02:41:05
331
2
- 我需要设计制作一个正弦信号发生器
- 1、基本要求(1)正弦波输出频率范围:1kHz~10MHz;(2)具有频率设置功能,频率步进:100Hz;(3)输出信号频率稳定度:优于10-4;(4)输出电压幅度:在负载电阻上的电压峰-峰值Vo... 1、基本要求 (1)正弦波输出频率范围:1kHz~10MHz; (2)具有频率设置功能,频率步进:100Hz; (3)输出信号频率稳定度:优于10-4; (4)输出电压幅度:在 负载电阻上的电压峰-峰值Vopp≥1V; 展开
2011-06-13 01:46:22
390
5
- 有没有大神能帮忙用VHDL写简单的数字频率计的程序?
2018-11-23 21:00:26
422
0
- 单片机正弦信号发生器
- 用的是82C51接上一个DAC0832,用汇编语言写程序,对正弦波一个周期取256个样点,然后放进表格,上半波是正数,数据从00H开始到FFH再到00H,但是下半波是负数应该怎么写?比如-6是FAH,... 用的是82C51接上一个DAC0832,用汇编语言写程序,对正弦波一个周期取256个样点,然后放进表格,上半波是正数,数据从00H开始到FFH再到00H,但是下半波是负数应该怎么写?比如-6是FAH,但是这在上半波已经出现了 展开
2012-12-28 04:22:02
375
2
- 正弦信号发生器如何设计
2018-11-23 21:08:53
358
0
- 关于 赛灵思 软件仿真VHDL语言的一个问题
- warn:thedesigncontainsoneormoreregisters/latchesthataredirectlyincompatiblewiththespartan6architecture.thetwoprimarycausesofthisiseitheraregisterorlatchdescribedwithbeth... warn:the design contains one or more registers/latches that are directly incompatible with the spartan6 architecture.the two primary causes of this is either a register or latch described with beth an asynchronous set and asynchronous reset.or a register or catch described with an asynchronous polarity 综合时出现这个警告对结果有影响吗? 展开
2011-02-10 10:37:39
376
3
- 有关正弦信号发生器的毕业论文
- 快毕业了,论文是Z头疼的,请各路大侠出手救救阿,不胜感激!!!!... 快毕业了,论文是Z头疼的,请各路大侠出手救救阿,不胜感激!!!! 展开
2009-03-03 21:08:34
486
1
- 基于cordic正弦信号发生器怎么做
2017-05-01 02:55:37
307
1
- VHDL 毕业设计正弦信号发生器FPGA开 发板和DA模块(实体硬件)应该怎么相连。
- 我画的原理图对吗?那个地方就是把q分配引脚使它们与DA模块配对是不是?... 我画的原理图对吗? 那个地方就是把q分 配引脚使它们与DA模块配对是不是? 展开
2018-11-17 19:12:00
386
0
- 帮忙找一下论文
- 帮忙找一下 关于红外技术发展史 的论文或者资料 急~~~~~~~~~~ 如果好~~我可以再加分
2006-02-27 04:12:49
413
1
- 基于FPGA的正弦信号发生器 大佬们点进来瞅一眼哇 谢谢 谢谢 谢谢了
- 我有一块FPGA开发板和一个DA模块,分开的。现在想解决的问题是在示波器上观察波形,是不是需要把图中的q分配到DA模块的引脚中去,连同DA_CLK。然后通过示波器就可以看到波形了?希望大... 我有一块FPGA开发板和一个DA模块,分开的。现在想解决的问题是在示波器上观察波形,是不是需要把图中的q分配到DA模块的引脚中去,连同DA_CLK。然后通过示波器就可以看到波形了? 希望大家指点迷津。 展开
2018-12-04 17:34:25
385
0
- 基于vhdl语言的8位数字频率计的设计
- 论文要求:测量从1Hz到9999的信号频率,并将被测信 的频率在数码管上显示出来,采用文本和图形混合设计的方法! 请高人指点一下!我实在是不懂,Z好能给我发一份设计,邮箱是945876736@qq.com!万分感谢!!!!
2010-03-14 18:18:36
329
2
12月突出贡献榜
推荐主页
最新话题
-
- #八一建军节——科技铸盾,仪器护航#
- 如何选择到合适的磷青铜绞线?磷青铜绞线的质量...如何选择到合适的磷青铜绞线?磷青铜绞线的质量解析和如何选择到合适的绞线?磷青铜绞线是一种特殊的铜合金导线,由铜、锡和磷等元素组成,具有很好的机械性能、电气性能和耐腐蚀性。磷青铜绞线基本定义与特性:磷青铜是铜与锡、磷的合金,质地坚硬,可制弹簧。典型成分为铜(90%)、锡(6-9%)及磷(0.03-0.6%)锡元素提升合金的强度和耐腐蚀性,磷则细化晶粒、增强耐磨性铸造性能。耐磨性:表面氧化层使其在特殊环境下耐腐蚀,使用寿命长导电性:保持铜很好导电性能的同时有化电子传输路径非铁磁性:不含铁元素,避免在强磁场环境中产生额外能量损耗弹性:受到外力作用时能迅速恢复原状
- 八一建军节 铁血铸军魂













参与评论
登录后参与评论