张合沛,韩伟锋,张 兵
(盾构及掘进技术国家重点实验室,郑州 450001)
城市化的快速发展对地下轨道交通的需求在逐步增加,盾构广泛地应用于各类隧道建设工程中。其中,盾构控制系统中的通讯可靠性、稳定性是影响施工质量的关键因素之一。随着盾构控制技术的不断发展,网络化、信息化成为现代盾构技术发展的一种趋势,进一步提高盾构控制系统的通讯位速率、数据通讯的可靠性,实现数据的远距离实时通讯,符合现代盾构控制技术的发展需要。
盾构机问世至今已近180 a的历史,其始于英国,发展于日本、德国。现代盾构技术主要掌握在发达国家手中,近几年国内盾构技术发展也比较快,但国内盾构技术发展主要是引进、消化、吸收,盾构技术创新已经列为国家重点技术攻关项目。盾构工作环境恶劣、条件复杂、维护维修条件差,电气控制系统的可靠性对于保证盾构稳定、高效、可靠地工作至关重要。另外,在保证系统可靠性和合理性价比的前提下,尽量追求系统的先进性,经实践检验的先进、可靠的通讯控制方式也是提高控制系统可靠性的重要措施之一[1]。
目前,国内大部分隧道施工采用的是进口盾构,而盾构控制通讯系统稳定与否将直接影响盾构的整体性能。由于国产PLC还处在发展的初级阶段,设计、开发技术还有待提高,国内设计、开发PLC的性能和质量还难以应用到盾构的设计制造行业;国内外盾构控制系统的开发、设计还没有引入CAN总线控制技术,盾构通讯控制系统的通讯规约始终掌握在国外盾构设计厂家,国内设计生产的盾构只能是按照国外盾构设计厂家的通讯控制系统“量身订做”[2]。因此,对现有盾构控制系统的局部控制环节引入CAN总线通讯控制技术,利用CAN总线的优异性能去提升、改进盾构控制系统的局部控制环节的性能,符合大型装备技术革新的发展规律。
CAN(Control Area Network)是控制局域网络的简称,属于现场总线的范畴,是一种有效的支持分布式控制或实时控制的串行通信系统。由于其高性能、高可靠性及独特的设计,CAN越来越受到人们的重视,国外已经有许多大公司的产品采用了这一技术。
CAN最初是由德国BOSCH公司在20世纪80年代初为解决现代汽车中众多的控制与测量仪器之间的数据交换而开发的一种串行数据通讯协议,能够有效支持分布式控制或实时控制。现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。这些控制需要检测及交换大量数据,若采用一对一的连接信号线的方式,不但繁琐昂贵,而且维护极其困难;若采用基于CAN总线的控制系统,上述问题就能很好地解决。CAN总线技术以其易于掌握、开发等优点受到普遍重视,在工业和信息通讯领域都得到了广泛的应用。
目前在国外,尤其在美国及欧洲各国,CAN总线已经被广泛地应用于汽车、机器人技术、机械制造、传感器、自动化仪表等领域。在国外的工程机械上的运用也已经越来越普遍,如推土机、钻机、摊铺机等机械设备均大量采用了CAN总线控制系统。CAN总线技术已经成为一种日趋成熟的实用技术。CAN总线属于总线式串行通信网络,由于其采用了许多新技术及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性[3]。
CAN总线网络上的节点不分主从,任意一个节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统,CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送、接收数据,无需专门的“调度”,CAN的直接通信距离最远可达10 km(速率为5 kb/s以下);通信速率最高可达1 Mb/s(此时通信距离最长为40 m)。CAN上的节点数量主要决定于总线驱动电路,目前可达110个;报文标识符可达2 032 种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制[4]。
目前工业控制系统成熟的现场总线技术是自动化控制系统领域应用的趋势,基于目前盾构控制系统中的PLC没有CAN总线通讯转换接口,设计、开发一个CAN总线转RS232和RS485通讯接口转换器,并且可以同时高速采集、处理4个通道模拟量数据的A/D转换,可以在不改变盾构控制系统现状的前提下,为盾构控制系统的局部引入CAN总线技术提供一种思路。由于盾构施工过程中掘进部分的工况非常恶劣,盾构操作人员必须实时了解盾构掘进部分的状态参数;所以,盾构掘进部分的状态参数能够实时高速采集、处理、准确上传显得尤为重要。
1)可以利用该通讯接口转换器把盾构掘进部分传感器的数据采集、处理,通过CAN总线把数据实时上传到盾构主控制器,利用CAN总线的技术优点使盾构掘进部分的实时状态数据快速、准确、稳定、有序地上传;使盾构操作人员可以实时了解盾构掘进部分的工况参数,及时发现并解决问题,提高了系统的可靠性和准确性[5-6]。
2)CAN总线采用带屏蔽的双绞线进行数据通讯,所有控制节点不分主从,对现有盾构控制系统进行局部升级改造过程中,在盾构掘进部分采用CAN总线网络上传数据可以节省大量通讯电缆,降低维护成本,增强系统的抗干扰能力,提高系统的稳定性和可靠性。盾构掘进部分的状态参数采集、处理方案如图1所示。
图1 基于CAN总线盾构掘进部分数据处理方案Fig.1 Processing of shield boring data based on CAN bus
CAN总线转RS232和RS485的硬件接口电路设计主要选用MAX232、MAX485、LM3S2671、PCA82C250设计实现。CAN总线转RS232和RS485原理框图如图2所示。
图2 CAN总线转RS232和RS485原理框图设计Fig.2 Principle design of CAN bus transferring to RS232 and RS485
Stellaris LM3S2000系列(主要针对控制器局域网(CAN)应用)使用Bosch CAN联网技术(短距离工业网络中的金标准)扩展了Stellaris系列,标志着具有革命性的ARM Cortex-M3内核的 CAN功能的首次集成。此外,LM3S2000系列的多个MCU都提供了已预先编入节省内存的 ROM的 StellarisWare软件特性。主处理器选择TI公司的Cortex-M3内核的ARM处理器LM3S2671。
LM3S2671是一个低电压、低功耗、32位RISC性能、采用为小封装应用方案而优化的 32位 ARM Cortex-M3 V7M架构的单片机,片内含128kB的单周期FLASH,32 kB单周期访问的SRAM;内置传输位速率达到1Mb/s,支持CAN协议2.0版本Part A/B CAN总线。ADC模块的转换分辨率为10位,并支持4个输入通道以及1个内部温度传感器。ADC模块含有1个可编程的序列发生器,其可在无需控制器干涉的情况下对多个模拟输入源进行采样。每个采样序列均对完全可配置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程,具有4个模拟输入通道、500 000次/s的采样率,硬件可对多达64个采样值进行平均计算,以提高精度;带有独立的16×8发送(TX)以及16×12接收(RX)FIFO,可减轻CPU中断服务的负担、标准异步通信位、无效起始位检测、行中止的产生和检测等功能的3个完全可编程控制的16C550 型 USART[7]。
处理器LM3S2671的外围硬件电路占用I/O端口布局为:40脚接转换器的硬件复位电路,17脚和18脚接RS232通讯控制芯片MAX232的数据接收和数据发送端口;20,21,22分别连接RS485通讯控制芯片MAX485的通讯控制,61和62分别连接CAN控制器芯片PCA82C250的数据接收和发送端口。
PCA82C250是CAN协议控制器和物理总线之间的接口。该器件为总线提供差动发送能力并为CAN控制器提供差动接收能力,其是全世界使用最广泛的CAN收发器。由于LM3S2671具有内置的硬件CAN协议控制器和CAN总线驱动器,所以只需要设计CAN总线的数据接收和发送电路即可。CAN总线收发器是CAN协议控制器和CAN总线物理传输线路之间的接口。
本设计电路由PCA82C250实现。CAN协议控制器通过串行数据输出线(TX)和串行数据输入线(RX)连接到收发器,收发器通过有差动发送和接收功能的2个总线终端CANH和CANL连接到总线的双绞线电缆,实现CAN总线的数据通信[8]。在CANH和CANL之间的终端匹配电阻R95可以提高CAN总线数据通讯的准确性和稳定性,其中R92和R93起到限流的作用;在RS引脚串入斜率电阻R70使其工作在高速工作模式,通过调节斜率电阻的阻值可以使PCA82C250在高速工作模式、斜率控制工作模式、待机模式之间选择;在CANH和CANL与地之间连接2个小电容C36和C37,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力;TVS12是双向瞬态电压抑制器,是一种二极管形式的高效能保护器件。当TVS二极管的两极受到反向瞬态高能量冲击时,它能以10的负12次方秒量级的速度,将其两极间的高阻抗变为低阻抗,吸收高达数kW的浪涌功率,使两极间的电压箝位于一个预定值,有效地保护电子线路中的精密元器件,免受各种浪涌脉冲的损坏。其具有响应时间快、瞬态功率大、漏电流低、击穿电压偏差、箝位电压较易控制、无损坏极限、体积小等优点。硬件电路设计如图3所示。
图3 PCA82C250外围电路设计Fig.3 Design of peripheral circuit of PCA82C250
选择MAX485芯片作为RS485与CAN总线的电平转换器。3脚为驱动器使能控制引脚,2脚为接收器使能控制引脚,电阻R110和R112作为PCB板调试数据通讯的时候做跳线之用,6脚和7脚对应的A端和B端之间加入R113作为匹配电阻,可以降低数据传输误差和上升沿的延迟,增强数据通讯的可靠性[9]。硬件电路原理设计如图4所示。
图4 MAX485外围电路设计Fig.4 Design of peripheral circuit of MAX485
选择MAX232芯片作为RS232与CAN总线的电平转换器。MAX232产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器、2个接收器和1个电压发生器,电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每个接收器将TIA/EIA-232-F电平转换成5V TTL/CMOS电平。每个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平[10]。硬件电路原理设计如图5所示。
图5 MAX232外围电路设计Fig.5 Design of peripheral circuit of MAX232
程序设计采用C语言编写。CAN总线转RS485和RS232接口主程序流程图如图6所示。主处理器底层函数配置是调用TI公司的库函数,包括CAN总线协议规约Part A/B的参数配置、函数的编写等。
CAN的初始化放在主程序中,而数据接收和数据发送采用查询方式。串口的数据接收采用中断方式,数据发送采用查询方式。
图6 主程序流程图Fig.6 Flowchart of main program
CAN总线控制器初始化处理函数代码采用C语言编写。部分代码如下:
通过选择开关设置CAN控制器对应外设的总线优先级、数据通讯的波特率、奇偶校验、通讯模式,系统上电就自动读取开关设置参数进行控制器系统初始化。参数设置分布如表1所示。
表1 通讯参数设置表Table 1 Communication parameters
1)本设计采用TI公司生产的具有Cortex-M3内核的LM3S2671处理、MAX485、PCA82C250和MAX232,设计开发了CAN总线转RS232和RS485的接口,同时设计多通道数据采集、处理、上传A/D接口,完成了CAN总线转RS232和RS485协议之间的转换,实现了CAN总线与RS232或RS485通信接口设备之间的全双工通信,同时还可以多通道实时采集模拟数据,通过CAN总线端口和RS232、RS485端口实时上传数据。
2)该控制器的硬件电路和软件设计是作者在从事嵌入式设计工作中经过汽车测试和实际应用的,该控制电路运行稳定、可靠,达到了设计要求。市场上也有类似CAN总线与RS232或RS485转换接口设备,由于这些产品设计、开发成本低廉,其工作性能有待实际应用测试。选择合适的主处理器、增强系统的抗干扰能力、提高数据处理能力是设计该控制器的关键。在盾构控制系统中引入CAN总线通讯控制技术,需要根据盾构控制系统局部控制的实际情况对CAN总线转换器的软件进行修正,以适应实际情况。因为越是简单的控制系统,系统的稳定性和可靠性越高。大量购买CAN总线与RS232或RS485转换器和软件升级,费用昂贵,自主设计该产品可以节约成本,满足基于CAN总线盾构控制系统设计中的针对性应用。
3)该控制器选用汽车级别的ARM内核处理器,利用其和CAN总线的有机结合可以提高控制器的整体性能。有同类文章介绍CAN总线转RS232接口应用到盾构控制系统设计,大都是基于理论层面,本文所述设计的一大特点是经过汽车复杂的控制、操作环境测试和实际应用,体现了稳定、可靠的整体性能。
4)由于该控制器还没有在盾构控制系统中的实际应用情况,本文所述设计的基于CAN总线盾构掘进部分数据采集处理方案需要在今后的盾构控制系统升级改造项目中实际测试、检验。把CAN总线通讯控制技术应用到盾构局部控制系统当中,为以后盾构基于CAN总线的开发、设计提供经验和指导,进一步提高盾构控制技术的网络化和信息化水平。
[1] 马立明,李申山.土压平衡式盾构PLC电气控制系统分析[J].筑路机械与施工机械化,2009(9):65-67.(MA Liming,LI Shenshan.Analysis on PLC electric control system of earth pressure balance shield[J].Road Machinery &Construction Mechanization,2009(9):65 - 67.(in Chinese))
[2] 陈馈,韩亚丽.泥水盾构控制系统模拟试验台[J].建筑机械化,2007(4):59 -62.(CHEN Kui,HAN Yali.Simulation test-bed of slurry shield control system[J].Construction Mechanization,2007(4):59 -62.(in Chinese))
[3] 饶运涛,王进宏.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2007:1-17.
[4] 胡光永.CAN总线节点电路的设计与实现[J].微计算机信息,2006(2):1 - 2,223.(HU Guangyong.Design and implementation of CAN bus node circuit[J].Control &Automation,2006(2):1 -2,223.(in Chinese))
[5] 何平.基于CAN总线盾构控制系统的研究[D].上海:同济大学机械电子工程专业,2007.
[6] 王雪,王守城,郑博,等.盾构机试验台的PLC控制[J].液压与气动,2010(4):61-63.(WANG Xue,WANG Shoucheng,ZHENG Bo,et al.PLC control of hydraulic system for shield machine test-bed[J].Chinese Hydraulics& Pneumatics,2010(4):61-63.(in Chinese))
[7] 姚文祥.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009:3-16.
[8] 吴坎,赵薇,李封.基于SJA1000和PCA82C250的CAN总线接口设计[J].机械设计与制造,2010(7):55-57.(WU Kan,ZHAO Wei,LI Feng.Design of CAN bus interface based on SJA1000 and PCA82C250[J].Machinery Design & Manufacture,2010(7):55-57.(in Chinese))
[9] 沃磊,孟国营,汪爱明,等.基于MODBUS通信协议的减速器监测系统的开发[J].仪表技术与传感器,2008(1):44 -46.(WO Lei,MENG Guoying,WANG Aiming,et al.Development ofinspectsystem forreducerbased on communication protocol[J].Instrument Technique and Sensor,2008(1):44 -46.(in Chinese))
[10] 吴志伟,丁铂.USB-CAN-RS232总线转换电路设计及实现[J].国外电子元器件,2006(6):31-34.(WU Zhiwei,DING Bo.Design and implement of USB - CAN -RS232 bus convertion circuit[J].International Electronic Elements,2006(6):31 -34.(in Chinese))