内容简介
本案例主要通过两个基础的锁存器(latch)和触发器(flip-flop)来阐述下两者之间的区别,从时序图和源代码可以了解。
锁存器
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值。简单而言,锁存器的输入有数据信号和使能信号,当处于使能状态时,输出随着输入变化而变化,当不处于使能状态时,输入信号怎么变化都不会影响输出。
触发器
触发器是对脉冲边沿敏感的器件,它的变化只会在时钟的上升沿或者下降沿到来的瞬间改变。
通过简单的锁存器时序和触发器时序来感受下有什么区别吧
1
锁存器时序图
**锁存器ltch—— **输入:l , d ,rst 输出:q
ltch信号解读
只有l为高电平,输出q才会跟随输入d并进行锁存,t1到t3之间,输入d信号虽然发生变化,输出q并未随之改变,锁存上一次d的信号;当复位rst为高电平,q输出低电平,由于rst在t4为高电平后下降沿变为低电平,而在t5时l为高电平对输出q产生作用,输出q变为高电平。
2
触发器时序图
**触发器ff_rse—— **输入:cr , sr ,rst 输出:q
ff_rse信号解读
sr上升沿时,置位输出q;cr上升沿时,复位输出q;当复位rst为高电平,输出q为低电平,由于rst在t4为高电平,虽然sr在t5后为高电平但对输出q不产生作用,rst变为低电平后,sr已不是上升沿,仍旧对输出q不产生作用。
源代码
锁存器ltch代码:
function_block ltchtitle = 'ltch'{ s7_optimized_access := 'true' }version : 0.1 var_input d : bool; l : bool; rst : bool; end_var var_output q : bool; end_varbeginif #rst then #q := false;elsif #l then #q := #d;end_if;end_function_block触发器ff_rse源代码:
function_block ff_rsetitle = 'ff_rse'{ s7_optimized_access := 'true' }version : 0.1 var_input cs : bool; cr : bool; rst : bool; end_var var_output q : bool; end_var var es : bool; er : bool; end_varbeginif #rst then #q := false;elsif #cr and not #er then #q := false;elsif #cs and not #es then #q := true;end_if;#es := #cs;#er := #cr;end_function_block
大会回顾 | 重温第四届全国热应力大会安泰电子高光时刻!
PLC梯形图如何绘制
华为mate9国行体验:四大亮点告诉你为什么华为mate9售价超苹果
移动云居云运营服务市场第一阵营,其成功秘诀是什么
喜报!恭贺广州德肯电子股份有限公司荣获“绿色企业”荣誉称号
触发器与锁存器的区别在哪?
工程师独一无二的创造力 妙趣横生LED灯罐DIY
如何正确理解系统的零输入响应
基于CSR8600无线客户音频平台
为何Linus一个人就能写出这么强的系统
智能配电箱的功能介绍
一款适用于船载、化工园区、工厂的防水LoRa网关推荐
优海信息与蓝卓联合发布基于supOS的数字工厂APP
Vishay的超薄大电流电感器适用于高频VRM10.0应用
网络摄像头选购手册
AI人才的短缺也让印度焦虑不已
贴片电感单位换算
纸棒机的恰当运用方式是怎样的
中国台湾DRAM产业长达三十余年的不抛弃、不放弃
流量开关应该如何选型,有哪些注意事项