CAN总线的显性电平为什么能覆盖隐性电平?
摘要:在CAN总线中,显性电平是强驱动,隐性电平时弱驱动,因此当有的节点发送显性电平有的节点发送隐性电平时,总线上呈现的肯定是强驱动的状态,这就是CAN总线显性电平可以覆盖隐性电平的原因。
大家都知道,CAN总线的差分电平分为显性电平和隐性电平,显性电平的逻辑为0,隐性电平的逻辑为1,在同一个位时间,一个节点发显性电平,另一个节点发隐性电平,则总线电平为显性电平,这是CAN总线仲裁的基础。就是像有些书上写的线与的概念,如图1所示,很好理解,1&0=0,显性能覆盖隐性。

图1
孔丙火(微信公众号:孔丙火)认为,这种解释对于新手来说,容易理解,但深入研究就会发现,这仅仅是一个逻辑原理图,实际CAN总线的波形并不是这样的,显性电平时高电平,隐性电平时低电平,那实际情况下,显性电平是如何覆盖隐性电平的呢,这要从CAN收发器芯片的原理说起。图2和图3是AMIS42675和PCA82C251两款芯片的原理框图,其他CAN收发器芯片也类似。PCA82C251属于早期芯片,是基于三极管的,比较新的芯片,如AMIS42675,都是基于JFET的,但对于发送驱动的基本原理是一致的。

图2

图3
以AMIS42675为例来说明,如图2所示,在本机发送显性电平(差分高电平)时,图中两个JFET是导通的,CANH和CANL之间形成一个压差,由于CAN收发器的输入阻抗(接收器)是很大的,所以这个压差的能量主要消耗在终端电阻和传输电缆上。在本机发送隐性电平(差分低电平)时,图中两个JFET截止,CANH和CANL处于高阻状态,CANH和CANL的电平基本相等,差分电平接近于0。由此可以看出,显性电平是强驱动,隐性电平时弱驱动,因此当有的节点发送显性电平有的节点发送隐性电平时,总线上呈现的肯定是强驱动的状态,这就是CAN总线显性电平可以覆盖隐性电平的原因。这是孔丙火(微信公众号:孔丙火)的理解,希望大家批评指正。
文章在微信公众号同步推出,微信公众号:孔丙火,关注欣赏更多文章。
CAN总线的显性电平为什么能覆盖隐性电平?的更多相关文章
- CAN总线的显性电平与隐性电平
读CAN总线的书时,都会涉及到总线电平的问题,CAN总线的电平分为显性电平与隐性电平,这是CAN总线物理层的核心部分,也是总线仲裁的基础.那何为显性,何为隐性呢? 根据孔丙火(微信公众号:孔丙火)的理 ...
- 域名解析中的cname解析和显性URL跳转和隐性URL跳转三者有什么区别
通俗的来讲,cname解析还是属于dns解析,只是把某个域名解析到另外一个域名对应的某个IP的空间中,所以还需要在服务器端(比如nginx)做域名解析(比如把baidu.com做一个cname解析到i ...
- CAN总线电平(隐性与显性)
CAN2.0B规范定义了两种互补的逻辑数值:显性和隐性.同时传送显性和隐性位时,总线呈现显性状态:同时传送显性状态位时,总线呈现显性状态:同时传送隐性状态位时,总线呈现隐性状态.显性数 ...
- CAN总线中节点ID相同会怎样?
CAN-bus网络中原则上不允许两个节点具有相同的ID段,但如果两个节点ID段相同会怎样呢? 实验前,我们首先要对CAN报文的结构组成.仲裁原理有清晰的认识. 一.CAN报文结构 目前使用最广泛的CA ...
- (stm32f103学习总结)—can总线
参考:CAN总线的位时序与参数设置 CAN总线位同步 1 CAN总线介绍 CAN 是Controller Area Network 的缩写,中文意思是控制器局域网 络,是ISO国际标准化的串行通信协议 ...
- [LIN].LIN总线详解
转自:https://www.2cto.com/kf/201806/754227.html 参考:https://wenku.baidu.com/view/a9b08d786bd97f192379e9 ...
- 第40章 CAN—通讯实验—零死角玩转STM32-F429系列
第40章 CAN—通讯实验—零死角玩转STM32-F429系列 第40章 CAN—通讯实验 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视 ...
- 重学STM32---(九) ——CAN通信(一)
一.CAN简介 1.CAN是什么? CAN 是 Controller Area Network的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议. 2.CAN特点 (1) 多主控制 ( ...
- 43-2-CAN协议
1.帧的种类 通信是通过以下 5 种类型的帧进行的. • 数据帧 • 遥控帧 • 错误帧 • 过载帧 • 帧间隔 另外, 数据帧和遥控帧有标准格式和扩展格式两种格式.标准格式有 11 个位的标识符(I ...
随机推荐
- 三星平板SM-T320刷机
三星 Galaxy Tab Pro 8.4 (SM-T320) / 国行 固件下载 刷机教程 下载手机驱动,刷机工具Odin,相应的固件包,手机和电脑用数据线连接安装好手机的驱动. 手机先完全的关机, ...
- 多个Firefox共存&&彻底关闭自动更新
安装 0x001 下载好要安装Firefox的版本 可到Firefox官方仓库下载 https://ftp.mozilla.org/pub/firefox/releases/ 我下载的是42和56版 ...
- JDK/bin目录下的不同exe文件的用途
新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...
- 【原创】python __all__ 的用法
1. 写自己的module或者package的时候需要控制向外暴露的名字, 这个很有用, 防止名字污染
- 4种Java日志管理方法
java开发中常见的几种日志管理方案有以下4种: 1. Commons-logging + log4j 2. log4j 3. slf4j + log4j + commmons-logging 4. ...
- 【2016蓝桥杯省赛】试题C++ B组试题
一. 煤球数目 作答:171700 #include <iostream> using namespace std; int main() { ,x=; ;i<=;i++){ ...
- 网页里面出现"$#2342"类似这样 应该怎么转义过来?
Python2 from HTMLParser import HTMLParser print HTMLParser().unescape('【竞彩足球')
- Elasticsearch之如何合理分配索引分片
大多数ElasticSearch用户在创建索引时通用会问的一个重要问题是:我需要创建多少个分片? 在本文中, 我将介绍在分片分配时的一些权衡以及不同设置带来的性能影响. 如果想搞清晰你的分片策略以及如 ...
- mysql 系统用户最大文件打开数限制
纸上得来终觉浅,绝知此事多宕机...记录一下自己很蠢的一次故障处理过程. 上周的时候,一个刚上线的系统又开始反映登不上了,因为最近这个系统也老是出现这个问题,开发也一直在找问题中,所以也没太在意.于是 ...
- Mac 使用.bash_profile
1.打开terminal(终端) 2.open .bash_profile (打开.bash_profile文件,如果文件不存在就 创建文件:touch .bash_profile 编辑文件:op ...