300 likes | 656 Views
CAN-bus 应用层通讯协议介绍. Version 1.10 2006 年 5 月. 应用层协议介绍. 现场总线 CAN - bus 什么是应用层协议 应用层协议基础 应用层协议介绍 常用的应用层协议 参考文献. 现场总线 CAN-bus. 现场总线的概念 开放式、数字化、多点通信的底层控制网络技术 应用在生产现场,微机测量控制设备之间串行数字通信总线 国际电工委员会 IEC61158 标准定义: 现场总线是指安装在制造和过程区域的现场装置与控制室内的自动控制装置之间数字式、串行、多点通信的数据总线 CAN-bus 为目前应用最为广泛的现场总线之一.
E N D
CAN-bus应用层通讯协议介绍 Version 1.10 2006年5月
应用层协议介绍 • 现场总线CAN-bus • 什么是应用层协议 • 应用层协议基础 • 应用层协议介绍 • 常用的应用层协议 • 参考文献
现场总线CAN-bus • 现场总线的概念 • 开放式、数字化、多点通信的底层控制网络技术 • 应用在生产现场,微机测量控制设备之间串行数字通信总线 • 国际电工委员会IEC61158标准定义: • 现场总线是指安装在制造和过程区域的现场装置与控制室内的自动控制装置之间数字式、串行、多点通信的数据总线 • CAN-bus为目前应用最为广泛的现场总线之一
OSI 应用层 数据链路层 物理层 为什么需要制定应用层协议 • 现场总线的OSI结构 • OSI结构体系为7层 • 现场总线的特点: • 网络功能并不复杂 • 网络节点多为:传感器、控制器、执行器等 • 网络数据量并不大 • 要求较高实时性和可靠性 • 现场总线网络通讯模型作了简化 • 通常包括物理层、数据链路层以及应用层
为什么需要制定应用层协议 • CAN – bus OSI 结构
为什么需要制定应用层协议 • 现场总线对于通讯协议的要求: • 通讯介质的多样性:支持多种通讯介质,满足不同的现场环境的要求 • 实时性:信息不允许有较大的时延或者时延的不确定 • 可靠性:具备抗各种干扰的能力以及完善的检测、纠错功能 • 数字特征:数据以0或者1的数字信息在各设备以及网络上串行的进行传输 • 可互操作性:不同制造商制造的现场仪表可以在同一总线上互相通信和操作
为什么需要制定应用层协议 • CAN总线的底层协议规范: CAN2.0A/B协议 • CAN总线采用短帧报文,抗干扰能力强,可靠性高 • 定义物理层和数据链路层 • 没有规定应用层,本身并不完整 • OSI的七层中应用层最复杂,与用户需要密切相关:应用层具体定义所要传送的信息
为什么需要制定应用层协议 • 在CAN应用网络中,附加功能需要通过应用层协议实现: • 流程控制; • 网络启动; • 发送长于8 字节的数据块、响应块,或确定数据传送; • 为不同的物理节点分配报文标识符; • 定义帧报文的数据内容与含义; • 节点监控,节点故障的诊断和标识。
应用层协议基础 • 主从式 / 多主型 • 广播 / 点对点 • ACK / NoACK • CAN2.0 A/B帧格式 • CAN2.0A 帧:11位ID + 最多8bytes数据 • CAN2.0B 帧:29位ID + 最多8bytes数据
常用的应用层协议 • DeviceNet • CAL • CANOpen • CAN Kingdom • SAE J1939 • OSEK/VDX • SDS
标准协议的特点 • 一个开放的、标准化的CAN-bus高层协议; • 制定属于特定行业的CAN-bus应用方案; • 支持不同厂商设备的互用性、可交换性; • 完善地定义标准设备模型; • 开放扩充自定义设备的接口; • 对总线仲裁、数据交换、错误处理有明确的限定
标准协议的优势 • 为分布式自动化控制系统的设计实现,提供一个经过实际检验过的系统结构。 • 可以缩短产品开发时间,降低产品的开发成本和开发风险。 • 能够支持不同生产厂家设备的互用性和可交换性。 • 目前市场上有大量的支持基于标准高层协议开发的工具。
常用的高层协议 • 一些常用的 CAN-bus 高层协议: • DeviceNet 协议 制定组织:ODVA • CAL 协议 制定组织:CiA • CANopen 协议 制定组织:CiA • CANKingdom 协议 制定组织:Kvaser • J1939协议 制定组织:SAE • SDS 协议 制定组织:Honeywell • DeviceNet协议和CANopen协议是真正占领市场的高层协议。 • 2002年6月,广州周立功单片机发展有限公司成为中国的第一家CiA团体会员。 • 2002 年8 月,广州周立功单片机发展有限公司加入ODVA 协会。
DeviceNet 协议简介 • DeviceNet 协议特别为工业自动控制而定制; • DeviceNet TM是一个非常成熟的开放式网络,它根据抽象对象模型来定义; • DeviceNet 允许多个复杂设备互连接,也允许简单设备的互换性; • 基于CAN 技术的DeviceNet 提供了相当重要的设备级诊断功能。 • 请参考周立功公司的《DeviceNet 开发教程》。
DeviceNet 技术特点 • 网络大小: 最多64个节点; • 网络模型: 生产者/消费者模型; • 网络长度 :可选的端对端网络距离随网络传输速度变化; • 波特率:125kbps ,距离 :500m(1640ft) • 波特率:250kbps ,距离 :250m(820ft) • 波特率:500kbps ,距离 :100m(328ft) • 数据包:0~8 字节; • 总线拓扑结构:线性干线/支线,电源和信号在同一网络电缆中; • 总线寻址:带多点传送(一对多)的点对点;多主站和主/从轮询或状态改变(基于事件); • 系统特性: 支持设备的热插拔,无需网络断电。
DeviceNet 技术支持 • 协议 • DeviceNet Specifications Release 2.0 1997 Vol. I Communication Model and Protocol Vol. II Device Profiles and Object Library • 网站 • www.odva.org/www.odvachina.org • www.zlgmcu.com • 应用 • 工业控制 • 电力通讯
CAL 协议 • CAL(CAN Application Layer)协议 • 发布于1993 年,是CiA 首批的效力条款之一 • CAL 为基于CAN 的分布式系统的实现,提供了一个不依赖于应用面向对象的环境 • 为通讯标识符分布,网络和层管理提供了对象和服务 • CAL 的主要应用在基于CAN 的分布式系统,系统不要求可配置性以及标准化的设备建模
CAL协议应用 • 在欧洲一些公司在尝试使用CAL ,尽管CAL 在理论上正确并在工业上可以投入应用,但每个用户都必须设计一个新的子协议,因为CAL 是一个真正的应用层。CAL 可以被看作开发一个应用CAN 方案的必要理论步骤,但在这一领域它不会被推广
CANOpen 协议简介 • CANopen 协议这是一个基于CAL 的子协议,用于产品部件的内部网络控制; • CANopen 不仅定义了应用层和通讯子协议,也为可编程系统不同器件接口应用子协议定义了页/帧状态。 • CANopen 协议中设备建模是借助于对象目录而基于设备功能性的描述; • CANopen在汽车电控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面均得到了广泛的应用 。
CANOpen 协议内容 • CANopen Communication Profile for Industrial Systems based on CAL • CiA Draft Standard 301, Version 3.0 • CiA Draft Standard Proposal DSP 302,Version 3.1 Framework for Programmable Devices • CiA Draft Standard Proposal DSP 401, Version 1.4 Device Profile for I/O Modules • CiA Draft Standard Proposal DSP 402, Version 1.0 Device Profiles Drives andMotion Control
CANOpen 技术支持 • 网站 • www.can-cia.de • www.zlgmcu.com • 应用 • 嵌入式应用 • 自动化机械 • 越野车辆 • 工业控制 • 医疗器械 • 电梯控制
CAN Kingdom • CAN Kingdom is more then a HLP: A Meta protocol • Introduced by KVASER, Sweden • A ‘King’ (system designer) takes the full responsibility of the system • The King is represented by the Capital (supervising node) • World wide product identification standard EAN/UPC is used for • Applications • Machine control, e.g. industrial robots, weaving machines, mobile hydraulics, power switchgears, wide range of military applications • Advantages • Designed for safety critical applications • Real time performance • Scalability • Integration of DeviceNet & SDS modules in CAN Kingdom possible
SAE J1939 • Features • Developed by Society of Automotive Engineers (SAE) heavy trucks and bus division Use of the 29 identifiers • Support of real-time close loop control • Applications • Light to heavy trucks • Agriculture equipment e.g. tractors, harvester etc… • Engines for public work
SAE J1939 • 基于CAN2.0B 帧格式
OSEK/VDX • Initialized by: • BMW, Bosch, DaimlerChrysler, Opel, Siemens, VW & IIIT of the university of Karlsruhe /PSA and Renault • OSEK/VDX includes: • Communication (data exchange within and betweenControl units) • Network management (configuration determination and monitoring) • Operating system (real-time executive for ECU software) • Motivation: • High, recurring expenses in the development and variant management of non-application related aspects of control unit software • Compatibility of control units made by different manufactures due to different interfaces • Goal: portability and re-usability of the application software • Advantages: clear saving in costs and development time
SDS • SDS(Smart Distributed System) • Created by Honeywell • Close to DeviveNet, CAL & CANopen • CAN-based network , advanced bus system for intelligent sensors and actuators
SDS • Features: • Close to DeviveNet, CAL & CANopen • Over a single 4-wire cable, Smart Distributed System can interface up to 64 nodes with a maximum of 126 addresses. • Smart Distributed System devices have advanced device-level functions, system and device diagnostics. • Best Used For: • The Smart Distributed System can interface with both PC controllers and PLCs. • It is ideally suited for industrial applications replacing older discreetly wired sensors and actuator systems. • Typical Applications: • Packaging/food processing equipment • Automotive plant floor • Material handling • Conveyor Systems
Reference • CAN-bus技术支持网站: http://www.embedcontrol.com • CAN-bus技术讨论园地: http://www.21icbbs.com/club/bbs/bbsView.asp?boardid=43 • CAN-bus服务邮箱: can@zlgmcu.com cantools@zlgmcu.com