zoukankan      html  css  js  c++  java
  • PCANLIN模块使用详细

    这是一个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功能

     待续。。。

  • 相关阅读:
    vue 交互 跨域获取数据
    计算属性computed缓存 与 methods 的思考
    _this 与 this
    python 占位符 %s Format
    odoo 中字段属性对象Field
    安装CentOS7.7图解
    docker的volumes
    Docker常用命令详解
    Ubuntu修改时区和更新时间
    SqlServer创建时间维度
  • 原文地址:https://www.cnblogs.com/YourDirection/p/15753510.html
Copyright © 2011-2022 走看看