理论教育 掌握CAN模块接收屏蔽寄存器设置

掌握CAN模块接收屏蔽寄存器设置

时间:2023-06-15 理论教育 版权反馈
【摘要】:邮箱2~0使用标准模式寄存器的局部接收屏蔽寄存器LAM。要改变全局接收屏蔽寄存器和标准模式的两个局部接收屏蔽寄存器,必须将CAN模块设置为初始化模式。局部接收屏蔽寄存器允许用户局部屏蔽掉进入信息的任何标识符位。在eCAN模式复位以后,LAM寄存器不修改。位31,LAMI:局部接收标识符扩展屏蔽位。在标准帧的情况下,仅使用标识符和局部接收屏蔽寄存器的前11位。位30~29,保留位。

掌握CAN模块接收屏蔽寄存器设置

接收信息的标识符首先要与邮箱的标识符(存放在邮箱内)相比较,然后,对应的接收屏蔽寄存器将屏蔽掉标识符中不需要比较的位。

在标准模式时,全局接收屏蔽寄存器(CANGAM)用于邮箱15~6。接收信息存放在标识符匹配的最高序号邮箱中。如果在信息对象15~6中没有匹配的标识符,则接收的信息与邮箱5~3的标识符进行比较,如果还是不匹配,再与邮箱2~0的进行比较。

邮箱5~3使用标准模式寄存器的局部接收屏蔽寄存器LAM(3)。邮箱2~0使用标准模式寄存器的局部接收屏蔽寄存器LAM(0)。

要改变全局接收屏蔽寄存器(CANGAM)和标准模式的两个局部接收屏蔽寄存器,必须将CAN模块设置为初始化模式。

eCAN模块的32个邮箱每一个都有自己的局部接收屏蔽寄存器,它们是LAM(0)~LAM(31)。eCAN模式中没有全局接收屏蔽。

用于比较的屏蔽位的选择取决于所使用的模式(标准模式或eCAN模式)。

局部接收屏蔽寄存器(LAM,Local Acceptance Mask Register)允许用户局部屏蔽掉进入信息的任何标识符位。

在标准模式时,局部接收屏蔽寄存器LAM(0)用于邮箱2~0。局部接收屏蔽寄存器LAM(3)用于邮箱5~3。对于邮箱6~15,使用全局接收屏蔽寄存器(CANGAM)。

在标准模式的硬件或软件复位以后,LAM(0)和LAM(3)寄存器复位为0。在eCAN模式复位以后,LAM寄存器不修改。(www.daowen.com)

在eCAN模式,每一个邮箱(0~31)都有自己的屏蔽寄存器,分别是LAM(0)~LAM(31)。接收的信息存放在标识符匹配的最高序号的邮箱中。

位31,LAMI:局部接收标识符扩展屏蔽位。

●1:可以接收标准帧和扩展帧。在扩展帧的情况下,标识符的所有29位存放到邮箱中,局部接收屏蔽寄存器的所有29位都用于接收滤波器。在标准帧的情况下,仅使用标识符和局部接收屏蔽寄存器的前11位(位28~18)。

●0:存放在邮箱中的标识符扩展位设定应该接收哪些信息。

位30~29,保留位。

位28~0,LAMn[28:0]。这些位对进入信息标识符任何位的屏蔽使能。

●1:对接收标识符对应的位接收0或1(无关)。

●0:接收标识符位的值必须与MSGID寄存器对应标识符位的值相匹配。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈