日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CAN波形解析实例(1)

發布時間:2024/1/23 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAN波形解析实例(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里的CAN數據波形抓取的是兩個STM32F103設備通過CAN通信一方發送另一方接收,CAN收發器使用的是TJA1051
(擴展幀發送數據ID=0x18DAF110 Data=0x06 0x08)

測量總線信號的波形如圖1所示,這里示波器的探頭接的是CAN_H,探頭的夾子接的是參考地:
這里只測了CAN_H的波形,實際上CAN_L的波形與CAN_H的波形是反相的,形成差分信號。

測量接收端CAN_RX的波形如圖2所示,這里示波器的探頭接的是CAN_RX,探頭的夾子接的是參考地,測量的是芯片CAN控制器出來的邏輯波形,還未經過CAN收發器轉換:

CAN_TX和CAN_RX是CAN控制芯片的發送管腳(CAN_TX)和接收管腳(CAN_RX)。
完整的CAN電路是由CAN控制器和CAN收發器組成的,二者之間一般通過TTL電平的收發信號(CAN_RX、CAN_TX)連接,由CAN收發器將CAN_TX的TTL信號轉換為CAN規范差分信號輸出(CAN_H、CAN_L)、同時接收差分線上的實際信號并轉換為TTL信號輸出到CAN_RX管腳上。
CAN收發器與CAN控制器的CANTX和CANRX相連,對外引出CANH和CANL引腳,輸出標準的CAN信號。

CAN總線上,信號表現為電壓形式,通過CAN_H和CAN_L線上的電位差來表示CAN信號,分為顯性電平(dominant)和隱性電平(recessive)兩種類型。其中顯性電平規定為邏輯0,隱性電平則為邏輯1。其具體定義可通過下圖來理解。

根據上圖的CAN_H信號和我們測量到的CAN_H信號對比,CAN_H的高電平對應顯性電平邏輯0,CAN_L的低電平對應隱性電平邏輯1,那么圖1對應的波形的邏輯數據為:
0 || 11000110110 || 11 || 101111000100010000 || 0[1]00 || 0010 || 0000[1]0110 || 0000[1]1000 || 101101101001000 || 101
SOF|| ID || SRR IDE|| ID擴展 || RTR r0 r1 || DLC|| data0 || data1 || CRC ||CRC界定符 ACK槽 ACK界定符

注意:當連續輸出5個相同的位,則需要插入一個反碼位 ,如連續輸出5個0則需要插入一個1,但這個1在讀數時要去掉,上面[1]就是需要忽略的

數據幀的構成圖解如下(標準幀和擴展幀只有中間一部分不同):

注意我們這里抓的波形是擴展幀

解析信息:
29位ID
1 1000 1101 1010 1111 0001 0001 0000 從右到左每4位一個字段,即為0x18DAF110

DLC
0010
轉換成十進制為2 表示這一幀中有兩個數據,接下來的16個字節便表示2個數據

D1
0000[1]0110 = 0x06

D2
0000[1]1000 = 0x08

這樣便解析出了我們需要的數據,這是和程序發送的數據一致的。

實測SOF的寬度是8us,因此可計算出波特率為125K,與實際程序設置的速率一致。

總結

以上是生活随笔為你收集整理的CAN波形解析实例(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。