CAN总线的特点及J1939协议通信原理
CAN 总线的特点及 J1939 协议通信原理、内容和应用
控制器局域网络(CAN)是德国 Robert bosch 公司在 20 世纪 80 年代初为汽车业开发的一种串行数据通 信总线。CAN 是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。CAN 的应用范围遍及 从高速网络到低成本底多线路网络。在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中, CAN 的位速率可高达 1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口 等,可以替代所需要的硬件连接。它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作 方式。CAN 网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。网络上的节点可 分为不通优先级,满足不同的实时要求。采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络 上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。具有点对点、 一点对多点及全局广播接收传送数据的功能。
CAN 总线
节点 1 节点 2 节点 3 节点 4
PC 机
图 2 CAN 局域网 软件的编写主要包括对寄存器的配置、硬件初始化、中断调用、数据通信几大模块。中断调用中包括 数据中的中断接收、中断发送,以及错误处理、报警等模块。通信模块又分为数据的发送、接收、请求等。 综上所述,J1939 通信协议解决了如下问题。 (I)优先权问题。如自动换挡要求减油门,巡航控制同时要求增油,而 ASR 则要求减油门以维持驱动 轴的低扭矩。根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。 (2)灵活性问题。因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在 一起的能力。 (3)可扩展性。即需要增加新的子系统时,不需要对基本系统作修改。 (4)独立性。每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。 (5)为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。
j1939协议
j1939协议J1939协议是一种用于重型商用车辆之间通信的协议。
该协议基于CAN总线,旨在提供一种标准化的数据通信方式,以便不同设备之间可以相互交换信息。
J1939协议定义了一套规范,包括消息格式、数据结构和网络管理等方面的内容。
它为商用车辆提供了一种灵活的通信方式,使不同的设备可以通过CAN总线发送和接收信息。
J1939协议的消息格式是基于CAN数据帧的,由一个11位的标识符和一个8字节的数据字段组成。
标识符用于标识不同类型的消息,而数据字段则用于传输实际的数据。
在J1939协议中,有一些预定义的消息格式,如DM1、DM2和TPDT等。
这些消息格式包含了与车辆故障诊断和数据传输相关的信息。
通过这些消息格式,设备可以向车辆发送警告信息,并接收来自车辆的故障诊断数据。
除了消息格式外,J1939协议还定义了一套数据结构和网络管理规则。
数据结构用于描述不同类型的数据,在传输过程中保持一致性和可靠性。
而网络管理规则用于管理CAN总线的通信,包括网络初始化、错误处理和带宽分配等。
J1939协议在重型商用车辆中有广泛的应用。
例如,它可以用于车辆的故障诊断系统,通过发送故障码来检测和诊断车辆的故障。
它还可以用于车辆的监控系统,通过传输车辆状态数据来实时监测车辆的性能。
此外,J1939协议还支持数据传输和实时控制。
通过发送和接收数据报文,设备可以实现实时的数据传输和控制功能。
例如,它可以用于车辆的制动系统,通过发送制动指令来控制车辆的制动力。
总体而言,J1939协议为重型商用车辆提供了一种标准化的数据通信方式。
它通过定义消息格式、数据结构和网络管理规则,使不同设备之间可以方便地进行信息交换。
这种通信方式不仅提高了车辆的性能和可靠性,还为车辆的故障诊断和数据传输提供了便利。
CAN卡与使用J1939应用层协议设备间的通信
CAN卡与使用J1939应用层协议设备间的通信CAN(控制器局域网)是一种广泛应用于汽车和工业领域的通信协议。
它是一种高速且可靠的通信协议,可以在设备之间传输数据。
J1939应用层协议是一种基于CAN协议的汽车网络协议,主要用于传输车辆的数据和控制信息。
CAN卡与使用J1939应用层协议的设备之间的通信是通过CAN总线完成的。
CAN总线上的每个设备都有一个唯一的标识符,用于识别设备和数据的发送者和接收者。
设备可以通过CAN总线上的消息进行通信,并使用J1939协议定义的数据格式和命令进行交互。
在通信过程中,设备可以发送和接收不同类型的消息。
例如,设备可以发送数据消息,用于传输车辆传感器的测量值或控制命令。
设备还可以发送控制消息,用于设置其他设备的状态或配置参数。
所有的消息都有一个固定的格式,包括消息ID、消息数据和校验字段。
CAN卡在通信过程中扮演着关键的角色。
它负责将消息从一个设备传输到另一个设备,并确保消息的正确传输和接收。
CAN卡上的硬件和软件模块实现了CAN协议的功能,包括消息的发送和接收、消息的过滤和缓冲等。
为了进行CAN与J1939协议的通信,需要使用适配器将CAN卡的接口转换为J1939协议的接口。
适配器相当于一个转换器,它能够读取CAN总线上的CAN消息,并将其转换为J1939协议可以理解的格式。
适配器还可以将J1939协议的消息转换为CAN消息,发送到CAN总线上。
通过CAN卡和适配器,设备可以实现与其他设备之间的通信和数据交换。
例如,在汽车上,各种传感器可以使用CAN卡与车辆的控制器通信,传输引擎温度、车速等数据。
同时,控制器也可以通过CAN卡发送命令到其他设备,实现对车辆的控制和调节。
总之,CAN卡与使用J1939应用层协议的设备之间的通信是通过CAN 总线和适配器实现的。
CAN卡负责处理CAN协议的硬件和软件功能,而适配器负责将CAN消息转换为J1939协议的格式。
这种通信方式在汽车和工业领域得到了广泛应用,可以实现设备之间的高速和可靠的数据传输。
通讯模块CAN和J1939
同 时 连接 l 9 个l P 地址 ,有助 于 更 快 速地 将
机 器 和 设 备 集成 到 工 业控 制 网络 中 ,缩 短 设 计时 间 。 S t r a t i x 5 1 0 0 wA P 非常 适 合需 要 安全 可 靠 地 实现 无 线 连 接 的 工 业 网络 。它 采 用 最
小型P L C I V C 2 L 系 列
I V C 2 L 系 列 小 型 多功 能 应 用 型 P L C,
具 备强 大的 通讯 能 力 、系 统扩 展能 力 、丰 富 的高 速 输 人和 高速 输 出 功 能 ,更 稳 定 更
可靠 。 特点:
( WA P ) 。 与仅 连 接 单 一I P 地 址 的 典 型 无
C0 m . C n
红 狮去年 发布了具 有内置 网络服 务器的 G r a p h i t e 系列 人机 界 面 ,使 客 户可 以通过 电
脑、平 板电脑 以及智 能手机 更 为便捷地 监测 和控 制应用过 程 :出现过 程故障时 ,G m p h i t e ・ 模块 。
线 客户 端 不 同 ,S t r a t i x 5 1 0 0 wA P 支持 最 多
的G r a p h i t e M 系列 人机 界面 ( T H MI )进行 升
级 和功 能 扩 展。 红狮G r a p h i t e 系列 人机 界面 支持 3 0 0 多种 工 业 协议 ,而CA N ̄ 1 J l 9 3 9 插 入式 通 信 模 块 则进 一步 增 强 了 人机 界面 功 能 , 从而 能 够 更好 地 满 足客 户的通 信 和 连 接 要求 。 C A N ̄J I 9 3 9 协 议 最 早是 为客车 车载 网
J1939协议
CAN总线的特点及J1939协议通信原理、内容和应用众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。
迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。
在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。
但货车和客车在这方面却远未能满足排放法规的要求。
计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。
因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。
采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。
1 CAN总线特点及其发展控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。
CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。
CAN的应用范围遍及从高速网络到低成本底多线路网络。
在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。
同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。
它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。
CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。
网络上的节点可分为不通优先级,满足不同的实时要求。
采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。
具有点对点、一点对多点及全局广播接收传送数据的功能。
随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。
1991年9月Philips Semiconductors制定并发布了CAN 技术规范(Versio 2.0)。
CAN总线协议原理特点
CAN总线协议原理特点CAN(Controller Area Network)总线协议是一种串传式通信协议,其主要应用于汽车电子系统的通信与数据传输。
相较于其他常见的通信方式,CAN总线的特点在于其高可靠性、高实时性和高带宽。
本文将深入探讨CAN总线协议的原理和特点。
一、CAN总线协议原理CAN总线协议是一种基于串传方式的网络通信协议,旨在提供一种快速、可靠且实时的通信解决方案。
它采用两线制,即CAN_H(CAN High)和CAN_L(CAN Low)线,通过差分信号传输数据。
CAN总线采用先进的调制调制解调技术,将数据转换成差分电压信号进行传输,以提高抗干扰能力。
CAN总线的通信基于主从结构。
每个节点都可以作为主节点或者从节点进行通信。
主节点通常负责控制总线上的数据通信流程,并负责初始化和同步所有从节点。
而从节点将随时准备接收数据并处理。
主节点通过给定的优先级来安排总线上的数据传输,确保高优先级的数据能够及时传输。
CAN总线协议具有以下关键特性:1. 速度灵活:CAN总线协议支持灵活的通信速率,通常可以在1kb/s至1Mb/s的范围内进行调整。
这使得CAN总线适用于不同速率要求的应用,从低速传感器数据采集到高速实时控制。
2. 高实时性:CAN总线协议针对实时应用设计,可以满足对通信延迟非常敏感的应用需求。
其通信机制包括时间触发机制和事件触发机制,在保证数据的及时传输的同时确保了高实时性。
3. 可靠性:CAN总线协议采用了多种错误检测和纠正机制,以保证数据的可靠性。
通过使用循环冗余校验(CRC)对数据进行校验,并通过重传机制来处理丢失或者冲突的数据帧,使得CAN总线在面对噪声和干扰时能够保持良好的信号完整性。
4. 高带宽:CAN总线协议的带宽适中,能够满足大多数应用的需求。
每个CAN总线可以支持多个节点,每个节点可以发送和接收不同类型的数据帧,实现多通道的数据传输。
5. 灵活性:CAN总线协议提供灵活的网络拓扑结构,可以实现星型、环形、总线和混合结构等不同拓扑形式。
CAN总线介绍
CAN总线介绍CAN总线,即控制器区域网络(Controller Area Network),是一种国际标准的串行通信协议,用于在汽车和工业领域中进行高速数据传输。
CAN总线的设计目标是提供一个可靠、高效、实时的通信方式,以满足复杂系统的需求。
下面将详细介绍CAN总线的特点、结构、工作原理以及应用领域。
一、CAN总线的特点:1.高可靠性:CAN总线采用差分信号传输,具有较强的抗干扰能力,能够在恶劣的工作环境下保持稳定的通信质量。
2.高效性:CAN总线采用了固定格式的数据帧和强大的错误检测与修复机制,使得数据传输更加高效可靠。
3.实时性:CAN总线支持实时性要求较高的应用,可以实现微秒级的数据传输延迟。
4.灵活性:CAN总线可以连接多个节点,节点之间可以通过CAN总线进行双向通信,同时支持错误检测与错误恢复。
5.易于应用:CAN总线采用了开放式的标准协议,有着广泛的支持和应用经验,易于集成和开发。
二、CAN总线的结构:1. 主控器(Master):负责总线管理,包括数据的发送和接收、帧结构的解析、错误处理等。
2. 从控器(Slave):负责接收主控器发送的数据帧,并根据需要进行相应的处理和响应。
3.总线线缆:用于在各个节点之间传输数据和控制信息的物理介质。
4. 高速传输率:CAN总线通常有两种速率可选,分别是高速CAN(1Mbps)和低速CAN(125kbps)。
三、CAN总线的工作原理:1.数据帧格式:CAN总线的数据帧包括了4个主要部分:起始符、控制字段、数据字段和结束符。
其中,控制字段包括了帧类型、帧长度、帧优先级、帧标识符等信息。
2.帧结构与地址:CAN总线通过帧标识符来区分不同的数据帧,并根据优先级进行数据传输,同时可以通过标识符来实现多个不同类型的数据帧。
3.错误检测与修复:CAN总线采用循环冗余校验(CRC)方法进行错误检测和修复,可以检测到传输过程中的位错误、帧错误等,并进行相应的错误恢复措施。
CAN总线协议原理特点
CAN总线协议原理特点CAN总线协议是一种用于数据通信的高效、可靠的网络协议。
它最初是为了汽车电子设备之间的通信而设计的,但现在已经广泛应用于工业自动化、机械控制、仪器仪表等领域。
本文将对CAN总线协议的原理和特点进行详细介绍。
一、CAN总线协议原理:1.总线结构:CAN总线采用了主从结构,主节点控制网络中的通信过程,从节点负责执行主节点的命令。
主节点负责管理总线资源,包括数据发送和接收、仲裁和错误处理等。
2.数据帧格式:CAN总线协议使用了一种特殊的数据帧格式,即CAN数据帧。
它包括起始位、帧ID、数据段、CRC校验和终止位等字段。
起始位用于帧的同步,帧ID用于区分不同的报文类型,数据段用于携带数据,CRC校验用于检测传输错误。
3.仲裁机制:CAN总线采用了仲裁机制来解决多个节点同时发送消息时的冲突问题。
当节点准备发送消息时,首先会监听总线上的信号。
如果没有其他节点同时发送消息,则该节点可以开始发送;如果检测到总线上有其他节点同时发送消息,则会根据帧ID的优先级进行冲突检测,优先级高的节点可以继续发送,优先级低的节点则回退。
4.错误处理:CAN总线协议具有高度可靠性,当发生错误时,能够及时检测和处理。
协议定义了多种错误类型,包括位错误、格式错误、仲裁错误等。
节点在发送和接收数据时会进行错误检测,如果发现错误,则会中断当前传输,并进行错误处理。
5.线性总线:CAN总线是一种线性总线结构,即所有的节点都连接在同一根物理线上。
这样可以简化系统的布线和维护,并提高了数据传输的效率和可靠性。
二、CAN总线协议特点:1.高效性:CAN总线协议使用了时间触发机制和仲裁机制,能够快速响应事件并及时传输数据。
它具有低延迟、高带宽和高网络利用率的特点,适用于高速传输和实时性较强的应用。
2.可靠性:CAN总线协议具有高度可靠性,能够自动检测和纠正错误,并具有冗余容错机制。
它能够检测位错误、格式错误和仲裁错误等,并通过无冗余位的CRC校验码来保证数据传输的准确性。
j1939协议
j1939协议
J1939协议是一种面向车辆电子控制系统的通信协议。
它是由美国卡车制造商和发动机制造商联合制定,主要用于汽车、卡车和工程机械等领域中各种电子设备之间的通讯。
J1939协议采用了CAN总线通讯方式,并且在CAN 数据
帧中设置有特定的标识符和数据格式,以保证各个设备之间的通讯与协同。
J1939协议可应用于各种车辆控制系统中的所有
功能,例如:发动机控制、变速器控制、制动系统、显示器、灯光控制等。
通过J1939协议,一个设备可以与其他设备进行双向通信。
J1939协议定义了许多参数集(PGN)和服务集(SPN)。
PGN包含协议中的所有信息,是通信的最小单位,用于定义消
息的内容和分区。
例如,PGN65265(0x00FEE1)是汽车接近传感器信息的标准信息,包含了车辆的距离、速度和车道信息。
而SPN则是一个16位的数字,用于表示参数的识别号。
它指
定了每个参数的编码方式、数据格式和范围等信息。
例如,SPN100(0x0064)表示刹车踏板信号的实际值。
J1939协议在实际应用中具有广泛的应用,例如车辆故障诊断、车辆远程监控、车辆自动驾驶等。
通过使用J1939协议,车辆控制系统中的各个设备可以高效地协同工作,有效地提高了汽车的安全性和可靠性。
同时,也为汽车制造商提供了更多的数据和故障诊断信息,促进了汽车制造和维修的进一步发展。
汽车CAN总线核心技术J1939
当前位置:首页> 信息分类> 技术文章> 汽车电器技术> 正文现代汽车的核心技术-SAE J1939hc360慧聪网汽车配件行业频道2004-06-15 15:39:18一、技术背景在当今的中高档汽车中都采用了汽车总线技术。
汽车总线为汽车内部各种复杂的电子设备、控制器、测量仪器等提供了统一数据交换渠道。
一些汽车专家认为,就像在20世纪70年代引入集成电路、80年代引入微处理器一样,近10年来数据总线技术的引入也将是汽车电子技术发展的一个里程碑。
20世纪90年代以来,汽车上由电子控制单元(ECU)控制的部件数量越来越多,例如电子燃油喷射装置、防抱死制动装置、安全气囊装置、电控门窗装置、主动悬架等等。
随着集成电路和单片机在汽车上的广泛应用,车上的ECU数量越来越多。
因此,一种新的概念--车上控制器局域网络CAN(Controller Area Network)的概念也就应运而生了。
CAN最早是由德国BOSCH 公司为解决现代汽车中的控制与测试仪器之间的数据交换而开发的一种数据通信协议,按照ISO 有关标准,CAN的拓扑结构为总线式,因此也称为CAN总线。
CAN协议中每一帧的数据量都不超过8个字节,以短帧多发的方式实现数据的高实时性;CAN总线的纠错能力非常强,从而提高数据的准确性;同时CAN总线的速率可达到1M bit/s,是一个真正的高速网络。
总之,将CAN总线应用在汽车中使用有很多优点:(1)用低成本的双绞线电缆代替了车身内昂贵的导线,并大幅度减少了用线数量;提高可靠性,安全性、降低成本。
(2)具有快速响应时间和高可靠性,并适合对实时性要求较高的应用如刹车装置和气囊;控制平台、信息平台、驾驶平台的互连基础。
(3)CAN芯片可以抗高温和高噪声,并且具有较低的价格,开放的工业标准。
在现代轿车的设计中,CAN已经成为必须采用的装置,奔驰、宝马、大众、沃尔沃、雷诺等汽车都采用了CAN作为控制器联网的手段。
CAN卡与使用J1939应用层协议设备间的通信
CAN卡与使用J1939应用层协议设备间的通信CAN总线协议:对CAN协议的媒体访问控制子层的一些概念和特征做如下说明: (1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。
当总线空闲时,任何一个网络上的节点都可以发送报文。
(2)信息路由(Information Routing) 在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。
因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。
(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。
信息以广播方式在网络上发送,所有节点都可以接收到。
节点通过标识符判定是否接收这帧信息。
(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。
标识符越小,优先权越高。
(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。
回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。
如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。
通过使用标识符的逐位仲裁可以解决这个碰撞。
仲裁的机制确保了报文和时间均不损失。
当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。
在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。
如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
汽车电子中的J1939协议研究与模拟通信解析
摘要SAE J1939协议是美国汽车工程协会SAE(Societv of Automotive Engineer)发布的以CAN2.0B作为网络核心协议的车辆网络串行通信和控制协议,是目前在大型车辆中使用的最为广泛的一种通信协议[1]。
CAN(Controller Area Network)总线是现在最有前景的现场总线技术之一,学会如何从CAN总线上获取、保存和分析报文非常重要。
本文通过研究分析SAE J1939协议,使用了C#程序设计语言设计一个可以解析J1939协议的模拟汽车仪表系统,该系统由数据采集、解析以及显示等模块组成,把单片机作为主控制器,USBCAN作为单片机和PC之间的连接,实现对总线上数据的采集和分析,将其结果传输到上位机上显示,最后显示出发动机数据,在VS软件平台上使用C#语言编写本课题的程序。
在本篇文章中,首先,分析课题汽车电子中J1939协议的研究和模拟通信解析的研究背景及意义,将国内外J1939协议的发展现状进行对比分析,然后对CAN总线进行一些介绍,再之后对本课题的重点J1939协议进行重点阐述;之后,再对汽车数据采集系统的原理进行阐述,给出系统软件设计的过程和各模块程序设计,最后对系统进行软硬件调试。
关键词:SAE J1939协议,CAN总线,发动机数据采集ABSTRACTThe SAE J1939 protocol is a vehicle network serial communication and control protocol issued by SAE (Societv of Automotive Engineer) with CAN2.0B as the core protocol of the network. It is the most widely used communication protocol in large vehicles. [1]. The CAN (Controller Area Network) bus is one of the most promising fieldbus technologies available today. It is important to learn how to retrieve, save, and analyze messages from the CAN bus.This paper analyzes the SAE J1939 protocol and uses the C# programming language to design a simulated automotive instrumentation system that can parse the J1939 protocol. The system consists of data acquisition, analysis and display modules. The microcontroller is used as the main controller, and USBCAN is used as the microcontroller. The connection between the PCs realizes the collection and analysis of the data on the bus, transmits the results to the upper computer for display, and finally displays the engine data. The program of the subject is written in the C# language on the VS software platform. In this article, firstly, the research background and significance of J1939 protocol and analog communication analysis in automotive electronics are analyzed. The development status of J1939 protocolat home and abroad is compared and analyzed, and then some introductions are made to CAN bus. The focus of the project is focused on the J1939 protocol. After that, the principle of the car data acquisition system is explained. The process of system software design and the program design of each module are given. Finally, the software and hardware are debugged.Key words:SAE J1939 protocol, CAN bus, engine data acquisition目录摘要 (1)ABSTRACT (1)1引言 (3)1.1研究背景 (3)1.2 研究意义 (4)1.3 国内外现状 (4)1.4研究内容与方法 (5)1.4.1 研究内容 (5)1.4.2 研究方法 (6)2 SAE J1939协议 (6)2.1 CAN总线 (6)2.1.1 CAN总线概述 (6)2.1.2 CAN总线标准 (7)2.1.3 CAN总线帧格式 (7)2.2 SAE J1939协议 (8)2.2.1协议概述 (8)2.2.2 协议各层介绍 (8)2.2.3 J1939参数传递 (11)2.2.4 J1939与CAN2.0关系 (11)2.3 硬件支持 (12)2.3.1 单片机 (12)2.3.2 USBCAN调试器 (13)2.4 车辆参数解析 (13)2.4.1 J1939协议的参数计算 (13)2.4 本章小结 (14)3.模拟汽车仪表系统的方案设计 (14)3.1 需求分析 (14)3.2 系统设计方案 (15)4.系统软件设计 (16)4.1编程语言和编程工具 (16)4.1.1编程语言 (16)4.1.2编程环境和工具 (17)4.2软件程序设计 (17)4.3 本章小结 (21)5.系统调试 (21)5.1 系统软件调试 (21)5.2 系统硬件调试 (22)6 结论和展望 (23)6.1 结论 (23)6.2 展望 (24)参考文献 (24)1引言1.1研究背景如今随着电子行业的发展,汽车行业的电子化程度也逐步升高,汽车上使用的电子控制单元的数量随之增多复杂性也逐步提高,车辆结构越复杂要实现车辆的自动化就越困难,要实现电控单元之间的网络化和形成智能交通系统,这其中车辆通信协议占据了重要位置。
CAN总线的特点及J1939协议通信原理
CAN总线的特点及J1939协议通信原理1. 高速传输:CAN总线的标准通信速率可达到1 Mbps的速度,满足高速数据传输的需求。
2.高可靠性:CAN总线采用差分驱动和抗干扰设计,能够抵抗电磁干扰和噪音等外界因素的干扰,保证数据传输的可靠性。
3.多主机通信:CAN总线采用分布式控制模式,多个节点可以同时发送和接收数据,实现了多主机之间的并行通信。
4.灵活性:CAN总线支持节点的动态扩展和删除,系统维护方便灵活,能够适应不同的应用场景。
5.低成本:CAN总线采用双线制结构,线缆连接简单,成本较低。
J1939协议通信原理:J1939协议是一种用于商用车辆的CAN总线通信协议,具有以下特点:1.数据帧结构:J1939协议使用帧结构进行数据传输,分为数据链路层和应用层。
数据链路层负责数据的传输和错误检测,应用层负责数据的格式解析和处理。
2.参数标识:J1939协议采用参数标识符(PGN)来唯一标识数据,每个PGN对应一个特定的数据类型和数据格式。
3.多节点通信:J1939协议支持多节点之间的并行通信,节点之间可以同时发送和接收数据。
4.数据传输方式:J1939协议支持点对点传输和广播传输两种方式。
点对点传输是指数据只发送给特定的节点,广播传输是指数据发送给所有节点。
5.优先级规则:J1939协议定义了数据帧的优先级规则,不同的PGN 根据其重要性和紧急程度进行优先级排序。
高优先级的数据帧可以中断低优先级的数据帧的传输。
6.故障容错:J1939协议采用冗余机制和错误检测技术,能够提高系统的可靠性和容错性。
如果一个节点发生故障,其他节点可以继续正常工作。
J1939协议通信原理可以简略概括为以下几个步骤:1.初始化:每个节点在启动时需要进行初始化,进行总线访问、参数配置等操作。
2.数据传输:节点之间通过总线发送和接收数据帧,数据帧可以是点对点传输或广播传输。
3.优先级处理:接收到的数据帧按照优先级进行处理,高优先级的数据帧可以中断低优先级的数据帧的传输。
CAN总线的特点及J1939协议通信原理内容和应用
CAN总线的特点及J1939协议通信原理内容和应用1.高度可靠性:CAN总线采用了差分信号线的设计,可以有效抵抗电磁干扰和噪声,保证通信的稳定性和可靠性。
2.实时性强:CAN总线的通信速率高,能够快速传输数据,实现实时性要求高的应用。
3.多主机通信:CAN总线采用了仲裁机制,可以实现多个节点的同时通信,提高总线的利用率。
4.线路简单:CAN总线仅需要两根差分信号线和一个地线即可完成通信,布线简洁,成本低。
5.安全性高:CAN总线具有错误检测和纠正能力,可以及时检测通信中的错误,并进行相应的纠正。
6.扩展性强:CAN总线支持节点的动态加入和退出,使得系统的扩展性更强。
J1939协议通信原理:J1939是一种基于CAN总线的工业通信协议,主要应用于商用车辆和重型机械设备。
它采用了点到点通信的方式,通过发送和接收不同类型的消息来实现数据的传输。
J1939协议的通信原理如下:1.消息格式:J1939协议中的消息由一个29位的ID、8字节的数据和一个优先级组成。
ID用于标识消息的类型,数据用于传输实际的信息,优先级用于确定消息的重要性和处理顺序。
2.帧格式:J1939协议中的消息被分为4个不同的帧类型,分别是数据链路层帧、网络层帧、传输层帧和应用层帧。
每个帧类型都有不同的格式和功能,用于完成数据的传输和处理。
3. 仲裁机制:J1939协议采用了CSMA/CD(Carrier Sense Multiple Access with Collision Detection)仲裁机制,通过监听总线上的数据来判断是否有其他节点正在发送消息,以避免冲突。
4.时钟同步:J1939协议要求所有节点使用相同的时间基准,通过同步时钟来确保节点之间的通信顺序和时间同步。
5.网络管理:J1939协议中的每个节点都有一个唯一的节点地址,通过网络管理机制来管理节点的加入和退出,以及节点之间的关系和通信规则。
J1939协议通信内容:J1939协议定义了多种不同类型的数据消息,包括数据传输消息、诊断消息、控制消息等。
CAN总线协议原理特点
CAN总线协议原理特点1.帧格式:CAN总线协议使用了一种基于帧的通信方式。
每个CAN消息由一个起始位、标识符、控制位、数据位和CRC校验位组成。
起始位标识了CAN消息的开始,标识符用于标识消息的优先级和类型,控制位用于传输控制信息,数据位用于传输有效负载数据,CRC校验位用于数据的完整性检验。
2.非冲突传输:CAN总线协议采用非冲突传输方式,可以同时传输多个消息,不需要中央调度。
这使得CAN总线可以高效地传输大量数据,并且具有较低的延迟。
3.线性总线结构:CAN总线采用线性总线结构,所有节点共享同一根总线。
节点通过总线上的电压差来识别信息。
节点可以通过电阻切换器来连接或离开总线,以实现节点的动态加入和退出。
4.差分信号传输:CAN总线使用差分信号传输,即同时传输两个互补的信号。
这种传输方式可以降低外部噪音对信号的影响,并提高传输的稳定性和可靠性。
5.位转义:CAN总线采用位转义技术来解决悬空位和错误位的问题。
当数据中出现特定的标志位时,发送器会在其后插入一个反转位,接收器再将其反转回来,以保持数据的同步性。
6.级联拓扑结构:CAN总线支持多个节点的级联拓扑结构,可以通过对节点进行特定的连接配置来实现数据的传输和处理。
1.实时性:CAN总线协议具有很高的实时性能,可以在毫秒级的时间内完成数据传输,适用于需要实时响应的应用场景。
2.高可靠性:CAN总线协议具有较高的抗干扰能力和错误检测能力。
通过差分信号传输和位转义技术,可以有效地抵抗外部噪音和通信错误。
3.灵活性:CAN总线协议支持多节点并行通信,节点可以根据自身需求发送和接收数据。
同时,CAN总线协议还支持节点的动态加入和退出,方便系统的扩展和维护。
4.低成本:CAN总线协议使用常见的硬件接口,不需要额外的专用硬件,降低了系统的成本。
5. 高带宽:CAN总线协议支持较高的数据传输速率,可以达到1Mbps。
这使得CAN总线协议适用于需要大量数据传输的应用场景,如汽车系统和工业控制系统。
CAN总线J1939协议
可靠的错误处理和检错机制;
发送的信息遭到破坏后,可自动重发;
节点在错误严重的情况下具有自动退出总线的功能;
报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
CAN总线特点J1939通信协议原理
J1939是一个高速通讯网络,它支持ECUs间的实时闭路控制功能,这些ECUs在汽车上可能是物理分布的。J1939能执行所有的J1708/J1587功能,除此之外还有控制系统支持。
J1939使用CAN协议,当总线空转的时候,该协议允许任何ECU传送网络上的信息。每个信息包括一个标识符,该标识符确定信息优先权,谁先发送它,以及它包含什么数据。对于每个ECU单元,访问网络的机会是相同的,但在多个ECU同事要求传输信息时,有最高优先权的信息优先。
J1939提供了完全的网络定义,该定义使用在CAN协议中定义的29位标识符(CAN扩展帧)。CAN协议格式由28位到0位传输,而J1939协议格式的标识符由1位到32位传输,共32位。
ቤተ መጻሕፍቲ ባይዱ
CAN特性
低成本;
极高的总线利用率;
很远的数据传输距离(长达10km)
高速的数据传输速率(高达1Mbit/s)
康明斯发动机J1939(CAN)总线解析
A bs t r act :Thi s ar t i cl e gr a b Cu mmi n s CM 21 50 J1 9 39 eng i n e d a t a.a d et ai l ed an al y si s of wh er e y ou wan t t o c on t r o l a nd m on i t or da t a an d r ef er e nc e d at a f o r J1 9 39 eng i n e i n t he
儿9 3 9 附录( 对理解协议有 非常大的
5 0 I 《 P L C &F A 》
《 P L C & F A 》 2 。 1 4 年 8 月 I
3 J 1 9 3 9 协议数
协 议数 据单 元 由7 部分 组成 如 图1 所示 ,分 别是 优先 级
康 明斯发动机J 1 9 3 9 I C A N) 总线解析
De t a i l e d Cu mmi n s En g i n e J 1 9 3 9
西安 达刚路 面机 械股 份有 限公 司
霍兴 旺 岑 娜
张飞 飞
Hu o Xi n gwa ng Cen Na Zh an g Fei f ei
摘
要 :本文 解析 了康 明斯 CM2 1 5 0 发动 机的 J 1 9 3 9 电 控系 统数 据 ,详 细 分析 了其 中要控 # j J i  ̄ 监 测
的数 据 ,并参 照发动 机数 据2 1 ' J 1 9 3 9 中 的 内容 进行 了详 细的 说明和 解释 。
控 制 发 动 机 参 数 。本 文 解 析 东 风 康 明斯 C M2 1 5 0 电喷 发 动 机 ,同时 分析 了J 1 9 3 9
can总线特点及原理介绍
can总线特点及原理介绍CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。
在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。
由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。
为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。
此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN总线特点1、可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
2、网络上的节点可分成不同的优先级,可以满足不同的实时要求。
3、采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。
4、可以点对点,一点对多点及全局广播几种传送方式接收数据。
5、直接通信距离最远可达10km(速率4Kbps以下、6、通信速率最高可达1MB/s(此时距离最长40m、使用非屏蔽双绞线传输时,传输速率与传输距离的关系如下图所示。
7、节点数最多可达110个。
8、采用短帧结构,每一帧的有效字节数为8个。
9、每帧信息都有CRC校验及其他检错措施,数据错误率极低。
10、通信介质可采用双绞线,同轴电缆和光纤,一般采用廉价的双绞线即可。
11、节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN总线的特点及J1939协议通信原理、内
容和应用
众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。
迄今已有多种网络标准,如专门用于货车和客车上的SAE的
J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。
在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。
但货车和客车在这方面却远未能满足排放法规的要求。
计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。
因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。
采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。
1 CAN总线特点及其发展
控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。
CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。
CAN的应用范围遍及从高速网络到低成本底多线路网络。
在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。
同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。
它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。
CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。
网络上的节点可分为不通优先级,满足不同的实时要求。
采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。
具有点对点、一点对多点及全局广播接收传送数据的功能。
随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。
1991年9月Philips Semiconductors制定并发布了CAN技术规范(Versio 2.0)。
该技术包括A和B两部分。
2.OA给出了CAN报文标准格式,而2.OB给出了标准的和扩展的两种格式。
1993年11月ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网(CAN)国际标准ISO11898,为控制局域网的标准化和规范化铺平了道路。
美国的汽车工程学会SAE于2000年提出的J1939,成为货车和客车中控制器局域网的通用标准。
2.J1939协议通信原理及内容
(1)J1939与CAN
J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。
主要运用于载货车和客车上。
它是以CAN2.0为网络核心。
表1介绍了CAN2.0的标准和扩展格式,及J1939协议所定义的格式。
表2则给出了J1939年的一个协议报文单元的具体格式。
可以看出,J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。
而报文单元还包括64位的数据场。
表1 CAN2.0的标准和扩展格式及J1939协议所定义的格式
表2 J1939协议报文单元的具体格式
(2)数据传转协议
J1939通信中的核心是负责数据传输的传输协议。
它的功能分为两部分:
(1)数据的拆分打包和重组。
一个J1939的报文单元只有8个字节的数据场。
因此如果所要发送的数据超过了8字节,就应该分成几个小的数据包分批发送。
数据场的第一个字节从1开始作为报文的序号,后7个字节用来存放数据。
所以可以发送255×7=1785个字节的数据。
报文被接收以后按序号重新组合成原来的数据。
(2)连接管理。
主要对节点之间连接的建立和关闭,数据的传送进行管理。
其中定义了5种帧结构:发送请求帧、发送清除帧、结束应答帧、连接失败帧以及用来全局接收的广播帧。
节点之间的连接通过一个节点向目的地址发送一个发送请求帧而建立。
在接收发送请求帧以后,节点如果有足够的空间来接收
数据并且数据有效,则发送一个发送清除帧,开始数据的传送。
如果存储空间不够或者数据无效等原因,节点需要拒绝连接,则发送连接失败帧,连接关闭。
如果数据接收全部完成。
则节点发送一个结束应答帧,连接关闭。
(3)J1939的参数格式
J1939中还定义了参数的具体格式,如标识符、优先级、数据长度、参数的范围等。
参数又划分为状态参数和测量参数。
状态参数表示具有多态信号的某一种状态,如发动机刹车使能/禁能、巡航控制激活/关闭,扭矩/速度控制超载模式、错误代码等。
而测量参数则表示所接收到的信号的值的具体大小,如缸内爆发压力、最大巡航速度、发动机转速等。
3.J1939协议的应用
(1)J1939应用于网络构建
J1939网络层中定义了如何构建网络及连接的功能。
网络层的功能包括数据的过滤、重新打包和转发。
分别由以下各部分实现。
a.中继器。
可以增强数据信号,使数据传输更远的距离。
b.网桥。
数据的转发和过滤。
它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。
c.路由。
可以使网络段具有独立的地址空间不同的数据传输率和媒介。
d.网关。
可以在不同的协议和数据设置的网段之间传送数据。
图1为典型的汽车网络连接。
(2)J1939应用于故障诊断
J1939包括在线故障诊断功能,由诊断应用层定义。
诊断应用层面向以下几方面。
a.安全。
在数据链路层上定义一个安全的框架,使得符合工业标准的开发工具执行必要的诊断任务。
包括获取诊断信息,获取节点配置信息,标定控制模式。
但对非开放型的数据加密。
b.连接。
建立J1939网络节点与开发工具之间的连接。
连接器的设计也必须符合J1939协议。
c.诊断状态数据支持。
提供一系列的数据格式。
包括读取出错数据、清除错误数据、监测通信参数、获取节点的配置以及其他的一些信息。
d.诊断测试支持。
可以使开发工具把各种控制节点放到具体的测试模式中以正确设计子网体系。
诊断工具通过连接器与其他节点进行通信以获取诊断数据。
因此所有的控制节点都应该具备以下功能:读取诊断故障代码、清除诊断故障代码、获取实时信息。
而诊断故障代码记载了出错的参数及所在的节点等主要信息。
驾驶室监视仪
网桥
传动系统
发动机系统
制动系统
制动器
路由
拖车机构
网桥
到下一拖车系统
250 K
拖车子网
轴/悬挂系统
制动
照明
牵引动力总线
图1典型汽车网络连接
4.节点设计及数据通信
最小化节点的主控制芯片采用51系列的单片机,控制器采用PHILIPS 公司的SJA1000,控制器接口采用82c250。
为了构建CAN总线局域网络,采用了研华公司生产的双端口CAAN控制卡PCL-841,每块PCL-841卡集成了两块PHILIPS的SJA1000控制器和82c250控制器接口。
这样两块控制卡就有四个端□,相当于四个独立的节点,用数据线连接起来,就组成了基本的CAN局域网。
如图2所示。
节点1
节点2
节点3
节点4
PC机
CAN总线
图2 CAN局域网
软件的编写主要包括对寄存器的配置、硬件初始化、中断调用、数据通信几大模块。
中断调用中包括数据中的中断接收、中断发送,以及错误处理、报警等模块。
通信模块又分为数据的发送、接收、请求等。
综上所述,J1939通信协议解决了如下问题。
(I)优先权问题。
如自动换挡要求减油门,巡航控制同时要求增油,而ASR则要求减油门以维持驱动轴的低扭矩。
根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。
(2)灵活性问题。
因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在一起的能力。
(3)可扩展性。
即需要增加新的子系统时,不需要对基本系统作修改。
(4)独立性。
每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。
(5)为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。
(6)车辆状态共享。
如发动机转速、车速、轮速等数据必须各子系统共享,数据的传输及刷新时间取决于各个子系统的特性,并由此决定优先权。