CAN是一种串行总线系统,特别适合用于网络化的“智能”I/ O设备中[1]。CAN总线最初是由保时捷公司开发的,主要在汽车上使用,由于其具有多主控协议、实时能力、纠错功能和强抑噪功能[2- 4]。目前,为适应网络化的要求,交流伺服系统一般采用RS485总线扩展通信接口[5]。但RS485采用主从式的通信方式,实时性差,一旦主机通信出现故障,影响到整个系统的正常运行,特别是对于实时性和安全性要求都很高的交流伺服系统来说[6],这是不允许的。现通过对DSP芯片TMS320LF2407内嵌的CAN控制器分析,设计了基于DSP的下位机控制器与CAN总线的硬件接口和软件解决方案,实现了交流伺服控制器通过CAN接口卡与上位机的实时通信。
1 DSP 的CAN控制器
TI 公司的低功耗、高速 DSP 芯片 TMS320L F2407A具有高速运算能力和高效控制能力 。其内嵌的 CAN控制器是一个完全的 CAN 控制器[ 7 - 9 ],完全支持 CAN 210B协议 ,它主要有以下特点 : 有 6 个邮箱 ,其数据长度为 0~8 B , 其中接收邮箱有局域接收邮箱屏蔽寄存器 ,在发送出错或仲裁时丢失数据的情况下 ,有自动重发功能 、可编程的位定时器和总线错误诊断功能[ 10 ] 。CAN 控制器的内部结构图如图 1 所示。
图 1 DSP 的 CAN 控制器结构框图
工作过程如下 : CAN 控制器在接收信息时 ,先将要接收信息标识符与相应接收邮箱的标识符进行比较 ,只有标识符相同的信息才能被接收 ; 接收信息时 ,将数据存入邮箱 ,标识符存入相应的寄存器 ;接收完成后 ,中断
标志位被置位 。CAN 控制器在发送信息时 ,先将要发送的数据写入邮箱 ,再设置发送请求位 ,发送完成后发送应答信号和中断标志位被置位,如果发送失败 ,发送邮箱将再次发送。
2 系统结构
使用 CAN 总线的交流伺服系统结构原理图 , 如图 2所示。
图2 系统结构图
上位机采用带有 CAN 适配卡的通用计算机 ,上位机的主要功能是 : 通过 CAN 总线接口与 DSP 进行通信 ,接收 DSP 传来的数据进行处理并向节点发送控制指令 。节点负责数据采集 、控制 、执行 。上位机和节点之间通过 CAN 网络实现数据交换[ 11 ] 。
CAN 卡采用的是研华的双端口隔离 CAN 总线通信卡 PCL - 841 。由于带有内置的 CAN 控制器 ,841 能够提供总线仲裁及查错功能 ,可以在检查到错误时自动重发数据 ,极大地降低了数据丢失的几率 ,有效地保证了系统的可靠性 ,工作的波特率可达 1 Mb/ s。
核心控制器采用TI 公司的DSP 芯片TMS320LF2407A。2407A是电机专用控制芯片,将DSP的高速运算能力和面向电机的高效控制能力集于一体,其高速性使复杂的控制策略得以实现。DSP是整个系统的控制核心,由其来实现矢量控制、SVPWM、数字PI等控制策略,完成速度、电流调节及PWM调制。DSP与CAN物理总线之间采用PCA82C250作为接口,它可提供对总线的差动发送和对CAN控制器的差动接收能力,具有较强的抗干扰能力,通过对其引脚8(Rs)的不同连接可以实现3种不同的工作方式:高速、斜率控制和待机方式。接口电路如图3所示。该系统将该引脚通过30kΩ电阻接地,实现斜率控制方式,以降低射频干扰。因为DSP是313V供电,而82C250用5V供电,所以需要电平转换电路,必要时也使用隔离电路。
图3 TMS320LF2407A与CAN驱动接口电路
电流检测采用两个30mΩ的采样电阻检测电机两相电流,另一相可由三相定子电流的对称性计算得到。先通过HCPL788J 将小电流信号变换为电压信号,再经LM324进行放大滤波,变换为0~313V的单极性电压信号送到2407A的10位A/ D单元进行转换。速度检测采用增量式光电码盘,分辨率为2500p/ r ,提供A,? A,B,? B,Z, Z,U, U,V, V,W, W信号,其中A,B正交,Z为标志脉冲信号,U,V,W互差120°电角度。由A,B两个脉冲序列哪个先到达可确定电机的旋转方向,由脉冲数和脉冲频率可确定角位置和转速,由U,V,W信号可确定转子初始位置。
3 软件设计
3. 1 系统软件
系统软件完成整个系统大部分的功能:转速调节、电流调节、矢量变换、磁场定向控制、电流计算、角度及
转速计算、键盘和显示、以及通过CAN与上位机通信。
系统软件包括两大部分:主程序和中断服务子程序。主程序完成DSP系统初始化、运行初始化、键盘/LCD控制、运行过程的控制以及故障检测及处理等,其中运行初始化包括定时器和比较单元参数的初始化、转子初始位置确定。在中断子程序中,实现转速环和电流环的控制,完成电机的矢量控制策略,实现转速控制:转速环周期为1ms,完成转速和位置角度的计算,计算得到的实际转速与给定转速的误差通过转速调节器得到电流Q轴分量的给定值,作为电流环的输入;电流环由PWM定时中断实现,完成相电流的采样、坐标变换等计算,将实际值与给定值比较的误差通过电流调节器,再进行SVPWM脉宽调制,即可得到需要的PWM波形。
3. 2 CAN通信软件设计
CAN总线的软件设计包括3个主要部分:CAN芯片的初始化、信息的发送、信息的接收。
CAN芯片的初始化包括位定时器的设置及对邮箱进行初始化。设置位定时器就是对寄存器BCR1,BCR2进行设置,确定CAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式。初始化邮箱主要是设置邮箱的标识符、发送的是数据帧还是远程帧、对发送数据区赋初值。
信息的发送采用查询的方式,接收可采用中断方式,也可采用查询方式。流程如图4和图5所示。
图4 发送流程图
图5 采用中断方式接收流程图
调试时,可先编写自测试程序(MCR的ATM位置1) ,然后分别调试发送和接收模块,最后进行收发联调,这样可以加快调试进程。需要注意的是,在自测试模式时,不需要与CAN总线相连,接收信箱接收CAN自身的发送信箱发送的信息帧,产生应答信号,但是不能接收标识符。接收信息时,注意接收屏蔽使能位AME的设置:AME=0时,禁止相应的标识符屏蔽,接收信箱的标识符必须与被接收的信息标识符相符才能接收;AME=1时,使能相应的标识符屏蔽,设置局部接收屏蔽寄存器(LAM) 。
4 结语
这里主要是在实验室环境下,对CAN总线在变频器系统中的应用做了研究,将TMS320LF2407A用于变频调速系统,充分利用DSP强大的运算功能和丰富的外围接口电路,同时,将CAN总线引入到现场数据的传输中,从而提高了网络的可靠性和容错能力。实验结果表明,该系统正确、可靠、扩展性好。CAN总线抗干扰性强,控制效果较好。CAN总线上如果有多个以2407A为控制核心的变频调速系统,以不同的标识符来区别各个节点,多节点DSP的硬件接口设计与单节点的设计完全一样。
参考文献
[1] 邬宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社,2001.
[2] 李美玲,萧宝瑾.基于CAN总线数控系统远程输入输出模块的设计与实现[J].现代电子技术,2008,31(9) :114-115.
[3] 曹万科,张天侠,张霏霏,等. 汽车CAN总线可视化实时性分析研究及仿真[J]. 系统仿真学报,2008,2(9) :2345-2347.
[4] 蔡俊宇,徐国政,关永刚,等. 基于CAN总线和ARM的变电站在线监测装置的研制[J]. 高压电器,2006,42(6) :417- 420.
[5] 高德欣,张文武,杨清. 双速电机高精度测速与参数测试SCADA系统开发[J].电气应用,2007,26(2) :105- 108.
[6] 秦忆,李叶松.现代交流伺服系统[M]. 武汉:华中理工大学出版社,1995.
[7] 曹晨,黄声华. CAN总线在多相永磁无刷直流电机控制中的应用[J].微电机,2005,38(2) :63- 65.
[8] 李永东.交流电机数字控制系统[M]. 北京:机械工业出版社,2002.
[9] 刘和平. TMS320LF240xDSP结构、原理及应用[M]. 北京:北京航空航天大学出版社,2002.
[10] 郑尚透,赵国军,杨如峰,等.基于CAN总线的电梯群控系统的设计[J].计算机与数字工程,2006,34(10) :117- 119.
[11] 唐太岗,曾超. 基于ARM9的1553B与CAN总线转换卡的设计与实现[J].现代电子技术,2008,31(9) :45- 47
台达DOP-W系列提供10.4”/12”/15&rdqu…
JetNet 3005G · 5口全千兆RJ-45交换机 …
显示规格 一般规格 环境规格 结构规格 外形…
功能规格 …
功能规格 …
西门子SIMATIC S7-400PLC的主要特色为:极高的处理…