CAN总线上的电压是怎么算的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAN总线上的电压是怎么算的相关的知识,希望对你有一定的参考价值。
在总线隐性时,CANH和CANL都是2.5V。如有两个单元同时报文的话,要有优先级的仲裁,如果一个单元发送显性,那么它发出的信号就是CANH3.5V,CANL1.5V。另一个单元发隐性,那么发出的CANH是2.5V,CANL是2.5V。那么此时,CAN总线整体上,CANH和CANL的电压是多少?
CAN总线是具有线与特性的,换句话说,某一个时刻只要总线上有一个节点发显性位,那么整个总线都被拉成显性位。隐形位的2.5V你可以把它的模型看做是一个几十k的电阻接到电源电压的一半上。当某个节点发显性位时,CANH管脚通过内部的上半管上拉到电源VDD上,空载输出电压其实是超过4.5V的,带载驱动能力大约是60Ω,因此(在不超过带载能力的前提下)其他节点的CANH管脚电平都会被拉到高于3.5V的电平。同理,其他节点的CANL管脚电平也会被拉到低于1.5V的电平。追问
这个我理解,我不理解的是仲裁机制,即两个节点同时发送,一个发显性一个发隐性。当然同时发的时候也在同时接收着,发显性的接收到显性信号继续发,发隐性的节点就停止发送了。先不提之后的。就是同时发送时,CANH上一个节点发送3.5V一个节点发送的是2.5V,那么此时CANH上的电压是多少?如果是3.5V的话,那么CANL上的是不是是2.5V?
追答我写的文字你根本都没看么,还说什么“这个我理解”……-_-||
以CANH为例,一个节点发显性电平,是内部上拉管导通;另一个节点发隐形电平,是接几十k的电阻到VDD/2。你自己动笔算一下,假设前者输出是3.5V,那么这两个管脚接在一起,CANH上的电平会是多少?基本上就是3.5V了。
CANL同样,一个节点发隐形电平,是内部下拉管导通;另一个节点发隐形电平,是接几十k的电阻到VDD/2。同样,前者输出1.5V的话,CANL上的实际电平会接近于1.5V了。
多谢!大致有一些明白了,是不是说发隐性电平时是需要接几十K的电阻到VDD/2,那这样他输出的电平是多少?2.5V还是多少? 多谢!小白,这个问题困扰我很久了。
追答不需要你手动加,这是CAN收发器内部的结构。
你的这些关于物理层的疑问,其实找一款CAN收发器的datasheet,好好看看它的内部框图,就能自己找到答案的。
好好学习天天向上
对输入线路的检查:首先,要找到输入的管脚(各种车的管脚定义不同);然后将输入的管脚与模块断开;最后对线路是否有信号输入进行检查。
对输出线路的检查
首先,确定输出的线路是否断线或搭铁。将管脚与模块断开后测量。然后是测量线路是否有输出。将模块和管脚连接后检查。
2、模块的基本检查包括对电源线、地线、唤醒线、CAN线的检查。
电源的检查:模块上一般有4根左右的电源线,在模块正常工作时,每个电源都应该有24 v的电压。
地线的检查:模块上一般都有2到3根地线,在模块工作时,这些地线都要和全车的地线接触良好。
唤醒线的检查:每个模块都要有1根唤醒线,在模块工作时有24v的电压。
CAN线的检查:CAN线在工作时都是2.4v 左右的电压。追问
你就是来抢首答的吧!!!!答非所问啊
如何通过其他节点在CAN总线上确认传输CAN消息?
我知道由另一个节点发送的消息的接收者发送显性确认位。
我无法理解的是接收到整个消息后接收方是否发送了一个显性位,或者接收方发送的相同消息是否为ACK位字段?
或者,当发射机正在发送数据帧时,接收机是否将ACK字段驱动到不同的电压电平?
此外,两个CAN节点是否可以确认相同的消息?如果是,那怎么样?如果不是,为什么呢?
我需要澄清一下。
或者,当发射机正在发送数据帧时,接收机是否将ACK字段驱动到不同的电压电平?
这是正确的答案。
在CAN帧的确认槽中,发送器将总线设置为隐性级别。
接收到没有错误的帧的每个接收器将CAN总线驱动到确认时隙中的显性状态。所以一个接收器足以做到这一点。确认该消息的多个接收器没有区别,因为足以将CAN总线驱动到显性状态。
另一方面,发送器检测到CAN总线被驱动到显性状态,从而知道该消息已被至少一个其他节点接收而没有错误。
以上是关于CAN总线上的电压是怎么算的的主要内容,如果未能解决你的问题,请参考以下文章
请问CAN转RS485串口设备的每个总线接口都应该集成隔离保护模块吗?