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总线于开放式数控系统互联,是运动控制领域发展的一个重要方向。
|