D触发器变体来了,速看!

描述

什么是DRE触发器?

FF_DRE是一个具有异步设置(SET)和重置(RST)输入的边缘触发的D触发器(D Flip-Flop)

在任意时刻,当SET或RST为TRUE时会忽略CLK信号而设置或重置Q信号,RST比SET具有优先权,即RST和SET同为TRUE时,Q被重置为0。

时间图如下:

CLK

特征表如下:

CLK

其中: CLK:时钟, RST:重置, SET: 设置 , D:输入 , Q:输出

  • 假设最初 输入都为0,输出 Q = 0;
  • 在t1处,RST=SET=0,D=1 ,输出Q=1;
  • 在t2处,RST=SET=0,D=1 ,输出Q=1;
  • 在t3处,RST=SET=0,D=0 ,输出Q=0;
  • 在t4处,RST=SET=0,D=1 ,输出Q=1;
  • 在t5处,RST=1 ,尽管D=1,但输出Q=0;
  • 在t6处,RST=0,SET=1,输出Q=1;
  • 在t7处,RST=SET=1,RST具有优先权,输出Q=0;
  • 在t8处,RST=1,尽管CLK上升沿,但输出Q=0;

CLK

源代码如下:

FUNCTION_BLOCK "FF_DRE"
TITLE = 'FF_DRE'
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      SET : Bool;
      D : Bool;
      CLK : Bool;
      RST : Bool;
   END_VAR


   VAR_OUTPUT 
      Q : Bool;
   END_VAR


   VAR 
      edge : Bool;
   END_VAR


BEGIN


IF #RST OR #SET THEN
  #Q := NOT #RST;
ELSIF #CLK AND NOT #edge THEN
  #Q := #D;
END_IF;
#edge := #CLK;


END_FUNCTION_BLOCK
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分