激光电源中央控制器系统的通信设计
2012-10-13韦忠朝于克训马志源叶才勇
胡 闯,韦忠朝,于克训,马志源,叶才勇
(华中科技大学电气与电子工程学院,湖北 武汉430074)
激光设备的电源系统在整个激光系统中扮演着至关重要的角色,是整个系统的能量之源.激光设备中的电源必须以高效率、高可靠性、工作寿命长等优良特性来履行其系统心脏的任务.而激光电源系统的中央控制器是连接上级与下级的纽带,它承担通信任务,在整个系统中至关重要.本文的激光电源中央控制器针对不同的通信对象、不同的通信任务采用了不同的通信方式使整个电源系统能够稳定、准确、快速地反应和工作.
1 激光自备电源中央控制器通信系统
激光自备电源系统框图见图1.中央控制器是整个系统的中枢,为了实现对系统的实时监测与控制,必须保证内部各器件间正常的通信工作,以及与总控和下级各模块之间的快速、稳定、准确的通信.中央控制器核心控制部分框图见图2,其中内部的通信包括DSP与EEPROM的SPI通信和DSP与FPGA之间的总线通信.外部通信分为三类,一是中央控制器与总控的RS485通信;二是中央控制器CPU与下级模块CPU间的CAN通信;三是中央控制器CPU与下级模块CPU间的I/O通信.由于中央控制器与总控和下级模块间存在较远的距离,为了防止信号受到干扰,保证信号的准确性,必须进行全隔离.
图1 激光电源系统总框图
图2 中央控制器核心控制单元框图
1.1 DSP与EEPROM的通信
系统的一些状态参数不仅要在线修改,并且要求这些修改过的参数在断电后能够继续保持,以备下次上电时恢复系统的状态.由于系统I/O紧张,所以采用了只需要4根线的SPI通信EEPROM,25LC256来完成在线参数以及数据存储.其硬件连接电路见图3.其中HOLD管脚在低电平时允许用户在流程中途暂停时钟,本系统未用到,即直接上拉.WP引脚具有写保护功能,本系统未用到,也直接上拉[1].将剩下的接口与DSP28335的SPI接口对应相接即可.
图3 DSP与EEPROM硬件连接原理图
1.2 DSP与FPGA的通信
整个电源系统较为庞大,单由一块CPU很难实现对整个系统的监控,故选择了一块管脚较多的FPGA作为协处理器.它们之间主要是通过DSP28335的地址总线和数据总线进行通信.其连接原理见图4.系统主要靠FPGA对DSP传输过来的数据进行译码,然后做出相应控制.通过9位数据线,和XZCS7选通信号,即通过DSP28335 XINTF ZONE7多达29=512个译码空间对FPGA最多为512种不同控制,足以满足本系统的控制要求.通过16位数据总线可以实现DSP与FPGA一次最多为两个字节的数据传输.XRD与X WE0分别为DSP给FPGA的读、写使能信号[2].
图4 DSP与FPGA通信原理图
1.3 中央控制器与下级模块的CAN通信
由于系统中具有多个下级模块,故采用CAN总线.CAN总线是一种串行通信协议,具有较高的通信速率和较强的抗干扰能力,可以作为现场总线应用于电磁噪声比较大的场合,尤其适合本系统的通信.其硬件电路连接见图5,由于DSP不适合直接驱动光耦,所以CANTX输出信号通过74LVC07,即通过一个正向OD门后接入高速光耦6 N137隔离,然后经过CAN通信专用电平转换芯片PCA82C250引出,同理CAN接收到信号后通过PCA82C250进行电平转换后再经过6N137隔离后传送回DSP的CAN接口.
图5 中央控制器与下级模块CAN通信硬件连接图
1.4 中央控制器与总控的RS485通信
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力.加上总线收发器具有高灵敏度,能检测低至200 mV的电压,故传输信号能在千米以外得到恢复[3].一般RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制.本系统中央控制器与总控的RS485硬件连接见图6.
采用DSP的异步通信串口,输出信号通过74LVC07后进入快速光耦6 N137进行隔离,然后通过RS485通信专用电平转换芯片SN65 HVD08引出信号,同理输入信号由SN65 HVD08转换后经6 N137隔离再送给DSP.由于RS485工作在半双工状态下,需要引入一个“信号输入或者输出”的控制信号,由光耦TLP121完成对这路信号的隔离.
图6 中央控制器与总控RS485通信硬件连接图
1.5 中央控制器与下级模块的I/O通信
中央控制器与各模块之间紧急用通信,如故障通信等,采用I/O口直接通信的方式(图7).由于通信距离较远,且通信信号要求充分准确,所以必须进行隔离控制,本系统采用24 V辅助电源作为隔离用电源,电压较高,传输能力强,受干扰小,其中隔离光耦均采用TLP121.由于DSP驱动能力弱,所以光耦LED端的驱动信号仍由74LVC07来完成.
图7 中央控制器与下级模块间I/O通信原理图
2 激光电源中央控制器各类通信的软件实现
2.1 DSP与25LC256通信的软件实现
25LC256有一个8位的指令寄存器,通过SPI总线访问,指令寄存器写不同的指令,告知25LC256将要进行的操作,然后读取或者写入数据.其读取数据的时序见图8.
图8 CPU读取25LC256时序图
由于需要先发送8位指令,再紧接着发送16位地址,所以令DSP的SPI发送缓冲区SPITXBUF为16位,首先规格化16位需发送数据,即让8位“读”指令作为此16位数据的高8位,让16位地址的高8位作为需发送的16位数据的低8位,从而组成一组16位数据,发送给SPITXBUF,发送完毕后再紧接着发送16位地址的低8位.读取25LC256的一个周期流程图(图9).
图9 CPU读取25LC256流程图
同理可以完成对DSP、对EEPROM的写操作.
2.2 RS485通信软件的实现
由DSP28335的SCI接口,通过专用的RS485电平转换芯片,即可达到RS485总线通信的目的.本系统由设置DSP的SCI模块寄存器,每一帧由一个起始位、8个数据位、一个停止位组成,采用9 600的波特率进行数据传输.由于工作于半双工状态,所以需由DSP一个I/O脚控制传输系统工作于发送还是接收状态.其一个周期的流程图见图10.
图10 中央控制器RS485通信流程图
2.3 CAN通信软件实现
DSP28335的e CAN模块与CAN2.0B协议完全兼容;总线通信率可达1 Mbps;拥有32个邮箱,均可配置为接收或者发送,支持的数据位由0~8个字节组成.邮箱之间通过标识符过滤接收到的消息.在使用CAN模块之前必须进行正确的初始化,并且只有CAN模块工作在初始化模式下才能进行初始化[4].图11给出了CAN模块的初始化流程.
图11 CAN模块初始化流程图
eCAN模块发送消息过程主要包括了系统以及邮箱初始化、发送传输设置以及等待传输响应等几个步骤.而当接收到消息时,接收消息挂起寄存器(CANRMP)相应的标志位置位,同时会使中断标志位产生中断.然后CPU可以读取邮箱中接收到的数据.图12为消息发送和消息接收流程图.
图12 CAN模块消息发送与接收流程图
3 结论
针对激光电源系统中央控制器内部以及与外界模块之间不同的通信对象以及不同的通信目的,分别采用了SPI、总线、RS485、CAN和I/O通信的方式,本文分别讲述了它们的硬件和软件的实现方法,从而使中央控制器能够很好地履行系统纽带的作用,保证了整个系统的稳定、准确和快速性.
[1]王 新,王归新,张昌盛,等.数字信号处理器与串EEPROM 的接口设计[J].电子工程师,2004,30(1):63-68.
[2] 马 军,张 彦 敏,黄 华 伟,等.基于 CPLD 的T MS320F2812硬件平台设计[J].现场总线技术应用200例,2007,5-2.
[3]耿立中,王 鹏,马 骋,等.RS485高速数据传输协议的设计与实现[J].清华大学学报(自然科学版),2008,48(8):1 311-1 314.
[4]苏奎峰,吕 强,常天庆,等.T MS320X281X DSP原理及C程序开发[M].北京:北京航空航天大学出版社,2008.