基于dsp/bios操作系统的lxi仪器的vxi-11网络自动发现方法

文档序号:7856363阅读:313来源:国知局
专利名称:基于dsp/bios操作系统的lxi仪器的vxi-11网络自动发现方法
技术领域
本发明涉及网络自发现方法,具体涉及基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法。
背景技术
随着科学技术的发展,测试任务日趋复杂,测试点越来越分散,分布式网络测试已成为测试技术发展的一个重要方向。为了适应自动测试系统这种新的发展方向,提出了一
种新型仪器-LXI 仪器(LAN extension for Instrumentation)。LXI 使用计算机的 LAN
接口和Web浏览器组建自动测试系统,该系统具有向后兼容性、成本低廉、互操作性强等特点。LXI仪器总线的推出,为构建分布式测试系统提供了更加有效的手段,LXI仪器成为了测试仪器发展的新方向,也成为业内研究的重点。现有LXI仪器采用ARM芯片的Linux操作系统,该操作系统存在开发驱动程序复杂、操作硬件困难和数据传输速率慢的问题。

发明内容
本发明为了解决现有的Linux操作系统存在开发驱动程序复杂、操作硬件困难和数据传输速率慢的问题,从而提出了基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法。基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法,它包括下述步骤A、在LXI仪器的服务器端,启动端口映射程序服务器线程,取得服务器线程的端口号,并循环等待仪器控制端的远程过程调用服务器线程链接请求;B、仪器控制端向整个网络发送查询服务器端口号的UDP广播消息GET_P0RT ;C、LXI仪器的端口映射端口接收到仪器控制端发出的广播后,将服务器端口号及各类信息打包成VXI-Il数据包发送至仪器控制端;D、仪器控制端以TCP的方式与端口映射程序服务器线程进行通信,以确认收到LXI仪器的服务器端口信息;E、仪器控制端取得端口号后再以TCP的方式与服务器端进行通信,以查询LXI仪器信息;F、LXI仪器的服务器端以规定的数据格式向仪器控制端发送仪器信息,该信息包括厂商代码和仪器网页,在Angilent I/O面板上显示LXI仪器,完成网络发现过程。本方法具有便于用户操作和搜索快速的特点,便于沟通上层仪器驱动与仪器的作用,并完成对仪器的控制与通信的作用。本发明通过将DSP/BI0S操作系统内嵌于LXI仪器中,达到了开发驱动程序简单,操作硬件方便和数据传输速率快(时频达到600MHz )的目的。VXI-Il 在 LXI 仪器中的实现是基于 RPC(Remote Procedure Call)原理,RPC 即远程过程调用。RPC主机通过远程调用服务器上的函数,函数在实现其代码的服务器上执行,最后把执行的结果再发送回发送RPC请求的主机,此种函数调用的方式即为远程过程调用。目前存在两个常用的RPC程序包是Sun RPC (即0NC/RPC)和开放软件基金(0SF OpenSoftware Foundation)分布式计算环境(DCE !Distributed Computing Environment)的RPC程序包。LXI标准中要求所有的LXI仪器实现VXI-Il网络发现协议,而VXI-Il网络发现协议采用的即是0NC/RPC。


图I为基于DSP/BI0S操作系统的LXI仪器的VXI-11网络自动发现方法流程图;图2为VXI-11网络发现过程不意图; 图3为LXI仪器的硬件结构示意图;图4为端口映射程序服务器线程的运行流程图;图5为远程过程调用服务器线程的运行流程图。
具体实施例方式具体实施方式
一、结合图I和图2具体说明本实施方式,本实施方式所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法,DSP/BI0S操作系统内嵌于LXI仪器中,它包括下述步骤A、在LXI仪器的服务器端,启动端口映射(P0RTMAP)程序服务器线程,取得服务器线程的端口号,并循环等待仪器控制端的远程过程调用(RPC)服务器线程链接请求;B、仪器控制端向整个网络发送查询服务器端口号的UDP广播消息GET_P0RT ;C、LXI仪器的端口映射端口接收到仪器控制端发出的广播后,将服务器端口号及各类信息打包成VXI-Il数据包发送至仪器控制端;D、仪器控制端以TCP的方式与端口映射程序服务器线程进行通信,以确认收到LXI仪器的服务器端口信息;E、仪器控制端取得端口号后再以TCP的方式与服务器端进行通信,以查询LXI仪器信息;F、LXI仪器的服务器端以规定的数据格式向仪器控制端发送仪器信息,该信息包括厂商代码和仪器网页,在Angilent I/O面板上显示LXI仪器,完成网络发现过程。本发明利用DSP/BI0S系统实现RPC机制,在程序中自主设计RPC库以达到远程过程调用的功能。利用DSP操控硬件简单,高速,易于维护,降低了设计成本,通用性更强。本发明采用C6000 DSP (DM642)作为处理器,自带以太网接口,替代了 ARM处理器具有更高的处理速度,工作频率最高能到720M,处理能力达到57600MIPS,易于操控硬件,并且数据传输更快,可靠性更高;DSP/BI0S操作系统,贴近Linux系统,不同之处在与DSP/BIOS在上位机软件CCS中采用图形化界面配置,相对于LInux简单易于操作;且编制网络程序无需控制底层参数,程序通用,易于维护。
具体实施方式
二、结合图3具体说明本实施方式,本实施方式与具体实施方式
一所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法的区别在于,LXI仪器包括触发接口模块I、触发芯片2、功能接口模块3、FPGA模块4、RJ45连接器5、网络变压器6、网络驱动器7、DSP芯片8、电源模块9、FLASH模块10、SDRAM模块11、时钟模块12和电池模块13,外部硬件触发信号通过触发接口模块I发送至触发芯片2的触发接口, 触发芯片2的发送FPGA触发信号给FPGA模块4的触发接口,功能接口模块3的功能逻辑接口与FPGA模块4的功能逻辑接口连接,DSP芯片8的以太网通信端口通过网络驱动器7、网络变压器6和RJ45连接器5连接,网络驱动器7发出定时方波信号给模块4,用于网络芯片的测试,
DSP芯片8用于运行网络总线程,FPGA模块4与DSP芯片8通过数据地址总线连接,DSP芯片8的第一存储器接口与FLASH模块10的存储器接口连接,FLASH模块10用于存储DSP芯片8程序,DSP芯片8的第二存储器接口与SDRAM模块11的存储器接口连接,SDRAM模块11用于运行DSP芯片8程序,DSP芯片8的时钟接口与时钟模块12的时钟接口连接,时钟模块12的电源端口与电池模块13的电源端口连接。本发明采用DSP芯片是TI公司推出的TMS320DM642,或者叫DM642,通过该芯片构造LXI仪器,LXI仪器总线采用了基于B\S的结构来对仪器进行基本的控制,在LXI仪器中建立远程过程调用服务器,必须要有端口映射程序。服务器端口是LXI仪器内部随机分配的,仪器控制端并不知道此端口,但端口映射程序服务器的端口是已知端口号,其在TCP和UDP的端口号均是111。因此在DSP系统中创建了 2个线程,远程过程调用服务器线程和端口映射程序服务器线程。
具体实施方式
三、结合图4具体说明本实施方式,本实施方式与具体实施方式
一所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法的区别在于,端口映射程序服务器线程的建立具体过程为步骤一、开始;步骤二、创建TCP、UDP套接字,步骤三、判断创建TCP、UDP套接字是否有错误,判断为是,执行步骤十五;判断为否,执行步骤四;步骤四、绑定IP和端口信息;步骤五、判断绑定IP和端口信息是否有错误,判断为是,执行步骤十五;判断为否,执行步骤六;步骤六、创建服务器线程;步骤七、注册服务器端口 ;步骤八、监听远程过程调用客户端数据请求;步骤九、判断有无远程过程调用客户端数据请求,判断为是,执行步骤十;判断为否,执行步骤八;步骤十、解析远程过程调用客户端数据请求;
步骤十一、判断客户端是否要获取服务器的端口号,判断为是,执行步骤十二 ;判断为否,执行步骤八;步骤十二、将服务器的端口封装成远程过程调用数据包;步骤十三、将远程过程调用数据包发送至客户端;步骤十四、判断是否将远程过程调用数据包发送至客户端,判断为是,执行步骤十五;判断为否,执行步骤八。
步骤十五,结束端口映射程序服务器线程的建立。端口映射程序在UDP和TCP方式下的端口号都是111,同时它本身也可以看成是一种远程过程调用服务器程序,拥有一个函数集,VXI-Il协议规定了其程序号为0X186A0、版本号为2,该函数集中一共包含了 6个远程函数PMAPPR0C_NULL、PMAPPR0C_SET、PMAPPROC_UNSET、PMAPPR0C_GETP0RT、PMAPPR0C_DUMP、PMAPPROC_CALLIT,过程号分别为 0、1、2、3、4、5,其中 PMAPPR0C_SET 为服务器调用来向 P0RTMAP 注册自身,PMAPPR0C_GETP0RT 为远程过程调用协议客户端调用来获得远程过程调用服务器的端口号。由于DSP/BI0S为多任务操作系统,端口映射程序和远程过程调用服务器程序对应的都是一个任务,而任务之间直接可以采用邮箱进行通信,故服务器向端口映射程序的注册不采用远程过程调用的方式,即PMAPPR0C_SET函数在本设计中不与实现,为了降低设计难度,简化设计过程,只实现了 PMAPPR0C_GETP0RT函数。在系统主任务中创建端口映射程序服务器线程任务线程,其优先级为4,该任务的实现过程如图4所示。
具体实施方式
四、结合图5具体说明本实施方式,本实施方式与具体实施方式
一所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法的区别在于,远程过程调用服务器线程的建立具体过程为步骤十六、开始;步骤十七、创建TCP套接字;步骤十八、判断创建TCP套接字是否有误,判断为是,执行步骤三十二 ;判断为否,执行步骤十九;步骤十九、动态从系统获取一个空闲的端口号;步骤二十、将端口号与IP信息绑定;步骤二十一、判断端口号与IP信息绑定是否有误,判断为是,执行步骤三十二 ;判断为否,执行步骤二十二;步骤二十二、向端口映射程序服务器线程注册端口号;步骤二十三、监听远程过程调用客户端的请求;步骤二十四、判断有无远程过程调用客户端数据请求,判断为是,执行步骤二十五;判断为否,执行步骤二十二 ;步骤二十五、解析远程过程调用客户端数据请求,当数据请求为建立连接时,则执行步骤二十六;当数据请求为读取数据时,则执行步骤二十七;当数据请求为断开连接时,则执行步骤二十八;步骤二十六、服务器建立与客户端的TCP连接,执行步骤三i^一 ;
步骤二十七、服务器读取仪器信息,执行步骤二十九;步骤二十八、服务器断开与客户端的TCP连接,执行步骤三十一;步骤二十九、将服务器的端口封装成远程过程调用数据包;步骤三十、将远程过程调用数据包发送至客户端;步骤三十一、判断是否 将远程过程调用数据包发送至客户端,判断为是,执行步骤三十二 ;判断为否,执行步骤二十三;步骤三十二、结束远程过程调用服务器线程的建立。远程过程调用服务器程序的建立类似于端口映射程序服务器线程建立,主要任务是监听客户端的TCP请求,然后返回设备的厂商、型号、序列号等仪器信息。远程过程调用服务器程序分为核心通道、异常通道和中断通道,每一个通道维护一个函数集,在本设计中只需要发现设备,获取设备的基本信息,故只实现了核心通道的create_link (过程号为 10)、device_read (过程号为 12)、destroy_link (过程号为 23)函数,核心通道的程序号为0x607AF,版本号为I。create_link函数用于客户端与服务器端建立连接,device_read用于读取服务器的设备信息,destroy_link用于断开与服务器连接。服务器任务线程由端口映射程序服务器线程任务创建,其运行过程如图5所示。
权利要求
1.基于DSP/BIOS操作系统的LXI仪器的VXI-II网络自动发现方法,其特征在于,DSP/BIOS操作系统内嵌于LXI仪器中,它包括下述步骤 A、在LXI仪器的服务器端,启动端ロ映射程序服务器线程,取得服务器线程的端口号,并循环等待仪器控制端的远程过程调用服务器线程链接请求; B、仪器控制端向整个网络发送查询服务器端口号的UDP广播消息GET_P0RT; C、LXI仪器的端ロ映射端ロ接收到仪器控制端发出的广播后,将服务器端口号及各类信息打包成VXI-Il数据包发送至仪器控制端; D、仪器控制端以TCP的方式与端ロ映射程序服务器线程进行通信,以确认收到LXI仪器的服务器端ロ信息; E、仪器控制端取得端口号后再以TCP的方式与服务器端进行通信,以查询LXI仪器信 息; F、LXI仪器的服务器端以规定的数据格式向仪器控制端发送仪器信息,该信息包括厂商代码和仪器网页,在Angilent I/O面板上显示LXI仪器,完成网络发现过程。
2.根据权利要求I所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法,其特征在于,LXI仪器包括触发接ロ模块(I)、触发芯片(2)、功能接ロ模块(3)、FPGA模块(4)、RJ45连接器(5)、网络变压器(6)、网络驱动器(7)、DSP芯片(8)、电源模块(9)、FLASH模块(10)、SDRAM模块(11)、时钟模块(12 )和电池模块(13), 外部硬件触发信号通过触发接ロ模块(I)发送至触发芯片(2 )的触发接ロ, 触发芯片(2)的发送FPGA触发信号给FPGA模块(4)的触发接ロ, 功能接ロ模块(3)的功能逻辑接ロ与FPGA模块(4)的功能逻辑接ロ连接, DSP芯片(8)的以太网通信端ロ通过网络驱动器(7)、网络变压器(6)和RJ45连接器(5)连接, 网络驱动器(7)发出定时方波信号给模块4,用于网络芯片的测试, DSP芯片(8)用于运行网络总线程, FPGA模块(4)与DSP芯片(8)通过数据地址总线连接, DSP芯片(8 )的第一存储器接ロ与FLASH模块(10 )的存储器接ロ连接,FLASH模块(10 )用于存储DSP芯片(8)程序, DSP芯片(8 )的第二存储器接ロ与SDRAM模块(11)的存储器接ロ连接,SDRAM模块(11)用于运行DSP芯片(8)程序, DSP芯片(8)的时钟接ロ与时钟模块(12)的时钟接ロ连接, 时钟模块(12 )的电源端ロ与电池模块(13 )的电源端ロ连接。
3.根据权利要求I所述的基于DSP/BI0S操作系统的LXI仪器的VXI-Il网络自动发现方法,其特征在于,端ロ映射程序服务器线程的建立具体过程为 步骤一、开始; 步骤ニ、创建TCP、UDP套接字, 步骤三、判断创建TCP、UDP套接字是否有错误,判断为是,执行步骤十五;判断为否,执行步骤四; 步骤四、绑定IP和端ロ信息; 步骤五、判断绑定IP和端ロ信息是否有错误,判断为是,执行步骤十五;判断为否,执行步骤六; 步骤六、创建服务器线程; 步骤七、注册服务器端ロ ; 步骤八、监听远程过程调用客户端数据请求; 步骤九、判断有无远程过程调用客户端数据请求,判断为是,执行步骤十;判断为否,执行步骤八; 步骤十、解析远程过程调用客户端数据请求; 步骤十一、判断客户端是否要获取服务器的端口号,判断为是,执行步骤十二 ;判断为否,执行步骤八; 步骤十二、将服务器的端ロ封装成远程过程调用数据包; 步骤十三、将远程过程调用数据包发送至客户端; 步骤十四、判断是否将远程过程调用数据包发送至客户端,判断为是,执行步骤十五;判断为否,执行步骤八。
步骤十五,结束端ロ映射程序服务器线程的建立。
4.根据权利要求I所述的基于DSP/BIOS操作系统的LXI仪器的VXI-Il网络自动发现方法,其特征在于,远程过程调用服务器线程的建立具体过程为 步骤十六、开始; 步骤十七、创建TCP套接字; 步骤十八、判断创建TCP套接字是否有误,判断为是,执行步骤三十ニ ;判断为否,执行步骤十九; 步骤十九、动态从系统获取一个空闲的端口号; 步骤二十、将端口号与IP信息绑定; 步骤二十一、判断端口号与IP信息绑定是否有误,判断为是,执行步骤三十ニ ;判断为否,执行步骤二十ニ; 步骤二十ニ、向端ロ映射程序服务器线程注册端口号; 步骤二十三、监听远程过程调用客户端的请求; 步骤二十四、判断有无远程过程调用客户端数据请求,判断为是,执行步骤二十五;判断为否,执行步骤二十ニ; 步骤二十五、解析远程过程调用客户端数据请求, 当数据请求为建立连接时,则执行步骤二十六; 当数据请求为读取数据时,则执行步骤二十七; 当数据请求为断开连接时,则执行步骤二十八; 步骤二十六、服务器建立与客户端的TCP连接,执行步骤三i^一 ; 步骤二十七、服务器读取仪器信息,执行步骤二十九; 步骤二十八、服务器断开与客户端的TCP连接,执行步骤三十一; 步骤二十九、将服务器的端ロ封装成远程过程调用数据包; 步骤三十、将远程过程调用数据包发送至客户端; 步骤三十一、判断是否将远程过程调用数据包发送至客户端,判断为是,执行步骤三十ニ ;判断为否,执行步骤二十三;步骤三十ニ、结束远程过程调用服务器线程的建立。全文摘要
基于DSP/BIOS操作系统的LXI仪器的VXI-11网络自动发现方法,本发明涉及基于DSP/BIOS操作系统的LXI仪器的VXI-11网络自动发现方法。它为解决现有Linux操作系统存在开发驱动程序复杂、操作硬件困难和数据传输速率慢问题。它在LXI仪器服务器端启动端口映射程序服务器线程取得服务器线程端口号,循环等待远程过程调用服务器线程链接请求;仪器控制端向整个网络发送广播;端口映射端口接收到广播后,将息打包并发送至仪器控制端;控制端与端口映射程序服务器线程进行通信,当取得端口号后与服务器端进行通信,服务器端向仪器控制端发送仪器信息,完成网络发现过程。本发明应用于LXI仪器的开发领域。
文档编号H04L29/08GK102739806SQ20121025315
公开日2012年10月17日 申请日期2012年7月20日 优先权日2012年7月20日
发明者孙超, 曾蓉, 杨京礼, 许永辉 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1