对建立时间和保持时间的疑问

2019-03-25 08:50发布

最近这段时间调1602的时候发现的一个关于建立时间和保持时间的问题,至今仍未想明白,特来求教各位 。。
我不知道我理解的对不对,所以先从数电书上的解释说起,
其一,对于锁存器来说,锁存器是对电平敏感的存储单元电路,可以在特定输入脉冲电平下改变状态,对于D锁存器,教科书这样子解释的:
建立时间--数据信号D应在门控信号E下降沿到来之前建立起来,才能保证正确的锁存,t(su)表示D信号对E下降沿的最少时间提前量。
保持时间--在E电平下降后,D信号不允许立即撤除,否则不能确保数据的锁存,t(H)表示D信号电平在E电平下降后需要继续保持的最少时间。

其二,对于D触发器(此处指上升沿触发的触发器)来说:
建立时间--输入信号D的变化会引起触发器输入电路的一系列变化,它必须在时钟信号CP的上升沿到来之前的某一时刻跳变到某一逻辑电平并保持不变,以保证与信号D相关的电路建立起稳定的状态,使触发器状态得到正确的转换,该时间的最小值即建立时间。
保持时间--信号D在CP上升沿到来之后还应保持一定时间,才能保证D状态可靠的传送到Q端,该时间的最小值称为保持时间。并且书上后面有说,由于技术的进步,已有许多触发器可把保持时间降为0,这项特性在高速移位寄存器或计数器中是十分重要的。

而我在调1602的时候发现datasheet上的时序图跟这个说的不一样,,
datasheet上说的建立时间我能理解,但是保持时间是在时钟下降沿之后,这个我很郁闷,,虽然它是这样子说的,,但是我觉得跟D触发器的不一样,,而芯片本身就是由D触发器和逻辑门构成的,为什么会不一样呢?

而更让我郁闷的是,我在实际调试中,,用modelsim仿真的时候发现,建立时间和保持时间其实只要一个就好了,,另一个可以为0 的,我就是这样子做的,而下载到板子上,1602也确实显示正常,所以很纳闷,不知道各位有没有遇到这种情况?求解释,,
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
流浪的猥琐
2019-03-25 18:09
DS上给的值是安全值,小于这个时间并不是一定会错,但是可能会错。比如你用FPGA写状态机去控制1602,你检测到E信号变低就进行读操作,这样理论上可以认为数据保持时间为0就能读数,但是这是临界值,也许可以成功,也许不能。但是数据保持时间min为20ns的话,就能确保你在E变低时读数一定能读到。

一周热门 更多>