2.2 DSP CAN控制器
TM 5320 F2407是TI公司新一代16位定点DSP芯片,用十数字电机控制和嵌入式控制器。片内CAN模块是一个完全的CAN控制器,其结构框图如图2所示。CAN模块是一个16位外设,有控制/状态寄存器的访问和邮箱的RAM访问两种方式。该CAN控制器具有如下特性:
(1)全面兼容CAN 2. 0B协议,具有标准和扩展标识符日_有数据帧和远程帧;
(2)对象有6个邮箱(MBOXO一5),其长度为0~8个字节。它们是48 x 16位的RAM区,CPU或CAN可按16位读或写。每个邮箱为8x16位的RAM,由“箱0,1只用作接收,邮箱4,5只用作发送,而邮箱2,3可用作接收或发送;
(3)对邮箱0,1和2,3有局域接收屏蔽寄存器;
(4)可编程的位定时器;
(5)中断配置可编程;
(6)可编程的CAN总线唤醒功能;
(7)自动恢复远程请求;
(8)当发送出错或仲裁丢失数据时,CAN控制器有自动重发功能;
(9)总线错误诊断功能;
(10)自诊断功能。
3 数字伺服系统网络硬件与软件设计
3.1 DSP CAN接口电路设计
使用CAN总线技术将伺服驱动和主控系统连成现场控制网络。主控系统上位机采用研华公司PCL-841片实现CAN总线通讯,伺服驱动系统采用TMS320 F2407片内CAN控制器。
TMS320 F2407 DSP芯片的CAN总线控制器与CAN物理总线的接口采用82 C250驱动器芯片。8X250采用阻抗为120 SZ双绞线作通讯介质,信号采用差动接收和发送,抗干扰能力强,最高通信速率可达1 Mbps。通过对8X250引脚8(RS)的不同连接,可以实现三种不同的土作方式:高速、斜率控制和待机。本系统采用斜率控制,以降低射频干扰。为了增加抗干扰能力,保护CAN控制器,在TMS320F2407与8X250之间加高速光电隔离器,光电隔离器采用HP公司HCPL-2630芯片,速度为lOMHz,电路如图3所示。
3.2 CAN控制器软件设计
对十CAN网的实现,智能终端(即CAN节点)软件设计主要包括两大部分,即通信网络的应用层协议和节点实现功能的流程和编码。
3.2.1 邮箱初始化配置
初始化包括对管脚的配置、波特率的设定、邮箱的收发配置等。首先,配置MCRB寄存器,将IOPC6和IOPC7引脚配置成特殊功能,即CANRX和CANTX;其次,配置MDER寄存器,即配置邮箱的使能和邮箱2一3的功能;最后,对屏蔽ID寄存器进行配置,可以屏蔽任意位的ID。这种寄存器只对接收邮箱起作用。
3.2.2波特率设定
波特率设定主要和3个寄存器有关:SCSR1(系统控制和状态寄存器1) , BCR1(位配置寄存器)和BCR2(位配置寄存器2)。在配置之前,明确要实现的波特率和品振频率。要注意的是在对位定时器进行配置时,CAN控制器必须处十复位模式下,即CCR=1。
3.2.3 由}S箱的收发配置
在进行数据域改变之前,首先要禁用邮箱,然后置位数据域,改变请求。再设置邮箱ID和信息控制寄存器。若是发送邮箱,则在数据域存放预发送数据;若是接收邮箱,则清空接收缓存。
邮箱中断设置CAN模块令属中断寄存器有CAN_IFR和CAN_ IMR,使用方法与一般的中断寄存器相同。但TMS320 LF2407 A采用了二级中断方式,高优先级模式的CAN邮箱中断对应INT1,高优先级CAN错误中断对应INT2;而低优先级的CAN由“箱中断和CAN错误中断都对应INTS。所以在程序中也要开放对应的一级中断。接收帧ID的读入在接收事件中,通常一个邮箱要接收多节点帧。因此,信息帧ID的读出也很重要。不管有没有屏蔽,接收了的信息帧的ID会被置入MSGIDnH和MS-GIDnL。但事实上,该接收邮箱的ID并没有改变。
实验程序使用邮箱2接收,邮箱3发送。通讯软件可以采用查询方式或中断方式,主要包括CAN控制器的初始化程序、接收邮箱与发送邮箱设置、发送程序、接收程序,程序框图如图4所示。
发送程序只需要设定发送控制寄存器的相应位即可实现发送。
接收程序要完成:
(1)读取已接收的邮箱标识符格式;
(2)读取接收的标识符;
(3)读取接收的数据长度;
(4)读取接收的数据值。
3.2.4 监控主机的软件
用一台土控机作为监控机,通过适配片与CAN连接。在监控机上用VC 6.0编写监控的操作软件,并日_把监控机作为局域网上的一台操作服务器,用户通过它可以对各个模块进行操作。
4 结语
CAN总线具有功能特性好、可靠性高、抗干扰能力强日_经济实用,是一种很有前途的现场总线。它的应用将为分布式运动控制提供一种新的解决方案,会受到人们越来越多的重视。新一代的智能数字伺服系统通过CAN总线与开放式数控系统互连,是运动控制领域发展的一个重要方向。