数据传输方法、电子设备及通用串行总线设备技术

技术编号:12671879 阅读:50 留言:0更新日期:2016-01-07 16:59
本发明专利技术公开了一种数据传输方法,应用于电子设备中,所述电子设备通过自身第一端口与第一USB设备进行数据传输,并执行第一程序;所述方法包括:当所述电子设备中执行的所述第一程序切换至第二程序时,获取与所述电子设备链接的各USB设备的端口标识号;确定端口标识号为第一端口对应的第一端口标识号时,获取所述第一端口标识号对应的第一USB设备的第二符号链接名;将所述第一程序中的第一符号链接名替换为第二符号链接名,通过第二符号链接名打开所述第一USB设备,继续执行第一程序。本发明专利技术还公开了一种电子设备及USB设备。

【技术实现步骤摘要】

本专利技术涉及通用串行总线(Universal Serial Bus, USB)设备应用技术,尤其涉及一种数据传输方法、电子设备及USB设备。
技术介绍
USB是一种外部总线标准,由Intel、IBM、Microsoft等多家公司在1994年底联合提出,主要用于规范电脑和外部设备的连接和通讯。USB规范经历了多年的发展,现已成为当前电子设备中的标准扩展端口规范;当前主板的端口规范主要采用USB1.1和USB2.0版本,高版本可以很好的兼容低版本。目前,所述USB1.1和USB2.0版本对应端口的最高传输速率分别为12Mbps和480Mbps ;而正在普及中的USB3.0规范,其对应端口的最高速率高达5Gbps。除了高速传输的优点外,USB端口还支持设备的即插即用和热插拔功能,正是因为这些独特的优点使得USB规范被广泛应用于各个方面,例如:移动终端、存储设备、扫描仪及打印机等几乎所有的外部设备。USB系统由硬件和软件两部分组成;这里,所述USB系统为USB设备、及与所述USB设备连接的电子设备组成的系统。USB系统的硬件部分采用的是级联星型拓扑结构,包括主机控制器(Host Controller)、集线器(Hub)和USB设备三部分。每个计算机的主板上都有一个或者多个主机控制器,主机控制器挂载在外设部件互连(Peripheral ComponentInterconnect, PCI)总线上,并且自带一个根集线器(Root Hub)。根集线器下可以接多级子集线器;每个集线器最多可以提供127个彼此不会互相干扰的端口(Port),这些端口将USB设备连接到主机控制器上,并为所述USB设备提供电源管理。当USB设备连接到端口上时,主机控制器会发送标准的USB请求枚举设备的所有信息,其中最重要的是USB设备描述符中的厂商标识(Vendor ID, VID),产品标识(Product ID, PID)和设备序列号(SerialNumber)信息,上述三项属性中如有一项发生变化,主机控制器就认为有不同的USB设备接入。USB系统的软件部分主要指驱动程序,它采用的是Windows驱动模式(WindowsDriver Mode, WDM);完成一个USB设备的操作,至少需要两个设备对象,一个是物理设备对象(Physical Device Object, PD0),一个是功能设备对象(Funct1nal Device Object,FD0);其中,所述物理设备对象由操作系统提供的USB总线驱动生成,用以实现繁琐的底层通信;所述功能设备对象由开发者编写的驱动程序生成,功能驱动不操作实际的USB设备,只需要与USB总线驱动交互。开发者需要在驱动程序中为生成的功能设备对象创建一个符号链接名,上层应用程序可以通过所述符号链接名对实际的USB设备进行相应的读写操作。为了满足用户日益增长的需求,一个USB设备同时会具备多种功能,例如一个智能移动终端既可以作为存储设备保存数据,也可以当作网卡连接因特网,即同一个物理硬件的设备信息可随时变化。当两个或两个以上的此种可变信息USB设备同时进行数据传输时,USB设备在多种功能之间会发生切换,某种功能对应的执行程序在对应切换前后的USB设备时会发生混乱,导致数据传输流程中断。引起该问题的根本原因是各功能模式下USB设备信息不一致,因为功能切换后计算机会重新为USB设备加载新驱动程序,生成新符号链接名。为了避免这个问题,目前最简单也最常用的方法是在各功能模式下创建一个相同信息的USB设备,通过所述相同信息的USB设备将各功能模式进行衔接。但由于每个模式下都要创建信息相同的USB设备,所以会造成资源浪费,也使得各功能模式具有紧耦合性,即若一个模块发生变动其它模块也要跟随变动,如此,增大了维护成本。
技术实现思路
为解决现有存在的技术问题,本专利技术实施例提供了一种数据传输方法、电子设备及USB设备,能在USB设备的功能切换后精确确定USB设备,以继续执行功能切换前的程序。本专利技术的技术方案是这样实现的:本专利技术提供了一种数据传输方法,应用于电子设备中,所述电子设备通过自身第一端口与第一 USB设备进行数据传输,并执行第一程序;所述方法包括:当所述电子设备中执行的所述第一程序切换至第二程序时,获取与所述电子设备链接的各USB设备的端口标识号;确定端口标识号为第一端口对应的第一端口标识号时,获取所述第一端口标识号对应的第一 USB设备的第二符号链接名;将所述第一程序中的第一符号链接名替换为第二符号链接名,通过第二符号链接名打开所述第一 USB设备,继续执行第一程序。上述方案中,所述电子设备与两个以上的USB设备分别通过自身的端口进行数据传输;所述方法还包括:根据各端口对应的主机控制器、集线器及端口的索引值确定各端口对应的端口标识号。上述方案中,所述当所述电子设备中执行的所述第一程序切换至第二程序时之前,所述方法还包括:确定第一端口对应的第一端口标识号;获取所述第一 USB设备的第一符号链接名;在所述第一程序中存储所述第一符号链接名和所述第一端口标识号。上述方案中,所述方法还包括:确定各端口的端口编号;所述各端口的端口标号与端口标识号对应;在第一程序执行完成后,根据端口编号提示与端口编号对应的端口连接的USB设备完成数据传输。本专利技术实施例还提供了一种数据传输方法,应用于第一 USB设备中,所述第一 USB设备通过电子设备中的第一端口与所述电子设备进行数据传输;所述方法包括:获取第一端口对应的第一端口标识号;存储所述第一端口标识号。本专利技术实施例还提供了一种电子设备,设置有第一端口,所述电子设备能够通过第一端口与第一 USB设备进行数据传输,执行第一程序;所述电子设备包括:第一获取单元,用于当所述电子设备中执行的所述第一程序切换至第二程序时,获取与所述电子设备链接的各USB设备的端口标识号;第二获取单兀,用于确定端口标识号为第一端口对应的第一端口标识号时,获取所述第一端口标识号对应的第一 USB设备的第二符号链接名;替换单元,用于将所述第一程序中的第一符号链接名替换为第二符号链接名;执行单元,用于通过第二符号链接名打开所述第一 USB设备,继续执行第一程序。上述方案中,所述电子设备设置有两个以上端口 ;且所述电子设备能够通过自身的端口与两个以上的USB设备进行数据传输;所述电子设备还包括:第一确定单元,用于根据各端口对应的主机控制器、集线器及端口的索引值确定各端口对应的端口标识号。上述方案中,所述电子设备还包括:第二确定单兀,用于确定第一端口对应的第一端口标识号;第三获取单元,用于获取所述第一 USB设备的第一符号链接名;存储单元,用于在所述第一程序中存储所述第一符号链接名和所述第一端口标识号。上述方案中,所述电子设备还包括:第三确定单元,用于确定各端口的端口编号;所述各端口的端口标号与端口标识号对应;提示单元,用于在第一程序执行完成后,根据端口编号提示与端口编号对应的端口连接的USB设备完成数据传输。本专利技术实施例还提供了一种第一 USB设备,能够通过电子设备中的第一端口与所述电子设备进行数据传输;所述第一 USB设备包括:获取单兀,用于获取第一端口对应的第一端口标识号;存储单元,用于存储所述第本文档来自技高网
...

【技术保护点】
一种数据传输方法,应用于电子设备中,所述电子设备通过自身第一端口与第一USB设备进行数据传输,并执行第一程序;其特征在于,所述方法包括:当所述电子设备中执行的所述第一程序切换至第二程序时,获取与所述电子设备链接的各USB设备的端口标识号;确定端口标识号为第一端口对应的第一端口标识号时,获取所述第一端口标识号对应的第一USB设备的第二符号链接名;将所述第一程序中的第一符号链接名替换为第二符号链接名,通过第二符号链接名打开所述第一USB设备,继续执行第一程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:李承林
申请(专利权)人:西安中兴新软件有限责任公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1