(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 消息发送
根据系统初始配置,将待发送的数据写入ECAN模块相应消息邮箱的数据区,这里需要注意数据字节顺序DBO 寄存器的设置。当DBO=0 时,数据读写从CAN-MDL寄存器的最低有效位开始,到CANMDH 寄存器的最高有效位结束。当DBO=1 时,数据读写从CANMDL寄存器的最高有效位开始,到CANMDH 寄存器的最低有效位结束。置发送命令字CANTRS.n=1,启动发送操作,ECAN模块将自动置响应命令字CANTA.n=1.最后手动清发送命令字和响应命令字。消息发送流程如图6所示。