Usb接口规范检测系统及其方法

文档序号:6560632阅读:160来源:国知局
专利名称:Usb接口规范检测系统及其方法
技术领域
本发明涉及一种USB接口规范检测系统及其方法,尤其涉及一种利用待检 测计算机与设备间进行数据传输时,直接解析数据中所具有的标志内容以实现 对计算机的USB接口规范检测的系统及其方法。
背景技术
随着计算机处理能力的不断提升,许多人开始希望自己的计算机都能够具 有更多更强大的功能,其中通过在计算机上扩充许许多多设备就是一种常见的 作法。使用者为了扩充设备,于是乎便开始面临到--些安装和设定上的困难, 对许多人造成挫折。因此, 一种基于解决上述设备扩充时所遭遇问题的概念便 开始被实现,这就是所谓的IISB规范。
USB规范,所强调的是一种可以让外围设备在计算机上随插即用的概念, 因此只要计算机以及所有的设备彼此之间都能够符合USB的规范,便可以很轻 易的被扩充至计算机上,使用者不再需要担心进行计算机扩充时所可能发生的 任何安装和设定上的问题。
为了确保计算机符合USB规范的定义和功能,通常在计算机生产在线会 有特别针对USB接口 (USBPort)部分进行检测的阶段,检测的目的在于确认计 算机中的USB接口可以符合预期的性能,当然在实际进行性能检测之前,生产 在线的检测系统必须要先能够确认USB接口的规范(即一般所说的版本),才能 够在检测时执行对应USB接口规范的检测程序来进行数据的传输和功能的检 测,来获得正确的检测结果。
过去在USB接口规范的检测上,通常是使用从计算机中传输大量的数据到 辅助检测的设备上,然后通过计算传输速度的方式来进行USB接口规范的判 断。然而,此种通过数据传输速度来检测的方法容易受到许多外在因素的干扰 而产生差异,如计算机主机板架构、中央处理器负载情况、驱动程序执行状 况w等等,而且这些千扰因素往往又都是交互影响的,所以可能会造成某些时
候在检测USB接口规范时产生误判的情形。
因此,如何改善现有检测USB接口规范的缺失,此方面提出一种更为精确 而有效率的方法来解决在计算机生产在线对USB接口规范的检测工作成为急 待解决的问题。

发明内容
本发明所要解决的技术问题在于提供一种USB接口规范检测系统及其方 法,可排除现有技术中利用数据传输速度的计算来检测USB接口规范时所受到 的其它干扰因素,达到使检测结果更为精确有效率。
为实现上述目的,本发明提供一种USB接口规范检测系统,包括有计算机 及设备两端,计算机中执行有设备应用程序模块,设备中则具有设备固件模块, 通过将待检测USB接口(USB Port)规范的计算机与设备的USB接口电性连接 后,便可通过设备应用程序模块与设备固件模块之间的数据传输控制,使设备 应用程序模块得以直接解析自设备读取的数据格式,并根据数据所具有的标志 内容来决定计算机所具有的USB接口规范。
而且,为实现上述目的,本发明提供了一种USB接口规范检测方法,则包 含下列歩骤电性连接计算机与设备的USB接口;执行USB初始化并建立计算 机与设备间的管道:通过计算机的设备应用程序模块经由管道写入数据至设备 的写入缓冲区;然后通过设备的设备固件模块将数据自写入缓冲区中转换复制 到读取缓冲区中;设备应用程序模块再通过管道自读取缓冲区中重新读取数据 至计算机中;此时设备应用程序模块于数据在管道中传输时解析数据所具有的 数据格式;及根据数据格式中所包含的标志内容,识别计算机所具有的USB 接口规范。
采用本发明能够直接解析数据格式并根据数据所具有的标志内容来决定 计算机所具有的USB接口的规范,改善现有通过数据传输速度的计算来检测时 所造成的判断不精确问题。
有关本发明的特征与实作,兹配合图示作最佳实施例详细说明如下。
附圉说明


图1A为本发明计算机与设备的USB接口实体连结示意图IB为图1A完成USB初始化的USB系统方块示意图2为本发明设备应用程序模块与设备固件模块间交互运作示意图;
图3为本发明设备应用程序模块的数据传输架构示意图4为本发明方法流程图5A为符合USB接口规范的第一数据格式实施例示意图; 图5B为符合USB接口规范的第二数据格式实施例示意图。 其中,附图标记-
5:USB接口
ll:设备应用程序模块
13:USB根集线器
15:设备驱动程序
21:设备固件模块
23:读取缓冲区
150:内部连结
400:第一数据格式
500:第二数据格式
W:计算机
12:USB主控制器
14:USB总线驱动程序
20:设备
22:写入缓冲区
IOO:主机端
200:设备端
410:第一数据格式同步段落字段 51(h第二数据格式同步段落字段
具体实施例方式
本发明为一种用于检测USB接口规范的系统及其方法,参见图1A的部分, 整个检测系统的实体连接关系可以分为计算机10及设备20两个部分,通过将 计算机10与设备两者的USB接口 5电性连接后,便可以通过所执行的计算机 可执行程序(图中未显示)进行数据传输控制,以便能够检测出属于计算机10 的USB接口 5的规范。事实上,当计算机10与设备20完成实体连接后,便会 进行所谓的USB系统初始化过程,当完成初始化的后计算机10与设备20便形 成一个所谓的USB系统,主要的USB系统方块如1B图中所示,包括计算机IO 所代表的主机端100、设备20所代表的设备端200以及依照USB规范所生成 于主机端100及设备端200之间的内部连结150,通过此一内部连结150的建 立,计算机W (主机端WO)与设备20 (设备端200)之间便可以依照USB规范进 行数据传输。
本发明于完成图1A的实体连结并建立图1B的USB系统之后,便可以通过 其它的计算机可执行程序来实现本发明对计算机10的USB接口 5规范的检测, 而所述的计算机可执行程序包括实现于计算机10上的设备应用程序模块11 以及实现于设备20上的设备固件模块21。通常设备应用程序模块11被执行 于计算机10的应用层,而设备固件模块21系执行于可程序化逻辑组件(CPLD) 中。
请参考图2的部分,由图中可知设备应用程序模块11与设备固件模块21 之间会进行相关的交互运作,包括有设备应用程序模块U与设备固件模块 21之间的初始化建立管道、通过设备应用程序模块11自计算机10写入数据 到设备20以及通过设备应用程序模块11自设备20读取数据到计算机10三个 主要的阶段,其中写入/读取数据的部分则进一步需要设备固件模块21的配 合,来将写入至写入缓冲区22的数据转移复制到读取缓冲区23,以便能够让 设备应用程序模块11得以顺利读取数据。
所谓的初始化建立管道部分,主要是建立在USB系统中主机端100对设备 端200的识别配置作业,包括供应电源、自我检测、恢复电位、设定地址及 配置描述元以及装载对应驱动程序…等等,完成之后代表主机端100的计算机 10便能够产生对代表设备端200的设备20的识别与配置,完成识别与配置之 后代表两者之间已经建立数据传输管道(Pipe),因此设备应用程序模块11便 可以借此进行与设备固件模块21的沟通以及进行对设备20的数据写入/数据 读取的程序,以达到数据传输控制的目的。另外,初始化建立管道的部分还包 括设备应用程序模块11与设备固件模块21之间的运作初始化程序。
有关计算机10中设备应用程序模块11对设备20的数据写入/数据读取的 详细数据传输架构,则可以通过图3来作说明,特别强调在计算机10这端USB 系统的数据传输架构。由图中可知,计算机10与设备20之间直接通过USB 接口 5来进行实体的连接,而在计算机10这端的数据传输架构可以分为软件 和硬件两个部分来作说明-
(1) 硬件部分,除了用来与设备20进行实体连结的USB接口5之外,还包 括USB系统基础架构所需的USB主控制器12及USB根集线器13。
(2) 软件部分,则除了在应用层的设备应用程序模块11之外,在计算机 10的驱动层中还包括有对应USB主控制器12及USB根集线器13的USB总线 驱动程序14以及对应设备20的设备驱动程序15。
当设备应用程序模块11欲通过USB接口 5对设备20进行数据写入时,首 先会通过计算机10的输出/入管理器(图中未显示)将数据封包为输出/入请求 封包(IRP)的格式然后传送至设备驱动程序15处,此时设备驱动程序15再依 照USB主控制器12的规范将输出/入请求封包转换为USB请求块(URB),再传 送到USB总线驱动程序14,然后USB主控制器12及USB根集线器13会依照 先前对设备20的配置信息找出对应于设备20所建立的管道,然后将USB请求 块通过此管道经由实体USB接口 5发送给设备20,进行数据写入至设备20的 程序。
同样地,当设备应用程序模块11欲自设备20中读取数据时,则在计算机 10端的数据传输架构也会以相似的运作方式向设备20提出请求来完成读取数 据的程序,在此不再重复描述。
完整的USB接口规范检測方法的运作流程,请参考图4的部分。首先电性 连接计算机10与设备20的USB接口 5涉骤300);之后便开始进行初始化并 建立管道(步骤310),除了 USB系统本身的初始化之外还包括设备应用程序模 块11与设备固件模块21之间的初始化程序,完成之后设备应用程序模块11 与设备固件模块21之间便可以基于USB系统规范来进行数据传输控制;此时 设备应用程序模块可以通过管道将所需写入到设备20中的数据依照图3的数 据传输架构传送至设备20的写入缓冲区22(或称第一缓冲区)中(步骤320); 在设备应用程序模块11写入数据到设备20的同时,设备固件模块21会自动 视写入缓冲区22的写入状况来智能的判断是否需要进行数据转换复制的程 序?如果写入数据已经满足一定的条件(如占用写入缓冲区22容量达一定比 例)时便自动启动数据转换复制的程序,将写入缓冲区22中的数据逐一转换复 制到读取缓冲区23(或称第二缓冲区)中(歩骤330),以便提供设备应用程序模 块11可以同步进行数据读取程序,当然设备固件模块21在进行数据转换复制 时也会依照计算机10中所具有的USB规范来进行;在数据被转换复制的同时, 设备应用程序模块可以开始自设备20的读取缓冲区23中将被转换复制的数据 重新通过管道读取出来(歩骤340);重新读取出来的数据便可以由设备应用程 序模块11对其进行解析的动作以取得数据中的USB数据格式(歩骤350);通 过对USB数据格式中标志内容的检测判别,设备应用程序模块11便可以轻易 获知计算机10所具有的USB接口 5的规范为何(歩骤360),实现直接通过解
析数据中所具有的标志内容检测计算机10的USB接口规范。
上述的运作步骤是基于USB系统规范来进行数据传输控制的,事实上在 USB系统的基本规范中对于数据传输的管道(或称数据信道),提出包括控制 传输模式(Control Mode)、中断传输模式(Interrupt Mode)、巨量传输模式 (Bulk Mode)及实时传输模式(Isochronous Mode)等四种不同传输模式,在本
发明中为了进行大量数据数据的传输,基本上在管道上是采取巨量传输模式 (Bulk Mode)来进行的。
此外,USB系统的数据传输过程(即在数据写入/读取程序)时,会通过不 归零就反向(NRZI)的编码方式来对数据进行编码,并且通过差分信号方式 (Differential Signal)来实际进行数据传输,为了避免产生数据传输时的错 误,还包括通过位填充(Bit-Stuffing)方式来对数据进行加强编码。
本发明关键技术手段在于,在计算机10与设备20之间的数据传输都会依 照符合所建立的USB系统相同的USB规范来进行,因此其实在不同USB系统及 USB规范F,传输的数据格式也都会有所不同,因此可以通过此种数据格式的 特性来辅助检测计算机10上所具有的USB接口 5的规范。图5A及图5B则分 别举出两种符合不同USB规范的数据格式实施例。
在第一数据格式400及第二数据格式500的实施例当中可以清楚发现,基 本符合USB规范的数据格式都拥有相同的数据格式字段,包括同步段落字段 (SYNC Session,通常排列于数据封包的开头),识别字段(用来表示数据封包 类型、数据封包格式与错误检测类型)、地址字段(用来表示连接设备的连接位 置)、端点字段(用来决定寻址的对象)、讯框字段(用来进行等时传输的控制)、 数据字段(表示数据资料的内容)及循环冗余核对字段(用来检测数据封包的错 误与否)。
其中,进一步可以发现在图中分别所示的第一数据格式400及第二数据格 式500的同歩段落字段(410与510),所记录的标志内容(字符串)明显有所不 同,第一数据格式400中的字符串为"KJKJKJKK";而第二数据格式500
中的字符串为"KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKK"。
表示不同USB规范的数据格式中虽然数据格式字段相同,但是其中所记录 的内容却因为不同USB规范而有所不同,如第一数据格式400的标志内容为 USB1.1规范的内容,而第二数据格式500的标志内容为USB2.0规范的内容。
因此,本发明利用此项特点运用如前所述的交互运作方式,使计算机10中的 设备应用程序模块11得以自USB系统的管道中直接获取出数据格式中的标志 内容以进行对USB接口规范的检测,虽然在实施例中采取利用"同步段落字段" 的标志内容来作为判断依据,但是实际上熟悉该项技术者可以秉持相同的技术 概念,采取以其它字段的方式来进行USB接口规范的判别,在不脱离本发明的 精神和范围内,当可作些许的更动与润饰,并不以本发明所述的为限。因此本 发明的专利保护范围需视本说明书所附的权利要求所界定为准。
权利要求
1. —种USB接口规范检测方法,用子通过外部连接设备来检测计算机上所 具有的USB接口规范,其特征在于,该方法包含下列歩骤电性连接计算机与设备的USB接口 ;执行USB初始化并建立计算机与设备间的一管道;计算机的一设备应用程序模块通过该管道写入数据至设备的一第一缓沖区;设备的一设备固件模块将数据自该第一缓冲区中转换复制到一第二缓冲 区中;该设备应用程序模块通过该管道自该第二缓冲区中重新读取数据至计算机;该设备应用程序模块于数据在该管道中传输时解析数据所具有的数据格 式;及根据数据格式中所包含的一标志内容,识别计算机所具有的USB接口规范。
2. 根据权利要求1所述的USB接口规范检测方法,其特征在于,该管道为 利用一巨量传输模式进行数据传输的数据信道。
3. 根据权利要求1所述的USB接口规范检測方法,其特征在于,该设备应 用程序模块对数据的写入/读取还包含通过一不归零就反向编码方式进行数据 编码。
4. 根据权利要求3所述的USB接口规范检测方法,其特征在于,该设备应 用程序模块对数据的写入/读取是通过一差分信号方式进行数据传输。
5. 根据权利要求4所述的USB接口规范检测方法,其特征在于,该设备应 用程序模块对数据的写入/读取还包含通过一位填充方式进行数据编码。
6. 根据权利要求1所述的USB接口规范检测方法,其特征在于,该标志内 容是指同歩段落字段内容。
7. —种USB接口规范检测系统,用于通过外部连接设备来检测计算机上所 具有的USB接口规范,其特征在于,该系统包含"^设备应用程序模块,执行于计算机上,用以于计算机与设备的USB接口 电性连接时执行USB初始化并建立计算机与设备间的一管道,将数据写入设备 的-第一缓冲区、自设备的一第二缓冲区读取数据,及解析数据格式所包含的 一标志内容;及一设备圃件模块,执行于设备上,用以于该设备应用程序模块将数据写 入该第一缓冲区时负责将数据转换复制到该第二缓冲区供该设备应用程序模 块重新读取;其中,该设备应用程序模块根据该标志内容,识别计算机所具有的USB接口规范。
8. 根据权利要求7所述的USB接口规范检測系统,其特征在于,该管道为 利用一巨量传输模式进行数据传输的数据信道。
9. 根据权利要求7所述的USB接口规范检测系统,其特征在于,该设备应 用程序模块对数据的写入/读取还包含通过一不归零就反向编码方式进行数据 编码。
10. 根据权利要求9所述的USB接口规范检测系统,其特征在于,该设备 应用程序模块对数据的写入/读取是通过一差分信号方式进行数据传输。
11. 根据权利要求10所述的USB接口规范检测系统,其特征在于,该设备 应用程序模块对数据的写入/读取还包含通过一位填充方式进行数据编码。
12. 根据权利要求7所述的USB接口规范检测系统,其特征在于,该标志 内容是指同步段落字段内容。
全文摘要
本发明公开了一种USB接口规范检测系统及其方法,用以将待检测USB接口规范的计算机与设备的USB接口电性连接后,利用执行于计算机上的设备应用程序模块与设备上的设备固件模块之间的数据传输控制,使设备应用程序模块自设备上重新读取先前发送给设备的数据时,能够直接解析数据格式并根据数据所具有的标志内容来决定计算机所具有的USB接口的规范,改善现有通过数据传输速度的计算来检测时所造成的判断不精确问题。
文档编号G06F11/267GK101122878SQ20061010972
公开日2008年2月13日 申请日期2006年8月9日 优先权日2006年8月9日
发明者刘文涵, 刚 周, 镇 陈, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1