拖拉机控制关键协议 ISO-11783 协议解析-车辆工程自动化-酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
查看: 2774|回复: 2

拖拉机控制关键协议 ISO-11783 协议解析

[复制链接]
  • TA的每日心情
    慵懒
    2017-11-9 20:49
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2024-9-30 10:03:40 | 显示全部楼层 |阅读模式
    快速开始

    应用层关注的主要内容是如何读写数据,对于ISOBUS,读写数据,即是如何控制车辆动作和获取车辆信息。
    ISOBUS的实现读写数据的机制是“消息”。一切皆为消息(message)。一般的,每个消息的核心为一个参数组(parameter group),参数组主要分为几类:指令类、数据类和辅助类。
    指令类:可以被执行,如控制开关、控制转向。
    数据类:用来读取和写入的关键数据,如传感器值,组件ID等。
    辅助类:辅助完成请求数据,应答数据、广播声明、分包传输管理等功能。
    具体通讯的细节请参照后续章节的介绍。
    注:标准文档将参数组的类型定义了5种(Command、Request、Broadcast/Request、Acknowledgement和Group Function)。这里为了便于理解分为3类。
    协议关键要素定义

    PDU
    protocol data unit
    一个完整的CAN数据帧
    PGN
    Parameter group number
    由PDU中定义的DataPage、Format和Specific共同决定的,用以确定具体message 的种类。
    Message
    由相同PGN组成的一个或多个CAN数据帧
    Packet
    组成multi-packet message 的单个CAN数据帧
    multi-packet message
    当单个CAN数据帧不能完整传输完Message的全部数据时,采用多个含相同PGN的CAN数据完成数据传输。
    SA
    Source Address
    定义消息从哪里发送
    DA
    Destination Address
    定义消息发送到哪里
    概述

    ISOBUS协议是基于CAN2.0B协议的一个拓展。帧结构如所示。
    拖拉机控制关键协议  ISO-11783 协议解析-1.png


    PDU结构

    PDU由七部分组成PRIO,Reserved,DP,PF,PS,SA,Data,
    消息通讯

    消息(Message)是ISOBUS定义的一种在CAN数据帧基础上,更高层的数据链路层通讯数据结构。消息支持传输高达1785(255包*7字节每包)个字节的应用程序数据。
    由于CAN数据帧每一帧最大传输的数据量为8个字节,远远不能满足消息定义的最大传输容量,所以ISOBUS协议使用多个CAN数据帧分次发送的方法,逐步完成全部应用层数据的传输。
    需要特别注意的是,发送拆分的数据包的过程中,有可能会有其他ISOBUS设备发送相同的消息帧,为了避免数据帧遭到插入造成数据破坏,接收端必须要能识别不同发送端发送的Messsage包,并分别合并成正确的Message。
    消息的类型

    消息类型有5大类
    类型
    英文名
    PGN
    指令
    Command
    请求
    Request
    59904
    广播/ 响应
    Broadcast/Response
    应答
    Acknowledge
    59392
    ACK和NACK
    组功能
    Group Funtion
    应答类消息

    应答类消息分为积极应答ACK(Positive Acknowledge)和消极应答NACK(negative Acknowledge)。
    参数组

    ISOBUS 主要通过PDU中的DP,PF和PS这3个域来定义消息的类型,并且为了方便描述,又将这三个域合称为PGN。
    ISOBUS规定,根据PF的不同,PS的含义有2种,
    PF
    PS
    0~239
    目标地址
    240~255
    拓展参数
    由此,当PF值为0~239时,称之为PDU1,由此PGN如下定义
    PGN
    最高位
    最低位
    DP
    PF
    0
    当PF值为240~255时,此时的PDU称为PDU2,PGN如下定义
    PGN
    最高位
    最低位
    DP
    PF
    PS
    传输协议功能

    大量数据分包传输

    当有大量数据构成的消息需要传输的时候,标准的CAN帧已经不能满足传输需求。ISO11738定义了一种分包发送大量数据的机制——多包消息(multi-packet message).
    每个包的结构如下
    CAN 帧的数据域
    字节
    byte1
    byte2-byte8
    内容
    包序号
    7个字节的数据块
      包序号从1开始到255为止,用来标识多个包,方便接收端合并包。广播模式发送包,两包之间的延时要在50ms~200ms之间。非广播模式发送包,两包之间的发送延时要小于200ms。每一包的DLC值都固定  为8,即使所需要传输的数据不足8个,也应将未用到的数据设置为0xFF。
    连接管理

    初始化连接

    请求端发送Request to Send (TP.CM_RTS)消息,此消息中包含了接下来传输数据的总大小。目标接受连接请求需要回应Clear to Send(TP.CM_CTS) 消息,目标若不接受连接请求需要回应Connection Abort(TP.CM_CA)消息。
    传输数据

    请求传输数据端在收到Clear to Send(TP.CM_CTS) 消息后,开始Data Transfer(TP.DT)流程.流控制由接收端负责,当发送端传输过快,接收端可能来不及处理接收的数据时,接收端通过发送Clear to Send(TP.CM_CTS)消息,并将该消息的
    结束连接

    接收端接收完最后一个包后,回发一个结束连接消息end-of-message ack,用以通知传输完成,释放连接。
    当传输出现异常时,发送端负责中止连接通过发送Connection Abort消息来完成。需要注意的时,接收端无权中止连接。
    如图 1正常传输流程,一般可导致中止连接的情况如下几种:
      T1,在传输完数据之前,两包数据之间的时间间隔超过了250ms。T2,发出Clear to Send(TP.CM_CTS) 消息到接收到数据包的时间间隔超过1250ms。T3,两次Clear to Send(TP.CM_CTS) 消息间隔超过1250ms。T4,发出Clear to Send(TP.CM_CTS) 消息用以暂停数据传输到下一个Clear to Send(TP.CM_CTS) 消息之间的时间间隔超过550ms。
    消息定义

    连接管理

    参数组名:Connection Management 连接管理
    PGN定义:
    PGN
    DLC
    DP
    PF
    PS
    0
    236
    目标地址
    8
    60416
    数据发送请求Request To Send (TP.CM_RTS)

    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    控制字:16
    总字节数
    总包数
    保留:
    0xFF
    所传输内容的PGN
    数据过程管理Clear To Send (TP.CM_CTS)

    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    控制字:17
    发送包数
    下一包序号
    保留:
    0xFF
    保留:
    0xFF
    所传输内容的PGN
    结束消息传输End of Message Acknowledgement (TP.CM_EndofMsgACK)

    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    控制字:19
    总字节数
    总包数
    保留:
    0xFF
    所传输内容的PGN
    终止连接Connection Abort (TP.Conn_Abort)

    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    控制字:255
    保留:
    0xFF
    保留:
    0xFF
    保留:
    0xFF
    保留:
    0xFF
    所传输内容的PGN
    广播发送Broadcast Announce Message (TP.CM_BAM)

    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    控制字:32
    总字节数
    总包数
    保留:
    0xFF
    所传输内容的PGN
    数据传输DataTransfer

    参数组名:Data Transfer数据传输(TP.DT)
    PGN定义:
    PGN
    DLC
    DP
    PF
    PS
    0
    235
    目标地址
    8
    60160
    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    包序号
    传输的数据内容
    请求Request

    PGN
    DLC
    DP
    PF
    PS
    0
    234
    目标地址
    (广播255)
    3
    60160
    Data Field
    1
    2
    3
    请求内容的PGN
    注:由于有些请求的数据可能超过8字节,对于超过8字节容量的数据,将会分多个包应答回来。
    响应请求

    应答Acknowledgement

    PGN定义:
    PGN
    DLC
    DP
    PF
    PS
    0
    232
    目标地址
    (广播255)
    8
    59392
    Data Field
    1
    2
    3
    4
    5
    6
    7
    8
    ACK:0
    NACK:1
    保留:
    0xFF
    请求的PGN
    通讯场景

    点对点通讯

    发送端发起依次传输组件ID的数据通讯流程如下图所示。
    拖拉机控制关键协议  ISO-11783 协议解析-2.png


    图1正常传输流程
    广播通讯

    广播通讯不同于点对点的通讯模式,广播通讯每一包的发送间隔为50ms到200ms之间,超过或少于均会产生错误。接收广播数据无需进行应答,也不能进行流量控制。
    拖拉机控制关键协议  ISO-11783 协议解析-3.png


    请求数据

    当需要获取指定数据时,请求端需要向应答端发送请求数据消息。应答端会根据请求的内容选择应答所请求的数据,如图 2 请求-应答所示的内容,或做出NACK的回应,如图 3 请求-不应答所示的流程。
    拖拉机控制关键协议  ISO-11783 协议解析-4.png


    图 2请求-应答
    拖拉机控制关键协议  ISO-11783 协议解析-5.png


    图 3请求-不应答
    广播数据

    在某些应用场景中,一台是被需要不断向总线上广播数据,通讯流程如图 4 广播数据所示。
    拖拉机控制关键协议  ISO-11783 协议解析-6.png


    图 4广播数据
    回馈指令(Command)的运行结果

    为了执行某些特定动作,比如控制轮子转向,执行端必须给出某些反馈,这些反馈可以是ACK,当动作执行成功或完成;也可以反馈NACK,提醒指令执行失败,或直接通过读取某些数据来自行判断指令的执行状况。
    常见问题汇总

    Q:本协议是否支持超过8字节的数据传输?
    A:通过数据传输协议支持单次最高传输1785字节应用层数据。
    Q:什么是PDU?
    A:PDU是ISOBUS 通讯的基本单元,是对CAN帧的具体定义。一个can帧有且只有一个PDU。
    +10
    不赞一个?
    打赏鼓励一下!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-10-13 11:30
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    发表于 2025-7-31 14:11:23 | 显示全部楼层
    和J1939不同?
    +10
    不赞一个?
    打赏鼓励一下!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|Archiver|手机版|小黑屋|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

    GMT+8, 2026-11-1 01:26 , Processed in 0.152034 second(s), 57 queries .

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表