DSP 28069 eCan

@TOCDSP 28069 Ecan模式的简单整理
DSP 28069 eCan模块
1.消息单元
1.1eCAN模块有32个消息对象(邮箱)。可以将每个消息对象配置为发送或接收。每个消息对象都有自己的对象
接收掩码(在eCAN模式下;不在SCC模式)
/*
DSP SCC模式是指在数字信号处理器(DSP)中使用同步协处理器(SCC)来实现高速数据传输和处理。
SCC是一种专门用于高速数据传输的硬件,可以实现高速的DMA传输和数据缓存,从而提高DSP的数据处理能力。
*/
1.2.一个消息对象由一个消息邮箱组成:
(1)29位消息标识符
(2)消息控制寄存器
(3)DLC 8字节的消息数据
(4)一个29位接受掩码
(5)32位时间戳
(6)32位的超时计数
此外,寄存器中相应的控制位和状态位允许对消息对象进行控制。
2.邮箱信息
2.1消息邮箱是接收到CAN消息后实际存储的RAM区域或者在它们被传播之前。
CPU可以使用消息邮箱的RAM区域,而这些区域通常用于存储消息内存。
2.2一个消息邮箱包含以下几个部分:
(1)消息标识符 (11bit or 29bit)
(2)标识符扩展位,IDE(MSGID.31)
(3)接收掩码使能位AME(MSGID.30)自动应答模式位
(4)发送优先级TPL(MSGCTRK 12-8)
(5)远程传输请求位RTR MSGCTR 4
(6)数据长度 DLC(MSGCTRL 3-0)
(7)最多八个字节的数据字段
2.3每个邮箱都可以配置为四种消息对象类型之一(发送消息对象,接收邮箱对象,远程请求消息对象)。传输接收消息对象用于一个发送方和多个接收方(1)之间的数据交换
(通信链路),而请求和应答消息对象则用来建立一对一通信链接。邮箱内存布局如表16-2(page 1008)所示.
3.发送邮箱
3.1.1 CPU将需要传输的数据存储在配置为发送邮箱的邮箱中。写入数据后并将标识符放入RAM,如果设置了相应的TRS[n]位,则发送消息
通过设置相应的CANME来启用邮箱。
3.1.2 如果配置了多个邮箱作为发送邮箱,并且设置了多个对应的TRS[n],则发送邮箱的
消息按降序依次发送,从优先级最高的邮箱开始。
3.1.3在scc兼容模式下,邮箱的传输优先级取决于邮箱号的最高的邮箱号(=15)包含最高的发送优先级.
3.1.4 在eCAN模式下,邮箱传输的优先级取决于配置文件中TPL字段的设置,消息控制域(MSGCTRL)寄存器。TPL中值最高的邮箱首先被发送。
只有当两个邮箱在TPL中具有相同的值时,编号较高的邮箱才会首先传输。
3.1.5 如果由于仲裁丢失或错误导致传输失败,则将重新尝试发送消息。在重新尝试传输之前,CAN模块检查是否有其他传输请求。如果TRS一个更高优先级(由MBX号或相关的TPL值决定)的邮箱已经被删除了
设置在发送缓冲区中的消息失去仲裁之前,发送缓冲区的内容将被替换优先级高的邮箱,仲裁丢失后优先级高的邮箱将被发送。但是,如果该TRS位是在发送缓冲区中的消息失去仲裁之后设置的,则优先级较高
只有在发送缓冲区中的当前消息被发送之后,才会发送MBX。
4.接收邮箱
4.1 将每条传入消息的标识符与使用的接收邮箱中保存的标识符进行比较合适的口罩。当检测到相等时,接收到的标识符、控制位和数据字节写入匹配的RAM位置。同时对应的receive-message-pending位,
设置RMP[n] (RMP.31-0),如果使能则产生接收中断。如果未检测到匹配项,则返回消息不存储。
4.2 当收到消息时,消息控制器开始在带有的邮箱中查找匹配的标识符最高的邮箱号码。在SCC兼容模式下,eCAN的邮箱15的接收优先级最高;在eCAN模式下,邮箱31的接收优先级最高。
4.3 RMP[n] (RMP.31-0)在读取数据后需要被CPU复位。如果收到第二条信息对于此邮箱,并且已经设置了receive-message-pending位,则相应的消息丢失位(RML[n])
(RML.31-0))设置。在这种情况下,如果设置覆盖保护,则存储的消息将被新数据覆盖位OPC[n] (OPC.31-0)被清除;否则,将检查下一个邮箱。
4.4 如果将邮箱配置为接收邮箱,并设置了RTR位,则该邮箱可以发送远程邮件框架。发送远程帧后,CAN模块将清除邮箱的TRS位。除了…之外TRS位,RTR位也被清除。需要禁用邮箱才能再次设置此位。
5.CAN模块在正常配置下运行的配置流程
5.1 如果CAN模块在正常配置下使用(即,不在自检模式下),则应该有网络上至少多一个CAN模块,配置为相同的比特率。其他CAN模块需要不被配置为实际从发送节点接收到邮箱RAM中的消息。但是,它
应该配置为相同的比特率。这是因为发送CAN模块至少需要一个在CAN网络中的节点,以确认正确接收到所传输的消息。每个CAN协议规范中,任何接收到消息的CAN节点都将进行确认(除非有确认机制)
已显式关闭),而不管它是否已配置为存储接收到的消息或不是。在eCAN模块中不可能关闭确认机制
5.2 不存在其他节点对自检模式的要求。在这种模式下,一个发送节点产生自己的确认信号。唯一的要求是将节点配置为任何有效的比特率。也就是说,位计时寄存器不应该包含CAN协议不允许的值。
5.3 通过连接CANTX和CANRX引脚,不可能在外部实现直接信号传递(如可能与SCI/SPI/McBSP模块)。在自检模式下可以进行内部信号值的传递。
6 介绍eCAN模块的初始化过程和配置步骤。
6.1.1 C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值