用于一主多从式网络的数据交互方法及其嵌入式设备与流程

文档序号:11654215阅读:363来源:国知局

本发明具体涉及数据交互领域,具体涉及一种用于一主多从式网络的数据交互方法及其嵌入式设备。



背景技术:

随着国家经济技术的发展和人们生活水平的提高,电能已经成为了人们日常生活中必不可少的二次能源之一,给人们的生产和生活带来了无尽的便利。

因此,随着电能的普及,电能质量的监测也越发显得重要。多回路电能质量监测设备以其能够同时监测多路电能信号的优势,一经上市便得到了市场的广泛认可,在电能质量监测行业中占据了举足轻重的位置。

但是,目前市面上的多回路电能质量产品中,往往数据运算量大,整个系统设计通常会有一个管理cpu(主控单元)进行数据的管理,而涉及到运算则有一颗强大的运算cpu(测控单元)完成数据的运算,而运算后的数据文件最大达到兆级,存储于测控单元的sd卡上。如果要将每个测控单元的数据都传输给主控单元那通信压力太大,另外也要准备一个大容量存储介质实现数据的存储,增加成本。主控单元和测控单元的数据交互则是该产品的设计关键。目前市场上嵌入式系统组网方式大多采用hpi总线、can总线、spi、串口、以太网、无线等通信方式实现数据的交互。hpi总线、抗干扰能力差,工业产品的emc要求苛刻。spi较为适合一对一通信,而多机通信的时候,由于布板原因,信号线路较长,导致抗干扰能力下降。uart的传输速率最快才20kbps,速度达不到要求。can总线和无线考虑到成本,需要外扩芯片,成本较高,而can总线传输速率最快才1mbps,因此也未能满足要求。以上通信方式均未能满足分布式存储要求,只能实现数据的交互。而以太网的速度和抗干扰性均能满足要求,成熟的nfs(网络文件系统)也满足分布式存储要求。但是嵌入式系统mac是有限的,也需要外扩芯片满足要求,成本上也难满足要求。



技术实现要素:

本发明的目的之一在于提供一种能够快速完成主控单元和测控单元之间的数据交互、而且抗干扰能力强、成本低廉的用于一主多从式网络的数据交互方法

本发明的目的之二在于提供一种包括所述用于一主多从式网络的数据交互方法的嵌入式设备。

本发明提供的这种用于一主多从式网络的数据交互方法,包括如下步骤:

s1.采用usbhub芯片作为主控单元和测控单元之间数据交互的硬件接口芯片;

s2.将主控单元作为usbhost接口、测控单元作为usbdevice接口,分别接入usbhub芯片;

s3.当测控单元接入usbhub的端口时,加载自身的id号,同时根据id号完成自身的ip配置,并建立nfs服务端;

s4.当主控单元检测到测控单元接入usbhub后,根据测控单元接入的usbhub的端口号完成主控单元自身的ip配置,并运行nfs客户端;

s5.主控单元作为nfs客户端,从作为nfs服务端的测控单元获取相应的共享数据,实现共享数据的本地存储和异地共享。

所述的用于一主多从式网络的数据交互方法及其嵌入式设备,还包括如下步骤:

s6.当有新的测控单元接入usbhub芯片时,重复步骤s3~s5完成多回路电能质量监测设备的内部数据交互。

步骤s1所述的usbhub芯片为1扩7的型号为usb2517的usbhub芯片。

所述的主控单元作为usbhost接口时,主控单元的内核版本为linux3.15.10,同时还需加载内核的cdcethernetsupport为动态模块,并加载usbnet.ko。

所述的测控单元作为usbdevice接口时,测控单元的内核版本为linux3.3.0,同时要需加载内核的usbgadget驱动,打开cdcethernetsuppout选项,并加载usbnet.ko。

步骤s3所述的测控单元加载自身的id号,同时根据id号完成自身的ip配置,并建立nfs服务端,具体为当测控单元接入usbhub端口后,测控单元自动加载ip识别驱动并运行对应脚本,脚本根据自身的id号完成测控单元自身的ip配置,同时建立nfs服务端,将共享信息进行共享。

步骤s4所述的主控单元根据测控单元接入的usbhub的端口号完成主控单元自身的ip配置,并运行nfs客户端,具体为主控单元识别有测控单元接入usbhub后,自动加载usb驱动并运行对应脚本,脚本根据对应的usbhub端口号完成主控单元自身的ip配置,同时运行nfs客户端,将测控单元共享的信息挂载到本地目录下。

本发明还提供了一种嵌入式设备,该嵌入式设备包括了所述的用于一主多从式网络的数据交互方法。

本发明提供的这种用于一主多从式网络的数据交互方法及其嵌入式设备,通过usbhub及其nfs系统完成内部数据的交互,可以大大节省本地存储空间,实现数据的互联互通,实现了数据的离散分布且相对集中的共享方式,使得当有一个测控单元存储介质损坏时,可以很方便的更换,不影响其它测控单元的存储数据,而且基于usb的nfs设计,替代了传统的基于以太网的nfs,在不需要外扩mac的情况下,既保证的传输速度,又提高了emc抗干扰能力,还实现了所有流程动态加载,全自动化流程,不要手动配置,实现了一主多从机制,根据需要测控单元数量灵活配置。usbdevice即插即用,方便日后维护。

附图说明

图1为本发明的方法流程图。

具体实施方式

如图1所示为本发明的方法流程图:本发明提供的这种用于一主多从式网络的数据交互方法,包括如下步骤:

s1.采用1扩7的型号为usb2517的usbhub芯片作为主控单元和测控单元之间数据交互的硬件接口芯片;

s2.将主控单元作为usbhost接口、测控单元作为usbdevice接口,分别接入usbhub芯片;

主控单元的内核版本为linux3.15.10,同时还需加载内核的cdcethernetsupport为动态模块,并加载usbnet.ko;测控单元的内核版本为linux3.3.0,同时要需加载内核的usbgadget驱动,打开cdcethernetsuppout选项,并加载usbnet.ko;

s3.当测控单元接入usbhub的端口时,加载自身的id号,同时根据id号完成自身的ip配置,并建立nfs服务端;具体为当测控单元接入usbhub端口后,测控单元自动加载ip识别驱动并运行对应脚本,脚本根据自身的id号完成测控单元自身的ip配置,同时建立nfs服务端,将共享信息进行共享;

在具体实施时,当测控单元插入后,根据gpio状态,通过一个字节的低三位状态决定插入usbhub的哪个端口。例如001,既插入usbhub的第一个端口,此时udevd接收到内核发送来的uevent信号,根据对应规则,在/dev/下面产生名为base的设备名称,规则如下:

action=="add",kernel=="base",run+="/etc/udev/scripts/ipconfig-usb0.sh"

同时启动id识别驱动,驱动能正确读取001状态,并且运行ipconfig-usb0.sh脚本,脚本完成ip的配置工作:ifconfigusb0222.111.$id.138。完成上述步骤后,测控单元会建立nfs服务端,步骤为:portmap>exportfs>rpc.statd>rpc.nfsd2>rpc.mountd;其中exportfs为加载需要共享的目录文件,方法为:

/media/sdcard*(rw,fsid=2,sync,no_subtree_check,no_root_squash);

至此,测控单元的工作已经完成;

s4.当主控单元检测到测控单元接入usbhub后,根据测控单元接入的usbhub的端口号完成主控单元自身的ip配置,并运行nfs客户端;具体为主控单元识别有测控单元接入usbhub后,自动加载usb驱动并运行对应脚本,脚本根据对应的usbhub端口号完成主控单元自身的ip配置,同时运行nfs客户端,将测控单元共享的信息挂载到本地目录下;

在具体实施时,当主控单元识别到测控单元接入后,此时udevd接收到内核发送来的uevent信号,根据对应规则,在/dev/目录下面产生名为usbnet0的设备名称,规则如下:

action=="add",kernels=="1-2.1:1.0",name="usbnet0",run+="/etc/udev/scripts/ipconfig-usb.sh0"

同运行脚本,将对应的id号0传递给ipconfig-usb.sh脚本。脚本完成配置ip工作:ifconfigusbnet$id222.111.$id.45,同时也将id号传入nfs配置脚本,将步骤3建立的共享目录共享到本地目录下,方法为:

mount-tnfs-onolock,soft,timeo=2,retrans=1,bg222.111.$id.138:/media/sdcard/media/nfs$id/sd;

s5.主控单元作为nfs客户端,从作为nfs服务端的测控单元获取相应的共享数据,实现共享数据的本地存储和异地共享;

至此完成了所有操作。主控单元的根文件系统下/media/nfs$id/sd下就会看见测控单元/media/sdcard目录下的所有数据;

s6.当有新的测控单元接入usbhub芯片时,重复步骤s3~s5完成多回路电能质量监测设备的内部数据交互。

而本发明提供的这种用于一主多从式网络的数据交互方法,可以用于各种嵌入式设备和包括一主多从式网络的设备,包括但不限于各类型的计量仪表(比如电能表、水表、燃气表、热量表等)、电能管理终端、配电终端、电能质量监控设备、电网自动化终端、采集终端、集中器、数据采集器、计量仪表、手抄器、故障指示器等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1