yanghgc 发表于 2009-6-25 23:20:58

用fpga实现倍频大家讨论

用fpga实现倍频大家讨论
输入信号时0—200khz,要求10倍频及输出的信号0—2m,fpga的时钟是10m的

chopin1998 发表于 2009-6-26 09:00:49

PLL啊

yanghgc 发表于 2009-6-26 12:26:32

怎么用呢

wangli1013 发表于 2009-6-26 14:20:36

用锁相环哈,最好解决了。。。。
不知道你用的是哪个公司的FPGA。。。

windowsce 发表于 2009-6-27 13:19:11

输入频率太低了吧,才200k的频率,一般PLL要求的频率都要>10M的。

yanghgc 发表于 2009-6-27 22:07:55


不是对时钟信号的倍频

Friendz 发表于 2009-6-28 00:51:58

0这个起点太低了呀。如果是100k~200k,可能好搞些。

PLL一般都有个下限,否则精度会很差。

Friendz 发表于 2009-6-28 00:53:46

有个想法给你参考一下:

用计数器计算输入时钟的周期,在下一个周期按照周期/10输出时钟,像流水线一样,但精度实在是一般。

zgq800712 发表于 2009-6-28 10:10:22

你这要求也有?

chopin1998 发表于 2009-6-29 17:32:46

喔, 如果是这样的话, 要看你的具体要求了

可以考虑先预先取10个源脉冲的后期平均值, 然后产生新的波形

yuhang 发表于 2009-6-29 20:47:02

library ieee;

use ieee.std_logic_1164.all   ;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;



entity twice is

port (clk,rst:in std_logic;

       clk_out:out std_logic);

end twice;



architecture rtl of twice is

signal clk_temp:std_logic;

signal d_out:std_logic;

signal d_outn:std_logic;



begin

process(clk_temp,rst)

begin

       if(rst='1') then

            d_out<='0';

       else

            if(clk_temp'event and clk_temp='1') then

                     d_out<=d_outn;

             end if;

      end if;

end process;



clk_temp<=clk xor d_out;



clk_out<=clk_temp;



d_outn<=not d_out;



end rtl;

peixiuhui 发表于 2012-4-9 19:24:06

PLL能对任意 频率 进行倍频吗?

yutianyiren 发表于 2012-4-9 20:39:51

PLL 有最低频率要求的,一般输入10M左右,输出也是有要求的,你这个太低了。
你的时钟10M,输入为K级别,直接计数就行了。

batou 发表于 2012-4-25 21:18:38

带锁相环的倍频好办,但好多芯片不带锁相环,像我现在用的这个lattice公司的xo640就不带,要倍频有什么好办法呢

sgj138 发表于 2012-5-12 00:02:02

没看明白啊

pocker5200 发表于 2012-5-12 10:50:00

本帖最后由 pocker5200 于 2012-5-12 11:11 编辑

能给个具体的信号源么。
页: [1]
查看完整版本: 用fpga实现倍频大家讨论