首页

逻辑分析仪同步采样的原理及应用

逻辑分析仪─从入门到精通讲座(26)

逻辑分析仪同步采样的原理及应用

1. 引言

在数字电路系统中,各种芯片使用不同的总线协议进行数据交换,通常低速信号采用的多为异步总线模式。比如10MHz数量级的MCU外部总线,SRAM,异步FLASH等,而在数据率较高时,特别是当数据率高于100MHz数量级时,大多都采用同步总线,比如PCI,SDRAM等,当数据率再上升到200MHz以上时,并行总线均过渡为多倍数据率的传输模式,比如DDR SDRAM,PCI-X 2.0以及FSB等。在使用逻辑分析仪分析这一类总线时,必须采用同步采样模式。

2. 同步采样原理

前面介绍逻辑分析仪原理时曾简单介绍过同步采样与异步采样的区别,同步采样的时钟源来自外部待测系统,而异步采样的采样时钟来自逻辑分析仪内部的时钟模块。那么,同步采样的实际意义在那里呢?同步采样也可称为状态采样,最初的设计目的就是用于跟踪外部同步总线的状态转换。

由于异步采样时,采样时钟是内部时钟模块产生的,因此,在采样率与外部数据率相差不大时并不能很好的反应外部总线的实际时序结果,特别是对于同步总线,使用异步采样可能会导致测量结果中的时钟与数据总线的相位关系发生变化,并且可能出现采样到毛刺的情况。如图 1 异步时钟采样同步总线出错所示,sample_clk为逻辑分析仪内部采样时钟,sync_clk为总线同步时钟,sync_data为数据总线,async_clk和async_data分别为采样得到的时钟和数据总线。同步总线时钟上升沿锁存数据,数据总线的建立时间及保持时间均满足要求,通信正常无误,若使用异步采样分析该总线,则会出现分析结果出错的情况。

图 1 异步时钟采样同步总线出错

逻辑分析仪内部是采用DDR模式的接收电路,可以直接支持DDR数据总线的采样,如图 2所示,外部时钟的上升沿和下降沿锁存得到的数据用于内部其他功能模块。

PODA_CLK

图 2 DDR模式采样电路

3. 单边沿同步采样实例

首先看一个使用异步采样分析SDRAM的实例,图 3所示为使用500M采样率分析133MHz的SDRAM总线,在红线圈出的位置明显出现的错误的数据,若这一结果存在于一个正在调试的系统中,势必会给调试过程带来负面影响,由于测量方法不正确给调试过程带来的麻烦是可以消除的,正确的途径就是使用同步采样模式。

图 3 异步采样分析SDRAM的操作时序

如果是采用上升沿同步采样模式,由于采样模块是使用数据总线的同步时钟锁存数据的,因此只要时钟与数据的相位关系满足接收寄存器的建立和保持时间,采样得到的数据就与最终器件内部逻辑接收到的数据是一致的。时钟与数据总线的相位关系可以使用高分辨率采样模式分析得到,LAB7000系列逻辑分析仪的高分辨率采样模式为5GHz,每通道5K存储深度。图 4中的采样结果即为上升沿同步采样模式得到的结果,与设计该SDRAM控制器的实际时序完全相同。

图 4 同步采样分析SDRAM操作时序

4. 双边沿同步采样模式

对于目前越来越多的多边沿总线,最能反映其实际时序的还是采用同步采样模式,LAB7000系列逻辑分析仪可以提供250MHz状态时钟的双边沿同步采样模式,最高数据率为500Mbps,这里仅仅对该功能做一个演示,数据源采用16位200Mbps的伪随机编码数据总线及100MHz时钟同步时钟。

首先采用高速采样模式测试时钟与数据总线的相位关系。如图 5所示的为该同步总线的时钟与数据的相位关系,数据总线稳定的时间满足时钟的采样点要求。这一点对于DDR模式的总线特别重要,如果数据总线的有效数据采样窗口不够会导致接收端数据出错。

图 5 高速采样模式的同步总线

再采用双边沿同步采样模式测试该总线,在图 6的结果中可以看到双边沿采样得到的数据与高分辨率模式是一致的,并且因为其存储深度远远大于高分辨率模式,可以分析的数据也要多很多。

图 6 双边沿模式采样结果

5. 总结

对于高速同步总线的测试,如果使用定时采样时,必须要求定时采样率高于数据率10倍左右才能较好的反映总线实际结果,但是大多数逻辑分析的高速采样模式存储深度都非常小,只有Kbit数量级,因此往往不能用于功能性的验证,只能用其做一些时序参数的测量,再配合同步采样模式的高存储深度就可以完成用户逻辑的验证了。另外在测试分析较高的总线时,必须尽量多的使用探头的地线,以保证测试结果的正确性。