can 节点问题纵向总结笔记

上传人:小** 文档编号:88214845 上传时间:2019-04-21 格式:DOC 页数:3 大小:237.01KB
返回 下载 相关 举报
can 节点问题纵向总结笔记_第1页
第1页 / 共3页
can 节点问题纵向总结笔记_第2页
第2页 / 共3页
can 节点问题纵向总结笔记_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《can 节点问题纵向总结笔记》由会员分享,可在线阅读,更多相关《can 节点问题纵向总结笔记(3页珍藏版)》请在金锄头文库上搜索。

1、3楼:CAN节点通过标识符来识别CAN帧是不是自己想要的,识别方法就是通过滤波屏蔽寄存器的设置来完成,接收滤波寄存器设置了标识符每位的值,接收屏蔽寄存器一般有相同的数量匹配接收滤波寄存器,规定接收滤波寄存器标识符每一位的值是否需要进行匹配,比如芯片设置有6个接收滤波寄存器和6个接收屏蔽寄存器,从总线上接收CAN帧,然后依次将收到的CAN帧标识符与6对接收滤波和屏蔽寄存器进行匹配,符合某对接收滤波和屏蔽寄存器要求了,就停止匹配,将数据接收到对应的缓冲区中. 例如设置某接收滤波寄存器00000000001(11位),接收屏蔽寄存器11111111101(11位),则该对组合会拒绝接收0000000

2、0011和00000000001之外所有的标识符对应的CAN帧,因为屏蔽器规定第二位(为0)以外的所有标识符位要严格匹配(与滤波器值一致),第二位的滤波器值和收到的CAN标识符第二位值是否一致都可以. 不同的芯片滤波屏蔽寄存器的运行方式不太一致,至少我用过的AT90CAN128和MCP2515差别就很大,不过原理都一样.4楼: 初学CAN的朋友应该都会遇到我这样的问题,我的理解是,一个节点向网络中发送一条信息,所有的节点都能收到,收到后每个节点将收到的标识符自行与自己的比较,符合的才接收,过滤器和屏蔽器决定标识符中哪些位参与比较,也就是说有些位可以不参与比较就直接接收,这很有用,比如,11位的

3、标识符不可能都用来标识下位机号,你一个网络不可能连接那么多节点,11位的标识符有点浪费,我们可以将最高3位用来表示所发送的数据类型,在接收点设置滤波器和屏蔽器只比较节点号部分,先将数据接收下来,在将最高3位拿来判断是什么数据,我的试验结果是RXB0SIDH会被发送端的TXB0SIDH修改,判断RXB0SIDH的最高三位即可知道接收的数据类型,以上是我这几天的学习结果,希望大家共同讨论。CAN_FilterInitStructure.CAN_FilterNumber = 0; CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMa

4、sk; CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit; CAN_FilterInitStructure.CAN_FilterIdHigh = (u32)CAN_ID016; CAN_FilterInitStructure.CAN_FilterIdLow = (u32)CAN_ID021)|CAN_ID_STD|CAN_RTR_DATA)&0xFFFF; CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0xFFFF; CAN_FilterInitStructure.CA

5、N_FilterMaskIdLow = 0xFFFF;CAN_FilterInitStructure.CAN_FilterFIFOAssignment = CAN_FIFO0; CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; CAN_FilterInit(&CAN_FilterInitStructure);楼主没有理解CAN里面节点ID的含义。 1. A发出的远程帧中ID为B的ID 2. B收到一个ID跟自己节点相符的远程帧后,就发同样ID的数据帧就可以了。 3. 由于数据都是在CAN上广播的,所以A就可以收到这个数据帧了。 形象一

6、点就像在广播里面点歌: A想听张国荣的歌, 就给电台B打个电话(远程帧) 电话号码当然是电台的号码, 电台不需要知道谁点的歌,只管放就行了。远程帧的作用,如能详细描述那更好!4楼: 可以用来 表征 这个节点的存在(告诉其它节点 还在线,而又无其它数据传递必要)。 CANopen规范中,通常不建议使用。5楼: 是告诉其他的CPU我需要这个ID号的数据,远程帧没有数据,只有ID和远程帧位说点大白话6楼: 首先远程帧虽然是用来发送的,但是却是用接收邮箱来配置(这句话说的肯定对)。 明白了吧。 就是接收邮箱 想接收某ID数据,就发送个远程帧做触发(这句话说的不一定对)8楼: 是的,当你需要接受某个远程节点的数据时,就发送一个远程帧过去,那节点就会做出响应,发回数据,这个过程一般是在软件上处理,也有硬件实现的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号