RELIANCE 0-49008-2销售进口
日期:2018-8-22;写CAN邮箱内容前寄存器设置
LDP#DP_CAN
SPLK #0040H,MDER ;不使能邮箱,邮箱2设为接收方式
SPLK #0103H,MCR;CDR=1,数据区改变请求
;写CAN邮箱内容
LDP#DP_CAN2
SPLK #2447H,MSGID2H;设置邮箱2控制字及ID
;IDE=0,AME=0,AAM=0
;标准方式为MSGID2H[12~2>
SPLK#0FFFFH,MSGID2L
SPLK#08H,MSGCTRL2;设置控制域
;数据长度DCL=8,RTR=0数据帧
SPLK#00000H,MBX2A;邮箱2信息初始化
SPLK#00000H,MBX2B
SPLK#00000H,MBX2C
SPLK#00000H,MBX2D
SPLK#2447H,MSGID3H;设置邮箱3的标识符
SPLK#0FFFFH,MSGID3L
SPLK#08H,MSGCTRL3;RTR=0,DCL=8
SPLK#02211h,MBX3A;邮箱3信息初始化
SPLK#04433h,MBX3B
SPLK#06655h,MBX3C
SPLK#08877h,MBX3D
;写CAN邮箱内容后寄存器设置
LDP#DPCAN
SPLK#0480H,MCR;DB0=1,AB0=1,STM=0
SPLK#04CH,MDER;ME3=1,MBX3发送,ME2=1接收
SPLK#0F7FFH,CAN_IMR;中断MBX3无效,MBX2使能,
;中断优先级
SPLK#0FFFFH,CAN_IFR;清全部中断标志
RET
邮箱中断设置CAN模块专属中断寄存器有CAN_IFR和CAN_IMR,使用方法与一般中断寄存器相同。但TMS320LF2407A 采用二级中断方式,高优先级模式的CAN邮箱中断对应INT1,高优先级CAN错误中断对应INT2;而低优先级CAN邮箱中断和CAN错误中断都对应INT5。所以在程序中要开放对应一级中断。接收帧ID的读入在接收事件中,通常一个邮箱要接收多节点帧。因此,信息帧ID的读出也很重要。不管有没有屏蔽,所接收信息帧的ID会被置入MSGIDnH和MSGIDnL,但接收邮箱的ID并没有改变[5>。
程序框图如图3所示,实验程序使用邮箱2接收,邮箱3发送。通讯软件可以采用查询方式或中断方式,主要包括CAN控制器初始化程序、接收邮箱与发送邮箱设置、发送程序、接收程序。
发送程序只需要设定发送控制寄存器相应位;接收程序要完成:
读取已接收的邮箱标识符格式;
读取接收的标识符;
读取接收的数据长度;
读取接收的数据值。
上位机通过适配器与CAN总线连接,用VC6.0编写监控软件,并定义上位机作为局域网操作服务器,用户通过它可以对各个伺服单元进行操作。
结语
CAN总线具有良好的网络通信功能、高可靠性、抗干扰能力强且经济实用,是一种很有前途的现场总线技术。它的应用将为分布式运动控制提供一种新的解决方案,会受到人们越来越多的重视。新一代的智能数字伺服系统通过CAN总线于开放式数控系统互联,是运动控制领域发展的一个重要方向