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远程发送请求
|
用户188034 2009-9-14 19:31