提示:CAN应用层常用协议

文章目录

  • 一、CANopen
  • 二、DeviceNet
  • 三、SAE J1939
  • 四、iCAN
  • 总结

一、CANopen

  • CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。
  • CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。
  • CANopen的核心概念是设备对象字典(OD:Object Dictionary),对象字典不是CAL的一部分,而是在CANopen中实现的。
  • CANopen不仅可以用在远距离的通信系统中,还可以用在像咖啡机、电子直线加速器、大型超市自动化、安全系统、注压机等系统中。DeviceNET比较适合应用在传感器设备、微型执行器设备等设备上。
  • CANopen协议在欧洲已经非常流行,但国内应用的还不多,有待进一步研究。

提示:

二、DeviceNet

DeviceNet是20世纪90年代中期发展起来的一种基于CAN技术的开放型、符号全球工业标准的低成本、高性能的通信网络。它通过一根电缆将PLC、传感器、光电开关、操作员终端、电动机、轴乘座、变频器和软启动器等现场智能设备连接起来,是分布式控制系统减少现场I/O接口和布线树立、将控制功能下载到现场设备的理想解决方案。
DeviceNet不仅可以作为设备级的网络,还可以作为控制级的网络,通过DeviceNet提供的服务还可以实现以太网上的实时控制。较之其他的一些现场总线,DeviceNet不仅可以接入更多、更复杂的设备,还可以为上层提供更多的信息和服务。 DeviceNet最初由Rockwell公司设计,目前由ODVA(Open DeviceNet Vendors Association)致力于支持DeviceNet产品和规范的进一步开发。
DeviceNet 的主要特点:

  • 采用基于CAN的多主方式工作
  • 逐位仲裁模式的优先级对等通信建立了用于数据传输的生产者/消费者传输模型
  • DeviceNet的直接通信距离最远为500m,通信速率最高可达500kb/s
  • DeviceNet上可容纳64个节点地址,每个节点支持的I/O数量无限制
  • 采用短帧结构,传输时间短,受干扰的概率低,检错效果好
  • 通信介质为独立双绞总线,信号与电源承载于同一电缆
  • 支持设备的热插拔,无需网络断电
  • DeviceNet的接入设备可选择光隔离设计,由外部供电设备与由总线供电的设备共享总线电缆
    DeviceNet的技术以及应用在国内外已经趋于成熟。

三、SAE J1939

美国汽车工程学会SAE于2000提出的J1939,成为货车和客车中控制器局域网的通用标准。
J1939协议实质是将CAN扩展帧格式中未明确定义的11位ID,18位扩展ID进行了明确定义,紧随ID的是8个字节的数据。

四、iCAN

iCAN协议全称“industry CAN-bus Application Protocol”,即工业CAN-bus应用层协议。iCAN协议沿用了CAN协议标准所规定的总线网络的物理层和数据链路层,对CAN-bus报文中的帧标识符和数据域进行了重定义。iCAN协议位于OSI模型的第7层。

iCAN协议内容
iCAN协议详细的定义了CAN-bus报文中帧标识符以及数据的分配和应用,建立了一个统一的设备模型,定义了设备的I/O资源和访问规则,主要内容如下:

iCAN报文格式定义,规定了iCAN协议规范中使用的CAN帧类型、以及帧ID、报文数据的使用。
报文传输协议,规定了基于iCAN协议的设备之间的通讯方式

设备的定义,设备标识,设备应用单元,设备通讯以及应用参数以及定义标准设备类型,区分网络上设备具有的不同功能或者产品类型

网络管理,规定了设备通讯监控以及错误管理

iCAN协议特点:
iCAN协议在汲取DeviceNet和CANopen协议之精粹基础上,充分继承和发展了基于连接和对象寻址两种核心功能。支持多种传输方式,包括轮询方式、状态触发方式以及定时循环方式,还根据国内实际情况,去掉了诸如复杂的基于对象模式、通信波特率限制等因素,以高效精炼的协议,保证了数据通信的可靠性实时性,有效降低了硬件实现成本。

基于节点地址的设备寻址,iCAN网络中支持多达64个节点
   支持轮询和事件触发通讯方式,保证了数据通信的实时性
   基于资源节点的设备数据寻址方式,简化了主站和从站间数据交换方式
   统一的设备模型,提高了设备的易用性和互换性
   完善的网络管理,有效监控所有通信节点,保证了数据通信的可靠性

iCAN协议中专有名词解释:

源节点:发送报文的节点
   目标节点:接收报文的节点
   主站(主控节点、主控设备、主站):基于iCAN协议网络中的管理设备,负责管理整个网络中的通讯,可以为PC或者嵌入式设备
   从站(受控节点、受控设备、从站):基于iCAN协议网络中的I/O设备单元,主站建立与从站的数据通讯,从从站获取输入数据,并向它分
   配输出数据
   节点:iCAN网络中主站和从站
   资源节点:指设备中特定的应用单元,如I/O端口
   资源子节点:指设备中特定配置单元中的子单元,如配置资源 
   MAC ID:Media Acess Control ID,媒体访问控制标识。iCAN网络中节点的唯一标识


总结

提示:这里对文章进行总结。

CAN应用层常用协议相关推荐

  1. 大白话说网络(四)-----应用层常用协议介绍

    应用层协议简介 一.HTTP HTTPS HTTP是超文本传输协议,全称"Hyper Text Transfer Protocol",是一个基于请求与响应,无状态的,应用层的协议, ...

  2. TCP/IP 应用层常用协议

    一.UDP 1.DNS:域名系统 DNS是因特网使用的命名系统,用来把人们使用的机器名字转换为IP地址. 现在顶级域名TLD分为三大类:国家顶级域名nTLD:通用顶级域名gTLD;基础结构域名 域名服 ...

  3. 网络编程——常用协议解析

    ** 1.网络基础知识 ** 1.1> 什么是OSI模型 OSI 模型(Open System Interconnection model)是一个由国际标准化组织?提出的概念模型,试图?供一个使 ...

  4. WebRTC源码研究(4)web服务器工作原理和常用协议基础

    文章目录 WebRTC源码研究(4)web服务器工作原理和常用协议基础 前言 做WebRTC 开发为啥要懂服务器开发知识 1. Web 服务器简介 2. Web 服务器的类型 3. Web 服务器的工 ...

  5. 应用层——HTTP协议

    文章目录 一.应用层 1.1 应用层概念 1.2 再谈协议 二.网络版本的计算器 网络计算器编码部分 版本1:原生版本 版本2:引入序列化和反序列化 三.HTTP协议 3.1 URL 3.2 urle ...

  6. 【网络】应用层-HTTP协议

    网络-应用层-HTTP协议 文章目录 网络-应用层-HTTP协议 HTTP协议 什么是HTTP协议 URL urlencode和urldecode HTTP基本特征 HTTP协议版本 HTTP报文结构 ...

  7. 应用层常见协议——知识点

    这里总结了三种常见的应用层协议:HTTP.FTP.SMTP.供自己复习使用,也供大家参考! 一.HTTP协议 1.HTTP简介 -超文本传输协议(Hypertext transfer protocol ...

  8. Miracast开发4——-应用层rtsp协议

    Mircacast协议介绍---------应用层rtsp协议 前面说到 Miracast协议框架,以及重点讲了发现的过程,物理层链接链接的过程,IP分配的过程,如果获取对端IP等等.下面我们来讲讲, ...

  9. TCP/IP体系结构常用协议总结

    TCP/IP体系结构常用协议总结 文章目录 TCP/IP体系结构常用协议总结 1.简介 2.协议 2.1应用层协议 2.1.1POP3协议 2.1.2FTP协议 2.1.3HTTP协议 2.1.4Te ...

  10. 【网络系列】应用层HTTP协议格式解析、实现、HTTPS的加密流程

    应用层HTTP协议格式解析.实现.HTTPS的加密流程 什么是HTTP协议 HTTP协议格式 1.首行 2.头部 3.正文 实现HTTP协议服务器 HTTPS如何加密 什么是HTTP协议 应用层负责程 ...

最新文章

  1. Java 工程师必须掌握的 JVM 类加载机制!
  2. 乌兰浩特市大数据平台助力就业脱贫
  3. 百度网页分享js代码
  4. 谁是谢源?广西理科探花、清华电子系学霸、阿里AI芯片带头大哥、新晋ACM Fellow...
  5. Linux环境下如何编译和执行c程序
  6. 如何将已有mdf文件导入到SQL 2000 或者 SQL 2005
  7. Spring Cloud(二) 配置Eureka Client
  8. Netty原理二:NioEventLoop 如何启动监听事件
  9. SpringBoot2.1.5 (4)---SpringBoot 常用注解说明
  10. 实现自己的脚本语言ngscript之三:语法设计
  11. 【必备干货】1000字讲清3大财务数据表
  12. [iOS][Question]performselector may cause a leak because its selector is unknown
  13. mysql php 时间比较大小_MySql中时间比较的实现
  14. editplus更改编码
  15. firefox插件使用
  16. Unity 编辑器扩展 子物体材质替换
  17. python开发一个自动批改本地Word作业的程序
  18. 用Windows自带工具给U盘4k对齐
  19. 华为S系列交换机如何取消端口类型的设置
  20. mapi java_[Security:090504]Certificate chain received from mapi.alipay.com

热门文章

  1. Linux系统编程思维导图:基础指令,常用工具,进程,基础IO,IPC,线程;思维导图因为图片过大所以放了链接,需要的可以下载
  2. Spring Boot整合mybatis报错Invalid bound statement (not found)
  3. Android 即时通讯
  4. 三线表里加小短线_三线表的规范格式
  5. WEB项目中使用QQ表情
  6. java 安卓 物联网_面向物联网的Android应用开发与实践
  7. Windows 10聚焦怎么用?教你玩转Windows聚焦功能
  8. HikariCP连接池
  9. PLC浏览器端机械动画仿真(nodejs、vue)
  10. python判断是否为素数_python判断一个数是否为素数