PCAN-LIN模塊使用詳細


這是一個CAN、LIN、RS232相互轉換的一個模塊。

一. 接線

CAN&LIN D9連接LIN,CAN,供電

RS232 DB9 連接PC

 但是需要注意的是:有些USB轉RS232模塊是識別不到PCAN-LIN模塊的。可以嘗試更換其它RS232模塊。

二.  PCAN-LIN_CT工具安裝

默認路徑安裝

三. 同時實現CAN轉RS232和LIN轉RS232功能

3.1 可以利用PCAN-LIN_CT工具設置參數

CAN->Activation 設置為Yes 

CAN->Forward Mask 設置為RS232

LIN->Activation 設置為Yes

LIN->Forward Mask設置為RS232

LIN->LIN Bus Termination設置為 Slave

LIN->Frame Configuration 詳細設置每個ID的參數定義,設置要跟實際接收數據的定義要相符,不然此模塊會屏蔽掉接收的數據

其中有個特殊的地方是,當LIN的接收的數據只有報頭,沒有數據的情況,LIN的幀設置需要為:

Format:Enhanced

Direction:Publisher

 這樣設置的原因是:當模塊接收到只有報頭的幀,模塊識別后通過設定的參數轉發這一幀數據。

3.2 接收數據 

 通過產品或者其他LIN/CAN Board模擬數據,PCAN-LIN就可以接收數據。

但是實際從RS232接收的數據是經過PCAN-LIN模塊轉換的,具體規則在工具文檔有說明。

如上面的數據在RS232接收后

 

 

3.2.1 CAN標准幀解析

0x02-->起始位(STX)是固定值

9B 08-->這兩個字節看下如下定義:

0x9B(10011011)的由來:

  •  AR為1
  • SequenceNumber為1
  • parameters byte count為1+2(ID 2個字節)+8(CAN數據)=0xB

0x08(00001000)的由來:

  • STD:0
  • DATA RTR:0
  • ERROR:0  注:當有ERROR時該位為1
  • DATA Length:8

79 00-->為CAN ID: 00 79=>079   注:字節低位在前,高位在后

0A 0B 0C 0D 0E 0F 10 20-->為CAN Frame數據

0xDB-->為除起始位所有數據的異或校驗值

3.2.2 LIN幀解析

 

 

 以接收數據02 A9 BC AA BB CC DD EE FF 11 22 37為例:

0x02-->起始位(STX)是固定值

0xA9(10101001)的由來:

  •  AR為1
  • SequenceNumber為2(0b010)
  • parameters byte count為1+8(LIN數據)=9

0xBC(101111000)的由來:

  • REQ為1
  • Error為0  注:當有ERROR時該位為1
  • LIN ID為3C  當出現Error時,這個值將是ErrorCode

AA BB CC DD EE FF 11 22 為LIN Frame數據

0x37 為除起始位所有數據的異或校驗值

 四. RS232轉CAN/LIN功能

 待續。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM