扩展主机控制器和其操作方法

xiaoxiao2021-3-1  179

扩展主机控制器和其操作方法
【技术领域】
[0001]本发明涉及一种扩展主机控制器和其操作方法,尤其涉及一种可使一通用串行总线主机通过传统通用串行总线传输线与另一通用串行总线主机沟通的扩展主机控制器和其操作方法。
【背景技术】
[0002]通用串行总线(universal serial bus, USB)技术是在上世纪90年代中期所发展的一个工业标准,其定义了一个可使计算机外围装置便利地连接至一主机(例如个人计算机)的外部扩充总线。因为通用串行总线技术利用了主/从结构(master/slavearchitecture),所以所述主机内的通用串行总线主机控制器可作为一主机角色(masterrole)以发出请求至所述通用串行总线外围装置(也就是计算机外设装置),以及所述通用串行总线外围装置可作为一从动角色(slave role)以响应来自所述主机的请求。然而上述主/从结构在标准通用串行总线环境中是不对称且不可逆的。
[0003]也就是说在上述主/从结构下,除了使用两端具有从动接口(slave interface)的中间桥装置(intermediate bridge device)外,两主机是不可能直接沟通。然而,所述中间桥装置是较传统的通用串行总线,传输线贵,以及在所述两主机之间的数据传输效能是受限于所述中间桥装置的非直接数据传输。因此,所述中间桥装置并不适合作为在所述两主机之间的沟通角色。

【发明内容】

[0004]本发明的一实施例公开一种扩展主机控制器(extensible hostcontroller, xHC),其中所述扩展主机控制器是应用于一主机,所述扩展主机控制器包含一通用串行总线(universal serial bus, USB)模块、一控制单元和一外围组件快速互连(peripheral component interconnect express, PCIE)总线;所述通用串行总线模块包含一通用串行总线单元和一预定单元;所述外围组件快速互连总线耦接于所述控制单元,其中所述外围组件快速互连总线支持一通用串行总线模式和一预定模式;当具有一第一扩展主机控制器的第一主机连接至所述通用串行总线模块时,所述控制单元根据一判断方法让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述第一主机沟通。
[0005]本发明的另一实施例公开一种扩展主机控制器的操作方法,其中所述扩展主机控制器是应用于一主机包含一通用串行总线模块、一控制单元以及一外围组件快速互连总线,其中所述通用串行总线模块包含一通用串行总线单元和一预定单元,以及所述外围组件快速互连总线支持一通用串行总线模式和一预定模式;所述操作方法包含当一通用串行总线设备连接至所述通用串行总线模块时,所述扩展主机控制器是否收到来自所述通用串行总线设备发出的一第一请求;当所述扩展主机控制器收到所述第一请求时,所述扩展主机控制器判断所述通用串行总线设备为一通用串行总线主机,且所述主机利用所述预定模式和所述预定单元与所述通用串行总线设备沟通;当所述扩展主机控制器未收到所述第一请求时,所述扩展主机控制器发出一第二请求至所述通用串行总线设备;当所述通用串行总线设备回应所述第二请求时,所述扩展主机控制器判断所述通用串行总线设备为一通用串行总线外围装置,且所述主机利用所述通用串行总线模式和所述通用串行总线单元与所述通用串行总线设备沟通;及当所述通用串行总线设备未回应所述第二请求时,所述控制单元根据一判断方法让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述通用串行总线设备沟通。
[0006]本发明的另一实施例公开一种扩展主机控制器,其中所述扩展主机控制器是应用于一主机。所述扩展主机控制器包含一通用串行总线模块、一控制单元和一高外围组件快速互连总线。所述通用串行总线模块包含一通用串行总线单元和一预定单元;所述高外围组件快速互连总线耦接于所述控制单元,其中所述高外围组件快速互连总线支持一通用串行总线模式和一预定模式。当具有一第一扩展主机控制器的第一主机、一通用串行总线外围装置或一通用串行总线主机的一者连接至所述通用串行总线模块时,所述控制单元让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述者沟通。
[0007]本发明的另一实施例公开一种应用于一主机的扩展主机控制器,所述扩展主机控制器依据一第一扩展主机控制器的第一主机、一通用串行总线外围装置或一通用串行总线主机的一者连接至所述主机时,选择性地控制所述主机变成一目标端(target side)或一主机端(host side)与所述者沟通。
[0008]本发明公开一种扩展主机控制器和其操作方法。因为所述扩展主机控制器和所述操作方法可在其他通用串行总线主机连接至所述扩展主机控制器时,利用一除错功能单元响应产生自其他通用串行总线主机的请求,所以所述扩展主机控制器和所述操作方法可直接利用一传统通用串行总线传输线在所述扩展主机控制器和其他通用串行总线主机之间执行数据传输。因此,相较于现有技术,本发明可直接利用所述传统通用串行总线传输线在扩展主机控制器和其他通用串行总线主机之间执行数据传输,所以本发明并不需要一个昂贵的中间桥装置以在所述扩展主机控制器和其他通用串行总线主机之间执行数据传输。另外,本发明由于是直接在所述扩展主机控制器和其他通用串行总线主机之间执行数据传输,所以本发明的数据传输效能较现有技术佳。
【附图说明】
[0009]图1是本发明的第一实施例公开的一扩展主机控制器的示意图。
[0010]图2是说明通用串行总线外围装置通过扩展主机控制器和传统通用串行总线传输线连接至主机的示意图。
[0011]图3是说明第一主机通过扩展主机控制器和传统通用串行总线传输线连接至主机的示意图。
[0012]图4是说明扩展主机控制器通过扩展主机控制器和传统通用串行总线传输线连接至主机的示意图。
[0013]图5、6是说明扩展主机控制器检测扩展主机控制器的时序示意图。
[0014]图7是说明决胜值大于第一决胜值的示意图。
[0015]图8是说明决胜值小于第一决胜值的示意图。
[0016]图9是说明内建于控制单元内有关于应用在扩展主机控制器的通用串行总线装置驱动程序、扩展主机控制器接口驱动程序、预定驱动程序和虚拟网络适配器的数据结构的示意图。
[0017]图10是本发明的第二实施例公开的一扩展主机控制器的示意图。
[0018]图11是说明内建于控制单元内有关于应用在扩展主机控制器的通用串行总线装置驱动程序、扩展主机控制器接口驱动程序、预定驱动程序和虚拟网络适配器的数据结构的示意图。
[0019]图12是为本发明的第三实施例公开的一种扩展主机控制器的操作方法的流程图。
[0020]其中,附图标记说明如下:
[0021]100、250、500 扩展主机控制器
[0022]101通用串行总线物理层
[0023]102通用串行总线模块
[0024]104控制单元
[0025]106扩展主机控制器接口
[0026]108外围组件快速互连总线
[0027]1022通用串行总线单元
[0028]1024^5024预定单元
[0029]200主机
[0030]202、402内存
[0031]220通用串行总线外围装置
[0032]230通用串行总线传输线
[0033]240第一主机
[0034]260第二主机
[0035]300第三主机
[0036]A、B、C、D、E圆圈
[0037]D-、D+数据传输线路
[0038]DS信号
[0039]FR第一请求
[0040]FTB第一决胜值
[0041]PT预定时间
[0042]PCLMP, PCLMP1 端口能力连接管理协议
[0043]SR第二请求
[0044]TP1、TP2、TP3 时间点
[0045]Τ1时间
[0046]TR第三请求
[0047]ΤΒ决胜值
[0048]700-712步骤
【具体实施方式】
[0049]请参照图1。图1是本发明的第一实施例公开的一扩展主机控制器(extensiblehost controller, xHC) 100的示意图,其中扩展主机控制器100是应用于一主机200,以 及扩展主机控制器100包含一通用串行总线(universal serial bus, USB)模块102,一控制单元104,一扩展主机控制器接口 106,以及一外围组件快速互连(peripheral componentinterconnect express, PCIE)总线108,其中通用串行总线模块102包含一通用串行总线物理层101、一通用串行总线单元1022和一预定单元1024,以及通用串行总线模块102是通用串行总线3.0兼容的通用串行总线模块,其可支持通用串行总线1.0、通用串行总线
1.1、通用串行总线2.0、通用串行总线3.0和其他可兼容于通用串行总线3.1的标准规范。在本发明的一实施例中,预定单元1024是一除错功能(debug capability)单元。如图1所示,通用串行总线单元1022和预定单元1024是耦接于扩展主机控制器接口 106。但在本发明的另一实施例中,扩展主机控制器接口 106可被其他预定接口取代,其中所述其他预定接口必须可同时支持通用串行总线单元1022和预定单元1024。如图1所示,外围组件快速互连总线108是耦接于扩展主机控制器接口 106和控制单元104,其中外围组件快速互连总线108可同时支持一通用串行总线模式和一预定模式,其中所述预定模式是一区域网络(Local Area Network, LAN)模式。
[0050]请参照图2。图2是说明一通用串行总线外围装置220通过扩展主机控制器100和一传统通用串行总线传输线230(例如,A型通用串行总线传输线)连接至主机200的示意图,其中通用串行总线外围装置220可以是一通用串行总线储存装置,一通用串行总线闪存装置,一通用串行总线个人计算机摄像机等。如图2所示,当通用串行总线外围装置220通过扩展主机控制器100和传统通用串行总线传输线230连接至主机200时,因为通用串行总线外围装置220不会发出任何请求至扩展主机控制器100,所以扩展主机控制器100可作为一主机角色(master role)和通用串行总线外围装置220可作为一从动角色(slaverole),以及内建于控制单元104的通用串行总线装置驱动程序可要求内建于控制单元104的扩展主机控制器接口驱动程序驱动扩展主机控制器接口 106发出一第一请求FR至通用串行总线外围装置220。也就是说,第一请求FR可通过扩展主机控制器接口 106、通用串行总线单元1022和通用串行总线物理层101传送至通用串行总线外围装置220。在通用串行总线外围装置220接收到第一请求FR后,通用串行总线外围装置220可响应第一请求FR。因此,在通用串行总线外围装置220响应第一请求FR后,主机200可利用通用串行总线模式和通用串行总线外围装置220沟通。例如,通用串行总线外围装置220可通过传统通用串行总线传输线230、通用串行总线物理层101、通用串行总线单元1022、扩展主机控制器接口 106和外围组件快速互连总线108传送数据至主机200的内存202。另外,主机200也可通过传统通用串行总线传输线230、通用串行总线物理层101、通用串行总线单元1022、扩展主机控制器接口 106和外围组件快速互连总线108传送储存在内存202的数据至通用串行总线外围装置220。
[0051]请参照图3。图3是说明一第一主机240通过扩展主机控制器100和传统通用串行总线传输线230连接至主机200的示意图。如图3所示,当第一主机240连接至主机200时,扩展主机控制器100的控制单元104可判定出第一主机240是一通用串行总线主机(因为第一主机240会发出第二请求SR至扩展主机控制器100)。根据所述通用串行总线3.0兼容的标准规范(例如通用串行总线3.0与其他可兼容于通用串行总线3.1的标准规范),因为扩展主机控制器100具有除错功能单元(也就是预定单元1024),所以当第一主机240发出第二请求SR至扩展主机控制器100时,一内建于控制单元104的预定驱动程序可驱动预定单元1024响应第二请求SR。因此,在预定单元1024响应第二请求SR后,主机200便可利用所述预定模式(也就是所述区域网络模式)和第一主机240沟通。例如,当第一主机240连接至主机200时,控制单元104可利用一虚拟网络适配器(virtual network adapter)(例如,内建于控制单元104的5Gb以太网驱动程序(5Gb Ethernet network driver))仿真一以太网络环境(Ethernet environment),所以第一主机240可利用一网络封包方式(network package way)通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元1024、扩展主机控制器接口 106和外围组件快速互连总线108传送数据至主机200的内存202。另外,主机200也可利用所述网络封包方式通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元1024、扩展主机控制器接口 106和外围组件快速互连总线108传送储存在内存202的数据至第一主机240。另外,当第一主机240连接至主机200时,本发明并不受限于第一主机240利用网络封包方式和主机200沟通。也就是说当第一主机240连接至主机200时,控制单元104可利用其他驱动程序建构一数据传输环境以让第一主机240利用其他数据传输方式和和主机200沟通。
[0052]请参照图4-6。图4是说明一扩展主机控制器250通过扩展主机控制器100和传统通用串行总线传输线230连接至主机200的示意图,以及图5、6是说明扩展主机控制器100检测扩展主机控制器250的时序示意图,其中扩展主机控制器250应用于一第二主机260,以及第二主机260另包含一内存402。如图5所示,在时间点TP1时,扩展主机控制器100的控制单元104先关闭耦接于扩展主机控制器100的数据传输线路D-的15K下拉电阻(其中数据传输线路D-和15K下拉电阻并未绘示于图4,且所述数据传输线路D-的定义可参照通用串行总线2.0的标准规范,在此不再赘述)一段时间T1以检测所述数据传输线路D-的电平是否为一高电平。在时间T1中,控制单元104会开启检测所述数据传输线路D-的电平的信号DS,如果扩展主机控制器250尚未连接至主机200时,则所述数据传输线路D-的电平会为所述高电平(如图5所示的圆圈A),所以控制单元104会再次于如图5所示的时间点TP2时关闭耦接于扩展主机控制器100的数据传输线路D-的15K下拉电阻以检测所述数据传输线路D-的电平是否为所述高电平。
[0053]在时间点TP2后,因为控制单元104会开启检测所述数据传输线路D-的电平的信号DS,所以如果扩展主机控制器250是一通用串行总线2.0的扩展主机控制器且连接至主机200时,所述数据传输线路D-的电平会为一低电平(如图5所示的圆圈B),且控制单元104可据此判定第二主机260为一通用串行总线主机,也就是主机200会作为一目标端(target side)以及第二主机260会作为一主机端(host side)。当主机200被决定为所述目标端以及第二主机260被决定为所述主机端后,控制单元104将于信号DS去能后的一时间点TP3开启耦接于扩展主机控制器100的数据传输线路D+的1.5K上拉电阻(其中数据传输线路D+和1.5K上拉电阻并未绘示于图4,且所述数据传输线路D+的定义也可参照通用串行总线2.0的标准规范,在此不再赘述)。在耦接于扩展主机控制器100的数据传输线路D+的1.5K上拉电阻开启后(所述数据传输线路D+的电平会为所述高电平(如图5所示的圆圈C)),第二主机260即可通过扩展主机控制器250发出第三请求TR至扩展主机控制器100。根据所述通用串行总线3.0兼容的标准规范(例如通用串行总线3.0与其他可兼容于通用串行总线3.1的标准规范),因为扩展主机控制器100具有除错功能单元(也就是预定单元1024),所以当第二主机260发出第三请求TR至扩展主机控制器100时,内建于控制单元104的预定驱动程序可驱动预定单元1024响应第三请求TR。另外,因为在预定单元1024响应第三请求TR后,主机200、第二主机260和控制单元104的其余操作原理都和如图3所示的主机200、第一主机240和控制单元104的操作原理相同,在此不再赘述。
[0054]另外,如图6所示,如果主机200和第二主机260之间没有任何数据传输超过一预定时间PT后,控制单元104将会使主机200进入一暂停(suspend)模式(也就是控制单元104开始开启耦接于扩展主机控制器100的数据传输线路D+的1.5K上拉电阻,如图6所示的圆圈D))。在1.5K上拉电阻开始被开启后(也就是如图6所示的 圆圈D),控制单元104会开启检测所述数据传输线路D-的电平的信号DS。如果扩展主机控制器250和主机200断开,则所述数据传输线路D-的电平会为所述高电平(如图6所示的圆圈E);如果扩展主机控制器250仍和主机200连接,则所述数据传输线路D-的电平会为所述低电平,也就是主机200继续在暂停模式。另外,本发明并不受限于上述所述数据传输线路D-的高电平与低电平等于所述数据传输线路D+的高电平与低电平。
[0055]然而如果扩展主机控制器250是一通用串行总线3.0兼容的扩展主机控制器且连接至主机200,则控制单元104会在扩展主机控制器100与扩展主机控制器250之间的连接在活跃(active (U0))时期时,检测在扩展主机控制器100与扩展主机控制器250的握手(handshaking)过程中伴随扩展主机控制器100所发出的端口能力连接管理协议(portcapability Link Management Protocol)PCLMP 的决胜(tiebreaker)值 TB 与伴随扩展主机控制器250所发出的端口能力连接管理协议PCLMP1的第一决胜值FTB,其中决胜值TB和第一决胜值FTB是随机的且会随着时间增加而增加。当决胜值TB大于第一决胜值FTB时(例如,如图7所示,决胜值TB为12以及第一决胜值FTB为9),控制单元104决定扩展主机控制器100为一通用串行总线外围装置,以及主机200利用所述预定模式和预定单元1024和扩展主机控制器250沟通;当第一决胜值FTB大于决胜值TB时(例如,如图8所示,决胜值TB为9以及第一决胜值FTB为12),控制单元104决定扩展主机控制器100为一通用串行总线主机,以及主机200利用所述通用串行总线模式和通用串行总线单元1022和扩展主机控制器250沟通;以及当第一决胜值FTB等于决胜值TB时,扩展主机控制器100和扩展主机控制器250会再次执行握手直到决胜值TB大于第一决胜值FTB或决胜值TB小于第一决胜值FTB。
[0056]但在本发明的另一实施例中,当决胜值TB大于第一决胜值FTB时,控制单元104决定扩展主机控制器100为一通用串行总线主机,以及主机200利用所述通用串行总线模式和通用串行总线单元1022和扩展主机控制器250沟通;当第一决胜值FTB大于决胜值TB时,控制单元104决定扩展主机控制器100为一通用串行总线外围装置,以及主机200利用所述预定模式和预定单元1024和扩展主机控制器250沟通。另外,如图7、8所述的Polling、U0、LGood、LCrd、Port capability 和 Port Config 的定义可参照通用串行总线
3.0兼容的标准规范,在此不再赘述。
[0057]请参照图9。图9是说明内建于控制单元104内有关于应用在扩展主机控制器100的通用串行总线装置驱动程序、扩展主机控制器接口驱动程序、预定驱动程序和虚拟网络适配器的数据结构的示意图。如图9所示,数据结构包含一应用于通用串行总线端的驱动程序(通用串行总线设备驱动器、扩展主机控制器接口驱动程序和虚拟网络驱动程序)和应用于一预定端的驱动程序(扩展主机控制器接口驱动程序、预定驱动程序和虚拟网络驱动程序)。因此,当通用串行总线外围装置220连接至主机200,控制单元104利用图9所示的应用于通用串行总线端的驱动程序驱动扩展主机控制器100内的相关硬件(例如,扩展主机控制器接口 106,通用串行总线单元1022,以及通用串行总线物理层101);以及当第一主机240连接至主机200时,控制单元104利用图9所示应用于所述预定端的驱动程序驱动扩展主机控制器100内的相关硬件(例如,扩展主机控制器接口 106,预定单元1024(除错功能单元),以及通用串行总线物理层101)。
[0058]请参照图10。图10是本发明的第二实施例公开一扩展主机控制器500的示意图,其中扩展主机控制器500是应用于一第三主机300。如图10所示,扩展主机控制器500和扩展主机控制器100的差别在于扩展主机控制器500的预定单元5024是直接耦接于外围组件快速互连总线108。因此,当一第四主机(一通用串行总线主机,未绘示于图10)通过扩展主机控制器500和传统通用串行总线传输线230连接至第三主机300时,所述第四主机可利用网络封包方式通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元5024和外围组件快速互连总线108传送数据至第三主机300的内存202。另外,第三主机300也可通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元5024和外围组件快速互连总线108传送储存在内存202的数据至所述第四主机。另外,扩展主机控制器500的其余操作原理都和扩展主机控制器100相同,在此不再赘述。
[0059]请参照图11。图11是说明内建于控制单元104内有关于应用在扩展主机控制器500的通用串行总线装置驱动程序、扩展主机控制器接口驱动程序、预定驱动程序和虚拟网络适配器的数据结构的示意图。如图11所示,数据结构包含应用于一通用串行总线端的驱动程序(通用串行总线设备驱动器、扩展主机控制器接口驱动程序和虚拟网络驱动程序)和应用于一预定端的驱动程序(预定驱动程序和虚拟网络驱动程序)。当一通用串行总线外围装置连接至第三主机300,扩展主机控制器500的控制单元104可利用图11所示应用于通用串行总线端的驱动程序驱动扩展主机控制器500内的相关硬件(例如,扩展主机控制器接口 106,通用串行总线单元1022,和通用串行总线物理层101);以及当所述第四主机连接至第三主机300,扩展主机控制器500的控制单元104可利用图11所示应用于所述预定端的驱动程序驱动扩展主机控制器500内的相关硬件(例如,预定单元5024(除错功能单元)和通用串行总线物理层101)。
[0060]请参照图1-8、12。图12是为本发明的第三实施例公开一种扩展主机控制器的操作方法的流程图。图12的操作方法是利用图1的扩展主机控制器100说明,详细步骤如下:
[0061]步骤700:开始;
[0062]步骤702:当一通用串行总线设备连接至通用串行总线模块102时,扩展主机控制器100是否收到所述通用串行总线设备发出的一请求;如果是,进行步骤704 ;如果否,进行步骤706 ;
[0063]步骤704:扩展主机控制器100判断所述通用串行总线设备为一通用串行总线主机,且主机200利用所述预定模式和预定单元1024与所述通用串行总线设备沟通;
[0064]步骤706:扩展主机控制器100发出另一请求至所述通用串行总线设备;
[0065]步骤708:所述通用串行总线设备是否响应扩展主机控制器100所发出的另一请求;如果是,进行步骤710 ;如果否,进行步骤712 ;
[0066]步骤710:扩展主机控制器100判断所述通用串行总线设备为一通用串行总线外围装置,且主机200利用所述通用串行总线模式和通用串行总线单元1022与所述通用串行总线设备沟通;
[0067]步骤712:控制单元104根据所述判断方法让主机200利用所述通用串行总线模式和通用串行总线单元1022,或所述预定模式和预定单元1024与所述通用串行总线设备沟通。
[0068]在步骤704中,如图3,当第一主机240 (也就是所述通用串行总线设备)连接至主机200时,扩展主机控制器100的控制单元104可判定出第一主机240是一通用串行总线主机(因为第一主机240会发出第二请求SR至扩展主机控制器100)。因为扩展主机控制器100具有除错功能单元(也就是预定单元1024),所以在预定单元1024响应第二请求SR后,主机200便可利用所述预定模式(也就是所述区域网络模式)和第一主机240沟通。例如,当第一主机240连接至主机200时,控制单元104可利用所述虚拟网络适配器(例如,内建于控制单元104的5Gb以太网驱动程序)仿真所述以太网络环境,所以第一主机240可利用所述网络封包方式通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元1024、扩展主机控制器接口 106和外围组件快速互连总线108传送数据至主机200的内存202。另外,主机200也可利用所述网络封包方式通过传统通用串行总线传输线230、通用串行总线物理层101、预定单元1024、扩展主机控制器接口 106和外围组件快速互连总线108传送储存在内存202的数据至第一主机240。另外,当第一主机240连接至主机200时,本发明并不受限于第一主机240利用所述网络封包方式和主机200沟通。也就是说当第一主机240连接至主机200时,控制单元104可利用其他 驱动程序建构一数据传输环境以让第一主机240利用其他数据传输方式和和主机200沟通。
[0069]在步骤706中,在扩展主机控制器100未收到所述通用串行总线设备发出的所述请求后,扩展主机控制器100发出所述另一请求至所述通用串行总线设备。在步骤710中,如图2所示,当通用串行总线外围装置220通过扩展主机控制器100和传统通用串行总线传输线230连接至主机200时,因为通用串行总线外围装置220不会发出任何请求至扩展主机控制器100,但通用串行总线外围装置220可响应扩展主机控制器100所发出的另一请求,所以扩展主机控制器100可作为一主机角色(master role)和通用串行总线外围装置220可作为一从动角色(slave role)。因此,内建于控制单元104的通用串行总线装置驱动程序可要求内建于控制单元104的扩展主机控制器接口驱动程序驱动扩展主机控制器接口 106发出第一请求FR至通用串行总线外围装置220。在通用串行总线外围装置220响应第一请求FR后,主机200可利用通用串行总线模式和通用串行总线外围装置220沟通。
[0070]在步骤712中,如图5所示,在时间点TP1时,扩展主机控制器100的控制单元104先关闭耦接于扩展主机控制器100的数据传输线路D-的15K下拉电阻一段时间T1以检测所述数据传输线路D-的电平是否为所述高电平。在时间T1中,控制单元104会开启检测所述数据传输线路D-的电平的信号DS,如果扩展主机控制器250尚未连接至主机200时,则所述数据传输线路D-的电平会为所述高电平(如图5所示的圆圈A),所以控制单元104会再次于如图5所示的时间点TP2时关闭耦接于扩展主机控制器100的数据传输线路D-的15K下拉电阻以检测所述数据传输线路D-的电平是否为所述高电平。
[0071]在时间点TP2后,因为控制单元104会开启检测所述数据传输线路D-的电平的信号DS,所以如果扩展主机控制器250是通用串行总线2.0的扩展主机控制器且连接至主机200时,所述数据传输线路D-的电平会为所述低电平(如图5所示的圆圈B),此时主机200会作为所述目标端以及第二主机260会作为所述主机端。当主机200被决定为所述目标端以及第二主机260被决定为所述主机端后,第二主机260即可通过扩展主机控制器250发出第三请求TR至扩展主机控制器100。因为扩展主机控制器100具有除错功能单元(也就是预定单元1024),所以当第二主机260发出第三请求TR至扩展主机控制器100时,内建于控制单元104的预定驱动程序可驱动预定单元1024响应第三请求TR。另外,因为在预定单元1024响应第三请求TR后,主机200、第二主机260和控制单元104的其余操作原理都和如图3所示的主机200、第一主机240和控制单元104的操作原理相同,在此不再赘述。
[0072]另外,如图6所示,如果主机200和第二主机260之间没有任何数据传输超过一预定时间PT后,控制单元104将会使主机200进入所述暂停模式,也就是控制单元104开启耦接于扩展主机控制器100的数据传输线路D+的1.5K上拉电阻(如图6所示的圆圈D)。在1.5K上拉电阻被开启后,控制单元104会开启检测所述数据传输线路D-的电平的信号DS。如果扩展主机控制器250和主机200断开,则所述数据传输线路D-的电平会为所述高电平(如图6所示的圆圈E);如果扩展主机控制器250仍和主机200连接,则所述数据传输线路D-的电平会为所述低电平,也就是主机200继续在暂停模式。
[0073]在步骤712中,然而如果扩展主机控制器250是通用串行总线3.0兼容的扩展主机控制器且连接至主机200,则控制单元104会在扩展主机控制器100与扩展主机控制器250之间的连接在活跃时期时,检测在扩展主机控制器100与扩展主机控制器250的握手过程中伴随扩展主机控制器100所发出的端口能力连接管理协议PCLMP的决胜值TB与伴随扩展主机控制器250所发出的端口能力连接管理协议PCLMP1的第一决胜值FTB,其中决胜值TB和第一决胜值FTB是随机的且会随着时间增加而增加。当决胜值TB大于第一决胜值FTB时(例如,如图7所示,决胜值TB为12以及第一决胜值FTB为9),控制单元104决定扩展主机控制器100为一通用串行总线外围装置,以及主机200利用所述预定模式和预定单元1024和扩展主机控制器250沟通;当第一决胜值FTB大于决胜值TB时(例如,如图8所示,决胜值TB为9以及第一决胜值FTB为12),控制单元104决定扩展主机控制器100为一通用串行总线主机,以及主机200利用所述通用串行总线模式和通用串行总线单元1022和扩展主机控制器250沟通;以及当第一决胜值FTB等于决胜值TB时,扩展主机控制器100和扩展主机控制器250会再次执行握手直到决胜值TB大于第一决胜值FTB或决胜值TB小于第一决胜值FTB。但在本发明的另一实施例中,当决胜值TB大于第一决胜值FTB时,控制单元104决定扩展主机控制器100为一通用串行总线主机,以及主机200利用所述通用串行总线模式和通用串行总线单元1022和扩展主机控制器250沟通;当第一决胜值FTB大于决胜值TB时,控制单元104决定扩展主机控制器100为一通用串行总线外围装置,以及主机200利用所述预定模式和预定单元1024和扩展主机控制器250沟通。
[0074]综上所述,因为本发明所公开的扩展主机控制器和其操作方法可在其他通用串行总线主机连接至扩展主机控制器时,利用除错功能单元响应产生自其他通用串行总线主机的请求,所以扩展主机控制器和其操作方法可直接利用传统通用串行总线传输线在扩展主机控制器和其他通用串行总线主机之间执行数据传输。因此,相较于现有技术,本发明可直接利用传统通用串行总线传输线在扩展主机控制器和其他通用串行总线主机之间执行数据传输,所以本发明并不需要一个昂贵的中间桥装置以在扩展主机控制器和其他通用串行总线主机之间执行数据传输。另外,本发明由于是直接在扩展主机控制器和其他通用串行总线主机之间执行数据传输,所以本发明的数据传输效能较现有技术佳。
[0075]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种扩展主机控制器,其中所述扩展主机控制器是应用于一主机,其特征在于包含: 一通用串行总线模块,其中所述通用串行总线模块包含一通用串行总线单元和一预定单元; 一控制单元;及 一外围组件快速互连总线,耦接于所述控制单元,其中所述外围组件快速互连总线支持一通用串行总线模式和一预定模式; 其中当具有一第一扩展主机控制器的第一主机连接至所述通用串行总线模块时,所述控制单元根据一判断方法让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述第一主机沟通。2.如权利要求1所述的扩展主机控制器,其特征在于:当一通用串行总线外围装置连接至所述通用串行总线模块时,所述主机另用于利用所述通用串行总线模式和所述通用串行总线单元与所述通用串行总线外围装置沟通;当一通用串行总线主机连接至所述通用串行总线模块时,所述主机另用于利用所述预定模式和所述预定单元与所述通用串行总线主机沟通。3.如权利要求1所述的扩展主机控制器,其特征在于:另包含: 一扩展主机控制器接口,耦接于所述通用串行总线单元和所述外围组件快速互连总线之间。4.如权利要求3所述的扩展主机控制器,其特征在于:所述预定单元耦接于所述扩展主机控制器接口。5.如权利要求1所述的扩展主机控制器,其特征在于:所述预定单元连接于所述外围组件快速互连总线。6.如权利要求1所述的扩展主机控制器,其特征在于:所述预定模式是一区域网络模式。7.如权利要求1所述的扩展主机控制器,其特征在于:所述通用串行总线模块支持通用串行总线1.0、通用串行总线1.1、通用串行总线2.0、通用串行总线3.0与其他可兼容于通用串行总线3.1的标准规范。8.如权利要求1所述的扩展主机控制器,其特征在于:所述预定单元是一除错功能单J L.ο9.如权利要求1所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线2.0的扩展主机控制器时,所述判断方法包含: 所述控制单元关闭耦接于所述扩展主机控制器的数据传输线路D-的下拉电阻以检测所述数据传输线路D-的电平是否为一高电平,以及当所述数据传输线路D-的电平为一低电平时,所述控制单元决定所述第一主机为一通用串行总线主机,且所述主机利用所述预定模式和所述预定单元与所述第一主机沟通。10.如权利要求9所述的扩展 主机控制器,其特征在于:当所述数据传输线路D-的电平为所述高电平时,所述控制单元再次关闭耦接于所述数据传输线路D-的下拉电阻以检测所述数据传输线路D-的电平是否为所述高电平。11.如权利要求1所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线3.0兼容的扩展主机控制器时,所述判断方法包含: 所述控制单元在所述扩展主机控制器与所述第一扩展主机控制器之间的连接在活跃时期时,检测在所述扩展主机控制器与所述第一扩展主机控制器的握手过程中伴随所述扩展主机控制器所发出的端口能力连接管理协议的决胜值与伴随所述第一扩展主机控制器所发出的端口能力连接管理协议的第一决胜值; 其中当所述决胜值大于所述第一决胜值时,所述控制单元决定所述扩展主机控制器为一通用串行总线外围装置,以及所述主机利用所述预定模式和所述预定单元和所述第一主机沟通;当所述第一决胜值大于所述决胜值时,所述控制单元决定所述扩展主机控制器为一通用串行总线主机,以及所述主机利用所述通用串行总线模式和所述通用串行总线单元和所述第一主机沟通;以及当所述第一决胜值等于所述决胜值时,所述扩展主机控制器和所述第一扩展主机控制器再次执行握手。12.一种扩展主机控制器的操作方法,其中所述扩展主机控制器是应用于一主机,并且包含一通用串行总线模块、一控制单元以及一外围组件快速互连总线,其中所述通用串行总线模块包含一通用串行总线单元和一预定单元,以及所述外围组件快速互连总线支持一通用串行总线模式和一预定模式,其特征在于包含: 当一通用串行总线设备连接至所述通用串行总线模块时,所述扩展主机控制器是否收到来自所述通用串行总线设备发出的一第一请求; 当所述扩展主机控制器收到所述第一请求时,所述扩展主机控制器判断所述通用串行总线设备为一通用串行总线主机,且所述主机利用所述预定模式和所述预定单元与所述通用串行总线设备沟通; 当所述扩展主机控制器未收到所述第一请求时,所述扩展主机控制器发出一第二请求至所述通用串行总线设备; 当所述通用串行总线设备回应所述第二请求时,所述扩展主机控制器判断所述通用串行总线设备为一通用串行总线外围装置,且所述主机利用所述通用串行总线模式和所述通用串行总线单元与所述通用串行总线设备沟通;及 当所述通用串行总线设备未回应所述第二请求时,所述控制单元根据一判断方法让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述通用串行总线设备沟通。13.如权利要求12所述的操作方法,其特征在于:所述预定模式是一区域网络模式。14.如权利要求12所述的操作方法,其特征在于:所述通用串行总线模块支持通用串行总线1.0、通用串行总线1.1、通用串行总线2.0、通用串行总线3.0与其他可兼容于通用串行总线3.1的标准规范。15.如权利要求12所述的操作方法,其特征在于:所述预定单元是一除错功能单元。16.如权利要求12所述的操作方法,其特征在于:当所述通用串行总线设备具有一通用串行总线2.0的第一扩展主机控制器时,所述判断方法包含: 所述控制单元关闭耦接于所述扩展主机控制器的数据传输线路D-的下拉电阻以检测所述数据传输线路D-的电平是否为一高电平;及 当所述数据传输线路D-的电平为一低电平时,所述控制单元决定所述第一主机为一通用串行总线主机,且所述主机利用所述预定模式和所述预定单元与所述第一主机沟通。17.如权利要求16所述的操作方法,其特征在于:所述判断方法另包含: 当所述数据传输线路D-的电平为所述高电平时,所述控制单元再次关闭耦接于所述数据传输线路D-的下拉电阻以检测所述数据传输线路D-的电平是否为所述高电平。18.如权利要求12所述的操作方法,其特征在于:当所述通用串行总线设备具有一通用串行总线3.0兼容的扩展主机控制器时,所述判断方法包含: 所述控制单元在所述扩展主机控制器与所述第一扩展主机控制器之间的连接在活跃时期时,检测在所述扩展主机控制器与所述第一扩展主机控制器的握手过程中伴随所述扩展主机控制器所发出的端口能力连接管理协议的决胜值与伴随所述第一扩展主机控制器所发出的端口能力连接管理协议的第一决胜值; 当所述决胜值大于所述第一决胜值时,所述控制单元决定所述扩展主机控制器为一通用串行总线外围装置,以及所述主机利用所述预定模式和所述预定单元和所述第一扩展主机控制器沟通; 当所述第一决胜值大于所述决胜值时,所述控制单元决定所述扩展主机控制器为一通用串行总线主机,以及所述主机利用所述通用串行总线模式和所述通用串行总线单元和所述第一扩展主机控制器沟通;及 当所述第一决胜值等于所述决胜值时,所述扩展主机控制器和所述第一扩展主机控制器再次执行握手。19.一种扩展主机控制器,其中所述扩展主机控制器是应用于一主机,其特征在于包含: 一通用串行总线模块,其中所述通用串行总线模块包含一通用串行总线单元和一预定单元; 一控制单元;及 一高外围组件快速互连总线,耦接于所述控制单元,其中所述高外围组件快速互连总线支持一通用串行总线模式和一预定模式; 其中当具有一第一扩展主机控制器的第一主机、一通用串行总线外围装置或一通用串行总线主机的一者连接至所述通用串行总线模块时,所述控制单元让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述者沟通。20.如权利要求19所述的扩展主机控制器,其特征在于:当所述通用串行总线外围装置连接至所述通用串行总线模块时,所述控制单元让所述主机利用所述通用串行总线模式和所述通用串行总线单元与所述通用串行总线外围装置沟通。21.如权利要求19所述的扩展主机控制器,其特征在于:当所述通用串行总线主机连接至所述通用串行总线模块时,所述控制单元让所述主机利用所述预定模式和所述预定单元与所述通用串行总线主机沟通。22.如权利要求19所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线2.0的扩展主机控制器时,所述控制单元让所述主机利用所述预定模式和所述预定单元与所述第一主机沟通。23.如权利要求19所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线3.0兼容的扩展主机控制器时,所述控制单元根据在一活跃时期时伴随所述扩展主机控制器所发出的埠能力连接管理协议的决胜值与伴随所述第一扩展主机控制器所发出的埠能力连接管理协议的第一决胜值,决定让所述主机利用所述预定模式和所述预定单元或所述通用串行总线模式和所述通用串行总线单元和所述第一主机沟通。24.如权利要求19所述的扩展主机控制器,其特征在于:所述预定单元是一除错功能单元。25.—种应用于一主机的扩展主机控制器,其特征在于:所述扩展主机控制器依据一第一扩展主机控制器的第一主机、一通用串行总线外围装置或一通用串行总线主机的一者连接至所述主机时,选择性地控制所述主机变成一目标端或一主机端与所述者沟通。26.如权利要求25所述的扩展主机控制器,其特征在于:当所述通用串行总线外围装置连接至所述主机时,所述扩展主机控制器控制所述主机变成所述主机端与所述者沟通。27.如权利要求25所述的扩展主机控制器,其特征在于:当所述通用串行总线主机连接至所述主机时,所述扩展主机控制器控制所述主机变成所述目标端与所述者沟通。28.如权利要求25所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线2.0的扩展主机控制器时,所述扩展主机控制器控制所述主机变成所述目标端与所述者沟通。29.如权利要求25所述的扩展主机控制器,其特征在于:当所述第一扩展主机控制器是一通用串行总线3.0兼容的扩展主机控制器时,所述扩展主机控制器控制所述主机变成所述目标端或所述主机端与所述者沟通。
【专利摘要】本发明公开了一种扩展主机控制器和其操作方法。所述扩展主机控制器包含一通用串行总线模块、一控制单元和一外围组件快速互连总线。所述通用串行总线模块包含一通用串行总线单元和一预定单元;所述外围组件快速互连总线耦接于所述控制单元,其中所述外围组件快速互连总线支持一通用串行总线模式和一预定模式。当具有一第一扩展主机控制器的第一主机连接至所述通用串行总线模块时,所述控制单元根据一判断方法让所述主机利用所述通用串行总线模式和所述通用串行总线单元,或所述预定模式和所述预定单元与所述第一主机沟通。因此,本发明不需昂贵的中间桥装置执行数据传输,以及本发明的数据传输效能较佳。
【IPC分类】G06F13/38
【公开号】CN105487995
【申请号】CN201510643710
【发明人】黄承斌, 赵轩庆, 黄智宏
【申请人】钰群科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年10月8日
【公告号】US20160098368

最新回复(0)