基于CAN总线的新式烟花智能点火系统的研制
2012-07-07朱成华
朱成华
(成都电子机械高等专科学校, 四川 成都,611730)
目前,烟花燃放控制设备的市场需求越来越大,同时对燃放动作准确性、可靠性、经济性、操作简单等要求越来越高,在燃放效果方面要求每一发烟花在起爆、燃烧时间上必须完全达到创意设计要求,否则就无法呈现三维效果。为此本文研发了一套烟花智能燃放点火系统,其工作原理是利用瞬间强大的冲击电流点燃特制的点火头,从而达到点火的效果,并且大量地节约人力和编排时间,以降低燃放成本。
1 烟花智能点火系统硬件设计
本系统主要由两部分构成:PC上位机及控制软件和以DSP处理器为控制核心的下位机系统[1]。系统采用CAN总线,由PC机、USB转CAN模块、通讯线缆、烟花燃放点火器组、烟花燃放点火器供电电源单元组成,如图1所示。
图1 烟花智能点火系统硬件结构框图Fig.1 The hardware structure diagram of intelligent ignition system of fireworks
PC机和USB转CAN模块构成整个系统的上位机,在上位机中利用VB编写烟花燃放控制软件,软件的主要功能包括:控制下位机中每个点火器的点火命令;控制下位机中每个点火器的点火时间;将控制信号送入PC机的USB接口。USB转CAN模块的功能是将PC机发出的控制信号打包并转为CAN标准协议送入CAN总线。采用这一方案的优点是利用PC机编写的烟花燃放程序可以直接发送到CAN总线,减少了一个程序加载的环节,提高了系统的可靠性;而且独立设计的USB转CAN模块性能可靠、重量轻,便于携带。
CAN总线是全数字式现场控制设备的互连总线[2-3],能有效支持分布式控制和实时控制的串行通信网络,与其它总线相比,CAN总线数据通信具有突出的可靠性、实时性和灵活性。它能以多主机方式工作,网络上任一节点均可在任意时刻主动地向网络上其它节点发送信息,而不分主从,通信方式灵活,无需要站地址等节点信息。CAN网络上的节点通信分成不同的优先级,可满足不同的实时要求,高优先级的数据最快可达134μs,采用非破坏性总线仲裁技术,保证高优先级节点通信不受影响,它可以传输10km,节点在错误严重的情况下具有自动关闭的功能,而其它节点不受影响,因此系统采用CAN总线。
下位机系统即烟花燃放点火器,主要由电源部分、DSP处理器最小系统、CAN转232通讯电路、MOS管构成的放大驱动电路等部分组成。系统中包含有多个 DSP控制模块,而且每个模块都分配有独立的通信地址,这样就能与PC机进行组网通讯,实现上位机与控制模块上下联动控制。烟花燃放点火器为智能节点,每个智能节点中挂接32个点火头,每个智能节点编组后挂入CAN总线。节点的主要功能是:分辨并接收CAN总线传输的控制信号;分析控制信号并发出点火信号;接收到点火信号后,提供合适的电流给点火头,使烟花可靠点火,实现烟花燃放。
系统的电源电路首先用开关电源或工频变压器将市电进行整流降压,接着将得到的低压直流电分成两路:一路直接供给由MOS管构成的放大驱动电路;另一路则再次经过降压,多级滤波后供给 DSP处理器和各种芯片。由于每一个下位机系统可控制32个点火头,点火头在燃烧时需要瞬时的大电流,故应在初步得到的低压直流电处并联大容量的电容器。由于烟花燃放点火器组有在野外工作的需要,所以必须设计独立的电源给其供电,即图1中的蓄电池部分。
2 烟花智能点火系统软件设计
2.1 上位机操作软件
上位机操作软件界面用VB编写,软件具有操作界面友好和操作简单等特点。其主要功能是用于焰火燃放顺序编辑,将需要播放的歌曲文件转换为本控制系统所能识别的数据格式,以便通过CAN总线传输给各个控制系统进行下一步处理。最后由下位机系统根据接收到的数据进行判断处理,根据音乐节拍来完成对各种烟花的点火。
2.2 CAN智能节点的软件设计
智能节点硬件按照相同的模式开发,通信过程遵循相同的应用协议,因而智能节点软件也具有相同的模式。为了高效率地编写智能节点软件,也为继续开发其他功能的智能节点提供方便,依据智能节点的硬件模型、应用协议,以及焰火燃放智能点火系统的实际情况,提出了智能节点软件模型,如图2所示。
智能节点软件模型由4部分构成:CAN基本通信部分、应用层协议、数据字典和具体应用。在每个智能节点中,CAN基本通信和应用层协议实现部分基本上是完全相同的;数据字典具有相同框架,而仅有过程数据区和相关联节点数据区有区别,将这些部分做成模板,在编写不同的智能节点软件时仅对模板做相应的修改,就可以完成这些部分的编写;各个智能节点的具体应用部分因节点功能的不同而有所区别,只好采用独立编写的方式。
图2 智能节点的软件模型Fig.2 The software model of intelligent node
2.3 CAN智能节点的软件实现
2.3.1 CAN基本通信软件
CAN基本通信部分直接与CAN控制器交互,完成对CAN控制器的管理与操作,实现数据收发、错误处理等工作。主要由以下函数来实现:
(1)CAN控制器初始化函数(CAN_INIT)
该函数主要对 DSP进行初始化、通信波特率、验收滤波器、输出方式等。初始化完成后检测其是否真正进入工作状态,如果有误则报警。
(2)CAN接收函数(CAN_RCVDAT)
接收报文完毕后,释放接收缓冲区。函数流程图如图3所示。
(3)CAN发送函数(CAN_TRANDAT)
该函数首先检查控制器是否还在处理上一帧报文的发送,处理完则向发送缓冲区写入待发送的报文,并发出启动发送命令,将报文发送出去。函数流程图如图4所示
图3 CAN接收函数流程图Fig.3 The flow chart of CAN receiving function
图4 CAN发送函数流程图Fig.4 The flow chart of CAN sending function
2.3.2 CAN应用层协议
应用层协议完成对接收的CAN报文的解析,以及组装待发送的报文。由 CAN报文解析(CALP_PROC__FRAME)和 CAN报文组装(CALP_ MAKE_FRAME)两个函数组成。
(1)CAN报文解析函数(CALP_PROC_FRAME)
该函数用于解析智能节点所接收的来自CAN总线的报文,并将解析结果存入数据字典中所规定的相应存储区域,同时根据报文的内容设置一些相应的标志,以进行下一步的处理。这个函数会因节点类型(输出型或输入型)而有所区别,对于输入型节点来说,由于没有输出通道,所以不需要处理CAN参数设置命令以外的数据帧类报文,而输出型节点则需要处理。函数流程图如图5所示。
(2)CAN报文组装函数(CALP_MAKE _FRAME)
该函数依据发送源标志区的位置情况,确定需要构造的信息帧类型,并按照协议规定的格式构造待发送的CAN报文,再将构成的CAN报文存入对应的存储区域。函数流程图如图6所示。
限于篇幅,其它函数及具体程序就不再叙述。
图5 CAN报文解析函数流程图Fig.5 The flow chart of CAN message parsing function
图6 CAN报文组装函数流程图Fig.6 The flow chart of CAN packet assembly function
3 CAN智能节点的硬件抗干扰措施
烟花燃放环境苛刻,距离较远,干扰严重,常会使系统失灵,因此在设计中应多考虑抗干扰措施。在开发中,采取了以下措施来提高智能节点的抗干扰能力[4]:在电源干扰的防护方面采用宽电压输入、隔离稳压型输出的电源模块;在电源模块的输出侧加上电容滤波网络,增加电源的稳定性,滤除电源的尖峰干扰;过程通道和智能节点的核心模块相互隔离,分别供电,减少以耦合方式串入的干扰。
过程通道是前向通道、后向接口与智能节点主控制单元之间传输信息的通道,也是干扰进入的主要途径之一。在设计智能节点时,过程通道与主控制单元之间采用了光电耦合器,切断了过程通道与主控制单元之间的联系;同时,还可以有效地抑制尖峰脉冲及各种噪声干扰,使过程通道上的信噪比大大提高。
PCB设计时将数字器件与模拟器件分区布置;将功能相关的器件尽量集中布置,以获得良好的抗噪声效果;将输入、输出电路排在PCB边靠近接插件处,以减少对其他器件的影响。在智能节点中每个集成芯片的电源与地之间都配置了0.1μF陶瓷电容器滤波,这样一方面可以提供和吸收该芯片内部门电路开关瞬间的充放电能量,另一方面可旁路高频噪声。在电源入口处,并接了两个去耦电容(100μF和0.1μF),其中大电容可以去掉低频干扰成分,小电容可以去掉高频干扰成分。同时,尽量减少电容引脚之间的距离,在布线上使两面的线条垂直交叉,以减少磁场耦合;尽量加大导线间的距离,以降低导线间分布电容;尽量加粗导线,以减小信号的传输阻抗。电源线及地线尽量加粗(均大于 lmm),以减少线路衰减,防止接地电平不稳,降低噪声对地阻抗;同时尽量使电源线、地线的走向与数据线走向一致,以增强抗噪声能力。
4 CAN智能点火系统的调试
经调试[5]CAN智能节点基本通信能按设计要求完成CAN发送程序、CAN接收程序、CAN通信错误处理程序、CAN中断服务程序功能。 CAN智能节点的输入/输出通道均能正常工作,键盘中断程序正常工作。经调试系统软、硬件均能正常工作,进行PCB制作,组装调试后[6]在四川某市的2012大型春节联欢晚会的烟花燃放中,采用单引变双引、两套独立系统同时点火、预设点火装置等措施,实现了在8km范围内30万发烟花按设计效果可靠燃放,受到观众的好评。
5 结语
实际应用表明本文设计的点火装置在规定的参数范围内能保证点火正常,无瞎火现象,能实现高精度的毫秒级内同时点火,为商家彻底解除因点火头精度不高影响燃放质量的后顾之忧。但由于大多数的焰火燃放都是在室外进行,而且燃放的场地一般都很特殊、复杂,有很多不定的干扰源存在,例如变电站、电视台发射塔等设施对点火设备正常运行构成一定威胁,故在点火同时应进行电磁干扰检测,进一步提高系统的可靠性,这是下一步研究的问题。
[1]李淮江,苗曙光.基于CAN与WSNS的井下皮带机打滑保护监测系统研究[J].传感器与微系统,2011,12(3):40-42.
[2]朱成华,王付军,王飞,等.颅骨快速成型系统的研究[J].机床与液压,2009(4):120-121.
[3]倪彰,范鑫,潘茂辉.基于CAN总路线的电动汽车控制系统设计[J].传感器与微系统,2011,12(3):82-84.
[4]付启众,徐晋,马晓静,等.一种基于信号处理的异步干扰消除方法[J].雷达科学与技术,2011,12(6):556-560.
[5]侯岳.电子设备的调试方法和技术[J].数字通信,2011(6):76-79.
[6]包乃兰,宁立革.基于双路 CAN总线的通讯板卡设计与实现[J].计算机测量与控制,2011,11(19):2 272-2 274.