CAN总线的物理层定义了连接车内各控制器的相关介质以及接口。由于CAN总线的数据传输实质是通过总线上的电压变化传输的,所以CAN的总线电压是CAN总线技术的核心所在,总线电压在物理层中定义。为了深刻理解CAN总线,下面我们详细介绍总线电压:

CAN总线的拓扑结构如下:

通过CAN的总线拓扑结构可以看出,CAN总线采用双绞线进行数据传输。两根导线中,一根称为CAN-High,另一根称为CAN-Low。这两根导线在静止状态下对地电压均为2.5V,此时两根导线的电压差值为0V,该状态称为隐性状态,其数字信号用1来表示;当CAN-High的对地电压为3.5V,CAN-Low的对地电压为1.5V时,此时CAN-High和CAN-Low两根导线的电压差为2V,该状态称为显性状态,其数字信号用0来表示。为了方便,不会出现混淆记忆,我们将CAN总线的这一特性记忆为“显零隐一”。

CAN总线是多主节点(多主机)的局域网,各个主节点可以同时向总线上发送数据,此时总线上就会有电压变化。之前介绍过,如果总线的CAN-High和CAN-Low产生电压差,称为显性用0表示,如果总线上没有电压差,称为隐性用1表示。那么大家需要思考一个问题,假如节点A发送数据0101,节点B发送数据1111,节点A和节点B同时向总线发送数据,那么总线上的电压会如何变化呢?很明显,CAN总线上的电压变化是:2V-0V-2V-0V,用来表示数字信号0101。因为两个主节点共用一路CAN总线,而表示显性的2V电压差会覆盖表示隐性的0V电压差,即总线上某一时刻的电压只会有一种状态,无变化的电压自然会被有变化的电压覆盖,从显性和隐性的命名上可以看出这一深意(这很好理解,如同两个人A和B(即两个主节点)同时潜在水中游泳,并且他们游的一样快,如果露头表示显性0,不露头表示隐性1,A和B分别向外界传递某种信息0101和1111,那么我们通过观察水面的露头变化只会得到0101的信息),CAN总线的这一特性我们称为“显性可以覆盖隐性”,这一特性对于后面学习数据帧的仲裁、应答等机制都至关重要,因此需要深刻理解。

学习CAN总线物理层除了总线电压这一部分需要深刻理解之外,剩下的无非都是一些物理介质以及接口的规定。之后一章节将对物理介质及接口做详细的说明(原创内容,转载请注说明)。
--------------------- 
作者:追慕罂G呢 
来源:CSDN 
原文:https://blog.csdn.net/kgcjie/article/details/78237719 
版权声明:本文为博主原创文章,转载请附上博文链接!

CAN总线基础(二)——CAN总线物理层介绍(总线电压详解)相关推荐

  1. DDR介绍及设计要求详解1

    DDR介绍及设计要求详解 DDR类别和参数介绍 DDR采用TSSOP封装技术,而DDR2和DDR3内存均采用FBGA封装技术.TSSOP封装的外形尺寸较大,呈长方形,其优点是成本低.工艺要求不高,缺点 ...

  2. DL之VGGNet:VGGNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之VGGNet:VGGNet算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 VGG系列神经网络算法简介 1.网络架构 2.实验结果 VGG系列神经网络的架构详解 VGG系列集 ...

  3. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  4. 激活函数、Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、Parametric ReLU激活函数详细介绍及其原理详解

    相关文章 梯度下降算法.随机梯度下降算法.动量随机梯度下降算法.AdaGrad算法.RMSProp算法.Adam算法详细介绍及其原理详解 反向传播算法和计算图详细介绍及其原理详解 激活函数.Sigmo ...

  5. python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  6. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  7. DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 ShuffleNetV2算法的简介(论文介绍) 1.论文特点 2.基于硬件 ...

  8. DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之MobileNet V2:MobileNet V2算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 MobileNetV2算法的简介(论文介绍) MobileNet V2算法 ...

  9. DL之ResNeXt:ResNeXt算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之ResNeXt:ResNeXt算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 ResNeXt算法的简介(论文介绍) ResNeXt算法的架构详解 ResNeXt算法的案例应 ...

  10. DL之FCN:FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之FCN:FCN算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 FCN算法的简介(论文介绍) 0.FCN性能-实验结果 1.全卷积神经网络的特点.局限性.缺点 FCN算法的架 ...

最新文章

  1. Mybait缓存机制
  2. 微软研究院开源编程语言Verona,借鉴Rust、Cyclone等特性
  3. java 转xml 变成两根下划线_XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以...
  4. xhtml使用style属性
  5. 【Hibernate】hibernate主键生成策略与配置详解
  6. Extension project: 404 Not Found for resources/cus/crm/notes/ext/Component-dbg.js
  7. 《Python Cookbook 3rd》笔记(1.16):过滤序列元素
  8. GCC 常见参数配置
  9. 正则、grep与egrep工具
  10. java HTML5 学习资料汇总
  11. 【HUST】公选抢课|用Auto.js模拟蹲课过程
  12. PHP实现的RSA加密解密
  13. 两栏 论文首页 插尾注方法 word2019
  14. st visual develop STM8 软件配置教程
  15. 移动滑杆控制(UGUI实现)Unity3D
  16. 痛失阵地,又一家热门BT种子观影网站关停
  17. you-get视频解析下载
  18. [转贴] 这是我和一个偷吃禁果的女孩子的故事
  19. 【建议搜藏】Spring+SpringMVC+MyBatis简易版Boss直聘系统
  20. Excel if函数用法

热门文章

  1. 微服务架构如何保障双11狂欢下的99.99%高可用
  2. pycharm下找不到要安装的模块包(如sqlalchemy)
  3. 【Scratch】青少年蓝桥杯_每日一题_4.25_说日子
  4. linux 关闭网络防火墙设置方法,CentOS Linux防火墙配置及关闭方法
  5. c语言程序设计橙皮,橙皮_中药词典C_中医中药网
  6. int 为什么是2147483647_2147483647代表什么
  7. linux禁止客户端上传文件_实战 FastDFS Java 客户端上传文件
  8. android 数组赋值字符串_c语言中的字符数组与字符串
  9. 从本地的win传文件到本地的linux上,pscp.exe实现本地windows下的文件下载(传输)到linux上...
  10. 成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘contrib‘