什么是CAN通信

什么是CAN通信,第1张

1can是两根线,

2can线上有两个状态,

a隐性状态,两线电压2.5V,表示位为1。

b显性状态,两线电压:低1.5V,高3.5V,压差2V;表示位为0;

3以上2里的电压叫差分线路,为的是增加抗干扰性能,同时在高与低两根线上并入120欧姆电阻,防止信号震荡。

4以上只是电路的硬件解释,下面以长城上的烽火台举个例子。

5第一个台子,冒烟了,在131个时间单位里(一个报文131个位,也就是一个数据帧131个位),其他的台子,就会记录44个时间单位里,有没有冒烟结果是131个0与1组成的数字:100110010101100101100101(这里一共是131个哈,我没具体计数)。

6如果有两个台子在冒烟,先冒烟a的不要停,接着冒烟。后冒烟的b停下来,接收a发出的信号。

7两个台子同时冒烟,在前11个冒烟记数里,谁不冒烟(状态为0,显性电平,压差2V)发送的多,谁的优先级就高,就不会停,而其它的1-N个就会停下来 改为接收。

8在一个131时间里,一个发出,其它的所有台子都会收到并记录这一串数字,然后根据领导的指示(或是军部的密码本)进行信息处理,如果能找到匹配密码的信息就把8个字节(一个131的帧有8*8位的数据内容,其它的131-64=67个位不是数据的)存下来,装进箱子里,A级文件装进第一个密码箱,B级文件装在第二个密码箱,每个箱子有三个格子,只能收三个文件。

9在131个时间里收到的数据串,前11个是ID,就是编号。12位是扩展位,可以在扩展28个位。

10一个131(叫报文,叫帧),有这样几个段,仲裁段(就是ID段,前面5678里提到的密码本就是在这一段做比对),数据段(8字节*8位),应答段,结束段。

11仲裁里数据叫标识符,用来匹配密码本(叫筛选器,叫识别器,叫过滤器)。

12每个can硬件有多个识别器,每个烽火台有多个密码本。两本是一个组。

13每组密码本的方式,

a一本指定检测位的,一本指定位的状态。比如第一本指定只看第3与5位,第二本指定3位与5位为0。那么只有这一种信息才能存后面的8个字(64位)

b一本指定密码A,一本指定密码B。

c与d记不清了。

14密码本有11位,使用的时候用不了那么多个(11位为0-7ff,0-2046)所以可以前三个位是烽火台的编号,最后两位是功能码(比如信息紧急程度,或数据类型:int char bit),也就是说,仲裁段可以对密码,与可以当数据段来使用。

15应答段只有两位,具体的忘了。

16结束段有7位隐性电平,好像是这样的。

这应该是自定义的一个通信协议吧,从字面理解:

PRI:保留位,占3位;

SegFlag:分段传输的标志,占1位;

GROUP ID:帧所在组的ID,占4位;

DMAC:上面写着本机地址,我认为可能是目的地址Destination

SMAC:上面写着设备地址,我认为可能是源地址Source

CID:命令代码(Command ID)或者用户代码(Customer ID);

ACK:响应,占1位;

只是猜测,仅供参考。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/218720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存