Xu-Blog

养一猫一狗,猫叫啵啵,狗叫没想好~~

0%

关于CAN通信的一些记录

昨天设计了电源板,今天要设计通信板,想到几点记录一下。

CAN模块的功能是处理所有CAN总线上的报文接收和发送。报文发送时,首先将报文装载到正确的报文缓冲器和控制寄存器中。通过SPI接口设置控制寄存器中相应位或使用发送使能引脚可启动发送操作。通过读取相应的寄存器可以检查通讯状态和错误。会对在CAN总线上检测到的任何报文进行错误检查,然后与用户定义的滤波器进行匹配,以确定是否将报文移到两个接收缓冲器中的一个。

常见的一些MCU,如AVR,STM等单片机都继承了CAN控制器,所以只需要外接一个CAN收发器即可完成功能。

对于一些本身并不支持CAN总线的设备,需要使用SPI接口或者一些其他通讯接口,接一个CAN控制器。(例如树莓派本身不支持CAN总线,就需要使用SPI接口的MCP2515作为CAN控制器)

一些关于CAN的基础知识:

首先时CAN的全称:Controller Aera Network,翻译过来就是控制局域网络。

最早被设计出来用于汽车电子,当然现在也是主要用在汽车,工业,医疗,船舶,航天等领域。

例如汽车上,各种部件都由CAN总线连在一起,空调、车门、发动机、气囊、网关等。

End~~请支持原创撒花= ̄ω ̄=花撒
如果您读文章后有收获,可以打赏我喝咖啡哦~