TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28379D: 咨询关于F2837X的CAN中IF1和IF2组寄存器的使用问题

Part Number:TMS320F28379D


请问一下TI的技术支持:
在TI F2837X的CAN中,存在IF1和IF2两套寄存器组,均可配置Message RAM,但是使用时怎么配置呢?针对同一邮箱编号,能同时配置IF1/IF2组吗?分先后顺序吗?
Susan Yang:

您可以看一下用户指南 https://www.ti.com.cn/cn/lit/ug/spruhm8i/spruhm8i.pdf 

22.9 Module Initialization

The bits MsgVal, NewDat, IntPnd, and TxRqst of the message objects are reset to '0' by a hardware reset. The configuration of a message object is done by programming Mask, Arbitration, Control and Data bits of one of the IF1/IF2 Interface register sets to the desired values. By writing the message object number to bits [7:0] of the corresponding IF1/IF2 Command register, the IF1/IF2 Interface Register content is loaded into the addressed message object in the Message RAM.

通过硬件复位将消息对象的MsgVal,NewDat,IntPnd和TxRqst位复位为“ 0”。消息对象的配置是通过编程以下对象的掩码,仲裁,控制和数据位完成的:IF1 / IF2接口寄存器之一设置为所需值。通过将消息对象编号写入相应的IF1 / IF2命令寄存器的位[7:0],将加载IF1 / IF2接口寄存器的内容放入消息RAM中已寻址的消息对象。

CAN模块提供了3个接口寄存器,IF1/IF2可以对Message RAM进行读写,IF3对于Message RAM只读。

IF1和IF2都可以对Message RAM进行读写,一般建议一个专门用来写一个专门用来读

,

fusheng lu:

您是说这个通过用户自行分配如何使用吧?但如果IF1/IF2同时写同一邮箱会发生什么情况呢?会出错还是会按照配置IF1/IF2的先后顺序,逐一通过该邮箱,然后发送出去?

,

Susan Yang:

DCAN模块提供了与Message RAM接口的寄存器1和2(IF1和IF2)。您可以设置IF1将IF1寄存器集传输到消息RAM,并使用IF2从消息RAM传输到IF2寄存器集。两个接口寄存器组都可以同时使用和操作。

fusheng lu 说:但如果IF1/IF2同时写同一邮箱会发生什么情况呢?

您可以具体看一下用户指南

https://www.ti.com.cn/cn/lit/ug/spruhm8i/spruhm8i.pdf 

22.13.1 Message Interface Register Sets 1 and 2 以及

Figure 22-18. Data Transfer Between IF1 / IF2 Registers and Message RAM

When the CPU initiates a data transfer between the IF1/IF2 registers and Message RAM, the message handler sets the Busy bit in the respective Command Register to '1'. After the transfer has completed, the Busy bit is set back to '0'

IF1 / 2寄存器和消息RAM之间的传输需要4到14个系统时钟周期之间的任意时间才能完成,在此期间,寄存器受到写保护。仅当传输完成时,该位才被清除。在示例中,IF1通常用于传输对象,而IF2通常用于接收对象。

fusheng lu 说:会出错还是会按照配置IF1/IF2的先后顺序,逐一通过该邮箱,然后发送出去?

您可以使用IFx寄存器进行多次传输。关于如何使用这些IFx寄存器没有设定的规则,只要您确保IF3是只读的,而IF1和IF2可以进行读/写。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28379D: 咨询关于F2837X的CAN中IF1和IF2组寄存器的使用问题
分享到: 更多 (0)