eCAN通信详解:ISO 15765-2 2016版中的数据请求与处理

需积分: 40 20 下载量 125 浏览量 更新于2024-08-06 收藏 1.12MB PDF 举报
"从另一个节点请求数据-iso 15765-2 2016 最新版 - TMS320F2833x,2823x 增强型局控制器域网(eCAN) Reference Guide" 本文档详细介绍了在TMS320F2833x和2823x微控制器中,eCAN(Enhanced Controller Area Network,增强型控制器局域网)模块如何处理从另一个节点请求数据的流程,以及相关寄存器和配置过程。eCAN是遵循ISO 15765-2标准的CAN协议实现,常用于汽车电子系统和其他工业自动化领域。 2.4 接收一个消息 在eCAN模块中,当接收到消息时,接收消息等待寄存器(CANRMP)的相应标志会被置为1,触发中断。CPU需要读取邮箱中的消息前,先清除RMP.3标志,同时检查接收消息丢失标志RML.3,以确定消息是否完整。如果RMP位再次被设置,可能表明数据已损坏,需要重新读取。 2.5 过载情况下的处理 在处理大量重要信息时,为同一标识符配置多个邮箱可以避免数据丢失。例如,对象3、4和5有相同的标识符和掩码,当使用SCC模式时,可以设置对象4和5的OPC标志,以防止未读消息被覆盖。如果CPU无法及时处理,CAN模块会按照邮箱优先级存储消息,直到找到空闲邮箱。 3.1 从另一个节点请求数据 请求数据的过程涉及以下步骤: 1. 设置消息控制字段寄存器(CANMSGCTRL)的RTR位为1,表示这是一个远程帧请求。 2. 写入正确的标识符到消息标识符寄存器(MSGID)。 3. 设置CANTRS标志,启动远程请求消息的发送。 4. 等待RMP位被设置,这表示收到应答,可能触发中断,同时确保没有其他邮箱与请求ID冲突。 此外,文档还涵盖了eCAN的其他关键特性,如内存映射、寄存器配置、消息对象、消息邮箱的细节以及各种中断和控制寄存器的功能,这些内容对于理解和使用eCAN模块进行通信至关重要。例如,CANME寄存器用于启用邮箱,CANMD用于设置邮箱的方向,CANTRS用于设置发送请求,CANRMP和CANRML则用于监控接收消息的状态。通过精确配置这些寄存器,可以确保eCAN模块高效且可靠地执行CAN协议中的各种操作。