EDN China > 设计实例 > 可编程器件 > PLC可编程控制器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 一种消除异步电路亚稳态的逻辑控制方法

樊民革?? 赵剡 北京航空航天大学仪器学院导航系?? 2012年05月16日 ?? 收藏2
0 引 言 

当今的数字系统往往是围绕CPLD/ FPGA 进行设计的, 首选的方案是采用同步时序电路设计 , 也称作单时钟系统, 电路中所有触发器的时钟输入端共享同一个时钟, 每个触发器的状态变化都是在时钟的上升沿( 或下降沿) 完成的, 与时钟脉冲信号同步。

但在实际的工程应用中, 纯粹单时钟系统设计不能完成数据在不同时钟域间的传递, 跨时钟域的异步时序设计不可避免。异步时序电路中有多个独立的时钟源, 不同时钟源存在频率和相位的差异, 当数据信号通过两个时钟域的交界处时, 将会分别由这两个时钟来控制信号的值。此时如果两时钟信号的敏感沿非常接近并超过了允许的额度, 则将出现数据信号的不稳定, 即电路陷入亚稳态, 也称为同步失败。

异步电路设计的关键就是把数据或控制信号正确地进行跨时钟域传输, 同时防止亚稳态的出现。如果对跨时钟域带来的亚稳态、采样丢失等问题处理不当, 将导致系统无法正常运行。

随着信息技术的飞速发展, 航天航空、军事应用领域对数据异步传输的可靠性提出了更高的要求, 如果不彻底消除亚稳态隐患, 将可能导致灾难性的后果。

1 亚稳态的产生 

1. 1 单触发器的亚稳态 

触发器是数字电路设计中最常用的基本器件, 内部包含两个双稳态元件, 其特性曲线如图1 所示。除了两个稳定状态0 和1 外, 还有一个状态也满足双稳态元件的方程,即当两个反相器都处于中间值的第3 种半稳定态----- 亚稳态, 反相器在非逻辑值范围的反馈系数是相当大的, 一旦因干扰或噪音离开了这个中心点, 就会很快地进入逻辑值范围( 稳态) 。

图1: 亚稳态问题
图1:亚稳态问题

触发器工作过程中要满足数据建立( setup ) / 保持( hold) 的时间要求, 输入信号在时钟的上升沿前后是不允许发生变化的。对于使用上升沿触发的触发器来说,建立时间就是在时钟上升沿到来之前, 触发器输入端数据必须保持稳定不变的最小时间; 而保持时间是时钟上升沿到来之后, 触发器输入端数据还应该继续保持稳定不变的最小时间。建立( setup) / 保持( hold) 时间与时钟跳变沿的关系如图2 所示。

图2  setup-hold 时间
图2 setup-hold 时间

因为触发器内部数据的形成需要一定的时间, 如果不满足建立和保持时间, 触发器将进入亚稳态, 其输出在经过一段时间的不确定状态后才能随机地稳定到0 或1。在稳定期间, 触发器输出一些中间级电平, 或者可能处于振荡状态, 并且这种无用的输出电平可以沿信号通道上的各个触发器级联传播下去, 导致其他数字部件的逻辑混乱。

1. 2 异步时钟造成的亚稳态

信号在跨时钟域时应特别注意亚稳态问题。一个信号在过渡到另一个时钟域时, 如果仅仅用一个触发器将其锁存, 那么采样的结果将可能是亚稳态。图3 所示为异步时钟和亚稳态, 图中a_ck 和b_ck 为异步时钟。

图3  触发器产生亚稳态
图3 触发器产生亚稳态

信号dat 经过一个锁存器的输出数据为a_dat。用时钟b_ck 进行采样的时候, 如果a_dat 正好在b_ck 的set up??hold 时间内发生变化, 此时b_dat 就既不是逻辑1, 也不是逻辑0, 而是处于中间状态。输出信号处于中间状态到恢复为逻辑1 或0 的这段时间, 称为亚稳态时间。当触发器的亚稳态时间超过一个时钟周期时, 这种不确定状态将会影响下一级的触发器, 最终导致连锁反应使整个系统功能失常。

《电子设计技术》网站版权所有,谢绝转载


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

多时钟域? 异步电路? 亚稳态? 半拍错位同步器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈