《电子技术应用》

一种安全RTU的设计与实现

2018年电子技术应用第7期
韩在峰1,赵丽敏2
(1.北京国际系统控制有限公司,北京100083;2.德州学院 信息管理学院,山东 德州253300)
摘要: 介绍了一种RTU(Remote Terminal Unit)的整体结构设计。详细说明了遥测采集模块、遥信采集模块、控制模块、加解密模块和通信模块的实现方法,通过使用加解密芯片,设计了一种基于SM2加密算法的通信机制,提出了一种具有安全通信功能的远程终端单元RTU的设计方案,解决了RTU在监控系统中的数据安全和可靠传输问题。
中图分类号: TP273
文献标识码: A
DOI:10.16157/j.issn.0258-7998.175143
中文引用格式: 韩在峰,赵丽敏. 一种安全RTU的设计与实现[J].电子技术应用,2018,44(7):72-75,85.
英文引用格式: Han Zaifeng,Zhao Limin. A kind of design and implementation about safety RTU[J]. Application of Electronic Technique,2018,44(7):72-75,85.

A kind of design and implementation about safety RTU

Han Zaifeng1,Zhao Limin2
(1.Beijing System Control International Inc.,Beijing 100083,China; 2.College of Information Management,Dezhou University,Dezhou 253023,China)
Abstract: This paper introduces the whole structure design of RTU, describes in detail the realization method of telemetry acquisition module, signal acquisition module, control module, encryption/ decryption module and communication module. Through the use of encryption and decryption chip, a communication mechanism based on SM2 encryption algorithm is designed, a design scheme of remote terminal unit with secure communication function is proposed, and the data security and reliable transmission problems of RTU in monitoring system are solved.

0 引言

    随着工业自动化、信息、网络、物联网技术的发展,在电力、交通、石油化工、核工业等国家重要行业中,工控安全和网络安全等信息安全威胁也越来越受到用户的关注。本文针对电力自动化行业的实际情况,给出了一种基于SM2加密标准的安全RTU(Remote Terminal Unit)设计方案,不仅实现了现场数据的信息采集、数据处理、设备控制等功能,还对数据传输进行了加/解密,拒绝未授权用户的访问,提高了工控系统就地控制层的安全稳定性,提高了系统采集端的数据安全防护能力,提高了数据的可信性和操作的可靠性。该产品已经通过国家相关安全监测机构的安全性、可靠性、性能等测试,在多个实际项目中的成功应用也证明了该RTU的设计方案是可行的、性能是可靠的,能够有效杜绝信息泄露和非法入侵等安全风险。

1 安全RTU硬件设计

    安全RTU硬件部分主要包括DSP核心处理芯片、遥测模块、遥信模块、加解密模块、通信模块等几个核心模块,这些模块共同完成RTU的各种数据处理、数据通信和控制功能。

1.1 基本结构

    本文设计方案提出的安全RTU采集监控单元,采用TI公司的高性能32位浮点型DSP芯片TMS320F28335作为控制核心,与电能计量芯片ADE7880构成模拟量采集单元,具有准确度高、损耗低等优点,而且可以通过装置本身的液晶显示屏查看各种装置配置参数、遥测运行数据、遥信信号状态、遥控输出、信号变位、过压、过流报警等各种信息。通过内置RS-485总线、SecModbus-RTU规约、工业通信网络,可以与SCADA、DCS等上位机监控软件组成各种监控系统。基本结构如图1所示。

qrs4-t1.gif

1.2 遥测模块

    遥测模块主要由DSP芯片TMS320F28335和电能计量芯片ADE7880构成,把TMS320F28335数字处理芯片和ADE7880采集芯片结合起来,发挥各自的优势,避开复杂的采样电路,完成对各种线路、开关、断路器以及用电设备的运行信息进行测量,如电压、电流、功率等,其硬件组成如图2所示。

qrs4-t2.gif

    ADE7880芯片是ADI公司生产的一款高精度测量芯片,是一款支持三相集成电能计量的集成电路。它支持串行接口和中断输出两种方式进行数据交换,还能够提供三路灵活的脉冲输出方法。该芯片内置多个二阶Σ-Δ模数转换器、数字积分器、基准电压源电路等。同时该芯片还内置一个DSP芯片实现三相电压、电流有效值和有效功率、视在功率、功率因数的测量,同时监视电压、电流的总波形畸变率及谐波含有率。同时ASE7880还具有波形采样输出功能,判断是否有暂升、暂降、中断等瞬态事件,实现对瞬态事件的捕捉和记录。

    RTU监控的设备都是强电设备,为了使RTU能够采集和测量相应的信息,一般需要进行电流和电压的一次变换,把高电压、大电流变为低电压和弱电流信号,把信号变成RTU允许输入的信号,比如进行10 kV/100 V、100 A/5 A的变换。本RTU的遥测模块采用的电流互感器的规格为5 A/25 mA,精度为0.05级,配置的阻抗为40 Ω。电压互感器选用的是2 mA/2 mA电流型电压互感器,精度为0.05级,在其前端通过增加110 kΩ功率电阻把100 V电压信号变换为2 mA电流信号,所配置的负载电阻为250 Ω。采用这种设计方案,在输入额定电流、额定电压时,电流、电压差动输入的有效值分别小于0.05 V和0.25 V,完全满足工程项目要求。

1.3 遥信模块

    遥信的信息来自于各种断路器、刀闸、保护信号和各种状态信息,并通过光电隔离进行采集。外部遥信输入信息通过光电耦合器将开关状态转换为“0”或者“1”电平(0 V或则5 V)送入单片机的输入端,CPU通过遥信输入板采集遥信状态,将采集到的遥信状态去抖稳定后进行状态比较,如果发生遥信信号变位,则进行相应的处理,上送遥信变位信息和SOE(事件顺序记录)。

1.4 加密/解密模块

    为了实现RTU和上位机监控系统之间的安全交换信息功能,本方案增加了加密/解密模块。该模块采用的核心芯片为南瑞股份有限公司采用国产32位CPU自主设计开发的一款高速、高性能的信息安全芯片,该芯片集成了高速的安全加密算法和通信接口,具备独有的加密处理机制,能够实现高速数据流同步加解密功能。该安全芯片集成度高、安全性强、接口丰富、加解密速度快、功耗低、具有极高的性价比,可用于金融、电子政务、电子商务、智能电网、安全加密存储、版权保护等领域。该模块的主要功能是实现SM2公钥密码对的产生、SM2数据签名功能、SM2数据验证功能、SM2数据加密功能、SM2数据解密功能、SM2密钥交换功能和SM2杂凑功能等。RTU的CPU通过SPI接口访问NRSEC3000芯片,为系统应用提供SM2算法,SM2算法效率高,破解难度很大。NRSEC3000芯片接口设计图如图3所示。

qrs4-t3.gif

    图2中NRSEC3000与DSP微处理器的接口为SPI总线,通信主端采用SPI模式3,时钟频率33 MHz,中断模式处理数据收发。

1.5 通信模块

    为了实现与SCADA、DCS等上位机监控系统的通信,实现遥信、遥测、报警数据和控制指令的交互,本方案的RTU设计了单独的通信模块,本方案的通信模块硬件电路图如图4所示。

qrs4-t4.gif

    CPU主板与上位机监控系统的数据传输经过RS-485收发器MAX3485,由CPU的USART1进行数据的发送和接收,采用半双工通信方式,由CPU的P3.5口控制数据的发送和接收。为了提高数据传输的可靠性,提高通信抗干扰能力,采用单独5 V电源供电方式,采用高速光耦6N137与其他的电源完全隔离,同时传输线并联瞬变电压抑制器TVSC和串联熔断器,确保系统的安全性和抗干扰性。

2 安全RTU软件设计

2.1 加密/解密设计

    在上位机端,待传输的数据由加密芯片加密成密文后,上位机将加密后的数据传给RTU,RTU通过加密/解密芯片将数据解密后供RTU使用。

    在RTU端,将待传输的数据由加密芯片加密成密文后,RTU通过通信模块将加密后的数据传输给上位机,供上位机使用,加密/解密流程如图5所示。

qrs4-t5.gif

    软件算法主要包括签名、验证、加密/解密、获取hash值等,编写的接口函数主要有HR_SM2_HsEccSign、HR_SM2_HsEccSignVerify、HR_SM2_HsEccEncrypt、HR_SM2_HsEccDecrypt、HR_SM2_HsEccUpdate、HR_SM2_HsEccFinalize。通过这些函数,RTU采集单元实现身份认证、数据加密/解密等功能,实现了数据的安全交互功能。

2.2 SecModbus-RTU安全规约设计

    本方案中的RTU单元的通信方案采用基于RS-485总线通信方式的类Modbus-RTU加密规约,简称SecModbus-RTU。RTU通过这种带加密信息的通信规约和上位机监控系统进行各种信息的交换,包括遥信信息、遥测信息、报警信息、遥控操作等内容。

    采用SecModbus-RTU模式传输数据时,传输信息采用异步方式,以字节为单位,RTU和上位机主站之间采用11位的通信方式,如表1所示。

qrs4-b1.gif

    数据包格式如表2所示。

qrs4-b2.gif

    每个SecModbus 数据包由地址码区、数据类型、数据长度区、功能码区、数据区、校验码区共6部分组成。

    (1)地址码区

    地址码为1个字节,在同一个链路中唯一,有效地址范围为1~255,当RTU收到符合SecModbus协议的标准数据包时,检查子站地址是否与自己的一致,如果一致,则处理后返回结果,否则不响应该数据包。

    (2)数据类型

    数据类型分为认证数据、密钥交换数据和加密数据3种。

    (3)数据长度

    数据长度用来存储本次传输的数据包中功能码区和数据区中的数据的长度。

    (4)功能码区

    Modbus通信规约可定义的功能码为1~127,用于表示从设备要完成的功能。比如01表示读取输出状态,02表示读取输入状态,03代表度寄存器数据,06代表设置单个寄存器等。

    (5)数据区

    数据区表示本数据域中的字节数量、寄存器地址或者具体的数据。根据不同的功能码,数据域的数据存储结构也有所不同。正常响应时,数据域包含上位机请求的数据或者下发的控制数据。当是异常响应时,数据区包含了错误码,上位机设备可以根据错误码做响应的错误信息处理。

    (6)校验码区

    SecModbus通信规约在RTU模式下采用CRC循环冗余校验方式,该校验域存储结果的两个字节的数据。

    其中,功能码区和数据区在数据传输过程中为加密数据,SecMODBUS主要功能是码定义、寄存器地址分配,如表3所示。

qrs4-b3.gif

2.3 SecModbus的数据处理过程

    基于加密SecModbus规约的通信过程主要包括上位机数据的接收、上位机的认证、密钥交换、上位机控制指令的解密和处理、对上位机指令数据的组织和加密、上位机数据的加密和发送等多个过程,SecModbus和上位机进行数据交换的流程如图6所示。

qrs4-t6.gif

3 结论

    本文介绍的安全RTU的设计方案采用了TMS320F28335 DSP数字处理芯片、ADE7880测量芯片、NRSEC3000数据加解密芯片,充分利用了各芯片的丰富外围和内置功能,简化了软件和硬件设计,降低了开发成本,缩短软件开发周期,提高了产品的可靠性,并能够充分保证数据传输中的安全性,为生产设备的安全监控提供可靠保证。本文中提到的RTU的软硬件已通过了相关部门的检测,并且在实际工程项目中得到了大量应用,经过长期的使用,该产品工作正常,性能稳定,取得了良好的应用效果。本产品不仅适用于普通的环境、楼宇、建筑等普通民用信息的监控,而且更适用于电力、高铁、石油等对数据安全有严格要求的行业,具有良好的应用前景。

参考文献

[1] 苏善伟.一种具有四遥功能RTU的设计与实现[J].仪表技术,2007(9):3-5,8.

[2] 倪云峰,董张卓,张晓莉,等.高性能RTU交流采样单元的设计与实现[J].高电压技术,2005,31(1):70-88.

[3] 车立志,徐文尚,刘倩倩,等.数字化直流调速实验系统设计与实现[J].实验室研究与探索,2009,28(2):57-60.

[4] 刘小端,曾国宏.基于MSP430F149的低成本智能型电力检测仪[J].电子技术,2002,29(4):5-8.

[5] 杨艳民,王学俊,杨林,等.基于Modbus协议的CAN总线转换器设计[J].电测与仪表,2006,43(10):49-53.



作者信息:

韩在峰1,赵丽敏2

(1.北京国际系统控制有限公司,北京100083;2.德州学院 信息管理学院,山东 德州253300)

继续阅读>>