在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: liangxiaowu

[求助] 占空比1:2的5分频

[复制链接]
发表于 2014-10-17 15:42:55 | 显示全部楼层
先将原时钟3倍频,再做分频,就可以做出1:2的占空比的5分频了
 楼主| 发表于 2014-10-21 11:05:13 | 显示全部楼层
回复 8# chengroc


    谢谢你的解答
 楼主| 发表于 2014-10-21 11:06:05 | 显示全部楼层




    无奈之下,我也是这么回答的
    不过感觉应该不是正确答案
发表于 2014-10-21 15:14:00 | 显示全部楼层
8楼正解!
发表于 2014-10-21 19:34:52 | 显示全部楼层
10被3除不了啊...
发表于 2014-10-21 21:30:27 | 显示全部楼层
8楼讲得不错
发表于 2014-10-21 21:34:49 | 显示全部楼层
要写代码还是画电路图?
发表于 2014-10-22 14:27:57 | 显示全部楼层




  1. module top(clk_in ,rst,clk_out
  2.     );
  3. input clk_in;
  4. input rst;
  5. output clk_out;
  6. wire clk_out;
  7. reg clk_po;
  8. reg clk_ne;
  9. reg [3:0]cnt_po;
  10. reg [3:0]cnt_ne;

  11. always @(posedge clk_in or posedge rst)
  12. begin
  13.         if(rst)
  14.         begin
  15.                 cnt_po<=4'b0000;
  16.                 clk_po<=1'b0;
  17.         end
  18.         else
  19.         begin
  20.                 if(cnt_po==4'b0100)
  21.                 begin
  22.                 cnt_po<=4'b0000;
  23.                
  24.                 end
  25.                 else
  26.                 begin
  27.                 cnt_po<=cnt_po+4'b0001;
  28.                 if(cnt_po==4'b0000)
  29.                 clk_po<=1'b1;
  30.                 if(cnt_po==4'b00001)
  31.                 clk_po<=1'b0;
  32.                 end
  33.         end
  34. end

  35. always @(negedge clk_in or posedge rst)
  36. begin
  37.         if(rst)
  38.         begin
  39.                 cnt_ne<=4'b0000;
  40.                 clk_ne<=1'b0;
  41.         end
  42.         else
  43.         begin
  44.                 if(cnt_ne==4'b0100)
  45.                 begin
  46.                 cnt_ne<=4'b0000;
  47.                 end
  48.                 else
  49.                 begin
  50.                 cnt_ne<=cnt_ne+4'b0001;
  51.                 if(cnt_ne==4'b0000)
  52.                 clk_ne<=1'b1;
  53.                 if(cnt_ne==4'b0001)
  54.                 clk_ne<=1'b0;
  55.                 end
  56.         end
  57. end
  58. assign clk_out=clk_po|clk_ne;
  59. endmodule


复制代码
2014102202358137.jpg
发表于 2014-10-22 20:04:47 | 显示全部楼层
回复 18# xuzhongwei


    这样不行吧,实现的是30%的占空比
发表于 2014-10-23 08:57:16 | 显示全部楼层
这种用一个锯齿波然后设定一个阈值比较一下即可,就是常见的PWM生成器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-20 12:18 , Processed in 0.037109 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表