理论教育 如何在CAN总线中设置可靠的发送请求寄存器

如何在CAN总线中设置可靠的发送请求寄存器

时间:2023-06-15 理论教育 版权反馈
【摘要】:当邮箱n准备好了发送,CPU就设置发送请求置位寄存器的CANTRS.n位为1来启动发送。当发送成功或终止时复位这些位。如果置位RTR位,则不会忽略接收邮箱的CANTRS.n位。一旦远程帧发送出去,CAN模块就清零CANTRS.n位。如果CPU要对该位置位而eCAN模块要对它清零,则将该位置位。置CANTRS.n位将引起发送特定信息n,也可以同时设置几个位。因此,置位CANTRS位的所有信息将依次发送,从有最高序号的邮箱开始,除非有的邮箱的优先级TPL位未置位。

如何在CAN总线中设置可靠的发送请求寄存器

当邮箱n(0~31)准备好了发送,CPU就设置发送请求置位寄存器的CANTRS.n位为1来启动发送。

一般来说,CPU置位这些位,而被CAN模块逻辑复位。CAN模块也可以为一个远程帧请求而设置这些位。当发送成功或终止时复位这些位。如果一个邮箱配置为接收邮箱,则将忽略CANTRS寄存器中对应的位,除非该接收邮箱用于处理远程帧。如果置位RTR位,则不会忽略接收邮箱的CANTRS.n位。因此,如果一个接收邮箱(置位RTR位)的CANTRS位置1,则将发送一个远程帧。一旦远程帧发送出去,CAN模块就清零CANTRS.n位。所以,同一个邮箱可以向另一个节点请求一个数据帧。如果CPU要对该位置位而eCAN模块要对它清零,则将该位置位。

置CANTRS.n位将引起发送特定信息n,也可以同时设置几个位。因此,置位CANTRS位的所有信息将依次发送,从有最高序号的邮箱(对应于最高优先级)开始,除非有的邮箱的优先级TPL位未置位。

CPU通过向CANTRS寄存器写入1来置位,写入0无效。上电之后,所有的位都清零。(www.daowen.com)

位31~0,TRS[31:0]:发送请求置位位。

●1:CAN控制器将发送相应邮箱的信息帧。可以同时设置几位而依次发送信息帧。

●0:无操作。

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

我要反馈