MACH網關 SENT-ETH數據讀取與控制(CAN通訊)
mach sae j2716 sent網關模塊,廠家的軟件只支持了canlib32.dll,但是網關開放的通訊協議可以讓其他can卡通過can報文順利地使用它。
配置網關can通道如果使用廠家軟件,可以通過kvaser進行連接,需要注意的是記住配置的連接參數,如can連接,需知道通道是can還是canfd,波特率,tx和rxid等;亦或者用usb連接,需要知道串口的波特率。
ethernet連接就簡單很多,在瀏覽器輸入設置的ip即可(前提是pc網口需與網關設置ip在同一網段)。
當然本文的不是用軟件如何使用該工具,使用軟件可以快捷的去修改設備eerom中的can通道設置,如果是sent-can型號或者沒有kvaser就只能根據通訊協議用can報文修改相關參數了。如果配置can后忘記參數,就只能用利用設備上的reset按鍵了。
廠家can設備(can接收報文講解)
用廠家軟件配置好后,通過sent功能發送sent,然后斷開與軟件連接,使用canking查看can報文(網關不具備終端電阻,如果有錯誤幀試著并個120ω電阻),注意四通道sent-eth使用can接收sent數據就不能用usb連接pc(通過vin供電),否則僅有串口數據。
根據通訊協議可知,byte0 = 0x95是網關接收端的數據;byte0 = 0x99是網關發送端的數據(這里收發都使用的sent-eth網關模擬)。
byte1 = 0x01代表sent2,0x02代表sent3,也就是sent3作為發送端,sent2作為接收端。
byte2 = 0x60中的6(7-4bit)是數據長度(即6個半字節),0x0代表狀態。
當不勾選,即swap fast data nibbles = 0時
60代表status=0,datanibblecount=6
22為crc=2,crccalculated=2
注意:swap fast data nibbles = 0(上圖中can的btye3-5數據由此方法),
21(十六進制)代表datanibble0 = 1,data1nibble1 = 2
43(十六進制)代表datanibble2 = 3,datanibble3 = 4
65(十六進制)代表datanibble4 = 5,datanibble5 = 6
即21 43 65為sent的數據,正確讀取順序為0~5 ==> 1 2 3 4 5 6(從左到右數據字節升高)
當勾選,即swap fast data nibbles = 1時
60代表status=0,datanibblecount=6
22為crc=2,crccalculated=2
注意:swap fast data nibbles = 1,
21(十六進制)代表datanibble0 = 2,data1nibble1 = 1
43(十六進制)代表datanibble2 = 4,datanibble3 = 3
65(十六進制)代表datanibble4 = 6,datanibble5 = 5
即21 43 65為sent的數據,正確讀取順序為0~5 ==> 2 1 4 3 6 5(從左到右數據字節升高)
其他can設備(發送can報文講解)
如果使用其他can卡,僅能使用通訊協議進行設備控制。這里偷個懶,將非官方的can卡并在網關與kvaser之間監控廠家軟件的控制指令??梢钥吹綇S家軟件中的各種實現也都是根據通訊協議實現。下面以發送sent數據的控制報文進行講解。
由于messageid占用一個字節,所以發送數據的can控制報文中,id=canid_rx(可進行配置);byte0 = 0x90。
byte1=0x02即控制通道sent3(sent1為0x00),若設置的sent通道crc不是sw模式就可忽略該參數,其余參數解釋同上節。
后得出
request:id=0x123,data={0x90 0x02 0x60 0xa1 0x00 0x00 0x00}respond:id=0x321,data={0x90 0x02}然后sent3將持續發送數據,從can監控就是id=0x321,data={0x99 0x02 0x60 0xa1 0x00 0x00 0x88}
了解多產品信息,搜索廣州智維電子科技聯系。我們提供對所有產品的技術支持。
廣州智維電子科技有限公司專注于horiba尾氣分析儀,kvaser總線分析儀,midtronics蓄電池測試儀等