摘要:做电动汽车充电桩产品时,采用CAN总线与电池箱/车载电池进行通讯。但用的CPU芯片ATMEL9260没有CAN控制器模块,因此需要外围扩展独立的CAN控制器,以满足产品功能需求。
在CAN控制器选型上,选用了应用广泛且采用SPI接口的MCP2515 CAN控制器,其实最重要的原因是,公司有相关产品采用了此芯片,因此有了相应的开发基础。
MCP2515的中文资料随处可见,本文是reille在阅读MCP2515和CAN总结协议2.0的基础上,所做的一些开发笔记和总结。
MCP2515是Microchip公司生产的具有SPI接口的独立CAN控制器,完全支持CANV2.0B技术规范,通信速率最高可达1 Mbps,内含3个发送缓冲器、2个接收缓冲器、6个29位验收滤波寄存器和2个29位验收屏蔽寄存器;它的SPI接口时钟频率最高可达10 MHz,可满足一个SPI主机接口扩展多路CAN总线接口的需要。
滤波寄存器与屏蔽寄存器的作用:
根据CAN协议,一个节点发送数据时,CAN网络上的其它任何节点都可以收到数据,而如果不进行滤波和屏蔽,则节点的MCU需要处理每一个收到的数据,这就导致了MCU需要更多的时间来处理接收到的数据,因此,为节省MCU处理时间和节省资源,MCP2515(其它CAN器件亦是如此)具有硬件屏蔽和滤波功能。
屏蔽寄存器的功能:决定接收报文中的某位是否与滤波寄存器中的相应位进行严格匹配,1有效。
信息标识符的分配:
CAN协议,只是定义了物理层和数据链路层,因此需要用户根据应用需求定义自己的应用层协议,即设计或分配通讯报文的信息标识符。
在应用层协议设计的过程中,要充分考虑信息标识符的制定,这与系统的性能有直接关系。
信息标识符的分配原则:
(1) 在同一系统中,每条信息必须标以唯一的信息标识符。
(2) 具有相同标识符且数据长度码不为0的数据帧仅可由一个节点启动,防止仲裁失效。
(3) 相同标识符的远程帧不能同时发送。
(4) 规划信息标识符,规定每一部分的功能。
优先权的分配原则:
(1) 实时性要求高的优先级分配要求高。
(2) 具有相同标识符的帧,数据帧优先权高于远程帧。
为了实现各厂家可以实现相互通讯,一些行业领导者,定义了一些标准的基于CAN的协议,如DeviceNet、CANopen等CAN协议。
工程布线:
采用双绞线,总线形;
长距离通讯时,要接上匹配终端电阻;
双绞线的屏蔽线最好接大地。
您好,我也在做充电桩方面的东西,能跟您联系吗,QQ396505506,谢谢!
是吗,莫非你也在做can通信部分?
已加你QQ