黄色三级免费_亚洲男女性高爱潮网站_婷婷五月天超碰日日草人人_人妻少妇精品无码专区无码_無碼少婦豐滿熟婦一區二區_午夜視頻一區_国产亚洲精品俞拍视频_污宅男666在线永久免费观看_午夜一级a成年大片在线_边摸边吃奶边做爽小视频

ZDS2022解碼波形教您如何解決問題

案例分析

南京某公司在使用我們的M287-128WIArm9?核心板研發(fā)一款車載設(shè)備產(chǎn)品,需要使用M287-128WI核心板的串口與客戶外購的車載設(shè)備對接通訊。這款外購車載設(shè)備給的串口設(shè)置參數(shù)為:波特率9600;數(shù)據(jù)位8位;停止位0;校驗(yàn)位無。于是客戶把M287-128WI的串口配置按照以上參數(shù)進(jìn)行配置,并進(jìn)行通訊。但是整個通訊過程中,M287-128WI接收外購車載設(shè)備的串口數(shù)據(jù)一直出現(xiàn)數(shù)據(jù)丟包的情況,并多次質(zhì)疑M287-128WI串口驅(qū)動存在BUG。我公司軟件工程師對軟件驅(qū)動進(jìn)行逐一排查,但一直未找到問題的根源,于是決定上門進(jìn)行支持!

解碼不正確

到了現(xiàn)場,我們在假設(shè)軟件沒有BUG的情況下,那么尋找問題思路就轉(zhuǎn)到外購的車載設(shè)備串口總線的實(shí)際信號,因?yàn)樾盘柌ㄐ问菙?shù)據(jù)分析的直接源頭,是問題本質(zhì)的反映。于是使用致遠(yuǎn)ZDS2022示波器觀察外購的車載設(shè)備串口信號波形情況,在高達(dá)330Kwfms波形刷新率下,打開一鍵余輝功能,并沒有發(fā)現(xiàn)異常信號,這說明串口上是沒有干擾信號的,符合串口的電氣規(guī)范。

接下來就是要利用ZDS2022示波器的串口協(xié)議解碼功能對數(shù)據(jù)流進(jìn)行分析。按照設(shè)備的資料,將ZDS2022示波器參數(shù)配置為:波特率設(shè)置為9600;數(shù)據(jù)位為8位;停止位為0;校驗(yàn)位為無(注意RS232 電平跟 TTL的232 電平是相反的,如果測試RS232電平,需要將電平設(shè)置為反相,需要設(shè)置為TRUE),設(shè)置結(jié)果詳見圖1。

圖1 協(xié)議參數(shù)設(shè)置

ZDS2022示波器輸入?yún)?shù)設(shè)置完后,會對波形自動解碼。但問題來了,出現(xiàn)了如圖2中解碼的界面。很明顯,圖2中有一段信號ZDS2022示波器并沒有有效解碼,這到底是怎么回事呢?

圖2 UART協(xié)議解碼
分析問題

UART協(xié)議的幀包格式主要包含四個段:開始位、數(shù)據(jù)段、校驗(yàn)位(可有可無)和停止位。停止位的位數(shù)可以設(shè)置為1位或者2位,數(shù)據(jù)值為1。

圖3 UART協(xié)議格式

外購車載設(shè)備肯定是UART協(xié)議,而且波特率確定是9600,數(shù)據(jù)位寬也是確定的,但為什么沒有正確解碼呢?我們先假設(shè)如圖4中橙色實(shí)線框中解出來的數(shù)據(jù)是正確的,并可知解碼數(shù)據(jù)包含起始位、數(shù)據(jù)位和停止位。由于該協(xié)議波特率和位寬固定,所以猜測一幀的長度大約為1ms,在圖4實(shí)線框中波形后面出現(xiàn)一段空閑電平,然后出現(xiàn)一個上升沿,我們假設(shè)該上升沿后為起始位,根據(jù)猜測,一幀的長度大約為1ms,確定可能的停止位,如圖4中橙黃色虛線框內(nèi)波形,很明顯,該停止位根本就不符合邏輯,起始位為邏輯0(表現(xiàn)為高電平),停止位應(yīng)該為邏輯1(表現(xiàn)為低電平),所以該停止位是無效的,故該幀沒有有效解碼。同樣,第二個虛線框中的協(xié)議波形也是一樣,猜測可能停止位設(shè)置不符合邏輯,造成ZDS2022示波器沒能有效的對波形進(jìn)行解碼。

圖4 UART協(xié)議解碼分析圖

我們觀察到,兩個虛線框中可能的UART幀的結(jié)束位全都表現(xiàn)為高電平(與可能的開始位是相同的邏輯0),該特征表明可能存在一個校驗(yàn)位。我們假設(shè)該協(xié)議中包含一個校驗(yàn)位,在圖4中橙色虛線框波形中,原來可能的邏輯0(表現(xiàn)為高電平)的停止位就變成了邏輯0的校驗(yàn)位,如此一來,原來的停止位就變成邏輯1(表現(xiàn)為低電平)了。并根據(jù)之前觀察的波形特征來看,兩虛線框中可能的結(jié)束位全都是邏輯0,而正好符合Space(邏輯總為0,與開始位的邏輯相同)的特征。根據(jù)假設(shè),重新對ZDS2022示波器UART協(xié)議進(jìn)行了參數(shù)設(shè)置,增加一位Space的校驗(yàn)位。

圖5 參數(shù)設(shè)置加入校驗(yàn)位

當(dāng)添加一位校驗(yàn)位后,我們得到如圖6的解碼界面,該UART協(xié)議已經(jīng)正確解碼!

圖6 加入校驗(yàn)位后解碼界面圖
數(shù)據(jù)觸發(fā),再次驗(yàn)證

在確認(rèn)串口設(shè)置(波特率9600;數(shù)據(jù)位8位;停止位0;校驗(yàn)位Space)后,由于ZDS2022示波器不僅具有強(qiáng)大的協(xié)議解碼功能,同時支持21種協(xié)議觸發(fā)功能。將ZDS2022協(xié)議觸發(fā)設(shè)置成ON,可對協(xié)議觸發(fā)參數(shù)進(jìn)行設(shè)置,由于設(shè)備的幀協(xié)議已經(jīng)明確標(biāo)示,數(shù)據(jù)幀中會存在0xEE,0xC0開頭的數(shù)據(jù)和0xCC結(jié)尾的數(shù)據(jù),將觸發(fā)模式設(shè)置為數(shù)據(jù)觸發(fā),觸發(fā)數(shù)據(jù)設(shè)為0xC0。如圖7所示。

圖7 數(shù)據(jù)觸發(fā)設(shè)置

協(xié)議觸發(fā)參數(shù)設(shè)置完成后,得到圖8的協(xié)議觸發(fā)波形,由圖可見,觸發(fā)點(diǎn)已精確觸發(fā)在0xC0處,定位迅速,十分準(zhǔn)確!由此成功的數(shù)據(jù)觸發(fā)操作,再次驗(yàn)證了對該協(xié)議的各種參數(shù)設(shè)置的正確性。

圖8 數(shù)據(jù)觸發(fā)解碼界面圖
解決問題

借助ZDS2022示波器強(qiáng)大的協(xié)議解碼功能,我們已經(jīng)分析清楚了設(shè)備的串口通訊的協(xié)議設(shè)置情況(波特率9600;數(shù)據(jù)位8位;停止位0;校驗(yàn)位Space),而非之前的提到的串口設(shè)置參數(shù)(波特率9600;數(shù)據(jù)位8位;停止位0;校驗(yàn)位無)。下一步是就解決i.MX28X的通訊串口驅(qū)動問題。由于i.MX28X處理器的串口外設(shè)不支持Space校驗(yàn)位設(shè)置,通訊過程中,驅(qū)動對校驗(yàn)失敗的數(shù)據(jù)進(jìn)行丟棄處理,因此就造成文章開頭的丟數(shù)據(jù)的原因。通過驅(qū)動軟件修改,拋棄串口校驗(yàn)功能,將原來丟棄的數(shù)據(jù)強(qiáng)制轉(zhuǎn)發(fā)給應(yīng)用程序,成功地接收了設(shè)備發(fā)送過來的串口數(shù)據(jù)。

小結(jié)

在項(xiàng)目軟件開發(fā)過程中,經(jīng)常會碰到了各種各樣的通訊設(shè)備通訊失敗問題,可以使用ZDS2022示波器的21種協(xié)議觸發(fā)與解碼功能對原始信號分析,而且21種協(xié)議觸發(fā)與解碼功能完全免費(fèi)開放。如本文中用到UART協(xié)議分析,支持多種參數(shù)設(shè)置,不僅包括奇校驗(yàn)、偶校驗(yàn)、Mark、Space和None 這5種校驗(yàn)?zāi)J?,還包括開始位與數(shù)據(jù)觸發(fā)模式。詳細(xì)的參數(shù)設(shè)置幫您精準(zhǔn)分析協(xié)議,快速定位問題,大膽做出假設(shè),迅速解決問題,值得信賴!

當(dāng)問題解決后,您收獲的不僅是體驗(yàn)到了ZDS2022協(xié)議觸發(fā)與解碼的功能的強(qiáng)大,更重要的是您收獲了一個解決問題的推理思維!

圖9 演示現(xiàn)場