打印
[MCU]

基于MCP2515的多路CAN总线接口电路设计

[复制链接]
479|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基于MCP2515的多路CAN总线接口电路设计

 目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(MCP2515等)与MCU进行通信。由于本设计采用PC /104总线扩展卡的方式来扩展多个RS232和RS485接口,没有多余的I/O片选线可用,因此最终选用9200的SPI接口与MCP2515进行多 路CAN总线接口的扩展。MCP2515是Microchip公司推出的具有SPI接口的独立CAN控制器。它完全支持CAN V2.0B技术规范,通信速率最高可达1 Mbps,内含3个发送缓冲器、2个接收缓冲器、6个29位验收滤波寄存器和2个29位验收屏蔽寄存器;它的SPI接口时钟频率最高可达10 MHz,可满足一个SPI主机接口扩展多路CAN总线接口的需要。

  图是MCP2515的外围CAN总线接口框图,图中省略了MCP2515和9200的接口部分。由于设备需要安装在铁路沿线,必须具有防雷击的能 力。因此MCP2515与CAN总线收发器之间采用高速光耦进行完全的电气隔离,并且光耦两端电路的电源也必须用电源隔离模块隔离开, 这样才能真正起到隔离的作用。在TJA1050的CANH和CANL引脚与地之间连接2个30 pF的电容,可以过滤CAN总线上的高频干扰;2个二极管可以在总线电压发生瞬变干扰时起保护作用。光耦正常工作时输入电流为10 mA左右,内部发光二极管的正向电压降为1.7 V左右,因此要特别注意输入端串联电阻的阻值选择。


  串口通信模块:电池管理系统将采集处理后的数据通过串口发送到PC机界面上,实现人机交互。通过串口界面,可以观察到电池的总电压、单体电压、电流、SOC、故障状态、充放电功率等参数,还可以通过串口发送实现管理系统的在线标定。其硬件电路主要基于MAX232芯片,如图)所示。

  MAX232 是+5V电源的收发器,与计算机串口连接,实现RS-232接口信号和TTL 信号的电平转换,使BMS 和PC 机能够进行异步串行通讯。为了防止电磁干扰影响串口上数据的传输,必须对总线信号进行隔离。串口是单向传输,所以利用6N137光电耦合较为方便)所示为232TXD 信号光耦隔离电路。

  CAN通信模块:CAN通信是架接电池管理系统(BMS)与整车HCU 之间的信息桥梁,BMS将电池的状态参数通过CAN总线发给HCU,HCU 通过判断当前的电池状态来做出决策,分配电机和发动机之间的功率,控制电池的充放电。同时BMS还可以接收HCU 发来的相关命令,做出相应的处理。其硬件方面主要是通过PCA82C250通用CAN收发器来提供对总线数据的差动发送能力和对通信总线数据的差动接收能 力。通过类似于图)的光耦隔离电路来加强CAN 总线上的抗干扰能力。其硬件电路由图所示。



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

1077

帖子

10

粉丝