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

TMS320F28075: CAN通信的滤波功能

Part Number:TMS320F28075

关于CAN滤波这块,想请教下

1.手册中下图这个结构体是什么意思?这个并不是寄存器的配置位对吧?如何能将其中的位和具体寄存器对应上呢?比如说MsgVal,具体在哪个寄存器来设置其为0或者1呢?

2.关于Mask的使用。

我的理解是首先需要使能Mask功能,也就是在上面表格中需要设置UMask位为1才行,其次还需要根据MSGID的位数(11位或者29位)来设置相应的滤波配置位。

比如说发送出来的MSGID为0X0003(即最后两位为1)和0X0007(即最后三位为1)

如果不使能Mask功能,那么即使将CAN网络节点的CAN_setupMessageObject()函数的第三个输入参数配置为0X0003,该节点也依然会同时受到MSGID为0X0003和0X0007的两个报文信息,因为此时的Mask功能未使能,因此设置的接受报文ID数据(0X0003)是没有用的信息,不知道这种理解方式是否正确?

TI目前给的例程都是单发单收,但是接收端是设置了明确的MSGID(和发送的MSGID保持一致)。不太明白这种情况下接收端能接收到数据,是因为设置了不使用Mask功能,还是因为发送接收的MSGID是一致的。

在上面的例子中,如果只想要接受0X0003这个MSGID的数据,那么接收端是否应该配置接收MSGID信息为0X0003,并且要使能Mask、设置msgIDMask为全0XFFFFFFFF?

目前理解是,如果想要让接收节点的某一位严格匹配其MSGID中的相应位,那么就必须要使能Mask且相应位必须设置为1,不知是否正确?

3.目前TI例程里在对CAN进行配置的时候,主要是用到了CAN_setupMessageObject()函数,但在哪里能体现是否有使能Mask功能呢?

Ben Qin:

你好,

user4425193 说:1.手册中下图这个结构体是什么意思?这个并不是寄存器的配置位对吧?如何能将其中的位和具体寄存器对应上呢?比如说MsgVal,具体在哪个寄存器来设置其为0或者1呢?

这是message object的架构。请看图上的这句话:The grayed fields are those parts of the message object which are represented in dedicated registers。灰色部分有对应的寄存器设置。所有的CAN寄存器都在手册21.15章节有详细描述。请查看它们的详细介绍。

user4425193 说:3.目前TI例程里在对CAN进行配置的时候,主要是用到了CAN_setupMessageObject()函数,但在哪里能体现是否有使能Mask功能呢?

看看这个例程是否有帮助。

,

Ben Qin:

user4425193 说:2.关于Mask的使用。

我咨询资深工程师后回复您。

,

Ben Qin:

user4425193 说:2.关于Mask的使用。

请看参考www.ti.com/lit/SPRACE5的解释,还有问题的话请让我知道。

user4425193 说:3.目前TI例程里在对CAN进行配置的时候,主要是用到了CAN_setupMessageObject()函数,但在哪里能体现是否有使能Mask功能呢?

它在CAN_setupMessageObject()函数中通过参数的形式传输。

,

user4425193:

阴影部分对应了寄存器

那非阴影部分呢?Mtxd和MDir对数据filtering有影响,需要配置吗?但又是非阴影的,如何改变他们的数值呢?

,

user4425193:

是否可以理解为,如果一个接受邮箱想要收到数据,那么在使能Mask的前提下,需要同时满足MXtd、MDir以及msgIDMask的同时影响?

,

Ben Qin:

我已向工程师跟进,但是相关工程师需要过几天才能答复,感谢您的耐心,一旦有回复我会立即回复给您。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28075: CAN通信的滤波功能
分享到: 更多 (0)