can总线标识符如何设置,can总线标识符如何设置? 15

2020-11-29 11:56:00 字数 2824 阅读 9670

1楼:匿名用户

扩展的id是29位的,滤波用32位估计用来兼容扩展id的。其他的不清楚。

can总线通信 标识符的设置

2楼:匿名用户

1.can协议中有规定,在某几位发送目的站的地址,目的站可以通过对这几位进行选择,自行决定是否接受该消息,是自己变成设定的

2.一般can通信芯片都可以在寄存器里设定自己需要接受的标识符等a要和b通信,a要指导b的标识符,然后发出去,b发现标识符正确接受,c和d读完标识符后选择丢弃。c d节点选择不同的标识符即可。

你的想法是对的。

要实现can通信,选择一个合适的can控制芯片和驱动芯片即可

3楼:匿名用户

建议去zhihu问,专业些

can总线如何设置本节点标识符,就是本节点id.

4楼:糖糖寳寳

1.can协议中有规定,在某几位发送目的站的地址,目的站可以通过对这几位进行选择,自行决定是否接受该消息,是自变成设定的.

2.一般can通信芯片都可以在寄存器里设定自己需要接受的标识符等a要和b通信,a要指导b的标识符,然后发出去,b发现标识符正确接受,c和d读完标识符后选择丢弃。

要实现can通信,选择一个合适的can控制芯片和驱动芯片即可.

5楼:胜利之

可以确定如lz所说。

1、滤波是负责接收报文的是后做被接收帧id管理的

2、本机发送帧id是在发送的时候填入的,标准帧是11位,扩展帧是29位。广州研煌adawin,can总线技术

6楼:爱杰哥

我也有相同的疑问,请问您是怎么解决的?

can总线中报文的标识符有什么作用呢?

7楼:匿名用户

标识符就是确定报文发送优先级的,can总线是一种串行总线,总线上一次只能传输一则报文信息,如果同时有多个节点需要在总线上发送报文,通过标识符决定哪个先发送。

8楼:贯湛恩戈源

can我是外行,但像can总线这样的,报文应该是有先后次序的,有优先级区别的,按优先级处理,优先级相同的,按时间次序吧

请问can总线29位报文标示符的定义 30

9楼:龙眠居士

3位优先级,一位保留位,一位数据页,8位数据格式,8位源地址,8位目的地址。

关于can总线的一些问题

10楼:嵌入式设计师

1.标准格式数据帧包括:

1位帧起始位,11位id位+1irq位,8个控制位,8字节的数据位,2字节的crc校验位,7个终止位(记得不一定全面)

同时有码流控制功能,即位填充功能。当出现4个相同电平的位时,会在中间插入1个不同的位。

码流填充区域包括从起始位一直到数据位结束。

具体细节可以参见《现场总线can原理与应用》一书,北京航空航天大学出版社。

2.11位标识符与屏蔽寄存器和**寄存器组成了can总线的滤波模式。

3.初始化总线定时寄存器,控制寄存器,输出寄存器,中断寄存器。

4.屏蔽寄存器全部为0xff,使滤波位“无关”

5. 高8位为9,即为0000_1001,code0= 0000_1001 mask0 = 1111_0110 (二进制表示)

6. 这个我以前算过,《现场总线can原理与应用》一书中有详细介绍,现在书没有在手边,印象里是

btr0 = 0x43;

btr1 = 0x1c;

11楼:匿名用户

式(pelican)的选择是通过

设置“时钟分频寄存器cdr”的第7位来确定的。这两种模式的“主要的”区别是basiccan仅支持11位的id,pelican通过选择标准帧和扩展帧分别具有13位的id和29位的id。

2、两者晶振可以互不相干,一个非常实用的建议是请将sja1000的晶振采用16m,方便利用现有的资料和波特率计算工具来计算波特率,避免用其他频率自己来算,对于初学,算波特率是一个稍微复杂的事情。

3、采样率如果没有猜错的话说的还是波特率计算当中的事情。用了16m就省了。做通了再慢慢去理解都ok。

4、第一个问题中已经有答案

补充问题回复:

关于复位模式:复位模式是软件的(sja1000的复位引脚控制的是硬件复位),通过置位模式寄存器的第0位(mod.0)进入复位模式 ,清0则进入正常工作模式。

(只要通过改变该位就可以实现两种模式的切换)

在复位模式时候该节点的can总线是关闭的,部分控制器参数需要在这个模式下才能进行初始化,而在正常模式时候就不能被修改。

当总线出错关闭时候也会自动进入复位模式,这时候需要清除错误,并恢复到正常工作模式。

can总线中,假如两条报文的标识符是一样的,此时这两个报文的优先级该如何抉择?

12楼:匿名用户

优先级是由帧id决定的,既然是一样的帧id,优先级必然是一样,如果同时出现在总线上,需要仲裁那就是节点都有可能优先发送。

13楼:匿名用户

同时发送,id一样,那他们在仲裁id时肯定都能发送成功的,只有等到有数据位不相同时,发数据1的会检测到发送电平跟期望电平不一样,发生错误,等待总线空闲时重新发送,发送数据0的没有检测到错误继续发送。

can总线中使用11为标识符还是28位是由什么决定的啊?

14楼:匿名用户

标准帧是11位标示符,扩展帧采用29位标示符,不是28位