一 文檔介紹
本文將一步步介紹如何使用DSLogic邏輯分析儀采集并分析 CAN/CAN-FD 信號,因為 CAN 信號的測量和 CAN-FD 的大致一樣,,所以下文以 CAN-FD 舉例,,在有區(qū)別之處,將會做特別說明,。
此次演示的案例特征為:
- 仲裁域波特率 500Kbps
- 數(shù)據(jù)域波特率 1Mbps
- 發(fā)送 “01 23 45 67 89 AB CD EF ….(其余數(shù)據(jù)位補0)" 共 64 位數(shù)據(jù)到 ID 地址"0x100″,。
二 需要測量哪幾個信號
CAN-FD 協(xié)議是半雙工的,在 MCU 端使用 TX/RX 進(jìn)行收發(fā)信號,,發(fā)送端并不是通過 TX/RX 直接接到別的節(jié)點的 MCU ,,而是先將 TX/RX 接入到 CAN-FD 收發(fā)器,將 TTL 電平轉(zhuǎn)換為差分信號 CAN-FD_H和 CAN-FD_L,,測量信號時需要注意接的是 TTL 邏輯端,,還是 CAN-FD 總線端。
器-1.png)
圖1 MCU與收發(fā)器結(jié)構(gòu)
所以,,如果你要測量 TTL 信號,,則將探頭接入到 TX 引腳,如果要測量總線端信號,,則接入到 CAN-FD_L ,,你可能要問,可以接入到 CAN-FD_H ,?單獨觀察波形的話,,是可以的,,但因為我們是使用邏輯分析儀對信號進(jìn)行解碼,而 CAN-FD_L 的電平變化和 TTL 端的電平變化是一致的,,CAN-FD_H 和 TTL 端是反相的,,所以為了方便對比觀察解碼結(jié)果,要接入 CAN-FD_L,。
三 信號的實際模樣
邏輯分析儀分析的是數(shù)字信號,,在采集分析之前,我們推薦先用示波器觀察下信號實際是什么樣子的,,對真實波形有一個基本的認(rèn)知,。
下面我們使用璞石示波器來完成捕獲模擬波形的演示。
3.1 MCU 側(cè) TTL 信號
測 TTL 時探頭接 TTL 信號,,探頭使用 X1 擋位,,探頭接地夾接邏輯端的參考地,一般是 MCU 的 GND 引腳,,此處是使用接地彈簧接 GND,。

圖2 探頭測試 TX 信號
示波器 0 通道探頭放在靠近 MCU 的 TX 引腳處,夾子接邏輯側(cè)參考地,,啟動 CAN-FD 發(fā)送數(shù)據(jù),,按下 AUTO,捕獲波形,,如下圖所示,。

圖3 示波器顯示 TX 信號
可以看到這是一個符合 TTL 標(biāo)準(zhǔn),幅度為 3.4V 的波形,。
3.3 收發(fā)器側(cè)差分信號
因為在電路設(shè)計中一般都會對總線端的電源做隔離,,所以在測 CAN-FD 時,兩個探頭分別接 CAN-FD_H 和 CAN-FD_L 信號,,但是探頭接地夾需要接總線端的參考地,,一般是 CAN-FD 收發(fā)器芯片的 GND 引腳,,不要接到 MCU 的 GND 上去了,。

圖4 探頭測試差分信號
圖 4 左邊三個座子依次為 CAN-FD_H,GND,,CAN-FD_L,。
示波器 0 通道探頭放在 CAN-FD_H,接地彈簧接總線側(cè)參考地 ,。示波器 1 通道探頭放在 CAN-FD_L,,接地彈簧接總線側(cè)參考地,啟動 CAN-FD 發(fā)送數(shù)據(jù),,按下 AUTO,,捕獲波形,,將波形光標(biāo)重合在一起,如下圖所示,。

圖5 差分信號
可以看到 CAN-FD 中空閑時差分電平壓差為 0,,當(dāng) CAN-FD_L 出現(xiàn)低電平時開始數(shù)據(jù)的傳輸??梢钥吹紺AN-FD_L的波形和TTL端的信號是同向的,,而CAN-FD_H的波形和TTL端的信號是反向的。
同時,,也可以觀察到CAN-FD信號高低電平的特殊之處,,以CAN-FD_L為例,它的低電平并不是0V,。通常標(biāo)準(zhǔn)CAN/CAN-FD總線信號的L端低電平為1.5V,,高電平為2.5V。
也有一些CAN系統(tǒng),,總線信號的電平和標(biāo)準(zhǔn)不太一致,,這也是為什么我們推薦先用示波器觀察實際波形的原因。因為在使用邏輯分析儀分析波形時,,需要設(shè)置正確的“閾值"電壓,,邏輯分析儀才能采集到正確的信號。
四 信號的采樣與解碼
在示波器上可以觀察到信號的波形質(zhì)量,,但是示波器不擅長長時間抓取波形,,同時進(jìn)行解碼分析。所以當(dāng)想要分析協(xié)議通訊的內(nèi)容時,,使用DSLogic邏輯分析儀是最合適的工具,。
4.1 信號的連接
在DSLogic Plus中,可以選擇任意通道對波形進(jìn)行采集,。我們使用 1 通道來采集 CAN-FD_L 信號,。
連接排線至邏輯分析儀的采樣端口,圖 6 顯示了排線和通道的對應(yīng)關(guān)系,。

圖6 排線與邏輯分析儀的連接
連接 1 通道至 CAN-FD_L,,黑色信號線為接地信號線,連接 CAN-FD 收發(fā)器的 GND。連接效果如圖,。
圖7 連接信號
4.2 采樣設(shè)置
打開 DSView,,在左上角點擊“選項",按照圖4 參數(shù)設(shè)置,,其中關(guān)于閾值電壓,,在圖5 中,我們可以看到通訊波形中 CAN-FD_L 的電壓范圍大致在 1.5V – 2.5V 之間,所以閾值可以設(shè)置為 2V 左右,。
采樣率一般推薦設(shè)置為波形最大速率的 10 倍,。例如此處選擇 10MHz采樣率進(jìn)行采集分析。
通道選項的所有選項都符合我們的要求,,我們選擇就選第一個,。其他選項保持默認(rèn),點擊確定,。
備選項.png)
圖8 選項設(shè)置
設(shè)備選項設(shè)置完成后,,采樣時間這里設(shè)置為 5ms,在"模式“中,,我們選擇“單次",。關(guān)鍵的閾值、采樣時間和采樣率設(shè)置完成后,,我們接下來設(shè)置觸發(fā)方式,。
從圖5 可以看到 CAN-FD_L 出現(xiàn)下降沿開始通訊,所以我們設(shè)置觸發(fā)方式為下降沿觸發(fā),,點擊1 通道左側(cè)的下降沿標(biāo)識,,顯示為藍(lán)色則為下降沿觸發(fā)。
設(shè)置-1.png)
圖9 觸發(fā)設(shè)置
完成以上接線和設(shè)置后,,其他設(shè)置保持默認(rèn),,點擊 DSView 菜單欄的“開始",此時邏輯分析儀正在等待觸發(fā)波形的出現(xiàn),,然后啟動 CAN-FD 傳輸,,觸發(fā)后等待波形采集完成。
以上是對 CAN-FD 的采樣設(shè)置,,對于 CAN 波形的測試,,可以和 CAN-FD 的一致。
4.3 解碼設(shè)置
波形采集完成后會在軟件界面顯示,,此時可以對波形進(jìn)行解碼操作,,具體操作是點擊菜單欄的“解碼"按鈕,在協(xié)議框中輸入“CAN",,點選在下方出現(xiàn)的"CAN-FD“,,在彈出的解碼設(shè)置中進(jìn)行解碼設(shè)置。
置-1.png)
圖10 解碼設(shè)置
- 右側(cè)帶有眼睛圖標(biāo)的選項表示是否要在解碼中查看這些內(nèi)容,,默認(rèn)是要查看,,如果不想看到相關(guān)內(nèi)容,,將其勾選掉即可,。
- 在"CAN“選項中選擇連接 CAN-FD_L 信號的通道,我們的通道是 1 通道,所以選擇 1,。
- “Nominal bitrate" 表示仲裁段波特率,,我們的信號是 500Kbps,所以輸入 500000,。
- “Fast bitrate" 表示數(shù)據(jù)段波特率,,我們的信號是 1Mbps,所以輸入 1000000,。
- “Sample point" 表示采樣點位置,,在 MCU 對 CAN/CAN-FD 協(xié)議進(jìn)行配置時,不同的廠家采樣點設(shè)置不一樣,,一般采樣點設(shè)置在 70% ,,請根據(jù)實際情況設(shè)置。
- 如果在波形中插入了光標(biāo),,可以使用光標(biāo)來限制解碼的范圍,,默認(rèn)是對所有波形進(jìn)行解碼。

圖11 解碼器選項
解碼成功后對波形展開,,配合協(xié)議列表顯示,,可以知道我們對地址為"0x100″的設(shè)備發(fā)送了“01 23 45 67 89 AB CD EF"等數(shù)據(jù)。
果-1.png)
圖12 解碼結(jié)果
對于 CAN 波形的測試,, 只需要設(shè)置一個"bitrate" 即可,,其他操作和設(shè)置與 CAN-FD 的一致。