提供主机即时切换分享通用串行总线电子设备的电子装置的制造方法_2

文档序号:9865443阅读:来源:国知局
8]24 USB数据收发器
[0049]25 USB序列接口引擎
[0050]26 USB主控制器模块
[0051]261数据输出区
[0052]262数据输入区
[0053]27数据传输单元
[0054]30电子设备分享系统
[0055]S501 步骤
[0056]S503 步骤
[0057]S505 步骤
[0058]S601 步骤
[0059]S603 步骤
[0060]S605 步骤
[0061]A 第一电子装置
[0062]B 第二电子装置
【具体实施方式】
[0063]图1所示为本发明一实施例,电子装置10与主机11及通用串行总线电子设备12的系统示意图。如图1所示,电子装置10电性连接于主机11及通用串行总线(UniversalSerial Bus, USB)电子设备12之间,且经建构以使主机11依据USB电子设备12的可用性来操作USB电子设备12。
[0064]在本发明一实施例中,电子装置10包含例如:现场可编程门阵列(Field-Programmable Gate Arrays, FPGA)芯片、特殊应用集成电路(Applicat1n-specific integrated circuit, ASIC)或一系统芯片(System onChip, S0C)。在本发明一实施例中,主机11包含例如:个人电脑、手提电脑、平板电脑及智能手机。USB电子设备12则包含例如:USB人机操作接口装置、USB储存装置、USB印表机或其他USB电子设备。
[0065]图2所示为本发明一实施例以及图1的电子装置10的方块图。请同时参照图1及图2,电子装置10包含多个USB设备控制器模块13、一微处理器14、一优先顺序判断模块
18、一 USB主控制器模块26及一 USB集线器模块19。
[0066]微处理器14稱接于一第一存储器15,且经建构以执行位于第一存储器15的程序指令以产生多个虚拟USB集线器模块16于第二存储器17中,而每一虚拟USB集线器模块16对应至多个USB设备控制器模块13之一。在本发明一实施例中,第一存储器15包含闪存,而第二存储器17则包含随机存取存储器。
[0067]另,微处理器14藉由执行位于第一存储器15的该程序指令以持续侦测是否有主机11电性连接于电子装置10的USB设备控制器模块13,以及持续侦测是否有USB电子设备12电性连接于电子装置10的USB集线器模块19。在本发明一实施例中,USB集线器模块19包含一 USB集线器。
[0068]当多个虚拟USB集线器模块16被产生于第二存储器17中时,每一虚拟USB集器线模块16的端点数据缓冲区亦同时被产生于第二存储器17中。另,每一虚拟USB集线器模块16的设备地址及端点地址经由控制暂存器20 (control register)储存于一相对应的USB设备控制器模块13的设备地址与端点地址过滤器21、输出存储缓冲区22的哈希表(hash table,图中未绘示)以及输入存储缓冲区23的哈希表(图中未绘示)中。
[0069]当微处理器14经由USB设备控制器模块13侦测到一主机11电性连接于电子装置10时,微处理器14因应于该连接状态产生一 USB电性连接讯号,并经由与该主机11相对应的USB设备控制器模块13传送至该主机11。接着,主机11开始传送USB电性数据讯号至该相对应的USB设备控制器模块13。该USB电性数据讯号包含有效的USB交握信号。此外,该USB电性数据讯号由USB数据收发器24接收,然后由USB序列接口引擎25 (serialinterface engine)解码并就包含在USB电性数据讯号中的设备地址与端点地址与过滤器21中所储存的设定数据(设备地址与端点地址)作比对。确定为有效的设备地址与端点地址后,USB设备控制器模块13即将该USB电性数据讯号传送至输出存储缓冲区22,并与其中的哈希表进行有效数据(设备地址与端点地址)的比对。
[0070]接着,USB设备控制器模块13依据输出存储缓冲区22的哈希表的比对结果,将该USB电性数据讯号的有效数据由输出存储缓冲区22传送至第二存储器17中相对应于该有效数据端点地址的虚拟USB集线器模块16的端点数据缓冲区(图中未绘示)内,并产生输出完成的中断(Interrupt)讯号至微处理器14。又,USB设备控制器模块13于输出存储缓冲区22的哈希表中以及于输入存储缓冲区23的哈希表中,对该设备(USB集线器模块16)对应的端点地址设置需等待的标记,并于主机11后续的数据阶段(data stage)或状态阶段(status stage)时,暂时持续地对主机11输出否定应答(Negative-Acknowledgment,NAK)的数据回馈封包,而让主机11处于等待的状态。
[0071]由于该USB电性数据讯号的接收对象(设备地址)为虚拟USB集线器模块16,故该输出完成中断讯号交由微处理器14中的虚拟集线器模块程序来加以处理。该程序依据有效数据的格式,并按照USB集线器的标准列举流程以产生一连续的USB设备列举数据封包。该些USB设备列举数据封包经由USB设备控制器模块13传送至主机11以列举该虚拟USB集线器模块16。其中,该标准列举流程包含将需要回复主机11的数据放入输入存储缓冲区23中,并设置哈希表。当主机11产生输入要求的USB电性讯号时,经检查USB设备控制器模块13的输入存储缓冲区23的哈希表中有相对应回复主机11的数据的等待输入旗标后,USB设备控制器模块13即将该USB设备列举数据封包送出至主机11。
[0072]当USB电子设备12电性连接至电子装置10时,微处理器14执行控制USB主控制器模块26的程序指令,通过USB主控制器模块26及USB集线器模块19,以标准的列举方式循序读取并分析USB电子设备12的装置描述(device descriptor)与组态描述(configurat1n descriptor),并设定 USB 电子设备 12 的实际地址(physical deviceaddress),以及经由虚拟USB集线器模块16向主机11列举该USB电子设备12。又,微处理器14因应于USB电子设备12的装置描述、组态描述及实际地址,于设备地址与端点地址过滤器21、输出存储缓冲区22的哈希表及输入存储缓冲区23的哈希表中,建立索引数据以供主机11操控USB电子设备12时的参考。在本发明一实施例中,USB主控制器模块26包含一 USB主控制器。
[0073]优先顺序判断模块18耦接于多个USB设备控制器模块13。优先顺序判断模块18经建构以依据该USB电子设备12的可用性,将主机11的USB电性讯号数据封包通过USB主控制器模块26以及USB集线器模块19传送至该USB电子设备12,以使主机11操作该USB电子设备12。
[0074]当USB电子设备12电性连接于USB集线器模块19时,若主机11欲操作USB电子设备12,主机11会产生一标准的USB电性讯号数据封包至电子装置10的USB设备控制器模块13。USB设备控制器模块13的USB数据收发器24接收该USB电性讯号数据封包。接着,USB设备控制器模块13的USB序列接口引擎25解码该USB电性讯号数据封包,并由设备地址与端点地址过滤器21比对该USB电性讯号数据封包中的设备地址与端点地址后,该USB电性讯号数据封包被传送至输出存储缓冲区22中。
[0075]USB设备控制器模块13依据输出存储缓冲区22的哈希表的比对结果,若该USB电性讯号数据封包的该设备地址与该端点地址为USB电子设备12,则于输出存储缓冲区22的哈希表中以及于输入存储缓冲区23的哈希表中,对该USB电子设备12对应的端点地址设置需等待的标记。又,USB设备控制器模块13在主机11后续的数据阶段或状态阶段时,暂时持续地对主机11输出否定应答(NAK)的数据回馈封包,而让主机11处于等待的状态。优先顺序判断模块18会依据USB电子设备12的可用性来判断USB电子设备12是否有未完成的命令或通信。若USB电子设备12处于空闲的状态,则优先顺序判断模块18因应于存储缓冲区22的哈希表,将该USB电性讯号数据封包的该设备地址由主机11对USB电子设备12修改成USB主控制器模块26对USB电子设备12所设置的实际地址,并复制至USB主控制器模块26的数据输出区261。USB主控制器模块26将该USB电性讯号数据封包经由USB集线器模块19传送至该USB电子设备12。
[0076]USB电子设备12因应于该USB电性讯号数据封包,产生一 USB电性回馈讯号经由USB集线器模块19、USB主控制器模块26的数据输入区262至优先顺序判断模块18。优先顺序判断模块18将该USB电性回馈讯号的数据封包中的实际位置改为主机11对USB电子设备12的虚拟位置后,放置于相应于主机11的USB设备控制器模块13的输入存储缓冲区23,并设定其中的哈希表。当主机11对于USB电子设备12产生数据输入的要求时,USB设备控制器模块13经由比对哈希表后,将有效的输入存储缓冲区23的相对应于该输入要求的数据传送至主机11。
[0077]另,于主机11与USB电子设备12的通信过程中,若优先顺序判断模块18判断该USB电性讯号
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1