12080|24

151

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

宝马LPC1768 CAN总线滤波设置 [复制链接]

 
1 通用CAN特性
兼容CAN规范2.0B、ISO11898-1;
        多主机结构,带有无破坏性的位仲裁;
        由报文标识符(11位或29位)控制的总线访问优先级;
        为高优先级报文确保了等待时间;
        可编程传输速率(高达1Mbit/s);
        多播和广播报文功能;
        数据长度:0~8字节;
        强大的错误处理能力;
非归零(NRZ)编码/译码,带有位填充
2 CAN 控制器特性
        2个CAN控制器和总线;
        支持11位和29位的标识符;
        双重接收缓冲器和三态发送缓冲器;
        可编程的错误警报界限和可读/写的错误计数器;
        仲裁丢失捕获和错误代码捕获(带有详细的位位置);
        单次触发的发送(不会重复发送);
        只听模式(无答应,无活动错误标志);
        “自身”报文接收(自接收请求)
3 验收滤波器特性
        快速硬件实现的搜索算法,支持大量的CAN标识符;
        全局验收滤波器识别所有CAN总线的11位和29位的Rx标识符;
        允许11位和29位CAN标识符的明确定义和分组定义;
        验收滤波器可为被选中的标准标识符提供 FullCAN-style 自动接收
4LPC1768滤波原理
当总线上面有报文传送时,每个节点都会接收到报文,但是该报文是不是自己需要的,如果没有进行滤波,只要总线上有报文,控制器就接收(不管是否有效)这样就会浪费大量的系统资源,因此CAN控制器添加了滤波操作。
        CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据帧的ID是否和本节点相吻合,如果与本节点吻合,那么总线上的数据就被存入总线控制器的相应寄存器里,否则就抛弃该数据,从而也能够减轻总线控制器的工作量。换句话说,总线上数据帧的ID 通过待接收节点的验收滤波后是吻合的,是可以被接收的。
LPC1768提供了512*322KB)滤波RAM,该RAM空间可以存放1024个标准标识符或512个扩展标识符,软件可以在其中存放5个标识符表:FullCAN(标准帧格式)标识符区、明确的标准帧格式标识符区、标准帧组格式标识符区、明确的扩展帧格式标识符区和扩展帧组格式标识符区,形成一个LUT表:
FullCAN标识符区:0x0000~SFF_sa SFF_sa=0x0000禁止
明确标准帧格式标识符区:SFF_sa~SFF_GRP_sa SFF_GRP_sa=SFF_sa禁止
标准帧组格式标识符区:SFF_GRP_sa~EFF_sa EFF_sa=SFF_GRP_sa禁止
明确扩展帧格式标识符区:EFF_sa~EFF_GRP_sa EFF_GRP_sa=EFF_sa禁止
扩展帧组格式标识符区:EFF_GRP_sa~ENDofTable ENDofTable=EFF_GRP_sa禁止
其格式如下:

一行FullCAN下的单个标识符表

一行标准帧组格式标识符表

一行扩展帧格式标识符表
其中控制器代表CAN控制器编号:000对应CAN10001代表CAN21768只有2CAN控制器),禁能位为0表示检查该标识符
验收滤波器筛选过程:
1)FullCAN(标准帧格式)标识符区
2)独立的标准帧格式标识符区
3)标准帧组格式标识符区
4)独立的扩展帧格式标识符区
5)扩展帧组格式标识符区
在打开滤波器的模式下,当通过CAN总线接收到一帧数据时,将接收到的报文ID在表LUT中进行查找匹配,从1~5个区中依次进行查找,当ID匹配时就会中断筛选过程,否则一直往下查找知道LUT表结束,若没有找到匹配ID则抛弃该报文。
本章以“CAN滤波”例程为例介绍滤波,这里没有使用到FullCAN模式,因此SFF_sa=0x0000,从独立的标准帧格式标识符区开始查询:

当使用USBCAN调试助手发送标准数据帧ID0x00010x00020x200<=ID<=0x210或扩展帧ID0x1000000x1000010x200000<=ID<=0x200010时开发板能接收到数据,否则接收不到。
5CAN通信配置步骤
1)电源使能:在PCONP寄存器中设置PCAN1/2
2)时钟使能:在PPCLK_SEL0寄存器中选择PCLK_CAN1/2和验收滤波器的PCLK_ACF
3)唤醒:CAN控制器能够将为控制器从掉电模式唤醒
4)引脚:通过PINSEL寄存器选择CAN1/2引脚,并通过PINMODE寄存器选择引脚模式
5)中断:使能相应中断
6CAN控制器初始化:在CANNOD寄存器中设置
在这里就不对寄存器做详细说明了
6、例程说明
本实验提供两个例程:CAN通信非滤波方式和滤波方式。
CAN通信非滤波方式:本例程只需使用一块宝马开发板即可进行实验,实验将开发板串口与电脑相连,CAN1CAN2相连,电脑通过串口向开发板发送字符,开发接收到字符后通过CAN1将字符发送出去,CAN2接收到CAN1发送的数据后通过串口打印出来,其主函数如下:
程序初始化CAN1CAN2控制器后通过串口打印测试信息,其中波特率配置如下,本实验使用的CAN时钟为25MHz,通过配置CAN总线时序寄存器来配置总线波特率25M/(BRP+1)/(SJW+TESG1+TESG2)



CAN通信非滤波方式:本例程使用USBCAN进行调试,将开发板串口与电脑相连,USBCAN与开发板CAN1接口相连,打开电脑CAN总线调试工具设置波特率为500KBps连接设备,串口调试助手发送字符到开发板后通过CAN1发送出去,在CAN总线调试工具中分别设置不同的ID发送数据,当ID在滤波范围内,开发板即可接收到数据并通过串口打印出来。


7、实验现象
1)非滤波方式:设置串口波特率为9600,插上跳线帽JP15,串口调试助手输入字符即可回显出来
2)滤波方式:设置串口波特率为9600,连接USBCAN调试助手,波特率设置为500K,改变发送ID,当ID在滤波范围内,串口打印接收到的字符

游客,如果您要查看本帖隐藏内容请回复


此帖出自NXP MCU论坛

最新回复

好文章,拜读  详情 回复 发表于 2016-2-27 11:11

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

1万

帖子

26

TA的资源

裸片初长成(高级)

沙发
 
文章不错!

实际上只要适合ODBII的几个标准,具体什么车,只要数据库更新一下即可
此帖出自NXP MCU论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
文章不错!
此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
文章不错!
此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
学习学习
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

6
 
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
此帖出自NXP MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

7
 
期待中。。。
此帖出自NXP MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

8
 
CAN2的滤波是怎么设置呢,会不会不会响应接收中断呢???
此帖出自NXP MCU论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

9
 
正需要      谢谢楼主~~~~~~~~~
此帖出自NXP MCU论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢啦
此帖出自NXP MCU论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

11
 
lihai
此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 

此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
写的不错,收了,谢谢!
此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
hao,bashi
此帖出自NXP MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

15
 
学习。。。。。。
此帖出自NXP MCU论坛
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(初级)

16
 
。。。。。。。。。。。。。。。
此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

1

TA的资源

一粒金砂(初级)

17
 
感谢啊,正在学习LPC1768的CAN啊,还没调试通
此帖出自NXP MCU论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

18
 
写的不错,谢谢楼主
此帖出自NXP MCU论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

19
 
看看。不错的资料
此帖出自NXP MCU论坛
 
 
 

回复

305

帖子

0

TA的资源

一粒金砂(高级)

20
 
嘿嘿,宝马1768出书了
此帖出自NXP MCU论坛

点评

[attachimg]183302[/attachimg]  详情 回复 发表于 2014-12-23 15:29
 
个人签名http://openmcu.taobao.com]77[/url]
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表