打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于通用车系GMLAN总线网络的进一步分析

16年的时候曾经写过一篇关于通用车系高速GMLAN的诊断方法的文章。现在看来十分肤浅。最近翻看汽车通讯网络的资料时,对通用的GM网络有了进一步的认识,所以总结出来同各位师傅分享一下,还请各位师傅不吝赐教,多多批评指正。

我们要回答几个问题:

  1. 为什么GMLAN通讯网络会有两根线

  2. 为什么LIN线只有一根线

  3. 通讯模块之间是如何进行数据的传递的

以下:

  1. GMLAN通讯网络为什么会有两根线。

GMLAN有两根线的目的是为了防止对外部线路造成干扰。

模块之间进行通讯的时候,尤其是高速的GMLAN网络,传输速率能达到500KB,会对周围的线路造成干扰。为了消除这个干扰,CPU发出的数据经过CAN通讯芯片后,被CAN通讯芯片分成CANHCANL两根线。

总线静默时,CANHCANL均为2.5V。当总线上有数据传递时,在2.5V的基础上,CANH被拉高为3.5V,CANL被拉低到1.5V。其实际只需要一根线就可以完成数据的传递任务,这样采用差动的总线方式,两根线产生的干扰可以相互的抵消,使总线不再向外发出干扰。

诊断GMLAN总线最好使用示波器,万用表的话,测得的是数据传送时的一个电压平均值。

CAN波形见下图。

另外,对于GMLAN总线上的模块的连接方式,见下图。

  1. LIN线为什么只有一条。

这是因为LIN线传输的速率很低,只有30KB左右。不会对外造成太大的干扰。

静默时,LIN线被上拉至12V

LIN线波形应该和RXD一致,但是幅值为12V左右。见下图

  1. 模块之间的信息是如何进行传递的。

一个模块发出一个信息,比如我发送一个制动开关信号。

首先我给制动开关信号起一个名字(ID),比如叫01111000100112位标准帧)《也有的是32位扩展帧》

然后我现在制动开关现在的状态是闭合(数据),比如是0000000000000000000000000000001132位数据位,8个字节)

那么,我向GMLAN总线发送这个信息为:011110001001   00000000000000000000000000000011

这样,总线上所有的模块,在接收该信息时,首先看的是名字(ID),如果这个ID是我所需要的,那么我就接收它后面的数据;如果我不需要这个ID,那么,我就不接收这个信息。

如果某一个模块不通讯,可以拆开该模块,找到里面的CAN芯片和CPU的传送和接收针脚,用示波器测量传送和接收的数据波形。

如果该模块发送数据,那么TXDRXD的波形应该一致,且CANHCANL上的波形应该和RXD的波形一致或者相反,但是幅值会不同。

如果该模块正在接收数据,那么TXDRXD的数据会有不同,TXD会稳定在5V,而RXD会有波形,那么CANHCANL的波形应该和RXD一致,但幅值不同。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CAN接口异常分析指南
CAN总线BUS OFF
CAN总线终端电阻的作用?为什么是120Ω?为什么是0.25W?
CAN总线波形中为什么ACK电平偏高?
CAN总线通信解密方法
小电阻之大作用——CAN终端电阻
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服