BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #18699同步于 2011/10/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

关于分频的疑惑

ocean
2011/10/16镜像同步4 回复
先贴一段资料: 以8M为基准频率,要将低音2频率为392.6H音频信号送出。 假设硬件实验装置的晶振频率为8M则:分频系数K=(8M÷392.6)÷2=10188=B“10011111001100” 将8M基准频率进行10188分频得到的是低音2频率的倍频信号392.6x2=592.4Hz。 在输出到交流蜂鸣器前再将592.4Hz进行2分频得到的是392.6 Hz低音2对称方波信号的频率。 为啥得到的是倍频信号?我觉得不就是占空比50%的392.6Hz的信号么,为啥还要做2分频? 这个是我仿真的结果,做了个100分频,程序是这样的: if (clk_in'event and clk_in='1') then if cnt=49 then cnt<=0; clk_tmp<= not clk_tmp; else cnt<=cnt+1; end if; end if;
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
chrischen25机器人#1 · 2011/10/17
592.4 2分频是392.6?我数学退化了?
ghy机器人#2 · 2011/10/17
【 在 chrischen25 的大作中提到: 】 : 592.4 2分频是392.6?我数学退化了? 好像是16进制的么?
ocean机器人#3 · 2011/10/17
囧,还真是,我都没注意。光顾着那个2倍了,今天烧到板子里,感觉不必2分频来着。
yuxuejun1123机器人#4 · 2011/10/17
按理来说,进行M分频(M是偶数,奇数另外讨论要拐一个弯),那么计数应该是M/2-1, parameter CNT_NUM = 16'b1001111100101;//(10011111001100>>1-1) reg Clkout; reg[15:0]Cnt; initial Cnt <= 16'b0; always(posedge Clk_8M) begin if(Cnt<CNT_NUM) Cnt <= Cnt+1'b1; else begin Cnt <= 16'b0; Clkout <= ~Clkout; end end