约翰逊(Johnson)计数器

约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。它与环形计数器不同,后者用n位触发器仅可表示n个状态。2~n进制计数器(n为触发器的个数)2~n个状态。若以四位二进制计数器为例,它可表示16个状态。但由于8421码每组代码之间可能有二位或二位以上的二进制代码发生改变,这在计数器中特别是异步计数器中就有可能产生错误的译码信号,从而造成永久性的错误。而约翰逊计数器的状态表中,相邻两组代码只可能有一位二进制代码不同,故在计数过程中不会产生错误的译码信号。鉴于上述优点,约翰逊计数器在同步计数器中应用比较广泛。

   

来自 <http://zhidao.baidu.com/link?url=_NMF_BQ7scA5qFy9t2V_3HpMVJeUDpRgnYJlfMtiucDRpykyUA5BlHfW4Lv7jj-Yrh7oB5oTKZ3OhTrt7IWxqq>

   

   

   

   

   

   

   

   

   

   

约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。它与环形计数器不同,后者用n位触发器仅可表示n个状态。n位二进制计数器(n为触发器的个数)2^n个状态。若以四位二进制计数器为例,它可表示16个状态。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

module johnson

#(

    parameter N=4

)

(

    input clk,

    input rst_n,

    output reg [N-1:0] q

);

   

always @ (posedge clk,negedge rst_n)

if(!rst_n)

    q <= {N{1'b0}};

else if(!q[0])

    q <= {1'b1,q[N-1:1]};

else

    q <= {1'b0,q[N-1:1]};

   

endmodule

用原理图搭

约翰逊(Johnson)计数器_第1张图片

   

路漫漫其修远兮,吾将上下而求索

   

来自 <http://www.cnblogs.com/qiweiwang/archive/2011/09/12/2174106.html>

   

扭环形计数器编辑

本词条缺少概述信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

约翰逊(Johnson)计数器_第2张图片

扭环形计数器电路图示例(1张)

约翰逊(Johnson)计数器_第3张图片

扭环形计数器图

为了提高环形计数器电路状态利用率,改变反馈函数为 D0=D2' ,则得到如上所示逻辑电路图,称为扭环形计数器。  扭环形计数器的有效状态是:000100110111011001000(环形计数器是100010001100,如此循环,工作时,首先用 STA 置电路为全 0,然后加 CP

② 波形图

约翰逊(Johnson)计数器_第4张图片

③状态图

下面是扭环形计数器状态图。有效状态 6 个,电路进入有效循环;无效状态 2 个,电路进入无效循环。这个电路不能自启动。

约翰逊(Johnson)计数器_第5张图片

④ 优缺点个触发器组成的扭环形计数器 2n 个有效状态,有效状态利用率比环形计数器增加一倍。3 位扭环形计数器可构成 6 节拍发生器 T0 ~ T5,但需加译码电路。由于电路在每次状态转换时,只有一位触发器改变状态,电路译码时不会产生竞争冒险现象,而且,译码电路简单。

   

来自 <http://baike.baidu.com/view/4837609.htm?fr=aladdin>

你可能感兴趣的:(on)