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