打印

CAN 监听模式与正常模式的区别?

[复制链接]
12086|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fastolf|  楼主 | 2013-6-4 19:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fastolf 于 2013-6-24 09:55 编辑

做车载导航,CAN监听(silent)模式与正常(normal)模式对车身CAN网络会造成影响,做过CAN的大侠你们一般如何使用CAN的呀~~?另外CAN 监听模式与正常模式区别在哪里?
其实,我是想以normal模式加入CAN网络形成一个新的节点正常发送报文。但是目前normal存在异常,而silent正常。
2013.6.9有点小进展,发现车上如果想挂载某个CAN节点,必须满足特定规范的挂载才可以,否则CAN网关就会报错。
2013.6.20另外一个进展:发现MCU发送数据时候,由于中断干扰,会出现异常一帧数据(该数据是汽车被碰撞信号),如果这个数据在汽车驱动CAN 上面就会出现车门落锁,以及双闪等问题。现在只要避免发出这样一帧异常数据即可。

相关帖子

沙发
airwill| | 2013-6-4 20:05 | 只看该作者
CAN 监听模式与正常模式区别在哪里? 监听模式不会发送数据, 不会对总线的数据有影响.

使用特权

评论回复
板凳
xlsbz| | 2013-6-4 20:54 | 只看该作者
我的理解是 硬件层次silent是接收后不会发ack帧。所以若你的板子设置可能会认为发送不成功,若没有人ack认可的话。

使用特权

评论回复
地板
huangxz| | 2013-6-4 22:23 | 只看该作者
是的,只接收总线的数据,不会发送任何信号在总线上线,说白了,就像一个CAN总线专用逻辑分析仪的功能 一样

使用特权

评论回复
5
fastolf|  楼主 | 2013-6-5 10:07 | 只看该作者
airwill 发表于 2013-6-4 20:05
CAN 监听模式与正常模式区别在哪里? 监听模式不会发送数据, 不会对总线的数据有影响. ...

嗯,这个你说的很对,我就是不太清楚物理链路层具体的区别,以及一个新的节点加入(normal模式)进去为什么会存在异常?

使用特权

评论回复
6
fastolf|  楼主 | 2013-6-5 10:09 | 只看该作者
huangxz 发表于 2013-6-4 22:23
是的,只接收总线的数据,不会发送任何信号在总线上线,说白了,就像一个CAN总线专用逻辑分析仪的功能 一样 ...

如果想以normal形式加入CAN网络,并发送某些发送CAN信号,会存在异常么?

使用特权

评论回复
7
fastolf|  楼主 | 2013-6-5 10:10 | 只看该作者
xlsbz 发表于 2013-6-4 20:54
我的理解是 硬件层次silent是接收后不会发ack帧。所以若你的板子设置可能会认为发送不成功,若没有人ack认 ...

嗯,目前我主要是想运用normal模式加入进CAN网络节点,然后发送CAN报文,不至于引起整个网络的异常。

使用特权

评论回复
8
huangxz| | 2013-6-5 10:32 | 只看该作者
fastolf 发表于 2013-6-5 10:09
如果想以normal形式加入CAN网络,并发送某些发送CAN信号,会存在异常么?

如果以正常模式接入总线,那么只要网络上面有节点发消息,你都会有ack信号出现(当然,这个信号是CAN控制器发出的,跟你程序没关系),那个节点会认为已经发出数据了( 但是one-shot模式除外,这里不讨论one-shot),如果以监听模式接入总线,那么如果CAN总线上只有一个normal模式的节点发消息出来,就会发送失败,

说的有点乱,呵呵

使用特权

评论回复
评论
xlsbz 2013-6-7 19:14 回复TA
哪里来的名词 one-shot模式 
9
fastolf|  楼主 | 2013-6-5 18:18 | 只看该作者
huangxz 发表于 2013-6-5 10:32
如果以正常模式接入总线,那么只要网络上面有节点发消息,你都会有ack信号出现(当然,这个信号是CAN控制器发 ...

嗯 ,呵呵。如果总线上面只有一个normal节点,确实会有很多error,normal至少得有两个节点。

使用特权

评论回复
10
huangxz| | 2013-6-5 18:37 | 只看该作者
fastolf 发表于 2013-6-5 18:18
嗯 ,呵呵。如果总线上面只有一个normal节点,确实会有很多error,normal至少得有两个节点。 ...

你做车载导航如果接入CAN到OBD接口,那么要很熟悉OBD的诊断协议才可以,:lol

使用特权

评论回复
11
fastolf|  楼主 | 2013-6-6 11:35 | 只看该作者
huangxz 发表于 2013-6-5 18:37
你做车载导航如果接入CAN到OBD接口,那么要很熟悉OBD的诊断协议才可以,

OBD诊断协议根据实际采集的数据和网上搜到的信息可以了解一些,新节点的挂载必须遵循某些特定的规则,这位大哥是否做过类似的工作捏,对于这些节点挂载的规则了解不?

使用特权

评论回复
12
huangxz| | 2013-6-6 11:47 | 只看该作者
fastolf 发表于 2013-6-6 11:35
OBD诊断协议根据实际采集的数据和网上搜到的信息可以了解一些,新节点的挂载必须遵循某些特定的规则,这 ...

去4s店的时候也问过,不过自己没了解过,我看都是直接诊断设备都是直接插在obd上面,CAN的ID应该不跟车内CAN网络的ID冲突就可以了

使用特权

评论回复
13
fastolf|  楼主 | 2013-6-6 14:12 | 只看该作者
huangxz 发表于 2013-6-6 11:47
去4s店的时候也问过,不过自己没了解过,我看都是直接诊断设备都是直接插在obd上面,CAN的ID应该不跟车内CAN ...

哦,ID是没有冲突的,但是如果没有成功挂载在网关上面还是会有错误。

使用特权

评论回复
14
huangxz| | 2013-6-6 14:17 | 只看该作者
fastolf 发表于 2013-6-6 14:12
哦,ID是没有冲突的,但是如果没有成功挂载在网关上面还是会有错误。

何谓挂载错误?你的网关有错误指的是车里面的网关么

使用特权

评论回复
15
fastolf|  楼主 | 2013-6-6 14:26 | 只看该作者
huangxz 发表于 2013-6-6 14:17
何谓挂载错误?你的网关有错误指的是车里面的网关么

网关错误就是你所说的OBD诊断发现的错误,要挂载一个新节点上面,必须满足车身网络的相关规则,否则OBD诊断就会发现错误。

使用特权

评论回复
16
huangxz| | 2013-6-6 14:31 | 只看该作者
fastolf 发表于 2013-6-6 14:26
网关错误就是你所说的OBD诊断发现的错误,要挂载一个新节点上面,必须满足车身网络的相关规则,否则OBD诊 ...

那当然啊,不过楼主只要采集一下4s店的诊断工具与汽车的通信,然后自己照诊断工具那种方式跟汽车通信应该就可以。

使用特权

评论回复
17
xlsbz| | 2013-6-7 18:56 | 只看该作者
fastolf 发表于 2013-6-5 10:10
嗯,目前我主要是想运用normal模式加入进CAN网络节点,然后发送CAN报文,不至于引起整个网络的异常。 ...

你发报文干嘛?
不要和别的ID一样就OK,不要发的太猛,另外ID号弄大点。
CAN会自动仲裁 很难出问题,很难异常

使用特权

评论回复
18
xlsbz| | 2013-6-7 18:58 | 只看该作者
fastolf 发表于 2013-6-5 18:18
嗯 ,呵呵。如果总线上面只有一个normal节点,确实会有很多error,normal至少得有两个节点。 ...

这种error对别人没有影响,不要紧。最要命的而是对别人有影响的error

使用特权

评论回复
19
xlsbz| | 2013-6-7 18:59 | 只看该作者
xlsbz 发表于 2013-6-7 18:58
这种error对别人没有影响,不要紧。最要命的而是对别人有影响的error

好像有个主动犯错和 被动错误 这个说法 楼主可以看看

使用特权

评论回复
20
xlsbz| | 2013-6-7 19:05 | 只看该作者
你normal有人收么?
没人收当然异常了,节点可以设置过滤的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:要怎么收获,先那么栽。

17

主题

452

帖子

2

粉丝