基于DSP 内嵌ECAN模块的总线接口设计
一个消息有11位或29为标识符、一个控制域和最多8个字节的数据构成。当要发送一个消息时,消息控制器把这个消息发送到CPK 的发送缓冲区中,以便在下一个总线空闲状态时开始发送消息。当多于一个消息要被发送时,最高优先级的消息将被消息控制器发送到CPK中,如果两个消息的优先级相同,则大序号的邮箱首先发送。
1.3 接口电路设计
本文使用的接口管理CPU 为TMS320F2812,使用其内部集成的ECAN模块,因此只需要连接CAN总线收发器模块和隔离器件即可实现CAN总线接口功能。
ECAN接口电路图如图3所示。
ADM3053的左侧为逻辑端,逻辑端管脚接线如下:
(1)RXD 和TXD 分别接DSP 的ECANRX 和ECANTX引脚;
(2)VCC接逻辑端VCC(+5 V)电源;
(3)VIO接DSP的IO供电电压VIO;
(4)GND管脚接逻辑端地线端GND_LOG.
ADM3053 的右侧为总线端,总线端的管脚接线如下:
(1)CANH 和CANL 之间与CAN 物理总线相连,且确保总线两端并联120 Ω端接电阻;
(2)总线端电压输入VISOIN 接隔离电压输出VI-SOUT,并通过滤波电容接地;(3)CANH和CANL连接共模电感ACT45B-510-2P,滤除总线上的共模信号;
(4)CANH和CANL并联TVS管PESD1CAN,作为瞬态抑制保护,防止总线上的瞬变干扰。
2 软件设计
2.1 ECAN的存储器映射ECAN的寄存器被映射到片内存储器的外设帧1区域,CPU 用这些寄存对CAN 的消息对象进行配置和控制,控制和状态寄存器只允许32 位存取。ECAN 提供了32个消息邮箱,每个邮箱可以配置为发送或接收邮箱。消息是一块RAM 区域,映射到DSP 的RAM 存储器,每个邮箱RAM 的地址分配如图4 所示。消息邮箱用来存储接收到的CAN消息或存放等待发送的CAN消息。当邮箱不用于存储CAN 消息时,CPU 可以将消息邮箱RAM 空间当成通用存储器使用。ECAN模块寄存器和消息RAM空间如图4所示。
2.2 通信软件
2.2.1 系统初始化
ECAN模块初始化在初始化模式下才能进行,初始化模式和正常操作模式之间的转换时通过CAN网络同步实现的,也就是说,CAN 控制器在改变模式之前,要检测总线空闲状态(等于11个接收位),如果产生支配总线错误,CAN控制器将不能检测到总线空闲状态,因此也不能完成模式切换。将CCR寄存器置1,使CAN模块工作于初始化模式,而且只有CCE寄存器设置为1时,才能执行初始化操作。完成上述设置后,才能操作ECAN模块配置寄存器。ECAN模块的初始化流程如图5所示。
2.2.2 消息发送
隔离器相关文章:隔离器原理
评论