本发明涉及以太网的调试技术领域,具体地说是一种调试以太网phy的工具和方法。
背景技术:
随着因特网的高速发展,ip网络逐渐成为人们日常工作和生活中必不可少的工具。以太网(ethernet)指的是由xerox公司创建并由xerox、intel和dec公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用csma/cd(载波监听多路访问及冲突检测)技术,并以10m/s的速率运行在多种类型的电缆上。以太网与ieee802.3系列标准相类似。
包括标准的以太网(10mbit/s)、快速以太网(100mbit/s)和10g(10gbit/s)以太网。它们都符合ieee802.3。
在实际调试新产品的以太网phy时会需要使用一些调试工具,但是这些调试工具存在以下弊端:
1、需要特定的硬件和特定的安装在pc上的软件;
2、整个调试工具无法进行二次开发以满足客户的特殊需求。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供可以提高新产品中以太网phy的调试速度的一种调试以太网phy的工具和方法。
本发明解决其技术问题所采用的技术方案是:一种调试以太网phy的工具,包括一种开放式软件系统应用于硬件服务器中,所述的软件系统包括用户ui层、smi通讯协议层和phyicdrivers层;
用户ui层,为client/server结构,即ui客户机/服务器结构;
smi通讯协议层,smi协议层定义api,用于实现ui层与外置的phyicdrivers层通讯;
phyicdrivers层,用于基于smi总线实现以太网phy的操作。
进一步,优选的结构为,
硬件服务器为具有mmu功能的嵌入式cpu,cpu运行linux操作系统。
进一步,优选的结构为,
所述的smi通讯协议层,用于管理千兆phy的clause22协议和用于管理万兆phy的clause45协议。
进一步,优选的结构为,
uiserver端使用pythonweb框架django作为web服务端,web服务端和phyicdrivers层之间的通讯使用便于调试扩展的jsonrpc协议实现。
一种调试以太网phy的方法,应用于具有mmu功能的嵌入式cpu上,cpu运行linux操作系统;
用户ui层,使用标准的c/s架构;通过smi协议层定义数据接口api;api用于用户ui层和phyicdrivers层之间接收和发送以太网帧数据。
进一步,优选的方法为,
uiserver端使用pythonweb框架django作为web服务端,web服务端和phyicdrivers层之间的通讯使用便于调试扩展的jsonrpc协议实现。
本发明的一种调试以太网phy的工具和方法和现有技术相比,有益效果如下:
1、jsonrpc协议是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统、不同环境的程序实现基于internet过程调用的规范和一系列的实现;这种远程过程调用可以使用http作为传输协议,也可以使用其它传输协议,传输的内容是json消息体;
2、该方法使用软件模拟通讯协议,具有较强的可移植性,可以运行在多种不同的嵌入式硬件平台上;
3、该方法的用户ui使用c/s的形式,对不同平台的用户接入具有较强的兼容性;
4、该方法使用标准的api对外提供扩展服务,方便用户定制私有化功能。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种调试以太网phy的工具和方法的原理框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
其中:api:应用程序接口(api:applicationprograminterface);phy:phy指物理层,osi的最底层。一般指与外部信号接口的芯片。smi:serialmanagementinterface,串行管理接口。c/s:client/server,客户机/服务器结构,一种常用的软件架构形式。mmu是memorymanagementunit的缩写,中文名是内存管理单元,它是中央处理器(cpu)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。json-rpc是一种基于json的跨语言远程调用协议。有文本传输数据小,便于调试扩展的特点。django是一个开放源代码的web应用框架,由python写成。采用了mvc的框架模式,即模型m,视图v和控制器c。
本发明为一种调试以太网phy的工具和方法,使用c/s软件架构,方便用户根据不同的应用需求使用该软件,比如用户可以选择pc机上的浏览器或者手机,同时该架构也方便进行远程协助式使用。本发明公开的系统开放二次开发接口,方便使用者进行二次开发,同时使用简单api也可以新增各种不同的以太网phy芯片。
实施例1:
该系统主要分为硬件和软件两大部分,硬件需要使用具有mmu功能的嵌入式cpu,且能够运行linux。在实际的实施过程中,硬件可以使用价格便宜的开源硬件raspberrypi,运行linux操作系统。
软件部分,软件部分从层次划分上主要分为:用户ui层、smi通讯协议层、phyicdrivers层。用户ui层使用标准的c/s架构。smi通讯协议层支持用于管理千兆phy的clause22协议和用于管理万兆phy的clause45协议。
phyic驱动层的工作主要是基于smi总线实现各种具体以太网phy的操作。
参见图1,系统整体框架图。
smi协议层定义以下关键api:
voidsetmdiopin(intvalue);
voidsetmdcpin(intvalue);
uintgetmdiopin();
voidmdcclock();
voidmdioselectpins(intselection);
voidmdiowriteregister(uintphyaddr,uintregaddr,uintvalue);
uintmdioreadregister(uintphyaddr,uintregaddr);
用户ui层,server端使用pythonweb框架django作为web服务,web服务端和物理phy之间的通讯使用jsonrpc实现。
本发明公开的内容,核心协议均使用软件模拟,具有较好的用户ui,软件方式实现关键通讯协议,用户可以根据实际的需要移植到满足需求的硬件平台上,具有很强的跨硬件平台的可移植性,用户ui使用c/s架构,方便用户扩展应用,且该方法支持用户的二次开发。
而且,本发明内容提供了一种开放式的调试以太网phy的工具套件,为公司调试不同产品的以太网phy产品加快了速度。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。