CAN笔记(4) 协议基本概念

  • 1. 基本参照模型
  • 2. 基本参照模型的定义

1. 基本参照模型

CAN 协议涵盖了 ISO 规定的 OSI 1 基本参照模型中的传输层、数据链路层及物理层

层数 ISO/OSI 基本参照模型 各层定义的主要项目
7 层 应用层 由实际应用程序提供可利用的服务
6 层 表示层 进行数据表现形式的转换,如:文字设定、数据压缩、加密等的控制
5 层 会话层 为建立会话式的通信,控制数据正确地接收和发送
4 层 传输层 控制数据传输的顺序、传送错误的恢复等,保证通信的品质,如:错误修正、再传输控制
3 层 网络层 进行数据传送的路由选择或中继,如:单元间的数据交换、地址管理
2 层 数据链路层 将物理层收到的信号(位序列)组成有意义的数据,提供传输错误控制等数据传输控制流程,如:访问的方法、数据的形式、通信方式、连接控制方式、同步方式、检错方式、应答方式、包(帧)的构成位的调制方式(包括位时序条件)
1 层 物理层 规定了通信时使用的电缆、连接器等的媒体、电气信号规格等,以实现设备间的信号传送,如:信号电平、收发器、电缆、连接器等的形态

1 和 2 层为硬件控制,其余为软件控制


2. 基本参照模型的定义

CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图

层数 定义事项 功能
4层(传输层) 再发送控制 永久再尝试
2层(逻辑链路控制LLC) 接收消息的选择(可接收消息的过滤) 可点到点连接、广播、组播
过载通知 通知接收准备尚未完成
错误恢复功能 再次发送
2层(媒介访问控制MAC) 消息的帧化 有数据帧、遥控帧、错误帧、过载帧4种帧类型
连接控制方式 竞争方式(支持多点传送)
数据冲突时的仲裁 根据仲裁, 优先级高的ID可继续被发送
故障扩散抑制功能 自动判别暂时错误和持续错误,排除故障节点
错误通知 CRC错误、 填充位错误、 位错误、 ACK错误、 格式错误
错误检测 所有单元都可随时检测错误
应答方式 ACK、 NACK两种
通信方式 半双工通信
1层(物理信令子层PLS) 位编码方式 不归零码NRZ方式编码, 6个位的插入填充位
1层(物理介质连接PMD) 位时序 位时序、位的采样数(用户选择)
1层(介质相关接收MDI) 同步方式 根据同步段(SS)实现同步( 并具有再同步功能)

数据链路层分为

  • 逻辑链路控制 MAC(Logical Link Control)子层
  • 媒介访问控制 LLC (Medium Access Control)子层

MAC 子层是 CAN 协议的核心部分
数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程
具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告

数据链路层的功能通常在 CAN 控制器的硬件中执行
在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤
但具体地说,信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义2
这些必须由用户根据系统需求自行确定


参考:
《CAN入门书》


相关推荐:
CAN笔记(3) 错误状态
CAN笔记(2) CAN特点
CAN笔记(1) CAN简介


谢谢!


  1. OSI: Open Systems Interconnection (开放式系统间互联) ↩︎

  2. 驱动器及总线的电气特性等在博世公司的 CAN 规格书中没有定义
    但在 CAN 的 ISO 标准( ISO11898、 ISO11519-2 等)中分别定义了总线及驱动器的电气特性等 ↩︎

CAN笔记(4) 协议基本概念相关推荐

  1. Wireshark文档阅读笔记-WebSocket协议基本概念

    WebSocket WebSocket是基于TCP的全双工协议.WebSocket是2011年IETF RFC6455中定义的标准,他的API是W3C定义的. WebSocket不仅适用于浏览器.服务 ...

  2. 【转】医疗业务学习笔记--DICOM协议的基础内容!!!!!!!!!!

    转自:医疗业务学习笔记--DICOM协议的基础内容 - 知乎 本文首发于"雨夜随笔"公众号,欢迎关注. DICOM协议是医疗领域对如何处理.存储.打印和传输医疗图片的一系列标准.D ...

  3. tensorflow笔记:流程,概念和简单代码注释

    tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果.这两天看了看官方的tutorial,极客学院的文档,以及综合tensorflow的源码,把自己的心得整理了一 ...

  4. 创建web服务器||HTTP协议的概念||报文||HTTP请求与响应处理——未完待续

    HTTP协议的概念 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)规定了如何从网站服务器传输超文本到本地浏览器, 它基于客户端服务器架构工作,是客户端( ...

  5. MySQL学习笔记01【数据库概念、MySQL安装与使用】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  6. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...

    <计算机网络技术基础-第3章网络体系结构与协议.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术基础-第3章网络体系结构与协议.ppt(19页珍藏版)>请在装配图网上搜 ...

  7. 网络基础一(协议的概念,网络应用程序设计模式)

    协议的概念 什么是协议? 从应用的角度出发,协议可理解为"规则",是数据传输和数据的解释的规则. 假设,A.B双方欲传输文件.规定: 第一次,传输文件名,接收方接收到文件名,应答O ...

  8. vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?

    vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 文章目录 vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 什么是组件? 为什么要使用组件? 如何使用 ...

  9. java 协议这个概念_java网络协议概念是什么?

    网络协议 对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念.那么什么是网络协议呢? 网络协议是指对于网络中传输的数据格式的规定.对于网络编程初学者来说,没有必要深入了解TCP/IP协 ...

  10. 轻松认识HTTP协议的概念和工作原理

    轻松认识HTTP协议的概念和工作原理 当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http: ...

最新文章

  1. JHipster开发环境安装
  2. 用 Python 制作酷炫的可视化大屏,特简单!
  3. 数据库的查询,添加,修改,删除
  4. Java除法不精确引入BigDecimal
  5. python【数据结构与算法】从一个例子引入动态规划❤️
  6. Java的synchronized关键字:同步机制总结
  7. 游戏行业的人工智能设计:AI的设计和实施
  8. 解决 【xshell 5 不能使用退格键和Delete建】的问题
  9. 冒泡法排序c语言函数模板,使用模板技术的冒泡排序
  10. js计算浮点数出现小数;解决js计算小数问题;js数组相加出现小数;
  11. 第九章 隐马尔科夫模型HMM
  12. Mysql 中Sql控制流语句_DCL语句/控制流语句
  13. 十八般武艺玩转GaussDB(DWS)性能调优(二):坏味道SQL识别
  14. 201671010128 2017-10-08《Java程序设计》之接口与内部类
  15. linux vi 替换字符串,Linux vi编辑器如何查找与替换关键字
  16. oracle exadata效果,exadata成功案例与性能测试-oracle.pdf
  17. vue 倒计时 插件_vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
  18. layui富文本编辑器,使用第三方插件Kz.layedit上传文件时自定义文件域字段名和请求参数
  19. HTB靶机01-Blue-WriteUp
  20. 四、两个三层交换机互联

热门文章

  1. 计算机网络第二章学习通题目及答案
  2. 外贸软件供应链中供应商管理解决方案
  3. 341编程器 软硬件
  4. 佳博GP2120TU标签打印机 安装和使用教程(PC)
  5. 计算机无法识别Gp80180,佳博Gprinter GP-L80180I 驱动
  6. linux 腾达驱动程序,腾达(Tenda)-U12 Linux系统如何安装驱动
  7. 软件工程专业的论文答辩_软件工程专业本科毕业答辩?
  8. 四大名著地图上线,邀您一起来体验!
  9. 源型输入和漏型输入差别及其接线
  10. 关于项目文档管理,现在开始就别揪心了!DOClever让你的项目文档纵享丝滑!