我們知道,協(xié)議解碼是協(xié)議分析中一個很重要的功能,它的實用程度取決于解碼的準確性、解碼范圍和解碼速度,其中解碼范圍和解碼速度是一對矛盾,二者很難兼得。在以往的解碼方案中,我們將解碼范圍限制在一定寬度的數據內,以此保證解碼結果能夠快速的響應給用戶。但在使用過程中發(fā)現,我們往往不滿足于這個范圍,但我們不能無限制的擴大解碼的范圍(隨意擴大會影響解碼速度)。我們不能放棄已有的快速解碼的用戶體驗,新特性就是為了解決這個魚和熊掌的問題產生的,從使用上它包含3個方面的改變。
一、放大波形后能正常解碼 在新的方案中,我們不再需要考慮縮放或水平移動波形導致的解碼范圍的影響,也不需要考慮“屏幕外還有多少數據”。我們解碼的范圍會隨著波形的放大而智能的改變,不再是簡單的限制解碼范圍,現在我們能將波形放大到很細微的地方,依然能正常解碼。 圖1解碼細節(jié)放大
如圖1所示,正在解碼CAN-FD的波形,在暫停模式下我們將波形從1ms/div放大到2us/div,ESI、插入位以及DLC和DATA的值都能清晰準確的觀察到。我們能看到解碼細節(jié)了。
二、解碼會以全內存的數據為依據進行 固定的解碼范圍會制約示波器深存儲功能的發(fā)揮,導致深存儲時大部分的數據都不能用于解碼。在新特性中,這情況將改變,我們可以把存儲深度設置成很大,系統(tǒng)會根據協(xié)議波特率等特點動態(tài)的調整解碼范圍,最理想的情況我們會將解碼范圍拓展到整個內存,并且這種特性是在Run和Stop模式中都可以使用,不再局限于Stop!
圖2全內存解碼
我們將存儲深度設置為28M,此時整個內存中數據的時間跨度為-14ms~14ms。從圖2事件表我們看到,第一幀CAN-FD的位置在-12.479ms,也就是在內存數據的開端,已經達到了全內存解碼。 當然這種功能強大的全內存解碼也是受一定條件約束的,我們在下面的內容中會提到。
三、系統(tǒng)會判斷最佳解碼情況 新特性是基于保持原來解碼速度,盡量拓寬解碼范圍的思想設計出來的。這意味著,對于大數據量的解碼,是基于一定比例的樣本點抽取后進行的(用于解碼的數據量越少,解碼越快)。系統(tǒng)會根據抽點的情況,與協(xié)議的特點(波特率等)比較,判斷解碼是否存在風險(解碼錯誤或不能解碼的風險)。例如在一些情況中,會出現抽點的間隔很大,使得實際用于解碼的采樣率不足,這時系統(tǒng)會給出提示。
圖3非最佳解碼提示
如圖3所示,提示出現在屏幕左上方,從事件表可以看到,波形中間出現了部分錯誤解碼的幀,這種錯誤是解碼采樣率不足導致的。 需要注意的時,出現這種提示時,解碼不一定就會出錯,它是一種警告。而當我們真的不能正常解碼時,只需要按照系統(tǒng)提示的內容進行操作(如圖應該減少時基),就能回歸最佳解碼狀態(tài)。這也是第二點中描述的全內存解碼約束。
我們是怎么做到既抱著魚又把熊掌吃到的? 保持解碼使用的數據量不變,就可以保證解碼的速度不會發(fā)生很大的變化,在此基礎上,我們將數據點更均勻和合理的分布到內存中,就能拓寬解碼范圍。在新的設計中,我們會智能的根據協(xié)議波特率等特點對內存數據進行抽取,動態(tài)的調整抽樣間隔,達到在數據量不變的情況盡可能覆蓋更寬廣解碼范圍的目的,就實現了魚和熊掌兼得的新特性。
以上內容由安泰儀器維修中心網提供,更多有關儀器維修知識歡迎訪問安泰儀器維修網,關注公眾號:安泰測試。
|