摘要:智能变电站改变了数据收集的办法,一次设备集成的收集器担任数据采样,然后经过光以太网将采样数据以网络报文的办法发送给二次设备。介绍选用以太网交流芯片扩展网络接口在录波和网络记载设备数据收集中的运用研究,介绍实践中遇到的问题及处理办法,并剖析存在的问题和其适用的规模。
导言
智能变电站改变了数据收集的办法,一次设备集成的收集器担任数据采样,然后经过光以太网将采样数据以网络报文的办法发送给二次设备。二次设备需求多个网口接纳采样数据报文,尤其是集中式录波设备和网络记载设备一般需求8个左右的光以太网收集口,而在GOOSE报文点对点接入办法下需求的光以太网就更多了。以往嵌入式CPU没有这么多网口,所以选用交流芯片扩展以太网接口就成为首选计划。
1 规划计划及渠道介绍
1.1 规划渠道根底
硬件选用POWERPC为中心,主频为800 MHz,支撑两个RGMII接口;软件选用嵌入式Linux,内核版别为2.6. 25。
1.2 规划计划
体系硬件以PowerPC CPU为中心,外围模块包含内存、SATA硬盘、LED指示灯、NORFlash、扩展网口的交流模块、JTAG调试口、串口操控台、独立的千兆以太网口。
体系框图如图1所示。主要功用如下:
①其间大容量内存用于Linux体系及运用程序运转,以及网络报文数据和录波数据缓冲;
②SATA硬盘用于报文数据和录波数据记载存储、Linux根文件体系存储;
③LED指示灯用于指示程序运转状况;
④Nor Flash用于Linux内核和U-boot存储;
⑤交流模块对外担任接入8个百兆光以太网口,CPU经过RGMII数字接口相连,将8个百兆光以太网口收集的数据聚集到CPU;
⑥JTAG调试口用于硬件调试;
⑦串口操控台,用于程序及驱动调试;
⑧独立的千兆以太网口担任和后台通讯。
2 根本驱动程序规划
交流芯片厂家供给交流芯片的驱动、SDK源码、比如,可是没有针对本渠道的处理计划,根本驱动需求完成上层函数对交流芯片进行装备操作,实践网络驱动只需求把相应端口装备好,在Linux设备树文件中界说好,就能够运用Linux通用网络驱动进行网络通讯。
2.1 mii_read/mii_write接口函数完成
mii_read/mii_write是上层函数对交流芯片装备操作的函数,经过RGMII硬件接口完成。在Linux体系中对硬件操作不能有上层函数直接拜访,需求经过驱动接口完成上层函数对底层硬件的拜访,本计划经过设备特点文件的读写完成对底层硬件端口的装备读写。详细步骤如下:
①在内核层,运用Linux的device_attr(),在文件体系中添加设备特点。内核代码需求修正的文件为Gianfar_mii.c。
◆界说sysfs_reg_io函数完成硬件直接读写,本处文件读写传递参数为字符串,故需求相应转化。
◆绑定设备特点文件reg_io,对其读写实践履行的是sysfs_reg_io。
static DEV%&&&&&%E_ATTR(reg_io,S_IWUSR | S_IRUSR,sysfs_reg_io,sysfs_reg_io);
◆在int gfar_mdio_probe(struct devrice*dev)添力口以下代码中的完成设备特点文件到体系。
dev_set_drvdata(dev,new_bus);
device_create_file(dev,dev_attr_reg_io);
②在用户层需求修正mii_read/mii_write函数的详细完成,示例代码选用的是硬件直接拜访,本处需求运用对reg_io文件的读写完成,留意传入参数需求和sysfs_reg_io函数的处理共同。详细修正哪个文件,在不损坏SDK接口的状况下查找相应函数名修正,修正后代码如下:
③多地址装备。
交流芯片的各个端口和PHY的装备端口的拜访分为两种形式:单地址形式和多地址形式。单地址形式仍是多地址形式经过交流芯片的硬件跳线挑选,单地址形式指交流芯片的各个端口和PHY别离占用MDIO的设备地址空间,而多地址只占用一个MDIO设备的地址空间,这个设备地址空间的特别寄存器完成各个端口和PHY的多地址复用拜访。
在实践运用中,假如交流芯片运用单地址形式,交流芯片占用了一切的MDIO设备地址空间,和另一个独立的千兆网口的MDIO设备地址抵触,故本计划选用多地址形式。多地址形式除了需求硬件装备外,还需求在SDK中相应装备。
本体系需求宏界说:#ifdef MULTI_ADDR_MODE。有了这个宏界说,实践拜访交流芯片的函数为MultiAddrRead/MultiAddrRead,经过交流芯片的指令寄存器和数据寄存器拜访。装备efg.mode.baseAddr=0x10为交流芯片地址(和交流芯片地址跳线相关);装备cfg.cpu Port Num=10为交流芯片和CPU相连的端口地址,本例中为10口。
3 CPU和以太网RGMII衔接驱动装备
因为CPU是经过RGMII数字接口和交流芯片直接相连,中心没有PHY,故需求在设备树中直接界说衔接装备为固定波特率形式。有PHY的装备,例如phy—handle=phy2>,实践波特率装备需求装备相应PHY的寄存器或许自适应;固定波特率形式装备,例如fixed—link=1 1 1000 0 0>,表明全双工1000 Mbps(nopause and no asym_pause)。
4 数据聚集以及相互阻隔规划
智能变电站中,进程层交流机为了操控流量,一般选用区分VLAN的办法阻隔运用无关以太网端口,而不同以太网端口或许都要接入同一个录波设备或网络报文记载仪设备。
实践运用中呈现过录波设备内部不同网口之间有交流功用,导致网络回环、网络瘫痪的状况,这就要求设备的数据接进口之间必需要阻隔。选用区分VLAN的办法现场保护困难,实践运用中选用端口见物理阻隔的办法。
完成计划如下:交流芯片用于数据收集的0~7号端口、8号端口(完成1588对时)、9号端口(用于和口头通讯)之间相互阻隔。0~9号端口都和10号端口通讯(10号端口和CPU相连聚集0~7口的数据)。
经过装备交流芯片一切端口的0x06操控寄存器可完成该功用,该寄存器名为端口级VLAN映射(PORT Based VLAN MAP)。其间的10:0位指示VLANTable,其间每一位对应一个端口,置1表明该端口输入的数据会发到相应端口(如5端口的VLANTable=0x003表明5端口的数据会转发给0端口和1端口)。实践装备0~9端口读取寄存器内容,和0x400按位“与”之后回写。10端口读取寄存器内容和0x300按位“与”之后回写。
结语
因为交流芯片形成的延时具有不确定性,且一切端口数据聚集到千兆口由CPU担任接纳会形成排队现象,本计划不合适对时间精度要求较高(μs)的SV报文记载,可是因为本计划端口多,带广大合适作为GOOSE及MMS报文的记载,及时GOOSE和MMS突发性报文较多本计划也能轻松记载。实践测验本计划可记载600~800 Mbps的流量(视报文巨细不同)。
根据交流芯片的嵌入式智能电网录涉及网络记载设备数据收集计划,有用处理了GOOSE及MMS大容量、突发性报文记载的问题,性价比较高。在实践运用中,因为录波和网络记载设备收集端口多,乃至能够削减智能变电站进程层网络交流机需求。