>
TMS320C24x DSP控制器上的CAN控制器(二)
2006-7-25 9:31:00 【文章字体: 】
---如何进行远程帧编程
---发送远程帧:
● 使用2、3、4或5。邮箱2及3可配置为发送邮箱或接收邮箱。
● 在MSGCTRLn字段中设置RTR(远程发送请求)位为1。
● 设置TRS(发送请求设置)位为1。
● 远程帧将发送至CAN总线。如果远程帧自接收邮箱发送(2或3),则发送成功后不设置TA(发送确认)或邮箱标志。TRS位随后复位。
对远程帧自动应答
接收远程帧的邮箱通过发送数据帧进行自动应答。
● 仅将邮箱2或3配置为发送邮箱
● 在MSGIDn中设置自动应答模式位(AAM)。
● 如果节点接收的远程帧ID与邮箱ID相同,则其将通过发送数据帧进行自动应答(对禁用的本地接收屏蔽而言)。
发送远程帧至接收邮箱
● 仅将邮箱0、1或2、3配置为接收邮箱。
● 消息处理与数据帧一样。设置RMP(接收消息等待(Receive Message Pending))位及RFP(远程帧等待)位。
● CPU处理情况。
示例
步骤1:从邮箱5发送远程帧(节点A)
设置邮箱5的RTR(远程发送请求)位。邮箱5将在接到请求时发送远程帧。随后,当设置TCR寄存器(发送控制寄存器)中相应的TRS(发送请求设置)位时,远程帧将在CAN总线上发送。
本地接收屏蔽禁用时(MSGID2H位14),所发送的ID位(邮箱5节点A)与接收邮箱ID位(邮箱2节点B)必须匹配才能接收该帧。节点B辨认远程帧ID。邮箱5(节点A)与邮箱2(节点B)带有相同的29位标志符。
邮箱5设置:
MSGID5H=1101001100001111b
Bit15:1扩展ID
Bit14:1接收屏蔽启用
Bit13:0未设置自动应答模式
Bit12-0:标志符
MSGID5L=1111111111111111b
Bit15-0:标志符
MSGCTRL5=0000000000011000b
Bit4:1远程发送请求