EDA365电子论坛网

标题: 示波器全内存解码的奥秘 [打印本页]

作者: srara    时间: 2020-3-27 17:39
标题: 示波器全内存解码的奥秘
示波器全内存解码的奥秘

! b9 M2 F8 w' Q: ]  i) k
  我们知道,协议解码是协议分析中一个很重要的功能,它的实用程度取决于解码的准确性、解码范围和解码速度,其中解码范围和解码速度是一对矛盾,二者很难兼得。在以往的解码方案中,我们将解码范围限制在一定宽度的数据内,以此保证解码结果能够快速的响应给用户。但在使用过程中发现,我们往往不满足于这个范围,但我们不能无限制的扩大解码的范围(随意扩大会影响解码速度)。我们不能放弃已有的快速解码的用户体验,新特性就是为了解决这个鱼和熊掌的问题产生的,从使用上它包含3个方面的改变。
  s$ P  G3 Z; j
  一、放大波形后能正常解码
  在新的方案中,我们不再需要考虑缩放或水平移动波形导致的解码范围的影响,也不需要考虑“屏幕外还有多少数据”。我们解码的范围会随着波形的放大而智能的改变,不再是简单的限制解码范围,现在我们能将波形放大到很细微的地方,依然能正常解码。
2 M2 t1 J! D& @0 q' I" i4 E

0 N% F  L# N& G
图1解码细节放大
" s6 k  Q4 u+ W! P% K+ a$ N
  如图1所示,正在解码CAN-FD的波形,在暂停模式下我们将波形从1ms/div放大到2us/div,ESI、插入位以及DLC和DATA的值都能清晰准确的观察到。我们能看到解码细节了。

" z8 {: @( a4 v& n8 b
  二、解码会以全内存的数据为依据进行
  固定的解码范围会制约示波器深存储功能的发挥,导致深存储时大部分的数据都不能用于解码。在新特性中,这情况将改变,我们可以把存储深度设置成很大,系统会根据协议波特率等特点动态的调整解码范围,最理想的情况我们会将解码范围拓展到整个内存,并且这种特性是在Run和Stop模式中都可以使用,不再局限于Stop!

( K: Z" v2 v' v! ~8 |3 v
" v* n. H6 n2 x% C' z, r2 T
图2全内存解码
" p1 C) C$ j* k- @1 T
  我们将存储深度设置为28M,此时整个内存中数据的时间跨度为-14ms~14ms。从图2事件表我们看到,第一帧CAN-FD的位置在-12.479ms,也就是在内存数据的开端,已经达到了全内存解码。
  当然这种功能强大的全内存解码也是受一定条件约束的,我们在下面的内容中会提到。

$ K3 M" i$ V& @8 {& Z5 c9 w
  三、系统会判断最佳解码情况
  新特性是基于保持原来解码速度,尽量拓宽解码范围的思想设计出来的。这意味着,对于大数据量的解码,是基于一定比例的样本点抽取后进行的(用于解码的数据量越少,解码越快)。系统会根据抽点的情况,与协议的特点(波特率等)比较,判断解码是否存在风险(解码错误或不能解码的风险)。例如在一些情况中,会出现抽点的间隔很大,使得实际用于解码的采样率不足,这时系统会给出提示。
+ O; U5 U$ O/ \

- m$ R. @+ I- N& s
图3非最佳解码提示
7 g( i- ?' Z6 |# @8 l
  如图3所示,提示出现在屏幕左上方,从事件表可以看到,波形中间出现了部分错误解码的帧,这种错误是解码采样率不足导致的。
  需要注意的时,出现这种提示时,解码不一定就会出错,它是一种警告。而当我们真的不能正常解码时,只需要按照系统提示的内容进行操作(如图应该减少时基),就能回归最佳解码状态。这也是第二点中描述的全内存解码约束。
$ q8 ?2 ]! s) c- _& ^* E' c) t* ^
  我们是怎么做到既抱着鱼又把熊掌吃到的?
  保持解码使用的数据量不变,就可以保证解码的速度不会发生很大的变化,在此基础上,我们将数据点更均匀和合理的分布到内存中,就能拓宽解码范围。在新的设计中,我们会智能的根据协议波特率等特点对内存数据进行抽取,动态的调整抽样间隔,达到在数据量不变的情况尽可能覆盖更宽广解码范围的目的,就实现了鱼和熊掌兼得的新特性。

9 G5 k0 b8 t: B( b3 L
       以上内容由安泰仪器维修中心网提供,更多有关仪器维修知识欢迎访问安泰仪器维修网,关注公众号:安泰测试
( C$ v* K: h; r) o

作者: featuredxp    时间: 2020-3-28 12:40
解码值得是数据解读吗?




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2