通讯电源一般被称为通讯体系的心脏,其作业不正常,将形成通讯体系毛病,乃至导致整个体系瘫痪。因而,为保证整个通讯体系的疏通,节省人力本钱和动力损耗,通讯电源监控体系应运而生。通讯电源监控体系对散布的通讯电源设备和空调机房进行遥测、遥信和遥控,能实时监督和显现其运转参数,并主动监测和处理体系内各种设备的毛病。
鉴于国外发达国家通讯电源监控体系的研制作业较早且产品老练,我国相关研究作业一般是先学习国外的经历,然后研制具有自主知识产权的体系。其间,最要害的问题便是通讯协议的破解。一般的破解思路是经过不断打听,截获通讯信息,剖析其规律性,然后估测得到通讯协议,然后按此协议发送指令进行验证。这种办法具有必定的盲目性,作业量较大,并且具有必定的局限性。
文中在破解美国Power-One通讯电源监控体系时,以数据链路层通讯协议的一般格局为辅导,结合监控体系生成的各种文件,经过合理的逻辑推理和剖析,破解通讯规约和通讯指令,并运用破解的通讯指令直接对电源体系施行监控,实践验证其正确性。这种办法,准确性高、通用性强,并且节省时刻和精力。
1 通讯协议解析
1.1 解析思路
通讯协议(Communication Protoco1)是两个实体完结通讯或服务一切必要遵从的规矩和约好。协议界说了数据单元运用的格局,信息单元应该包含的信息与意义,衔接办法,信息发送和接纳的时序,然后保证网络中数据顺畅地传送到承认的当地。以下对Power-One通讯电源监控系统所选用的通讯协议进行破解。
PowCom是一个依据Windows的通讯软件,用于完结对Power-One的AC/DC电源改换体系的监控。破解时,运转上位机软件PowCom,并运用串口监听东西,截获Power-One通讯电源监控系统上位机(PC)与下位机(即电源操控模块PCU)之间的通讯信息,即捕获下行(PC→PCU)和上行(PCU→PC)数据帧。关于截获的上下行数据帧,首要依据高档数据链路操控规程HDLC帧结构如图1所示,推理出对通讯协议的格局和各种功用指令;然后依据菜单界面和监控体系生成的各种文件,如装备文件(.pcg)、参数文件(.prm)、测验文件(.tst)和告警前史文件等,推理出各种功用指令中数据字段的格局。
1.2 协议破解
依据上述思路,就能够进行详细的解析。
首要,将Power-One通讯电源监控系统上位机(PC)经过串口Com1与PCU相连,运转上位机软件PowCom,挑选通讯(Communication)菜单下的菜单项端口设置(Port Setup),挑选COM1口,波特率9 600 bit·s-1,如图2所示,然后挑选该菜单下的菜单项Direct直接通讯(Communicat ion)完结与PCU衔接如图3所示。留意,通讯选用10 bit异步办法:开端位1 bit,数据位8 bit,中止位1bil,无校验,波特率9 600 bit·s-1,有必要与PCU设置相同。
顺次挑选PowCom各个菜单下的各种监控功用,包含通讯(Communication),如图3所示;监控(Supervision),如图4所示;运用东西(Uti lities),如图5所示,菜单下的各种监控功用。参照图1的一般格局,剖析用SUDT SerialTrace Monitor截获的上下行数据帧,揣度通讯协议的格局如下:每个数据帧的第一个Byte均为FFH,由此揣度为标志字段。终究一个Byte可能是校验和字段,经过核算,它是帧中其他字段的校验和。第2个Byte很明显是帧长字段。第3和第4个Byte在上下行数据帧中数值总是倒置,开端揣度为发送地址字段和接纳地址字段,挑选对不同整流模块进行监控操作,证明了上述揣度,其间,上位机的地址一直为00H,下行接纳地址为整流模块的地址。第5个Byte鄙人行数据帧时为01H,而在上行数据帧时为00H,揣度为应对字段,即00H标明无须应对;01H标明有必要应对。第6个Byte一直为01H,可能是结构操控字段。第7个Byte对每个监控功用而言都是专一的,而在每对上下行数据帧中相同,故此揣度为功用码或指令字字段。终究,第7个Byte与终究一个Byte之间的部分明显为数据字段,其长度为(帧长-8)。
归纳以上的剖析推理成果,得到Power-One通讯电源上下位机间通讯协议的格局,如表1所示。
其间,标志字段标明每一帧的开端,取值恒为FFH。帧长字段为帧中一切字段的字节数,取值规模为08H~FFH。发送地址和接纳地址字段别离标明数据发送和接纳者的地址,上位机监控体系地址一直为00H,整流模块的地址为01H~FFH。应对字段标明接受者是否需求对接纳的数据进行回复:00H标明无须回复;01H标明有必要回复。结构操控字段恒为01H。功用码字段为恳求或呼应数据帧的功用编码,取值规模为00H~FFH。数据字段为恳求或应对数据,数据格局取决于详细的监控功用。校验和字段对帧中其他字段按字节核算的校验和,用于检测数据帧在传输中是否呈现过失。
在揣度通讯协议的一起,依据菜单功用与上下行数据帧的对应联系,能够解分出Power-One通讯电源上下位机间的各种通讯指令,如表2所示。
1.3 数据字段解析
在解分出表2中所列出的功用指令今后,下一步的作业便是解分出每一种指令数据字段的格局。这本来是一个耗时且繁琐的进程。可是,只需把握文中的根本剖析办法,特别是有效地运用监控体系生成的各种文件,终究能够取得令人满意的成果。
1.3.1 设置日期/时刻、日期/时刻设置完结
经过上位机PowCom菜单指令将日期和时刻设置为2011年3月15日15时13分时,如图6所示,截获如下的设置日期/时刻下行数据帧
将数据字段与预设定的日期和时刻比对后,揣度数据字段的格局如表3所示.
其间,YY为年份(0~99);MM为月份(1~12);DD为日(1~31);hh为小时(0~23);mm为分钟(0~59),一切数据Byte以16进制标明。留意应对字段为01H,标明PCU有必要回复。
此刻,截获到PCU回复如下的日期/时刻设置完结数据帧,标明日期/时刻设置成功。留意应对字段为00H,标明PC无须回复。
FF 08 00 01 00 01 07 10
1.3.2 设置/更改暗码、暗码设置完结
经过上位机PowCom菜单指令将暗码设置或更改为8888时,如图7所示,截获如下的设置/更改暗码下行数据帧
明显,数据字段为暗码数字的ASCII码,由于十进制0~9对应的ASCII码30H~39H。留意应对字段为01H,标明PCU有必要回复。
此刻,截获到PCU回复如下的暗码设置完结上行数据帧,标明暗码设置成功。留意应对字段为00H,标明PC无须回复。
FF 08 00 01 00 01 08 11
1.3.3 验证暗码、暗码承认
当经过上位机PowCom菜单指令输入过错暗码5678时,截获如下的验证暗码下行数据帧
留意应对字段为01H,标明PCU有必要回复。此刻截获到PCU回复如下的暗码承认上行数据帧
依据PowCom此刻的显现界面如图8所示,揣度数据字段00H标明暗码过错。相同,应对字段为00H,标明PC无须回复。
当经过上位机PowCom菜单指令输入正确的暗码8888时,截获如下验证暗码下行数据帧
留意应对字段为01H,标明PCU有必要回复。此刻截获到PCU回复如下的暗码承认(password confirmation)上行数据帧
数据字段01H标明暗码正确。相同,应对字段为00H,标明PC无须回复。
1.3.4 其他
关于其它数据帧的解析,只阐明大致的解析办法和进程:在相关菜单运转相应的菜单项监控功用,将截获的数据帧与菜单项的参数、装备数据等进行比对,揣度数据字段的格局。别的,在解析许多数据帧的数据字段时,参阅了体系生成的相关文件。这样,既节省了很多的时刻,又提高了推理的准确性。
(1)借助于装备文件(.pcg),解析了与装备相关的数据帧,如表2中序号33~36和39~44。
(2)借助于参数文件(.prm),解析了与参数相关的数据帧,如表2中序号1~6。
(3)借助于测验文件(.tst),解析了与测验相关的数据帧,如表2中序号7~12。
(4)借助于告警前史文件,解析了与告警相关的数据帧,如表2中序号25~28。
2 实践验证
首要运用串口调试东西代替PowCom上位机软件,直接与下位机PCU通讯;然后将以上解析得到的下行(PC→PCU)数据帧逐一经串口调试东西宣布,查看PCU是否正确呼应,回来正确的上行(PCU→PC)数据帧,并正确无误地完结监控作业。
图9~图13别离是设置日期/时刻、设置暗码、恳求体系信息、恳求前史告警数据和恳求体系信息的测验截图。测验截图显现,运用破解的通讯指令能够直接与PCU通讯,并正确地完结监控作业。
以图9为例加以阐明。PC经过串口测验东西向PCU发送设置日期/时刻下行数据帧
经过串口测验东西截获的PCU回复如下的日期/时刻设置完结(date/time set)数据帧
FF 08 00 01 00 01 07 10
标明设置日期/时刻(set date/time)下行数据帧格局正确,PCU能正确辨认,并成功设置日期/时刻。
3 结束语
依据数链层通讯协议一般格局的破解办法,关于各种数链层通讯协议的破解具有通用性。可是,文中的破解成果具有必定的局限性,原因是Power-One通讯协议的格局和通讯指令并不是敞开的和通用的。尽管如此,关于通讯电源的监控管理人员以及通讯电源监控体系的规划人员仍具有必定的理论辅导意义。破解是手法而不是意图,下一步的作业是在此基础上规划合适中国国情,并且习惯通讯电源开展的监控体系和通讯协议。通讯电源地理上的分散化,必定要求监控的散布式,而散布式电源监控体系必定要求通讯协议的规范化和统一化。因而,研究作业的重点是我国通讯电源散布式监控软件的规划和完结。