国产精品国产三级国产专不电影_亚洲国产原创私拍精品_2020亚洲国产精品无码剧情_A级国产乱理论片在线观看 _国产日韩Av无码免费一区二区

CAN總線通信解密方法

    在海思向客戶LonWorks現(xiàn)場(chǎng)總線技術(shù)服務(wù)中,常常會(huì)遇到LonWorks網(wǎng)絡(luò)與CAN總線建立無(wú)縫連接的情況。如果無(wú)法從CAN設(shè)備廠商取得CAN總線通信協(xié)議,如何破解CAN總線協(xié)議是必須要解決的課題。本文介紹一種CAN總線解碼方法,供大家學(xué)習(xí)參考。

   采用示波器偵測(cè)串口總線的通信是比較常用的一種解碼技術(shù)。以Pico示波器為例,Pico示波器具有串行解碼的功能,能夠?qū)?/FONT>CAN、FlexRay、I2C、I2SSPI、LINUART等串行總線進(jìn)行解碼。Pico示波器比較適合做串行解碼,因?yàn)樗鼈兊纳疃却鎯?chǔ)器可以讓軟件采集較長(zhǎng)時(shí)間、不間斷的數(shù)據(jù),尤其是6000系列能夠在幾秒內(nèi)采集數(shù)千個(gè)數(shù)據(jù)幀存入到512M的樣本存儲(chǔ)器。下面將介紹如何用一個(gè)款Pico示波器進(jìn)行CAN總線數(shù)據(jù)解碼。

一、CAN總線解碼概述

1、 CAN總線概念

    數(shù)據(jù)通信時(shí),物理線路上傳輸?shù)男盘?hào)是由一系列高低電平組成的,這些高低電平攜帶了我們所需要的信息,在數(shù)據(jù)接收端,我們需要將這些物理電平按照原始的編碼規(guī)則進(jìn)行解析,從而得到實(shí)際的物理信號(hào)。

    CAN(控制器區(qū)域網(wǎng)絡(luò))總線是一種在汽車和工業(yè)機(jī)械中使用的串行協(xié)議,允許微控制器相互通訊。該標(biāo)準(zhǔn)最初由 Robert Bosch GmbH 于 1983 年制定。它使用雙絞線上傳輸差分信號(hào),分別為CAN高(CAN H )和CAN低(CAN L),當(dāng)線路受到共模干擾之后,信號(hào)差值不變,信號(hào)依然能夠正確被解析。

2 CAN總線上傳輸?shù)碾娖教攸c(diǎn)

    CAN 總線上發(fā)布了ISO11898ISO11519兩個(gè)通信標(biāo)準(zhǔn),分別對(duì)應(yīng)高速CAN和容錯(cuò)CAN。此兩個(gè)標(biāo)準(zhǔn)差分電平的特性不同。本文主要介紹如何用Pico示波器進(jìn)行ISO11898標(biāo)準(zhǔn)的CAN總線解碼。

    CAN高電平大概為3.5V左右,CAN低電平大概為1.5V左右,CAN差分電平大概在2V左右。一般情況下,我們可以從三種CAN總線波形上進(jìn)行解碼:

1)從CAN-H總線上傳輸?shù)碾娖剑撝翟O(shè)置為3V左右即可

2)從CAN-L總線上傳輸?shù)碾娖?,閾值設(shè)置為1.6V左右即可

3)從差分波形(CANH-CANL)上進(jìn)行解碼,閾值設(shè)置為1.5左右即可。從差分波形上解碼更加準(zhǔn)確,因?yàn)椴罘植ㄐ螢V除了線路上的共模干擾信號(hào)。

    但是很遺憾,目前PicoScope6軟件的串行解碼功能只能從CANHCANL波形上進(jìn)行解碼,暫時(shí)還無(wú)法實(shí)現(xiàn)從差分波形上進(jìn)行解碼。

二、PicoScope6 串行解碼功能

三、解碼設(shè)置

    Pico的任何一臺(tái)示波器都具有串行解碼的功能,不同系列的區(qū)別在于示波器硬件參數(shù)高時(shí),采集到的波形更加平滑,噪聲小。在進(jìn)行解碼時(shí),我們可以只從CAN高波形上進(jìn)行解碼,或只從CAN低波形上進(jìn)行解碼,或者同時(shí)對(duì)CANHCANL波形進(jìn)行解碼。

3.1 僅從CAN低波形上進(jìn)行解碼設(shè)置

1CAN網(wǎng)絡(luò)中的CANL端接入到示波器A通道(示波器通道任意選擇)探頭的正極,CAN網(wǎng)絡(luò)的GND連接探頭的負(fù)極。

點(diǎn)擊PicoScope6工具菜單,選擇串行解碼功能。彈出串行解碼設(shè)置窗口。

1)設(shè)置A通道協(xié)議:CAN Low

2)設(shè)置CAN低判斷閾值,如1.6V。該閾值用于判斷CAN-L電平是“0”“1”.

3)設(shè)置總線波特率,即目前測(cè)試網(wǎng)絡(luò)的波特率,例如500K波特。

4)設(shè)置顯示模式,選擇在視圖中在窗口中查看CAN數(shù)據(jù)。

In View: 在視圖中,在波形顯示窗口查看解碼之后的CAN數(shù)據(jù)。

In Window: 在窗口中,在表格中查看解碼之后的CAN數(shù)據(jù)。

2、僅從CAN高波形上進(jìn)行解碼設(shè)置

1)將CAN網(wǎng)絡(luò)中的CANH端接入到示波器A通道(示波器通道任意選擇)探頭的正極,CAN網(wǎng)絡(luò)的GND連接探頭的負(fù)極。

2 )點(diǎn)擊PicoScope6工具菜單,選擇串行解碼功能。彈出串行解碼設(shè)置窗口。

設(shè)置步驟如下:

1)設(shè)置A通道協(xié)議:CAN High

2)設(shè)置CAN低判斷閾值,如3V。該閾值用于判斷CAN-L電平是“0”“1”.

3)設(shè)置總線波特率,即目前測(cè)試網(wǎng)絡(luò)的波特率,例如500K波特。

4)設(shè)置顯示模式,選擇在視圖中在窗口中查看CAN數(shù)據(jù)。

In View: 在視圖中,在波形顯示窗口查看解碼之后的CAN數(shù)據(jù)。

In Window: 在窗口中,在表格中查看解碼之后的CAN數(shù)據(jù)。

3、CAN高波形和CAN低波形上同時(shí)解碼

1)CAN網(wǎng)絡(luò)中的CANH端接入到示波器A通道(示波器通道任意選擇)探頭的正極,CAN網(wǎng)絡(luò)的GND連接探頭的負(fù)極。

2)將CAN網(wǎng)絡(luò)中的CANH端接入到示波器B通道(示波器通道任意選擇)探頭的正極,CAN網(wǎng)絡(luò)的GND連接探頭的負(fù)極。

注意:CANHCANL使用的測(cè)試通道可以自由選擇。只是在進(jìn)行解碼設(shè)置時(shí),對(duì)應(yīng)正確即可。

3 )點(diǎn)擊PicoScope6工具菜單,選擇串行解碼功能。彈出串行解碼設(shè)置窗口。

在一個(gè)窗口分別設(shè)置CANHCANL的解碼設(shè)置,具體參考3.13.2章節(jié)的設(shè)置。如下圖所示:

四、使用注意事項(xiàng)

    Pico示波器進(jìn)行串行解碼有一個(gè)技術(shù)難點(diǎn):Pico示波器的解碼以完整的一個(gè)CAN數(shù)據(jù)幀為單位,即只有采集到完整的一幀CAN報(bào)文,才能將該數(shù)據(jù)幀完整的解析出來(lái)。

1) 采集CANHCANL波形時(shí),注意時(shí)基的設(shè)置。即保證每一個(gè)波形頁(yè)面至少能夠采集到一個(gè)完整的數(shù)據(jù)幀,此時(shí)才能夠解析出CAN報(bào)文。對(duì)于CAN總線來(lái)說(shuō),時(shí)基設(shè)置在1ms/div或者大于1ms/div即可。

2) 注意采樣率的設(shè)置,要保證采集到的波形不失真。例如CAN總線的波特率為500Kbps,那么采樣率只有大于1MS/s,才能夠采集到正確的波形(滿足乃奎斯特定律)。

3 )示波器的波形(一個(gè)顯示頁(yè)面)與波形之前是不連續(xù)的,總是或多或少一些間隙。所以當(dāng)在進(jìn)行CAN總線解碼時(shí),波形頁(yè)面的邊緣會(huì)有一些無(wú)法被解析的數(shù)據(jù)幀,主要原因是波形頁(yè)面邊緣將一個(gè)完成的數(shù)據(jù)幀截?cái)嗔?,以至于無(wú)法得到爭(zhēng)取的解析。如下圖所示:

 

返回頂部

    版權(quán)所有:南京海思自動(dòng)化系統(tǒng)有限公司    網(wǎng)站地圖:Sitemap        蘇ICP備13027346號(hào)-1
電話:025-52804590 52804690 地址:南京市白下高新產(chǎn)業(yè)園區(qū)永豐大道8號(hào)B2-503室 網(wǎng)址: www.gprbr.cn
版權(quán)所有:南京海思自動(dòng)化系統(tǒng)有限公司
總機(jī):025-52804590 / 52804690
市場(chǎng)部:8008分機(jī)  售后部:8006分機(jī)
手機(jī):18905184663(市場(chǎng))  郵箱:highsys@163.com
南京市白下高新產(chǎn)業(yè)園區(qū)永豐大道8號(hào)B2-503室