找回密码
 注册
搜索
查看: 1345|回复: 8

[讨论] 菜鸟求助产生三角波的VHDL语言代码

[复制链接]
发表于 2006-4-20 08:59:00 | 显示全部楼层 |阅读模式
菜鸟求助产生三角波的VHDL语言代码
发表于 2006-4-26 18:10:00 | 显示全部楼层
<P>我估计得用查表的方式实现,</P>[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-4-28 09:59:00 | 显示全部楼层
<P>其实“查表”的数据,一般也是从程序运行得到的结果数据。我以前就是用C语言写的,将输出数据存入ROM中。</P><P>这应该是一个很简单的线性函数,不会很难吧。</P><P>我觉得:先设置一个峰值数据,在进程中,通过时钟的控制,对输出数据进行线性常量的加减法。</P><P>当然还要判断这个输出数据是否大于峰值。</P>
点评回复

使用道具 举报

发表于 2006-10-24 17:32:00 | 显示全部楼层
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity delta is
  port(clk,reset:in std_logic;
       q:out std_logic_vector(7 downto 0));
end delta;
architecture delta_arc of delta is
begin
  process(clk,reset)
  variable tmp:std_logic_vector(7 downto 0);
  variable a:std_logic;
begin
  if reset='0' then
     tmp:="00000000";
  elsif clk'event and clk='1' then
     if a='0' then
       if tmp="11111110" then
          tmp:="11111111";
          a:='1';
      else
         tmp:=tmp+1;
      end if;
    else
      if tmp="00000001" then
         tmp:="00000000";
         a:='1';
     else
tmp:=tmp-1;
end if;
   end if;
  end if;
q<=tmp;
end process;
end delta_arc;
点评回复

使用道具 举报

发表于 2006-10-31 10:48:00 | 显示全部楼层
4楼的程序里,给tmp赋初值的时候,也要给a赋一下0吧.

别的不知道,但这个
if tmp="00000001" then
         tmp:="00000000";
         a:='1';

a应该赋为0吧
点评回复

使用道具 举报

发表于 2006-10-31 14:59:00 | 显示全部楼层
这段代码能产生三角波吗?看不太明白,哪位高人能给指点指点啊[em05]
点评回复

使用道具 举报

发表于 2006-10-31 17:10:00 | 显示全部楼层
然后接一个数模转换器就行了。要得到更好的波形还可以接滤波器。
点评回复

使用道具 举报

发表于 2006-11-16 11:24:00 | 显示全部楼层
大致思路:从00000000依次加到11111111,再从11111111依次减到00000000,如此循环,外加一个DA就可以了
点评回复

使用道具 举报

发表于 2006-12-22 09:10:00 | 显示全部楼层
楼上的你好,我现在想输出一个可调制三角播,也就是说在输出三角拨的每一个样值点在输出是都要成一个系数,而且没次的系数也不相同,那这样的三角波怎样产生呀,我想在fpga中做一个ram将系数全存到里面,然后用的时候再调,但感觉挺复杂的,也没做过.你能不能给我指点一下.谢谢
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-29 18:31 , Processed in 0.047327 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表