设备、主机端控制器、通用串行总线系统及分组通信方法

文档序号:7597247阅读:166来源:国知局
专利名称:设备、主机端控制器、通用串行总线系统及分组通信方法
技术领域
本发明涉及作为用于实现在主计算机(主机)和其周边设备(设备)之间USB通信(依照USB标准的数据通信)的通信系统的USB系统。
背景技术
通用串行总线(Universal Serial Bus以下称为USB)是为了提高扩展性的自由度而开发的涉及在个人计算机等的主机上连接使用的周边装置(设备)的接口形式。而且,该USB是使用共用的总线能够实施主机和各种对应USB的设备之间通信的串行接口标准。
利用USB原理上在一个系统中能够在一个总线上连接一台主机(USB主机)和最多127台设备。这些连接在物理上为树形的网络结构。而且,在逻辑上主机(客户端软件)和设备(USB功能块)之间可以说是以1对1通信的连接形式。为了维持这种连接形式,各设备与主机进行时分(时间共享)通信。并且,主机进行时分的计划安排。
在USB1.x中,规定有数据传送速度的两种不同的模式,即1.5Mbps的低速模式(LS)和12Mbps的全速模式(FS)。
但是,近年来,在硬盘、DVD(Digital Versatile Disc)等需要高速数据传送的设备(应用)上也变得能够应用USB。因此,按照如前所述的传送速度就显得不够。
因此,就策划制订USB2.0这样的新的标准。在USB2.0中追加了以480Mbps的速度进行数据传送的高速模式(HS)。
这里,对利用USB进行数据通信(数据传送)的结构进行简单的说明。利用USB的数据传送是在主机和设备所具备的各个缓冲器之间进行的。
设备端的缓冲器是被称为端点的FIFO(First IN First Out先进先出)的缓冲器。各设备最多可以拥有16个端点。而且,在各个端点上附加用于识别的序号。
于是,主机在进行数据传送时,使用设备的地址和端点的序号可访问到期望的端点。
端点0(序号为0的端点)从设备一连接上USB的状态(配置前的状态)被设定,用于和主机之间进行控制传送的通信(为了初始化的通信等)。
而且,主机-设备之间的数据通信使用所谓的帧的通信框架来进行。该帧在主机和设备之间以特定周期被反复传送(在LS、FS模式中为1ms周期、而且在HS模式中为125us周期)。于是,全部数据都在该帧中被传送。
而且,该帧是由多个事务处理(transaction)构成、事务处理由多个分组构成。
分组是构成事务处理的最小通信单位,是实际通信数据的基本单位。而且,对应内容,分组还有令牌(token)分组、数据分组、信号交换(handshake)分组等多个种类。于是,包含有多个这样的分组,具有一定含义的数据传送的单位就被称为事务处理。
即、利用USB的数据通信是在帧中通过每个事务处理进行的。因此,在一个事务处理中就在主机-设备之间传送了多个分组。
而且,在上述的令牌分组中包含有各设备的地址和端点的序号,由此,主机就可以指定数据通信的对方。
图11为示意USB分组种类的说明图。如此图所示,在分组中包括令牌分组、数据分组、信号交换分组以及特殊分组。
而且,在令牌分组中包括有IN分组、OUT分组、SETUP分组、SOF分组。各个分组被分别用于图11中所示的目的。在数据分组中包括有DATA0分组、DATA1分组等。在信号交换分组中包括有ACK分组、NAK分组、STALL分组、NYET分组。而且,作为特殊分组还有PING分组等。
而且,图12是表示USB的分组格式的说明图。该图中所示的PID是分组的识别子,由8字节构成。而且,分别在令牌分组中附加CRC5,在数据分组中附加CRC16。这些CRC是用于在接收分组中为了判别是否有差错。
并且,作为令牌分组之一的SOF(帧开始)分组是表示主机发行的帧开始的分组。而且从而,该SOF分组具有表示主机和设备之间的总线没有被复位的功能。
USB的电缆包含有D+,D-两条信号线和除此以外的电源和地线共4条线。而且,在USB2.0中,当主机得到HS模式下总线复位的状态时,作为总线复位信号,D+信号线和D-信号线都处于10ms及其以上的低水平(SE0状态)。
从而,设备通过检测到这个SE0状态3ms及其以上就可识别到总线为被复位状态。并且,SE0状态和空闲状态相同。因此,设备在收不到分组的时间达到3ms及其以上时,就识别到总线为被复位状态,就会断开与主机的连接。
象这样进行断开后,即使重新完成与设备之间的物理连接(即使重新插拔电缆连接器),也经常会发生不能使总线回复的情况。从而,为了使总线回复就必需对主机再起动。
因此,在USB系统中,为了避免此类事情,在帧的前面配置上SOF分组,从主机对设备周期性并且优先地发送SOF分组。即,主机对在USB系统(电缆)上连接的设备(总线没有被复位的设备),在LS、FS模式中以1ms周期,或在HS模式中以125us周期经常性发送SOF分组。
并且,在USB标准中,这样的SOF分组发送被设定为优先于其它分组进行。而且,设备即使收到这样的SOF分组也不对主机返回信息。而且,该SOF分组在同步传送时也被用于使主机和设备同步。
下面,对于USB通信中的各个事务处理进行说明。在USB2.0标准中,在主机从设备读取数据的情况,可以使用IN事务处理。下面,使用图13对于IN事务处理进行说明。
首先,在T301中主机向设备发送IN分组,通知IN事务处理的开始。接收IN分组的设备在没有要传送的数据的情况下,在T302中向主机发送通知此意图的NAK分组。接收到NAK分组的主机识别在设备中没有要送的数据。从而,在下一个发送时刻(T303)再次发送IN分组。
接收其的设备已经具有要发送的数据的情况,在T304的时刻向主机发送DATA分组。主机在特定时间内无误地接收到DATA分组后,在T305的时刻向设备发送表示正常接收到了数据的ACK分组。设备通过在特定时间内接收到ACK分组即可识别能够正常地向主机传送数据。
并且,在T304中向主机发送的DATA分组中附加CRC16符号。因此,主机(数据接收侧)能够判别接收的数据中有没有差错。
并且,当根据CRC16判别在数据中具有差错时,主机就不返回任意分组。从而,这此情况,设备在特定时间内就不能够从主机接收ACK分组。因此设备就识别到向主机没有能够正常地传送数据,识别IN事务处理以失败而告终。
通过以上那样的IN事务处理,主机就可以从设备得到数据(读出)。
而且,在USB2.0标准中,主机向设备写数据时,使用OUT事务处理。下面,使用图14对于OUT事务处理进行说明。
首先,在T401中主机对设备发送OUT分组,通知OUT事务处理开始。之后,主机在T402中向设备发送DATA分组。
设备对接收到的OUT分组以及DATA分组的进行CRC检测,判别在接收到的分组中有没有差错。接收到的分组中没有差错时,设备如果为能够处理接收到的DATA分组的状态,就向主机发送ACK分组。另一方面,如果不能够处理DATA分组的状态,设备就向主机返回NAK分组。而且,在接收到的分组中有差错的情况,设备就向主机什么也不返回。
在图14中,虽然接收到的分组中没有差错,但是不能处理数据,在T403中设备向主机返回NAK分组。接收到该NAK分组的主机识别设备处于不能处理接收到的分组的状态。于是,为了把握设备的状态,在T404中向设备发送PING分组。
接收PING分组的设备如果为能够处理数据的状态,向主机发送ACK分组,如果不是能够处理接收到的数据分组的状态,就向主机发送NAK分组。
在图14中,假定设备为能够处理数据的状态,在T405向主机发送了ACK分组。主机因为对PING分组而返回的ACK分组,可以识别到设备为能够处理数据的状态。
那么,在主机对PING分组接收NAK分组的情况,就识别为设备不能够处理数据的状态,就再次发送PING分组。这里,主机在设备成为能够处理数据状态之前(在接收ACK分组之前),反复PING分组的发送。
在图14中,主机由于对PING分组接收ACK分组,就在T406和T407中再次发送OUT分组和DATA分组。
接收到其的设备在下次成为能够处理数据的状态。因此,设备在接收分组CRC检测后,如果没有差错就发送ACK分组。主机通过接收到ACK分组,就识别到OUT分组和DATA分组被无误地传送到设备并在设备中被处理,就结束OUT事务处理。通过这样的OUT事务处理,主机就可以向设备写入数据。
下面就SETUP事务处理进行说明。SETUP事务处理是在USB2.0标准中将设备连接到主机时,为了确定主机-设备之间的系统连接(完成配置)而进行的事务处理。并且,该事务处理通过主机对设备的端点0进行数据传送被执行。下面,使用图15对于SETUP事务处理进行说明。
在SETUP事务处理中,首先,在T501中主机向设备发送SETUP分组,通知SETUP事务处理的开始。然后,主机在T502发送DATA分组。设备对接收到的SETUP分组和DATA分组进行CRC检测。
从而,在判别出接收到的分组中没有差错时,设备在T503中向主机发送ACK分组。另一方面,设备判断接收的SETUP分组和DATA分组中有差错时,就什么也不向主机返回。
主机通过接收到ACK分组,识别能够正常向设备传送SETUP分组和DATA分组,结束SETUP事务处理。
并且,在从发送DATA分组到特定时间内不能够接收ACK分组的情况,主机即可识别到不能正常的向设备传送SETUP分组或DATA分组,即SETUP事务处理以失败而告终。
根据上述方法,能够进行在主机·设备间的SETUP事务处理。
可是,近年来,数码相机、PDA(personal digital assistant)等可移动设备上也都配有USB端子,变得也可以对应USB。
这些移动设备多采用叉簧(cradle;摇篮)方式与主机相连接。即,通过连接在主机上所连接的摇篮的USB连接器和移动设备的USB连接器,就能够进行USB传送。
这些USB连接器具有物理接点。因此,由于连接器的插拔会使连接器恶化,会有可能进行不了高质量的数据传送。
作为消除上述那样物理接点的方法,具有在主机和移动设备之间用光进行空间传送的技术。这样的技术,比如在日本国公开专利公报[特开2000-284872号公报(平成11年(2000年)10月13日公开)]中被记载。
但是,为了完全对应USB2.0的高速模式,需要保持480Mbps的传送速度进行数据的空间传送。从而,由于作为主机和设备所配备的光通信部(光学系统及收发部分)需要具有高CDR(Clock Data Recovery)性能从而导致成本增加。
在此,为了抑制这样成本增加,可以考虑降低光通信的传送速度进行USB2.0的数据传送。
图16为表示在从主机到主机的光通信部(主机光通信部)以480Mbps、从主机的光通信部到设备的光通信部(设备光通信部)以100Mbps、还有从设备光通信部到设备以480Mbps进行通信的情况,SOF分组的发送形式的时序图。该SOF分组的发送是用于向设备表示总线没有被复位。
如图16所示,在T601中从主机发送的SOF分组在主机光通信部中被变换为光信号,被发送到设备光通信部。设备光通信部接收到SOF分组后,对设备重复发送SOF分组。而且,主机不等待来自设备的返回信息,在125us后的T602中,再发送新的SOF分组。
但是,在这个结构中,由于光通信部的传送速度较慢,发送SOF分组所花费的时间比USB2.0的原来的(原始的)时间要长。并且,SOF分组不依赖于通信速度以每125us被优先地发送。因此,具有通过SOF分组的发送导致光通信带宽的占有率上升,用于发送其它分组的带宽减少,存在主机-设备间的通信效率显著降低的问题。

发明内容
本发明是鉴于上述那样的现有问题而提出的。从而,其目在于即使在使用比USB标准中原来通信速度低的低速通信线路(例如100Mbps的光通信线路)的情况下,提供可以抑制通信效率低下的USB系统。
为了达到上述目的,本发明的设备端控制器(原设备端控制器)被配备到USB系统的设备上,在中继主机和设备间的通信的设备端控制器中,其特征在于具有在主机和设备的连接被确定后,向设备发送SOF分组的设备端控制部。
而且,本发明的主机端控制器(原主机端控制器)被配备到具有主机、设备和原设备端控制器的USB系统的主机上,中继主机和设备间的通信的主机端控制器,其特征在于具有在接收从主机向设备发送的SOF分组的情况,避免向设备端的发送该分组的主机端控制部。
本发明的设备端控制器(原设备端控制器)被配备到USB系统的设备上,中继主机和设备间的通信的设备端控制器,其特征在于具有在主机和设备的连接被确定后,以特定周期向设备发送SOF分组的设备端控制部。
原设备端控制器适用于USB系统。这里,所谓USB系统是为了实现主计算机(主机)和其周边机器(设备;USB功能块)之间进行USB通信(依照USB标准的数据通信)的通信系统。
从而,原设备端控制器被装备到USB系统的设备上,对主机和设备间的通信进行中继。即,原设备端控制器具有接收从设备传送分组并向主机发送,另一方面接收向设备发送的分组并传送给设备的功能。这里,分组为在USB系统中通信的数据基本单位。
而且,在USB系统中规定对作为分组一种的SOF分组优先于其它分组,从主机向设备传送。从而,在原设备端控制器中,具有本身制作该SOF分组,并向设备发送的设备端控制部。
由此,如果使用原设备端控制器,就不需要在主机和原设备端控制器间执行SOF分组的收发(即,不需要从主机端向设备发送SOF分组)。因此,主机和该设备端控制器之间的通信路径仅能够为SOF分组以外的其它的分组所利用。从而使得这些其它分组的通信效率提高。
而且,本发明的USB系统(原系统)是附加到主机和设备,包含原设备端控制器的USB系统。如果构筑了这样的系统,能够提高分组的通信效率。并且,最好在本系统中具有以下所示那样的本主机端控制器。本主机端控制器为被装备到主机上,中继主机和设备间通信的。即,本主机端控制器为在接收从主机传送来的分组并向设备传送同时,接收向主机传送的分组并传达给主机的。
这样,在本系统中具有主机、本方主机端控制器、本方设备端控制器、设备的情况,通信路径就按照这个顺序被形成。即,设定为两个控制器中继进行主机和设备间的通信。
而且,本发明的分组通信方法(本通信方法)在USB系统中主机和设备间通信分组的分组通信方法,其特征在于包括通过配备到主机上的主机端控制器的主机端控制部,避免向设备端传送从主机发送的SOF分组的发送避免步骤;通过配备到设备上的设备端控制器的设备端控制部,向设备发送SOF分组的发送步骤。
该通信方法为在上述本系统中使用的通信方法。从而,如果使用该通信方法可以容易的提高控制器间的通信效率。
而且,本发明的第一通信控制器(本第一通信控制器)为中继主机和设备间的通信,具有作为主机端控制器功能和作为设备端控制器功能的通信控制器,其特征在于具有当通信控制器作为设备端控制器的功能时,在主机和设备的连接被确定后,向设备发送SOF分组的通信控制部。
而且,本发明的第二通信控制器(本第二通信控制器)为中继主机和设备间通信,具有作为主机端控制器的功能和作为设备端控制器的功能的通信控制器,其特征在于具有当通信控制器作为设备端控制器的功能时,在接收到从主机向设备端发送的SOF分组时,避免向设备端发送该分组的通信控制部。
这样,本通信控制器在具有作为主机端控制器的功能的同时还具有作为设备端控制器功能。根据这个结构,在USB系统中,即使将一个通信控制器作为主机端控制器,还能够作为设备端控制器来使用。
本发明的其他的目的、特点和优点通过以下所示记述就可以充分明白。而且,本发明的优点通过参照附件的图的说明可以明白。


图1为表示本发明的一个实施方式的USB系统构成的方框图。
图2为表示为了在将图1所示的USB系统的设备的总线进行复位处理中,在主机端控制器端的主机SM的操作的流程图(状态转换图)。
图3为表示在图1所示的USB系统中,速度协商例的时序图。
图4为表示在速度协商中,主机端控制器的SNSM的操作的说明图。
图5为表示在速度协商中,设备端控制器的SNSM的操作的说明6为表示在IN事务处理中不能发送SOF分组例的时序图。
图7为表示DATA分组尺寸的说明图。
图8为表示在IN事务处理中,图1所示的本系统的设备SM的操作的顺序流程图。
图9为表示在OUT事务处理中不能发送SOF分组的例子的时序图。
图10为表示在OUT事务处理中,图1所示的本系统的设备SM的操作顺序的流程图。
图11为表示USB分组种类的说明图。
图12为表示USB分组格式的说明图。
图13为表示IN事务处理例子的时序图。
图14为表示OUT事务处理例子的时序图。
图15为表示SETUP事务处理例子的时序图。
图16为表示在现有的USB系统中,发送SOF分组的形式的时序图。
图17为表示使用本发明的一个实施形态的通信控制器的USB系统的构成方框图。
具体实施例方式
对于本发明的一个实施方式进行说明。用本实施方式的USB系统是为了实现在主计算机(主机)和周边机器(设备)之间的USB通信(用USB2.0的数据通信)的通信系统。
图1为表示本系统构成的方框图。如图所示,本系统为具有主机10、主机端控制器11、设备端控制器12、设备13的构成。
主机(USB主机)10为作为本系统父机的个人计算机,控制所有的USB通信。而且,设备(USB功能块,USB设备)13为与主机10进行通信的子机(节点),作为诸如打印机或DVD驱动器等主机周边设备的功能。
主机端控制器11是通过USB电缆与主机10连接,中继主机10和外部(设备13)之间的USB通信。即,主机端控制器11为在接收从主机10发送的分组并向外部发送同时,接收向主机10发送的分组并传送到主机10。
设备端控制器12是通过USB电缆与设备13连接,中继设备13与主机10之间USB通信。即,设备端控制器12为在接收从设备13发送的分组并向主机10发送同时,接收向设备13发送的分组并传送到设备13。
而且,在本系统中,控制器11和12间通过对应USB的光无线通信连接。即,在本系统中,经由通过控制器11·12的光无线通信执行主机10和设备13之间的USB通信。并且,控制器11·12间的光无线通信中的数据传送速度为100Mbps,比USB2.0高速模式(HS)时的数据传送速度(480Mbps)要低。
这里,对于作为本系统的特征的结构的控制器11·12的构成进行说明。如图1所示,主机端控制器构成为具有USB接收机20、发送FIFO21、调制电路22、光发送机23、光接收机24、解调电路25、接收FIFO26、USB发送机27、差错检测电路28、定时器29、速度协商状态机(SNSM)30、SOF判断电路31和主机端状态机(主机SM)32。
另一方面,设备端控制器12构成为具有主机端控制器所具有的上述的部件20~30和设备端状态机(设备SM)42。
USB接收机20为以USB电缆连接主机10或设备13,接收从其发送的USB信号(包含分组的信号)的。
发送FIFO21为暂时保存USB接收机20接收到分组的。即,如上所述,控制器11·12之间的通信速度(100Mbps)比USB电缆的最高通信速度(HS;480Mbps)要低。因此,发送FIFO21被用于通过光通信进行分组传送(重复)时的时间调整。
调制电路22为能够通过光通信向外部发送,对分组进行调制(光调制)的。作为调制电路22的调制方法,例如能够使用8B10B。光发送机23为向外部发送经过调制电路22调制后的分组的,由发光二极管装置和激光装置构成。
光接收机24为接收从外部接收的、经过光调制的分组,例如由光电二极管构成。并且,光接收机24从外部接收到任何光信号后,就向主机SM32(设备SM42)或者SNSM30发送信号检测信号。该信号检测信号是用于判断接收信号有无的。解调电路25为解调通过光接收机24接收的分组,以使其能够通过USB电缆进行通信。作为解调电路25的解调方法,例如能够使用8B10B。
接收FIFO26暂时保存解调后的分组。而且,接收FIFO26与发送FIFO21相同,为了弥补通过USB电缆的数据传送和通过光通信的数据接收之间的速度差,被用于通过USB电缆进行分组传送(重复)时的时间调整。
差错检测电路28为判断通过解调电路25解调的分组中是否具有差错的电路。USB发送机27为以USB电缆连接主机10或设备13时,向它们发送在接收FIFO26保存的分组(包含分组的USB信号)的。定时器29为在主机SM32或设备SM42中使用的定时器(时间计测器)。SNSM(速度设定部)30为用于进行后面提到的速度协商的控制部。
主机端控制器11的SOF判断电路(主机端控制部)31为判断通过USB接收机20接收到分组是否为SOF分组的电路。主机SM(主机端控制部)32为控制主机端控制器11的全部处理,是控制器11的中枢部。
同样地,设备端控制器12的设备SM(设备端控制部)42作为控制控制器12的全部处理的中枢部的功能。
这里,对于本系统的数据通信操作进行说明。首先,对于设备13的连接时的操作进行说明。经由控制器11·12设备13将设备13连接到本系统时,首先,主机10检测设备13的电源。其成为确认在流经USB电缆的4根信号线(D+,D-,电源(VBUS),GND)的信号中的VBUS信号。
然后,主机10检测设备13的速度(对应的模式)。从而对应全速模式(FS)或者高速模式(HS)的情况,主机10拉升D+的信号。另一方面,在仅仅对应低速模式(LS)的情况,主机10拉升D-的信号。并且在以下,设备13对应HS。
然后,主机10将D+信号线和D-信号线都设为10ms及其以上、低水平(SE0状态),对设备13的总线进行复位。此后,设备13经由控制器11·12向主机10发送HS特有信号(称为CHIRP)。而且,主机10也经由控制器11·12向设备13发送HS特有的信号。
由此,主机SM32以及设备SM42确认主机10和设备13的通信模式为HS。此后,主机SM32和设备SM42控制SNSM30,进行控制器11·12之间的速度协商(如后所述)。由此,确立(完成)了主机10和设备13的连接(总线)。
设备13被连接在本系统后,在主机10·设备13间经由控制器11·12实施数据传送。从主机10向设备13发送USB信号(包含分组的信号)后,该信号被主机端控制器11的USB接收机20接收。接收其后,主机SM32控制SOF判断电路31,判断接收到的分组是否为SOF分组。
从而,若判断为不是SOF分组的情况,主机SM32解析USB信号(分组),将分组保存在发送FIFO21中。此后,主机SM32控制调制电路22和光发送机23,对设备端控制器12生成·发送包含接收到的分组的光信号。
并且,不是SOF分组的分组是与上述IN事务处理、OUT事务处理或者SETUP事务处理的各事务处理相关的,进行数据传送的分组。并且,在本系统中,关于各事务处理,按照USB2.0规定的规则进行分组的生成·收发,但对于详细省略说明。
从主机端控制器11发送的光信号通过设备端控制器12的光接收机24被接收。从而,设备SM42控制解调电路25,使光信号的分组解调。从而,设备SM42控制差错检测电路28,判断在解调后的分组中有无差错(是否为遵循USB标准的分组)。
从而,设备SM42仅仅将接收到的分组中没有差错的分组存储到接收FIFO26。此后,设备SM42对分组的全部进行完接收·解调后,控制USB发送机27,将包含此分组的USB信号以特定定时发送到设备13。
另一方面,在主机SM32判断从主机端控制器11接收到的分组为SOF分组的情况,就不在发送FIFO21中保存该分组并将其抛弃,停止向设备端控制器12的传送(重复)。从而,在本系统中,设备端控制器12(设备13)不会从主机端控制器11(主机10)接收SOF分组。
从而,本系统中,设备端控制器12的设备SM42在与设备端控制器12的协商结束后,控制定时器29测量作为HS中SOF分组的发送周期的125us(微秒)。从而,在该周期中设备SM42生成SOF分组,并以125us的周期对设备13发送。由此,在本系统中,能够周期地向设备13发送SOF分组。从而,即使从设备端控制器12不发送SOF分组,也能够避免设备13的总线复位,可以维持设备13为活动状态。
并且,从设备13向主机端控制器11发送包含分组的USB信号的情况,该信号被接收到设备端控制器12的USB接收机20。
从而,设备SM42对接收到的USB信号(分组)进行解析,判断在该数据中有无差错。并且,这里设备SM42将没有遵循USB标准的分组和不应该从设备13发送的分组(SOF分组等)作为具有差错的分组来识别。
从而,设备SM42仅仅将没有差错的分组存储到FIFO21。此后,设备SM42控制调制电路22和光发送机23,对主机端控制器11使包含分组的光信号生成·发送。
从设备端控制器12发送的光信号由主机端控制器11的光接收机24接收。从而,主机SM32控制解调电路25,对光信号的分组进行解调。从而,主机SM32控制差错检测电路28,判断在解调后的分组中有无差错(是否为遵循USB标准的分组)。
从而,主机SM32仅仅将接收到的分组中没有差错的分组存储到接收FIFO26。此后,主机SM32对分组的全部进行完接收·解调后,控制USB发送机27,将包含该分组的USB信号在既定的时刻发送到主机端控制器11。
如上所述,在本系统中,主机端控制器11的主机SM32在接收到从主机10向设备13发送的SOF分组的情况,可以避免向设备端发送该分组。从而,设备端控制器12的设备SM42在确立主机10和设备13间的连接后,以特定周期向设备13发送SOF分组。
从而,在本系统中,在控制器11·12间没有必要进行SOF分组的发送。因此,通信速度低的控制器11·12间的通信带宽仅能够为SOF分组以外的其它分组所使用。从而,可以防止由于SOF分组而妨碍其它分组的通信,提高通信效率。
这里,对于在本系统中为了对设备13的总线进行复位的处理进行说明。图2与该处理相关,表示在主机端控制器11中的主机SM32的操作的流程图(状态转换图)。如图所示,主机SM32在接收从主机10向设备13发送的USB信号(分组)时,对定时器29进行复位,测量从该时刻开始经过的时间(步骤(S)11·S12)。
从而,在判断定时器29所测量的时间达到特定时间(例如3ms)的情况,主机SM32识别为主机10将对设备13的总线进行复位。此后,主机SM32控制光发送机23,向设备端控制器12发送复位通知信号(S14)。
而且,设备端控制器12的设备SM42接收到复位通知信号后,就识别到主机10将对设备13的总线进行复位。从而,设备SM42停止对设备13的SOF分组发送。由此,就容易进行设备13的总线复位。
下面,对于上述速度协商进行说明。该速度协商是在控制器11·12间为了决定光无线通信的数据传送速度的处理。图3为表示该处理的例子的时序图。
图4为表示在该处理中主机端控制器11的SNSM30的操作的说明图。而且,图5为表示在该处理中设备端控制器12的SNSM30的操作的说明图。
主机端控制器11的SNSM30在T1201中控制光发送机23,以既定的传送速度A开始keep_speed信号的发送,并使定时器29重新开始(使其复位后立即开始)。并且,keep_speed信号是一种为了决定传送速度的代码(请求信号),是向发送目的地(设备端控制器12)请求维持现在的传送速度的信号。
另一方面,在设备端控制器12中,接收该keep_speed信号的光接收机24首先向SNSM30传送信号检测信号。接收其后,SNSM30在使定时器29重新开始的同时,控制光发送机23,开始向主机端控制器11发送keep_speed信号。而且,SNSM30控制解调电路25、差错检测电路28判断在接收的keep_speed信号中有无差错。
于是,如图3所示,在T1203中从主机端控制器11发送的keep_speed信号在光无线通信路中二进制化,在设备端控制器没能正常接收到的情况,设备端控制器12的SNSM30在T1204中用lower_speed信号代替keep_speed发送到主机端控制器11。
该lower_speed信号是一种为了决定传送速度的请求信号,是向发送目的地(主机端控制器11)要求降低传送速度的信号。在接收lower_speed信号的主机端控制器11中,SNSM30识别到不能正常地以当前传送速度A进行数据传送。从而,对设备端控制器12发送lower_speed信号(将发送代码切换为lower_speed)。
设备端控制器12的SNSM30通过从主机端控制器11接收lower_speed信号,判断自身发送的lower_speed信号在主机端控制器11中被识别。
从而,经过特定的时间Ta后,控制器11·12的SNSM30由于在该时刻收发的信号为lower_speed信号,例如使传送速度降低一半(A/2)。即、主机端控制器11的SNSM30在T1207中以传送速度A/2开始keep_speed信号的发送同时,使定时器29重新开始。
另一方面,设备端控制器12的SNSM30也对应于来自光接收机24来的信号检测信号,在开始发送keep_speed信号的同时,使定时器29重新开始。
从而,控制器11·12双方不进行差错检测,在经过既定时间后,控制器11·12的SNSM30开始作为速度协商的结束信号(结束请求)的End_Nego信号的收发。从而,SNSM30在接收来自对方设备的End_Nego信号时,结束速度协商,转换到活动状态。
这里,使用图4对于在主机端控制器11中的SNSM30的操作进行说明。
状态ST0为速度协商的开始状态。这里,主机端控制器11的SNSM30以keep_speed信号为发送代码,在定时器29重新开始后,转向状态ST1。
状态ST1为进行速度协商的状态。主机端控制器11的SNSM30在接收代码中有差错或者接收来自对方设备(设备端控制器12)发送的lower_speed信号的情况,将发送代码切换为lower_speed。
而且,主机端控制器11的SNSM30在经过特定时间Ta后,在发送代码为lower_speed信号的情况,转向状态ST0,或者在发送代码为keep_speed信号的情况,转换到状态ST2。
这里,在转向状态ST0的情况,例如对现在的传送速度变为一半(传送速度降低的幅度(程度))能够设定为用户所希望的值。并且,该幅度,被事先记录在SNSM30中。另一方面,在转换到状态ST2的情况,将发送代码切换为End_Nego信号。该状态ST2为确认速度协商的结束的状态。从对方设备(设备端控制器12)接收到End_Nego信号后,结束速度协商,转换到活动状态。
下面,使用图5对于在设备端控制器12中的SNSM30的操作进行说明。在状态ST0、ST1、ST2的各状态下的操作与主机端控制器11的SNSM30相同。
作为状态ST0之前的状态ST4为判别是否从主机端控制器11接收请求信号。在从光接收机24(或者其他的接收信号检测电路)接收信号检测信号的情况,SNSM30转换到状态ST0。
并且,上述keep_speed信号、lower_speed信号、End_Nego信号既可以是分组(具有特定格式的属性列),也可以是由特定的属性构成。
而且,在上述中,在确认主机10和设备13间的通信模式(速度)确认后,就进行速度协商。但是,对于速度协商也可以在主机10·设备13间的通信开始前的时刻进行。
而且,在上述中,主机10与主机端控制器11之间和设备端控制器12与设备13之间为以USB电缆连接的状态,进行速度协商。但是,并不限于此,只要控制器11·12间为能够通信的状态,在控制器11·12和主机10·设备13间通过USB电缆连接前也可以实施速度协商。
而且,在本实施方式中,主机SM32避免向设备端发送从主机10接收的SOF分组,而且,设备SM42以特定周期向设备13发送自身制做的SOF分组。但是,在上述速度协商中,在能够将控制器11,·2间的光无线通信速度设定为与USB电缆同等的速度(480Mbps)的情况,就不限定于此。
即,在这样的情况,主机SM32也可以向设备端原封不动地发送从主机10接收到的SOF分组。从而,设备SM42也可以设定为将从设备端控制器12接收的SOF分组传送到设备13。
在这样的情况,即使在控制器11·12之间进行SOF分组的收发,也可以与使用USB电缆的情况同等程度地抑制在其间的通信带宽的SOF分组占有率。因此,不存在由于SOF分组的收发而使其它分组通信效率恶化。但是,当然即使在此情况,也可以是避免控制器11·12间SOF分组发送的构成。
而且,在上述那样的速度协商后,主机SM32、设备SM42至少一个最好利用差错检测电路28,计算控制器11·12间分组收发中的差错率。这里,差错率是差错产生次数除以收发次数的值(差错产生率)。
从而,主机SM32、设备SM42在该差错率达到特定值及其以上的情况,控制SNSM30,希望使控制器11·12间通信速度降低。由此,可以使由于通信速度过高而引起的差错率降低。
而且,一般地在USB电缆的通信为半双工通信的情况,在USB系统中,主机以优于其它分组向设备发送SOF分组那样,调整数据传送(优先发送SOF分组是USB的规定),。这里,半双工通信是指主机或者设备的一个占有通信路的通信方式。
但是,如本系统这样,数据传送路径中具有传送速度较慢的部分(控制器11·12间)的情况,主机就不能很好的调整数据传送,有时也会有由于其它分组而不能发送SOF分组的情况(发生不能向设备发送SOF分组的情况)。
图6为表示这样的情况的例子(IN事务处理)的时序图。首先在T(时刻)1501设备端控制器12的设备SM42向设备13发送SOF分组。
从而,在T1502中主机端控制器11的主机SM32向设备端控制器12发送IN事务处理。设备端控制器12的设备SM42在IN事务处理接收结束后,将其发送给设备13(T1503)。
这里,设备SM42被设定为等待IN分组接收结束,再将其重复到设备13。其是为了防止11·12在使用设备端控制器12·设备13间的高速通信路(USB电缆)重复通过控制器11·12间的低速通信路(光无线通信)接收的IN分组时的数据的欠缺。
而且,如图6所示,设备13在接收到IN分组后,在T1504中向设备端控制器12发送DATA分组。
另一方面,设备SM42为了在T1505中访问到了SOF分组的发送周期,就向设备13发送SOF分组。只是,此这时设备13正在发送DATA分组。因此,在半双工通信用的USB电缆上,设备SM42不能向设备13发送SOF分组。
下面,对于这样在IN事务处理执行中防止不能发送SOF分组的方法进行说明。即,如上所述,设备SM42使用定时器29计算向设备13发送SOF分组的时间。而且,在已经向设备13发送IN分组的情况,从设备13返回的数据分组的最大长度为如图7所示的值。
设备SM42根据这些值,在从设备13接收DATA分组到向主机端控制器11发送期间,和在从设备端控制器12(设备SM42)向设备13发送ACK分组期间,逆计算不访问SOF分组的送信时刻而向设备13发送IN分组的时刻(定时器29的值)范围(该范围为IN分组能够发送范围)。即,设备SM42被设定为计算IN分组能够发送范围,并在此范围内向设备13发送IN分组。由此,就可以避免在和设备13间的其它分组的收发而妨碍SOF分组的发送。
并且,所谓上述的IN分组能够发送范围为IN分组开始发送时间的范围,在[从向设备13发送IN分组,从设备13接收最大长度的DATA分组并向主机端控制器11发送,此后,将从主机端控制器11发送的ACK分组传送到设备13为止]的期间,不访问SOF分组发送时刻的时间。
图8为表示在IN事务处理中设备SM42的操作顺序的流程图。如此图所示,设备SM42从主机端控制器11接收IN分组后(S41),判断定时器29的值是否在IN分组能够发送范围内(S42)。从而,在判断为IN分组能够发送范围内的情况,设备SM42向设备13传送IN分组(S43),结束处理。
另一方面,若在S42中判断不在IN分组发送可能范围内的情况,设备SM42待机直到SOF分组的发送时间(S44)。从而,发送SOF分组(S45),待机特定的时间后(S46),设备SM42判断为IN分组能够发送范围,向设备13发送IN分组(S43),结束处理。
通过上述处理,在IN事务处理中的从设备端控制器12(设备SM42)向设备13的SOF分组的发送没有被其它分组的收发所妨碍,能够很好的实施。并且,设备SM42在S46之后,也可以将处理返回到S42,再确认为IN分组的能够发送时间的。而且,也可以不执行S46的待机,立即发送IN分组(或者返回S42)。
并且,如上所述,与SOF分组的发送相关的问题不仅仅在IN事务处理时,而且还在OUT事务处理时产生。图9表示在OUT事务处理中不能发送SOF分组的例子的时序图。如图所示,首先,在T1801中设备端控制器12的设备SM42向设备13发送SOF分组。
从而,在T1802·T1803中主机端控制器11的主机SM32向设备端控制器发送OUT分组和DATA分组。设备端控制器12的设备SM42在这些分组接收结束后,将其向设备13发送(T1804·T1805)。
这里,设备SM42被设定为等待OUT分组和DATA分组接收结束,再将其重复到设备13。其为了防止在使用设备端控制器12·设备13间的高速通信路(USB电缆)重复通过控制器11·12间低速通信路(光无线通信)接收的OUT分组和DATA分组时,数据的欠缺。
而且,在T1806中访问SOF分组的发送周期。但是,因为设备SM42正在向设备13发送数据分组,而不能够发送SOF分组。
下面,对于这样在OUT事务处理执行中防止不能发送SOF分组的方法进行说明。即,如上所述,设备SM42利用定时器29计算向设备13发送SOF分组的时间。而且,从设备端控制器12向设备13发送的DATA分组的最大长度为如图7所示的值。
设备SM42根据这些值,在从OUT分组和DATA分组的发送中和来自设备13的ACK分组的接收中,逆计算不访问SOF分组的送信时刻而向设备13发送OUT分组和DATA分组的时刻(定时器29的值)的范围(该范围为OUT分组能够发送范围)。即,设备SM42被设定为计算OUT分组能够发送范围,并在此范围内向设备13发送OUT分组和DATA分组。由此,就可以避免在和设备13间由于其它分组的收发妨碍SOF分组发送。
并且,所谓上述的OUT分组能够发送范围是指,开始OUT分组发送的时间范围,[从向设备13发送OUT分组,向设备13发送最大长度的数据分组,从设备13接收ACK分组为止]的期间内,不访问SOF分组发送时间范围。
图10为表示在OUT事务处理中设备SM42的操作的顺序的流程图。如图所示,设备SM42从主机端控制器11接收到OUT分组和DATA分组后(S51),判断定时器29的值是否在OUT分组能够发送范围内(S52)。从而,判断在OUT分组发送可能范围内的情况,设备SM42向设备13传送OUT分组和DATA分组(S53),结束处理。
另一方面,若在S52判断不在OUT分组能够发送范围内的情况,设备SM42待机直到SOF分组的发送时刻(S54)。从而,发送SOF分组(S55),待机特定时间后(S56),设备SM42判断为OUT分组能够发送范围时,向设备13发送OUT分组和DATA分组(S53),结束处理。
通过上述处理,在OUT事务处理中的从设备端控制器12(设备SM42)向设备13的SOF分组的发送没有被其它分组的收发所妨碍,可以很好的实施。并且,设备SM42在S56之后,也可以将处理返回S52,再确认OUT分组能够发送的时间。而且,也可以不执行S56的待机,立即发送OUT分组·DATA分组(或者返回S52)。
并且,设备SM42在向设备13发送之前,能够知道DATA分组的分组长度(尺寸)。因此,也可以把OUT分组能够发送范围设定为开始OUT分组发送的时间的范围,[从向设备13发送OUT分组,向设备13发送从主机端控制器11接收的DATA分组,接收从设备13发送ACK分组为止]的期间内,不访问SOF分组的发送时间的时间范围。在此情况,就成为设备SM42在每次OUT事务处理时,重新计算OUT分组发送可能范围。但是,由于可以设定最适合的时间范围,能够防止白白地待机进行OUT分组和DATA分组发送,从而提高发送效率。
而且,如上述与SOF分组发送相关的问题,在SETUP事务处理时也会发生。SETUP事务处理是在OUT事务处理中向设备13发送以SETUP分组代替OUT分组的处理。从而,通过上述图10的处理,可以很好的进行SETUP事务处理时的SOF分组的发送。
而且,在本实施方式中,主机SM32不向设备端控制器12重复SOF分组,设备SM42在每个特定周期(125us)向设备13发送SOF分组。
但是,并不限定于此,主机SM32从主机10接收SOF分组时,也可以向设备端控制器12发送表示已经接收SOF分组的SOF接收通知信号。从而,在接收该信号的时刻,设备SM42也可以被设定为向设备13发送SOF分组。这里,作为SOF接收通知信号,例如可以为8B10B的特定属性,也可以是别的分组形式。
在该构成中,主机SM32通过向设备端控制器12发送比SOF分组明显短的SOF接收通知信号,就可以向设备端控制器12的设备SM42传送SOF分组的发送时刻。
由此,可以将与SOF分组发送相关的控制器11·12间的光无线通信中的通信速度(通信时间)提高到[使用USB电缆连接控制器11·12,在其间转送SOF分组的程度]。
从而,在该构成中,在能够维持设备13的总线为活动的状态同时,可以防止由于SOF分组的传送而导致主机-设备之间的通信效率降低。还有,在该构成中,没有必要在设备端控制器12中配备定时器29。
而且,在生成向设备13发送的SOF分组时,最好是设备SM42按照特定规则生成SOF分组。例如,最好是设备SM42正确设定在图12所示的SOF分组的格式中的帧序号(FrameNo)。这个帧序号在HS中是连续8个分组取得相同值,只是在第九个才增加1。而且,在FS中是每个分组增加1。
并且,在本系统中,从设备端控制器12向设备13发送的SOF分组的帧序号有可能与应当从主机10发送的SOF分组的帧序号不同。但是,对于由设备13接收的SOF分组,接收的时刻是重要的。从而,帧序号如果按照USB2.0规定的上述的规则,即使从主机10发送的序号不一致也没有问题。
而且,在本实施方式中,主机10和设备13是以HS进行通信。但是,也可以设定为以其它模式(LS,FS)进行通信。即使在此情况也可以避免由于SOF分组的发送而导致控制器11·12之间的通信带宽变窄。
而且,在本实施方式中,主机端控制器11的主机SM32在确认到接收到的分组是SOF分组时,不将该分组保存到发送FIFO21而将其抛弃了。但是,也可以设定为设备端控制器12将接收的SOF分组保存到发送FIFO21,此后,判断该分组是否为SOF分组。在此情况,就成为主机SM32在确认接收到的分组是SOF分组的情况,将该分组从发送FIFO21中抛弃。
而且,在本实施方式中,控制器11·12间的光通信的数据传送速度为100Mbps。但是,并不限定于此,控制器11·12间的传送速度可以为任意值(比用USB电缆的传送速度或慢、或快、或相同都可以)。不管该传送速度为何值,在本系统中,由于在控制器11·12间不进行SOF分组的收发,因而可以使其它分组的通信效率提高。
而且,在本实施方式中,控制器11·12间是通过光无线通信连接。但是,并不限定于此,也可以在控制器11·12间以光缆进行通信。并且,在使用光缆的情况,就可以进行分组的长距离传送。而且,使用光无线通信(空间通信)的情况,由于没有电缆,可以使便利性提高。
而且,作为控制器11·12间通信方式,可以采用半双工通信和全双工通信的任意一个。这里,所谓全双工通信是指从主机向设备的发信和从设备向主机的发信并行处理的通信方式。选择全双工通信时,就要使由发光二极管和激光二极管构成的光发送机23经常发光。因此,不需要在分组上附加前同步信号,从而可以使通信路的通信效率(使用效率)提高。
这里,在全双工通信中光发送机23要经常发光的理由是为了将从主机10或设备13接收的分组直接向接收机20重复。
而且,通过使光发送机23经常发光,可以容易的进行控制器11·12间的连接和断开。即,在半双工通信的情况,光接收机24在一定时间及其以上接收不到光的情况,判断为控制器11·12间已被断开。另一方面,在全双工通信中在连接状态要经常使光送机23发光,使对方控制器的光接收机经常处于受光状态。从而,在断开连接时,使光送机23的发光停止。由此,在光接收机24接收不到光的阶段,就可以判断出连接被断开。由此,和半双工通信相比,可以缩短断开所需的时间。
而且,在控制器11和12间,不只是光,也可以由通常的电波无线通信的方式连接。在此情况,最好适当地设定调制电路22、解调电路25的调制解调方式。而且,光接收机24就成为接收电波的接收天线。
而且,上述的前同步信号是在分组接收侧通过定时数据回复电路(图中未示)取得时钟的同步所必需的信号。通常,以“1010”的连续形式被使用。前同步信号的时间是不能发送DATA分组的时间。因此,通过前同步信号会产生无用的时间。全双工通信的情况,因为主机和设备经常发送信号,就没有必要对每个分组都取得定时的同步。也可以说,前同步信号没有必要。因此,在全双工通信下,可以提高传送效率。
而且,在本系统中,设备端控制器12的设备SM42在从主机控制器11接收复位通知信号的情况,停止SOF分组的发送。此时,本系统成为与设备13在连接时的操作中的被总线复位时相同的状态。从而,设备SM42在接收从设备13向主机10发送的CHIRP的情况,也可以在将其向主机端控制器11发送的同时,向设备13发送能够从主机10(主机端控制器11)发送的CHIRP。由此,由于结束连接时的协商,设备SM42就要再次进行SOF分组的发送。
从而,能够表现为在USB系统的设备上配备本发明的设备端控制器、中继主机和设备间的通信的设备端控制器中,具有在接收到从设备向主机发送的CHIRP的情况,将其向主机端发送的同时,也向设备发送应该从主机发送来的CHIRP的设备端控制部的构成。
而且,在本实施方式中,控制器11和12通过USB电缆和主机10或者设备13相连。但是,并不限定于此,也可以把主机端控制器11连接到和主机10连接的集线器的下游的端口。而且,也可以将主机端控制器11作为主机10或者USB集线器的一部分。而且,也可以将设备端控制器12用USB电缆连接到集线器的上游的端口。而且,也可以作为设备和USB集线器的一部分。
而且,在本系统中,主机SM32和设备SM42实际上是相同的器件,主机端控制器11和设备端控制器12只是与SOF判断电路31不同,其余的本质上是相同的结构。从而,也可以让设备端控制器12和主机端控制器11是相同的结构(配备有SOF判断电路31的构成)。在此情况,可以不使用设备端控制器12的SOF判断电路31。但是,能够只用一种控制器分别配备在主机10和设备13上,来构筑本系统。
而且,在本实施方式中,在控制器11和12中配备有差错检测电路28。但是,在不检测所发送过的分组的差错的结构中,就没必要配备该差错检测电路28。而且,也可以通过主机SM32·设备SM42来检测分组的差错。
而且,在本实施方式中,在主机端控制器11配备有定时器29。但是,并不限定于此,在主机SM32不用定时器29的情况(例如,按照不从主机端控制器11向设备端控制器12发送复位通知信号的结构),就没必要在主机端控制器11上配备定时器29。
而且,在本实施方式中,主机10是个人计算机。但是,并不限定于此,作为主机10,能够使用设备13,可以成为USB的父机,是什么机器都可以。
而且,在本实施方式中,在控制器11和12中配备有SNSM30。但是,不限定于此,在不进行上述那样的速度协商,在控制器11和12间的通信速度为一定的结构中,就没必要在控制器11和12上配备SNSM30。
而且,在本实施方式中,设备端控制器12的设备SM42是在确立主机10和设备13间的连接后,向设备13发送SOF分组。而且,主机端控制器11的主机SM32在接收到从主机10向设备13发送的SOF分组的情况,避免向设备端控制器12发送该分组。
但是,并不限定于此,也可以把本系统设定为和通常的USB系统相同,主机端控制器11的主机SM32将从主机10发送来的SOF该分组向设备端控制器12重复,设备端控制器13的设备SM42向主机10重复。
即,本系统被设定为以作为USB活动的最高速度的高速模式(HS480Mbps)进行控制器11和12间和设备端控制器12·设备13间的通信。从而,设定为通过比该速度低的100Mbps的光通信(通过光无线,或者光缆通信)进行控制器11·12间的通信。
这里,在控制器11和12间的光通信的数据传送速度为480Mbps的情况,例如用8B10B的调制方式,必需使用具有480×10/8=600Mbps带宽的光发送机和光接收机(光收发器)。从而,为了得到这样的光发送机,需要使用LD(激光二极管)。
另一方面,在控制器11·12间的光通信中数据传送速度为100Mbps的情况,能够使用LED(发光二极管)构成光发送机。从而,LD和LED相比,LED是绝对优势的价格便宜。从而,通过降低控制器11·12间的光通信的速度,能够以低成本来构造控制器11·12(光发送机)。而且,能够使用光通信还可以避免由于使用USB电缆而带来的限制(电缆的长度等)。
而且,在进行控制器11·12间的数据通信的部件仅仅为光发送机23、光接收机24,最好仅仅将用于此的端口(通信端子)成为光发送机23、光接收机24的光端口(不使用金属端口)。而且,最好将控制器11和12和主机10或者设备13一体化。按照这样的构成,控制器11·12所必需的带宽能明显的从600Mbps降到100Mbps。由此,通过廉价的制造工序就能够制作控制器11和12。
并且,作为设备13,在使用数据传送速度较低的(例如闪存;50Mbps的程度)的情况,事务处理结束所需的时间在很大程度上依赖于设备13的传送速度。从而,对于控制器11和12间的数据传送速度如果比设备13的速度快,也不会对事务处理的结束时间产生很大的影响。
而且,控制器11和12间即使不用光而用其它通信线路(通过电波的无线通信等),通过降低传送速度,也可以削减控制器11和12的花费。从而,也能够表现为本发明的USB系统特征在于是具有包含有主机和设备和配备在主机上、中继主机和设备之间的通信的主机端控制器和配备在设备上、中继主机和设备之间的通信的设备端控制器的USB系统中,控制器间的数据传送速度比USB2.0高速模式下的数据传送速度低的USB系统。
而且,也能够表现为本发明的USB系统是配备有在USB系统的主机上配备、中继外部和主机之间的收发的分组的主机端控制器和在USB系统的设备上配备、中继外部和设备之间的收发的分组的设备端控制器的USB系统中,设定为上述的主机端控制器在接收到从主机向设备发送的SOF分组时,避免向设备端发送这个分组的同时,上述的设备端控制器以既定的周期向设备发送SOF分组的结构。
而且,在上述中,设备端控制器12的所有的处理是在设备SM42控制下进行。但是,并不限定于此,也可以将用于运行这些处理的程序记录到记录媒体,用可以读取这个程序的信息处理装置来代替设备SM42。
而且,同样地,主机端控制器11的全部处理是在设备SM32控制下进行。但是,并不限定于此,也可以把运行这些处理的程序记录在记录媒体上,用可以读取这个程序的信息处理装置来代替设备SM32。
在此构成中,信息处理装置的运算装置(CPU和MPU)执行读取记录在记录媒体上记录的程序的处理。从而,也可以说这个程序本身实现处理。
这里,作为上述的信息处理装置,除了一般的计算机(工作站和个人计算机)之外,也可以使用计算机上配备的功能扩展板和功能扩展单元。
而且,上述的程序是指实现处理的程序代码软件(执行形式程序、中间代码程序、源程序等)。该程序可以是独自使用也可以是和其它程序(OS等)组合起来使用。而且,该程序也可以是从记录媒体中读取出来后,先被记录到装置的存储器(RAM等),之后再读取出来执行的程序。
而且,记录程序的记录媒体也可以是能容易的和信息处理装置分离的,也可以是固定(配备)在装置上的。另外,也可以作为外部记忆机器和装置连接。
作为这样的记录媒体可适用于录像带和卡带等的磁带、软盘(登录商标)和硬盘等的磁盘、CD-ROM、MO、MD、DVD、CD-R等的光盘(光磁盘)、IC卡、光卡等的存储卡、MICROROM、EPROM、EEPROM、闪存ROM等的半导体存储器等。而且,也可以用经由网络(内部网、互联网)和信息处理装置连接的记录媒体。在此情况,信息处理装置通过经由网上下载得到程序。即,上述的程序也可以通过网络(通过有线或者无线连接的)等的传送媒体(动态持有程序的媒体)得到。并且,最好事先在装置(或者发送端装置,接收端装置内)内保存有执行下载用的程序。
而且,本发明也可以作为如图17所示具备作为主机端控制器11的功能和作为设备端控制器12的功能的通信控制器100来实现。
如图17所示,通信控制器100在具有作为主机端控制器11的功能的同时,还具有作为设备端控制器12的功能。通过该构成,在USB系统中,一个通信控制器100可以既作为主机端控制器11也作为设备端控制器12来使用。
即,该通信控制器100在达到通过主机端控制器11而得到的作用效果的同时,也达到由于设备端控制器12而得到的作用效果。
从而,仅仅将一种通信控制器100分别配备在主机10以及设备13上,就可以构筑具有主机端控制器11和设备端控制器12的系统和同样功能的系统。即,由于不用准备两种控制器即可构建系统,从而可以更简便的构建系统。
而且,通信控制器100可以用于与USB系统连接的各种信息机器根据机器被设置的状况既作为主机10也作为设备13工作的系统中。并且,作为这样的USB系统,例如,近年来具有被标准化的USB-OTG(USB-On TheGo)。
USB-OTG是可以使通过迄今为止经由USB系统连接到主机(个人计算机等)上的设备(周边机器),具有作为主机的功能的标准。从而,在按照USB-OTG标准的USB系统中就可以通过设备之间的连接不能实现通过在USB1.x标准和USB2.0标准下的数据传送。
在USB1.x标准和USB2.0标准下,主机端和设备端的功能被分别固定。即,在这些标准下的数据的交互是在将个人计算机作为主机10,作为USB功能块的设备13(数码相机,打印机等)被连接到该个人计算机的状态下进行的。
但是,在USB-OTG标准下,以往的USB系统中必需的个人计算机(USB主机)变得不必要。即,在USB-OTG标准下,由于可以没有个人计算机(USB主机)在USB设备间进行数据的收发,谋求提高便利性。在USB-OTG中,通过连接的电缆的连接器的种类,既可以作为主机也可以作为设备工作。
在该USB-OTG中,与USB2.0相同,支持LS(1.5Mbps)、FS(12Mbps)、HS(480Mbps)的传送速度。而且,USB-OTG对应设备既可以作为USB主机,也可以作为USB功能块(设备)来工作。
而且,在USB-OTG标准中,追加了称为miniAB的新连接器的种类。这个miniAB可以和具有miniA、miniB两个插头的电缆连接。根据连接的电缆的插头的形状,当miniA被连接时作为USB主机来工作,当miniB被连接时作为USB功能块来工作。
而且,根据称为HNP(主机协商协议)的新的协议,在连接电缆的状态下,追加了动态交换主机和功能块的功能的构造。即,在USB-OTG下,连接的设备是作为USB主机还是USB功能块是由电缆的连接器的种类或者USB-OTG下规定的HNP(Host Negotiation Protocol)决定的。
即,在USB-OTG下USB主机还是USB功能块(设备)的角色不是固定的,有可能根据传送来的数据的方向进行角色互换。同样地,主机端控制器11和设备端控制器12的角色也不是固定的,有可能根据传送来的数据的方向进行角色互换。
因此,对应该USB-OTG,一个通信控制器100具备主机端控制器11和功能块端控制器12两者的功能。
例如,如果利用通信控制器100构成USB系统,将数码相机和打印机直接连接,数码相机可以作为主机10工作,打印机可以作为设备13工作。由此,可以从作为主机10的数码相机向作为设备13的打印机传送数据。
即,在配备有通信控制器100的USB系统中,即使不把个人计算机作为主机安装,数码相机的图像也可以由打印机直接打印。而且,将数码相机和摄像机直接连接到硬盘等存储装置上,通过将数据传送到这些存储装置上可以保存这些数据。
并且,本发明的通信控制器也可以是未必同时具有作为主机端控制器11和设备端控制器12的功能。即,本发明的通信控制器在具有作为本发明的主机端控制器11的功能的同时,也可以具备作为一般的现有设备端控制器(例如不自动生成SOF分组的设备端控制器)的功能。另外,本发明的通信控制器具有作为本发明的设备端控制器12的功能的同时,也可以具备作为一般的现有主机端控制器(例如不避免向设备端发送SOF分组的主机端控制器)的功能。
而且,本发明的USB系统(本系统)为配备有本设备端控制器和本主机端控制器的系统。而且,在本设备端控制器端最好设定上述设备端控制部按照特定的周期向设备发送SOF分组。
而且,在此情况下,在主机端控制部在特定时间及其以上没有从主机接收到分组的情况,向设备端控制器发送复位通知信号,最好设定上述设备端控制器的设备端控制部根据复位通知信号的接收,停止向设备发送SOF分组。
而且,最好设定设备端控制器的设备端控制部向设备发送SOF分组以外的其它分组时,在对应该发送而运行的与设备的通信中,避免访问SOF分组的发送时刻,调整发送时刻。
而且,在此情况,设备端控制部向设备发送从主机端控制器接收到的OUT分组或SETUP分组和DATA分组时,最好根据DATA分组的大小调整上述的发送时刻。
而且,在本系统中,上述的主机端控制器在接收从主机向设备发送的SOF分组的情况,也可以设定为向设备端发送表示接收到SOF分组的SOF接收通知信号的同时,上述设备端控制部根据SOF接收通知信号的接收,向设备发送SOF分组。
而且,在本系统中,主机端控制器和设备端控制器最好配备有设定两控制器间的通信速度的速度设定部。而且,在通过速度设定部将控制器间的通信速度设定为特定值及其以上的情况,也可以设定主机端控制器的主机端控制部向设备端发送从主机接收的SOF分组同时,上述设备端控制器的设备端控制部向设备发送从主机端控制器接收的SOF分组。
而且,最好设定上述主机端控制部和设备端控制部的至少一方计算出两控制器间的分组的收发时的差错率,这个差错率在特定值及其以上时,上述速度设定部使控制器间的通信速度降低。
而且,在本系统中,两控制器间的通信路径中通信方式最好为全双工通信。而且,两控制器间的通信路径也可以由光缆构成。另外,两控制器间的通信也可以由光无线通信或者使用电波的无线通信来构成。
而且,本发明的分组通信程序是在USB系统的主机上配备的计算机中运行本通信方法的发送避免步骤的同时,在USB系统的设备上配备的计算机中运行本系统的发送步骤的程序。而且,本发明的记录媒体为记录该分组通信程序的记录媒体。
而且,本发明的第2USB系统为具备包含主机和设备和配备在主机上中继主机和设备之间的通信的主机端控制器和配备在设备上中继主机和设备之间的通信的设备端控制器的USB系统,其特征在于被设定为以光通信进行控制器之间的数据传送,另外,该光通信的数据传送速度为比USB2.0下的高速模式下的数据传送速度低。
而且,本第1通信控制器在通信控制器作为主机端控制器功能时,上述通信控制部也可以在接收到从主机向设备发送的SOF分组的情况,避免向设备端发送该分组。
而且,本第1通信控制器在通信控制器作为设备端控制器功能时,上述通信控制部也可以以特定的周期向设备端发送SOF分组。
而且,本第1通信控制器在通信控制器作为设备端控制器功能时,上述通信控制部也可以在向设备发送SOF分组以外的其它分组时,在据此发送而执行与设备的通信中,避免访问SOF分组的发送时刻,调整发送时刻。
而且,本第1通信控制器在通信控制器作为设备端控制器功能时,上述通信控制部也可以在向设备发送从主机端控制器接收到的OUT分组或者SETUP分组和DATA分组时,根据DATA分组的尺寸调整上述的发送时刻。
而且,本发明的第3USB系统为配备有主机、设备和上述第1通信控制器的USB系统。
而且,特别地,本主机端控制器最好配备有在接收到从主机向设备发送的SOF分组时,避免向设备端发送这个分组的主机端控制部。由此,本系统中,即使从主机向设备发送SOF分组,由于在本主机端控制器这个SOF分组被停止,不会再向后发送。从而,通过与上述本设备端控制器并用,可以容易的提高控制器间的通信效率。
并且,配备有上述两个控制器的本系统在主机和设备间构成通信速度(数据传送速度)低的(比按照USB标准的通常的速度(通常速度,例如,HS下的480Mbps)低)通信通道的情况特别地有效。即,通常主机按照规定的周期向设备发送SOF分组。因此,通信速度较低时,由于SOF分组大量的占有了通信路径,导致其它分组的通信效率恶化。
在此情况,若可以按照通常的速度通信那样在主机以及设备上连接两控制器,就可以不需要控制器间的SOF分组的收发。从而,即使是控制器之间的通信速度低的情况,也可以抑制与其它分组相关的通信效率的恶化。
并且,本主机端控制器可以直接连接在主机上,而且也可以连接在USB集线器的下游侧的端口上。甚至,也可以是作为主机或者USB集线器的一部分的构成。而且,本设备端控制器可以直接连接在设备上,也可以连接到USB集线器的上游侧的端口。甚至,也可以是作为设备或者USB集线器的一部分的构成。
而且,在本系统中,设备端控制部最好按照特定的周期(主动地)向设备发送SOF分组。由此,即使从外部没有什么契机(信号),也可以向设备发送SOF分组。
而且,在此情况,主机端控制部在既定时间及其以上没有从主机接收到分组的情况,就识别为[主机要对设备的总线复位],最好设定为向设备端控制器发送复位通知信号。于是,设备端控制部接收到复位通知信号时,最好停止向设备发送SOF分组。由此,可以容易的进行设备的总线的复位。
而且,在本系统中,设备端控制部在IN事务处理、OUT事务处理、SETUP事务处理等时,多数时候向设备发送SOF分组以外的其它分组。而且,向设备发送其它分组时,有时也会从设备接收返回信息。
从而,以既定周期向设备发送SOF分组的情况,设备端控制部在对应其它分组的发送而运行的和设备的通信中,最好避免访问SOF分组的发送时刻,调整其它分组的发送时刻。
在该调整中,设备端控制部在据其他的分组的发送而成的和设备的通信中,对最多需要多大程度的时间进行估计(通信结束时间)。于是,在超过估计的通信结束时间之前,不访问SOF分组的发送时刻的情况,向设备发送其它分组。另一方面,在超过估计的通信结束时间之前,访问了SOF分组的发送时刻的情况,设备端控制部将其它分组的发送在SOF分组的发送后进行。通过进行这样的调整,可以避免由于其它分组的收发而妨碍SOF分组的发送。
而且,设备端控制部在OUT事务处理、SETUP事务处理时,向设备发送从主机端发送的OUT分组或者SETUP分组、DATA分组。于是,就成了从设备接收ACK分组。从而,设备端控制部可以在发送前知道向设备发送的DATA分组的大小(分组长度)。从而,根据该尺寸,通过对上述的通信结束时间估计,就可能成为正确的估计。
而且,设备端控制部根据从外部来的信号也可以设定为向设备发送SOF分组。即,在这个结构下,主机端控制部被设定为在接收到从主机向设备发送的SOF分组的情况,向设备端发送表示接收到SOF分组的SOF接收通知信号。从而,设备端控制器设定为对应SOF接收通知信号的接收,向设备发送SOF分组。
在这个结构中,主机端控制部通过向设备端控制器发送比SOF分组的传送速度明显低的SOF接收通知信号,就成为向设备端控制部传送SOF分组的发送时间。从而,这个结构与在控制器间进行SOF分组收发的结构相比,可以使SOF分组以外的其他的分组的通信效率提高。
而且,在本系统中,本主机端控制器以及本设备端控制器最好配备有设定两控制器间的通信速度的速度设定部。该速度设定部使在各个控制器中配备,在控制器之间的通信开始时,进行通信速度的设定(速度协商)。
而且,在此构成中,在由速度设定部将控制器间的通信速度设定为特定值及其以上的情况,也可以设定主机端控制部和设备端控制部按照通常的USB通信进行SOF分组的通信。即,在此情况,也可以设定主机端控制部向设备端发送从主机接收的SOF分组,同时设备端控制部向设备发送接收的SOF分组。
这里,上述特定值例如为即使按照上述的通常速度(按照USB标准的通常速度)的程序进行SOF分组的发送也不会对通信速度产生障碍而对应的值。即,在此构中,控制器间的通信速度在特定值及其以上的情况,主机端控制部向原封不动的向设备端发送从主机接收的SOF分组。从而,设备端控制器向设备传送接收的SOF分组。
这样,控制器间的通信速度在一定程度上可以快一些时,即使在控制器间进行SOF分组的收发,也可以抑制SOF分组在其间的通信带宽的占有率降低到通常程度。因此,不会由于SOF分组的收发而致使其它分组通信效率恶化。
而且,在本系统中,通过速度设定部设定通信速度后,最好设定主机端控制部和设备端控制部的至少一方(或者速度设定部)计算出控制器间分组的收发时的差错率。这里,差错率是指差错的发生次数除以收发次数的值(差错发生率)。而且,在此情况,速度设定部最好在差错率在特定值及其以上的情况,使控制器间的通信速度降低。由此,可以减低由通信速度过高为起因的差错率。
而且,在本系统中,两控制器间的通信路径的通信方式最好为全双工通信。由此,可以不需要在半双工通信中必需的前同步信号,从而可以提高控制器间的通信效率。
而且,在本系统中,两控制器间的通信通道也可以由光缆(光纤)构成。由此,可以进行分组的长距离传送。
而且,两控制器间的通信也可由光无线通信或者使用电波的无线通信来构成。而且,在使用无线通信(空间通信)的情况,由于没有电缆,可以提高便利性(控制器的配置自由度等)。
而且,本发明的分组通信程序是用于在USB系统的主机上配备的计算机上执行本通信方法的发送避免步骤的同时,在USB系统的设备上配备的计算机中执行本通信方法的发送步骤的程序。
通过将该程序读入上述的计算机中,可以通过计算机实现本通信方法的发送避免步骤和发送步骤。而且,通过将该程序记录到计算机可读记录媒体上,可以容易的进行程序的保存和流通。
而且,本发明的第2USB系统为包含主机;设备;配备在主机上中继主机和设备间通信的主机端控制器;配备在设备上中继主机和设备间通信的设备端控制器的USB系统,其特征在于被设定为以光通信进行控制器之间的数据传送,并且,该光通信的数据传送速度为比USB2.0中高速模式(HS)下的数据传送速度(480Mbps)低(例如100Mbps)。
这里,控制器间的光通信的数据传送速度为与HS相同的480Mbps的情况,例如用8B10B调制方式,就有必需具有480×10/8=600Mbps的带宽的光发送机和光接收机(光收发器)。从而,为了得到这样的光发送机,必需使用LD(激光二极管)。
另一方面,控制器间的光通信中数据传送速度为100Mbps时,就可以使用LED(发光二极管)来构成光发送机。从而,LD与LED相比,LED绝对优势是价格便宜。从而,通过降低控制器之间的光通信的速度就可以以低成本来构造控制器。而且,由于可以把各控制器所必需的带宽能明显的从600Mbps降到100Mbps。从而可以更廉价的制造各控制器。
并且,作为设备,在使用数据传送速度比较低的(例如闪存;50Mbps的程度)的情况,结束事务处理所需的时间很大程度上依赖于设备的传送速度。从而,可以说控制器之间的数据传送速度比设备的速度快时,也不会对事务处理的结束时间产生很大的影响。因此,最好让控制器间的光通信的数据传送速度比设备的数据传送速度快。
而且,本发明的通信控制器(本通信控制器)为作为中继主机和设备间的通信、具备作为主机端控制器的功能和作为设备端控制器的功能的通信控制器,其特征在于具有当通信控制器作为设备端控制器的功能时,在确立主机和设备的连接后,向设备发送SOF分组的通信控制部。
本通信控制器是适用于USB系统的。这里,所谓USB系统是指为了实现主计算机(主机)和周边机器(设备;USB功能块)间进行USB通信(依照USB系统标准的数据通信)的通信系统。
从而,本通信控制器为中继主机和设备间的通信的。即,本通信控制器作为设备控制器工作时,具有接收从设备传送的分组并向主机传送和接收向设备传送的分组并传送给设备的功能。这里,所谓分组是指在USB系统中数据通信的基本单位。
而且,在USB系统中规定对作为分组一种的SOF分组优先于其它分组从主机向设备传送。从而,本通信控制器,配备有自身制作该SOF分组,向设备发送的通信控制部。
由此,如果使用本通信控制器,就不需要在主机和设备端控制器间进行SOF分组的收发(即,不需要从主机端向设备发送SOF分组)。因此,主机和通信控制器间的通信路径只为SOF分组以外的其它分组所利用。从而可以使得这些其它分组的通信效率提高。
而且,本发明的USB系统(本系统)是附加到主机和设备,包含本通信控制器的USB系统。如果构筑了这样的系统,能够提高分组的通信效率。
而且,本通信控制器也可以作为主机端控制器的功能。即,本通信控制器作为主机端控制器功能时,在接收从主机传送来的分组并向设备传送的同时,接收向主机传送的分组并传送给主机。
这样,在本系统中,在配备有主机、作为主机端控制器功能的本通信控制器、作为设备端控制器工作的本通信控制器、设备的情况,就形成按照该顺序的通信路径。即,将主机和设备间的通信设定为由两个通信控制器来中继。
而且,特别地,本通信控制器的通信控制部在通信控制器作为主机端控制器功能时,最好在接收到从主机向设备发送的SOF分组的情况,避免向设备端发送该分组。由此,本系统中,即使从主机向设备发送SOF分组,由于在本通信控制器该SOF分组被停止,不会再向后发送。从而,可以容易的提高通信控制器之间的通信效率。
即,本通信控制器为中继主机和设备之间的通信、具备有作为主机端控制器的功能和作为设备端控制器的功能的通信控制器,其特征在于具有当通信控制器作为主机端控制器的功能时,配备有在接收到从主机向设备发送的SOF分组时,避免向设备发送该分组的通信控制部。
并且,配备有本通信控制器的本系统在主机和设备间形成通信速度(数据传送速度)低的(比按照USB标准的通常的速度(通常速度,例如,HS下的480Mbps)低)通信通道的情况下特别有效。即,通常主机按照规定周期向设备发送SOF分组。因此,通信速度低时,由于SOF分组大量的占有了通信路径,导致其它分组的通信效率恶化。
因此,在这样的情况,若可以按照通常的速度通信那样在主机以及设备上连接通信控制器,就可以不需要控制器间的SOF分组的收发。从而,即使是控制器之间的通信速度低的情况,也可以抑制与其它分组相关的通信效率恶化。
并且,本通信控制器可以直接连接在主机上,而且,也可以连接在USB集线器的下游侧的端口。甚至,也可以是作为主机或者USB集线器的一部分的来构成。在此情况,本通信控制器可以作为主机端控制器的功能。而且,本通信控制器可以直接连接到设备,也可以连接到USB集线器的上游侧的端口。甚至,也可以是作为设备或者USB集线器的一部分的构成。在此情况,本通信控制器可以作为设备端控制器的功能。
这样,本通信控制器可以在具有作为主机端控制器的功能同时也作为设备端控制器的功能。通过这种结构,在USB系统中可以把一个通信控制器可以既作为主机端控制器也作为设备端控制器来使用。
从而,只把一种通信控制器分别配备在主机和设备上,就可以搭建本系统。即,由于可以不用准备两种控制器就可以搭建系统,可以更简便系统的构筑。
而且,本通信控制器可以用在和USB系统连接的各种信息机器根据机器被设置的状况既作为主机也作为设备工作的系统中。并且,作为这样的USB系统,例如具有近年来有被标准化的USB-OTG(USB-On The Go)。
USB-OTG是可以使通过迄今为止的USB系统连接在主机(个人计算机等)上的设备(周边机器)具有作为主机的功能的标准。从而,按照USB-OTG标准的USB系统中就可以通过设备之间的连接实现在USB1.x标准和USB2.0标准下不能实现的数据传送。
例如,如果利用本通信控制器构成USB系统,将数码相机和打印机直接连接,数码相机可以作为主机工作,打印机可以作为设备工作。由此,可以从作为主机的数码相机向作为设备的打印机传送数据。
即,在配备有本通信控制器的USB系统中,即使不把个人计算机作为主机时,数码相机的图像也可以由打印机直接打印。而且,把数码相机或摄像机直接连接到硬盘等存储装置,通过把数据传送到这些存储装置上可以保存这些数据。
而且,本通信控制器作为设备端控制器工作时,也可以设定通信控制部按照特定周期向设备发送SOF分组。据此,即使从外部没有什么契机(信号),也可以向设备发送SOF分组。
而且,本通信控制器作为设备端控制器功能时,也可以设定通信控制部向设备发送SOF分组以外的其它分组时,对应该发送而执行的与设备通信中,避免访问SOF分组的发送时间,调整发送时间。
在该调整中,通信控制部在对应其它分组的发送而形成的与设备的通信中,对最多需要多大程度的时间进行估计(通信结束时间)。从而,在超过估计的通信结束时间之前,不访问SOF分组的发送时间时,向设备发送其它分组。另一方面,在超过估计的通信结束时间之前,访问了SOF分组的发送时间时,通信控制部在SOF分组的发送后进行其他的分组的发送。通过进行这样的调整,可以避免由于其它分组的收发而使SOF分组的发送被妨碍。
而且,本通信控制器作为设备端控制器功能时,通信控制部向设备发送从主机端控制器接收的OUT分组或SETUP分组和DATA分组时,也可以根据DATA分组的尺寸调整上述的发送时间。
这此情况,通信控制部在OUT事务处理、SETUP事务处理时,向设备发送从主机端发送的OUT分组或者SETUP分组,DATA分组。从而,就成了从设备接收ACK分组。从而,通信控制部可以在发送前知道向设备发送的DATA分组的尺寸(分组长度)。从而,根据该尺寸,通过对上述的通信结束时间估计,就可能成为正确的估计。
而且,本发明的USB系统也可以成为配备有主机、设备和本通信控制器的USB系统。
如上所述,本发明为可以在用于实现主计算机(主机)和周边机器(设备;USB功能块)间进行USB通信(依照USB系统标准的数据通信)的通信系统的USB系统以及USB系统中的主机,在设备上配备的通信控制器(主机端控制器,设备端控制器)中被使用。
而且,也可以说本发明为与USB标准下的USB信号的传送方法和传送装置相关。而且,也可以说,在USB下,为了维持连接形态,最下层的协议以时分进行通信,主机进行时间安排。而且,USB上的数据通信以称为事务处理的单位进行。该事务处理由称为令牌分组、数据分组和信号交换分组的分组构成。主机在事务处理开始时必需以发行令牌分组开始,根据包含在令牌分组中的地址和端点,对应的设备进行应答。
端点是指为了存放传送数据的FIFO缓存。USB主机和USB设备的数据的交互必定借助于端点来执行。USB设备做多可以拥有16个端点,为了识别较多的端点,在端点编有编号。USB主机在数据传送时,根据USB设备的USB地址和端点进行访问。在端点中0号的端点被称为端点0,在USB设备中必定存在1个。该端点0在控制器传送时通过SETUP分组进行初始化时被使用。而且,在USB2.0下,HS模式为活动的情况,USB主机作为总线复位的信号,D+信号线和D-信号线都处于10ms及其以上的低水平(SE0状态)。
而且,SOF分组在同步传送时为了使主机和设备同步时需要,在不进行同步传送的应用中,在表示不是复位以外时就不是必需。而且,即使在进行同步传送的应用中,从USB设备看来SOF的接收时间是重要的,对于SOF分组的帧序号,如果事先按照USB2.0规定的规则,就没有必要考虑USB主机发送的SOF分组的帧序号与USB设备接收的SOF分组的帧序号一致。
而且,在本发明中,也可以由连接在USB主机端的主机端控制器和连接在USB设备端的设备端控制器构成。主机端控制器接收从USB主机来的信号并向USB设备发送,向USB主机发送从设备端控制器来的信号,除了用USB电缆和USB主机连接以外也可以用USB电缆和USB集线器的下游端口连接。而且,也可以是作为USB主机和USB集线器的一部分的结构。设备端控制器向USB设备发送来自主机端控制器的信号,向主机端控制器发送来自USB设备的信号,除了用USB电缆和USB设备连接以外也可以用USB电缆和USB集线器的上游端口连接。而且,也可以是USB设备和USB集线器的一部分的结构。
而且,发送FIFO21在主机端控制器和设备端控制器间的通信路径与USB的通信通道相比一样或者低的情况,也可以在前述的一样或者低速的通信通道中重复分组时进行时间的调整。而且,本系统中,主机SM32在IN事务处理、OUT事务处理、SETUP事务处理的各事务处理中,根据事先规定规则,在USB主机和USB设备间进行分组的交互。
而且,主机SM32在通过SOF判断电路对从USB接收机20接收到的USB分组解析后,判断接收的分组为SOF分组的情况,不进行向设备端控制器的SOF分组的重复。这里,作为不进行重复的方法,例如具有不向发送FIFO21写入SOF分组等,也可以根据其它方法发送抑制重复。
而且,在本系统中,在USB主机和USB设备之间即使存在比USB标准低速的通信通道,通过主机端控制器和设备端控制器具有上述的结构,也可以向USB设备发送SOF分组,维持USB设备的活动状态。
而且,在由主机SM32向设备端控制器12发送SOF接收通知信号的结构中,USB主机和USB设备之间即使存在比USB标准低速的通信路径,即使在设备端控制器内没有定时器,也可以向USB设备发送SOF分组,维持USB设备的活动状态。
而且,IN事务处理时,设备SM42监视定时器29,计算SOF分组的发送时间。而且,向USB设备发送IN分组时返回的数据分组的最大长度为如图7所示的值。根据这些值,可以进行如下控制,比SOF分组的发送时间早一些时间进行IN分组的发送不会在DATA分组的接收中访问SOF分组的发送时间,而且,甚至可以逆计算在加上设备端控制器对USB设备的ACK的发送时间的情况,可以进行IN分组的发送的时间值,如果没有达到该计算值,向USB设备发送,如果达到了该计算值,下一个SOF分组发送后,控制发送成为IN分组的IN分组的发送时间。
而且,S42也可以说是判断定时器29的值在发送IN分组,在最大长的数据分组返回的情况,ACK分组发送之前,有没有达到SOF分组的发送时间不能访问的程度的一个步骤。从而,在定时器29的值达到时,转向S44,被判断为定时器的值没有达到,可以进行IN分组的发送时,向S43和别的转换。通过在设备端控制器11中安装进行这样动作的设备SM32,在IN事务处理中,能够不发生由于USB设备发送的数据分组或设备端控制器发送的IN分组和ACK分组而使SOF分组成为不能发送的状态。
而且,在OUT事务处理时,设备SM42监视定时器29,计算SOF分组的发送时间。而且,设备端控制器发送的数据分组的最大长度为如图7所示的值。根据这些值,设备SM42可以进行如下控制,比SOF分组的发送时刻早一此时间进行OUT分组和DATA分组的发送不会在被SOF分组的发送时间访问,或者,可以逆计算在加上USB设备相对于前述的数据分组而发送的ACK分组的发送时间的情况下,可以进行OUT分组的发送的时间值,若没有达到这个计算值,开始向USB设备发送OUT分组和DATA分组,若达到了该计算值,下一个SOF分组发送后,控制称为发送OUT分组以及DATA分组的OUT分组发送开始时间。而且,由于可以知道应该向设备端控制器发送的数据分组的分组长度,可以经常调整计算为了控制前述OUT分组发送开始的定时器的值,以最好的值进行控制。而且,SETUP分组事务处理中SETUP分组以及DATA分组和ACK分组的位置关系,由于和OUT事务处理中OUT分组和DATA数据分组和ACK分组的位置关系相同,因此,也可以应用于SETUP事务处理。
而且,S52也可以说是判断定时器29的值在发送OUT分组以及数据分组,在USB设备返回ACK分组之前,有没有达到SOF分组的发送时间不能访问程度的一个步骤。那么,定时器29的值达到时,转向S54,被判断为定时器的值没有达到,可以进行OUT分组的发送时,向S53及其它转移。
而且,也可以以下形式表达本发明的问题。即,在主机和设备间,使用和USB2.0的活动速度相比传送速度低的通信通道时,由于SOF分组发送时带宽的使用,在低速通信通道中其他的分组可以进行传送的带宽就会减少。而且,不重复SOF分组时,在设备端控制器,就不能识别总线复位。而且,若总线复位,即使是暂时的主机和设备被断开。主机一旦对设备识别失败,会出现除了重启动以外无法对设备再识别(即使插拔设备也无法识别)的症状。在此意义上,也可以说最好尽量少的总线复位。而且,在全双工通信中,经常发光的是发光二极管和激光二极管等的发送机。通过发光,经常发光是为了进行全双工通信,也为了重复不知道何时接收的分组,最好持续发光(通信)。而且,根据接收信号的有无,可以进行连接,断开的控制(半双工通信的情况下,由于是在既定的时间及其以上无信号时断开这样的方式,可以认为断开所需的时间也必须长)。而且,在空间通信中,根据传送速度和通信距离,差错率变化很大。传送速度快时,可以正常传送数据的距离比传送速度慢时要短。也就是说,在一定距离时,传送速度快的不能进行信号的传送的可能性高。而且,信号检测信号是为了判断只是接收信号的有无的信号,和传送速度相比,可以说是变为慢的信号。
而且,按照以上的实施形态的例子所示方法,即使在USB主机和USB设备之间存在比USB的活动的速度低的通信速度,可以说也可以按照USB标准规定周期向USB设备发送SOF分组。而且,USB主机也可以毫无问题地向USB设备传达发光的总线复位(SE0)。而且,通过设置速度协商电路,以最适合的速度进行数据通信成为可能。而且,通过进行全双工通信,提高通信通道的使用效率成为可能。而且,作为低速通信通道,通过使用光纤,将相同或者低速的通信通道的距离变长成为可能,扩大了应用范围。
而且,作为低速通信通道,通过使用用电波的无线,防止连接器的劣化成为可能,而且,由于是没有电缆,使用起来很顺手。而且,作为低速通信通道,通过使用用光的空间传送,防止连接器的劣化成为可能,进行高速的空间传送成为可能。而且,通过监视定时器的值,在IN事务处理、OUT事务处理、SETUP事务处理的各个事务处理中,避免设备端控制器发送的SOF分组和其他的分组之间的冲突成为可能。
而且,本发明的目的在于在使用与USB2.0的本身速度相比传送速度低的通信通道(例如100Mbps的光通信通道)时,抑制由于SOF分组的传送致使的通信通道的传送效率低下,和将USB主机发送的复位信号没有问题的传送到USB设备。
为了达到这样的目的的本发明,能够表现为根据以下的第1~13收发电路,第1收发方法。即,第1收发电路为具有由与USB标准规定的传送速度相同或者在其之下的传送速度能够传送的接口的收发电路,是连接在USB主机或者USB集线器的下流侧的端口,作为USB主机或者USB集线器的一部分构成的主机端控制器和连接在USB设备或者USB集线器的上流侧的端口,作为USB设备或者USB集线器的一部分构成的设备端控制器,两控制器拥有FIFO、状态机,在主机端控制器拥有SOF判断电路,特征在于在前述相同或者其以下的传送速度的通信路径中不重复SOF分组,在设备端控制器具有定时器,特征在于具有按照事先规定的每特定时间向USB设备发送SOF分组。
通过这样,在主机端控制器和设备端控制器,能够不进行SOF分组的收发,能够抑制由于SOF分组致使主机端控制器和设备端控制器之间的通信通道的传送效率低下。
而且,第2收发电路是具有根据与USB标准规定的传送速度相同或其之下的传送速度能够传送接口的收发电路,具有FIFO,在主机端控制器具有SOF判断电路,其特征在于,将表示接收SOF分组的信号向设备端控制器发送,在设备端控制器接收到前述的SOF接收通知信号后,特征在于将按照事先规定的SOF分组向USB设备发送。通过这样,能够获得主机端控制器和设备端控制器间的同步。
本发明中的第3收发电路为所述的第1收发电路,具有在主机端控制器,具有定时器,其特征在于,在事先规定特定时间没有接收到分组的情况,识别为SE0,通知设备端控制器,在设备端控制器中,特征在于识别前述的SE0接收通知后,停止SOF分组的发送。通过这样,能够将USB主机发送的总线复位信号没有问题的向USB设备传送。
而且,第4收发电路是所述的第1收发电路或第2收发电路,具有能够多个传送速度的收发电路和收发器,特征在于,与对方节点进行速度协商。通过这样,在以能够多数的传送速度的主机端控制器和设备端控制器,能够以相同传送速度进行分组传送。
而且,第5收发电路为所述的第4收发电路,具有通过所述的速度协商,特征在于,在判断可以按照事先规定的传送速度及其以上进行通信的情况,仅进行调制解调,进行SOF分组的重复。通过这样,当判断通信路径的传送速度能满足前述的最大转向程序,能够将USB主机发送的SOF分组忠实地向USB设备发送。
而且,第6收发电路是所述的第4收发电路,具有解析所述相同或低速的通信通道的差错率,其特征在于,判断为比事先规定的差错率还要差时,降低传送速度进行通信。通过这样,能够在假如判断通信通道的质量不好的情况,通过降低传送速度,在质量好的通信通道中,进行数据传送。
而且,第7收发电路是所述的第1收发电路,具有在设备端控制器中,在接收到从主机端控制器来的IN分组时,若定时器的值在事先规定的特定值及其以上时,其特征在于,不向USB设备发送IN分组,在下一个SOF分组发送后,向USB设备发送IN分组。通过这样,设备端控制器向USB设备发送IN分组后,根据通过USB设备发送的数据分组,能够不产生设备端控制器不能发送SOF信息的状态。
而且,第8收发电路是所述的第1收发电路,具有在设备端控制器,其特征在于,在接收到从主机端控制器来的OUT分组和DATA分组或SETUP分组和DATA分组时,若定时器的值在事先规定的特定值及其以上时,不向USB设备发送前述的OUT分组和DATA分组或SETUP分组和DATA分组,在下一个SOF分组发送后,发送前述的OUT分组以及数据分组或者SETUP分组以及数据分组。通过这样,设备端控制器向USB设备发送数据分组时,由于正在发送分组,能够不产生不能按照规定的周期发送SOF分组的状态。
而且,第9收发电路是所述的第8收发电路,其特征在于,前述的定时器的值可以根据从主机端控制器接收到的数据分组的长度变化。通过这样,对于可变长的数据分组,能够设定最适合的定时器值,能够抑制设备端控制器和USB设备之间的通信效率的低下。
而且,第10收发电路是所述的第1~9收发电路的任何一个收发电路,其特征在于,收发电路为全双工通信。通过这样,能够不需要在半双工通信中所必须的前同步信号,能够提高通信通道的使用效率。而且,第11收发电路是前述的第1~10收发电路的任何一个收发电路,其特征在于,使用光纤长距离通信。通过这样,能够使USB主机和USB设备的距离变长,扩大了应用范围。
而且,第12收发电路是配套所述的第1~9收发电路的任何一个收发电路的收发电路,其特征在于,在主机端控制器和设备端控制器间无线通信。通过这样,成为没有电缆,可以防止连接器的恶化等。而且,第13收发电路是配套前述的第1~10收发电路的任何一个收发电路的收发电路,其特征在于在主机端控制器和设备端控制器之间以使用光的空间传送。通过这样,成为没有电缆,可以防止连接器的恶化等的同时,能够进行高速的空间传送。而且,第1收发方法是实现所述的第1~13收发电路的任何一个收发电路的收发方法。
而且,本发明为具有可以通过比USB2.0的活动速度低的通信速度进行通信,其特征在于,在由USB2.0主机或者和USB2.0集线器一体型或独立的主机端控制器和USB2.0设备或与USB2.0集线器一体型或独立的设备端控制器构成的USB系统中,在具有能够以比前述的USB活动速度低的通信速度进行通信的通信通道的上述主机端控制器和设备端控制器之间进行USB2.0的高速传送。
通过上述的机制,即使在低速通信通道中,低速的应用的情况下,作为整体的传送速度不会降低。单纯地将USB2.0进行光化的情况,例如用8B10B的调制方式,需要拥有480×10/8=600Mbps的带宽的光收发器。具有满足其的廉价的光收发器为LD(激光二极管)。另一方面,可以利用本发明在低速的通信通道中传送USB2.0的情况,低速通信通道为例如100Mbps的情况下,满足这个的廉价的光收发器为LED(发光二极管)。LD和LED相比,LED是绝对优势的价格便宜,根据本发明的结构,能够削减光收发器的费用。
而且,即使在控制器,例如主机端控制器和USB主机一体化,没有其他的金属端口,只有光端口的结构的情况下,控制器所需的带宽能明显的从600Mbps降到100Mbps。这意味着通过廉价的制造工序,使控制器的制造成为可能,通过本发明,能够削减费用。通过以上,限定低速的应用的情况下,通过本发明,费用的削减成为可能,作为低速的应用例如带有闪存的手机、数码相机等的应用中,本发明较为有效。
为了发明的详细说明而举的具体的实施形态和实施例子在一定程度说是为了明白本发明的技术内容,不能被狭义地解释为只限定于此类具体例,在本发明的精神和权利要求的范围内,可以实施各种变化。
权利要求
1.一种设备端控制器(12),配备在USB系统的设备(13)上,中继主机(10)和设备(13)间的通信,所述设备终端控制器具有确立主机(10)和设备(13)的连接后,向设备(13)发送SOF分组的设备端控制部(42)。
2.一种主机端控制器(11),配备在USB系统的主机(10)上,所述USB系统具有主机(10)、设备(13)和如权利要求1记述的设备端控制器(12),对主机(10)和设备(13)间的通信的进行中继,所述主机端控制器具有在接收从主机(10)向设备(13)发送的SOF分组时,避免向设备(13)发送该分组的主机端控制部(32)。
3.配备有如权利要求1记述设备端制器(12)、如权利要求2记述主机端制器(11)的USB系统。
4.如权利要求3所述的USB系统,其特征在于上述设备控制部(42)被设定为以特定周期向设备(13)发送SOF分组。
5.如权利要求4所述的USB系统,其特征在于被设定为上述主机端控制器(11)的主机端控制部(32)在大于等于特定时间的没有从主机(10)接收到分组的情况,向设备端控制器(12)发送复位通知信号;上述设备端控制器(12)的设备端控制部(42)对应复位通知信号的接收,停止向设备(13)发送SOF分组。
6.如权利要求4所述的USB系统,其特征在于上述设备端控制器(12)的设备端控制部(42)调整发送时间,以在向设备(13)发送SOF分组以外的其它分组时,对应于该发送而执行的与设备(13)的通信中,避免访问SOF分组的发送时间。
7.如权利要求6所述的USB系统,其特征在于上述设备端控制部(42)向设备(13)发送从主机端控制器(11)接收的OUT分组或SETUP分组、DATA分组时,根据DATA分组的尺寸,调整上述的发送时间。
8.如权利要求3所述的USB系统,其特征在于被设定为上述主机端控制部(32)在接收从主机(10)向设备(13)发送的SOF分组的情况下,向设备(13)发送表示已接收到SOF分组的SOF接收通知信号,同时上述设备端控制部(42)对应于SOF接收通知信号的接收,向设备(13)发送SOF分组。
9.如权利要求3所述的USB系统,其特征在于上述主机端控制器(11)和设备端控制器(12)具有设定两控制器(11,12)间的通信速度的速度设定部(30)。
10.如权利要求9所述的USB系统,其特征在于被设定为通过上述的速度设定部(30),将控制器(11,12)间的通信速度设定为特定值及其以上时,上述主机端控制器(11)的主机端控制部(32)向设备(13)发送从主机(10)接收的SOF分组,另一方面上述设备端控制器(12)的设备端控制部(42)向设备(13)发送从主机端控制器(11)接收的SOF分组。
11.如权利要求9所述的USB系统,其特征在于上述主机端控制部(32)和设备端控制部(42)的至少一方计算两控制器(11,12)间的分组的发送中的差错率,在该差错率大于等于特定值的情况,上述速度设定部(30)使控制器(11,12)间的通信速度降低。
12.如权利要求3所述的USB系统,其特征在于上述两控制器(11,12)间的通信路径中的通信方式为全双工通信。
13.如权利要求3所述的USB系统,其特征在于,通过光缆形成上述两控制器(11,12)之间的通信路径。
14.如权利要求3所述的USB系统,其特征在于通过光无线通信进行上述两控制器(11,12)间的通信。
15.如权利要求3所述的USB系统,其特征在于通过使用电波的无线通信进行上述两控制器(11,12)间的通信。
16.一种在USB系统中在主机(10)和设备(13)之间进行分组通信的分组通信方法,具有通过配备到主机(10)的主机端控制器(11)的主机端控制部(32),避免向设备(13)端传送从主机(10)发送的SOF分组的发送避免步骤;和通过配备到设备(13)的设备端控制器(12)的设备端控制部(42),向设备(13)发送SOF分组的发送步骤。
17.一种USB系统,包括主机(10);设备(13);配备到主机(10),中继主机(10)和设备(13)之间的通信的主机端控制器(11);配备到设备(13),中继主机(10)和设备(13)间的通信的设备端控制器(12),将控制器之间的数据传送设定为以光通信进行,并且,该光通信的数据传送速度比在USB2.0中高速模式的数据传送速度要慢。
18.一种中继主机(10)和设备(13)之间的通信,具有作为主机端控制器(11)的功能和作为设备端控制器(12)的功能的通信控制器(100),具有通信控制器(100)在作为设备端控制器(12)的功能时,在确立主机(10)和设备(13)的连接后,向设备(13)端发送SOF分组的通信控制部(32,42)。
19.一种中继主机(10)和设备(13)之间的通信,具有作为主机端控制器(11)的功能和作为设备端控制器(12)的功能的通信控制器(100),具有通信控制器(100)在作为设备端控制器(11)的功能时,在接收从主机(10)向设备(13)发送的SOF分组的情况下,避免向设备(13)侧发送该分组的通信控制部(32,42)。
20.如权利要求18所述的通信控制器(100),其特征在于通信控制器(100)作为主机端控制器(11)的功能时,上述通信控制部(32,42)在接收从主机(10)向设备(13)发送的SOF分组时,避免向设备(13)发送该分组。
21.如权利要求20所述的通信控制器(100),其特征在于在通信控制器(100)作为设备端控制器(12)的功能时,上述通信控制部(32,42)被设定为以特定周期向设备(13)发送SOF分组。
22.如权利要求21所述的通信控制器(100),其特征在于在通信控制器(100)作为设备端控制器(12)的功能时,上述通信控制部(32,42)调整发送时间,以在向设备(13)发送SOF分组以外的其它分组时,对应于该发送而执行与设备(13)的通信中,避免访问SOF分组的发送时间。
23.如权利要求22所述的通信控制器(100),其特征在于通信控制器(100)作为设备端控制器(12)的功能时,上述通信控制部(32,42)在向设备(13)发送从主机控制器(11)接收的OUT分组或者SETUP分组和DATA分组时,基于DATA分组的尺寸,调整上述的发送时间。
24.一种USB系统,其配有主机(10);设备(13);如权利要求18所述的通信控制器(100)、如权利要求19记述的通信控制器(100)。
全文摘要
提供一种主机端控制器。主机端控制器的主机端控制部在接收从主机向设备发送的SOF分组的情况,避免向设备端发送该分组。而且,设备端控制器的设备端控制部在确立主机和设备的连接后,以特定周期,向设备发送SOF分组。从而,在控制器间不需要发送SOF分组。因此,通信速度低的控制器之间的通信带宽只被SOF分组以外的其它分组所使用。从而,可以提高这些其它分组的通信效率。
文档编号H04L1/00GK1655132SQ20041007589
公开日2005年8月17日 申请日期2004年9月29日 优先权日2003年9月29日
发明者深江文博, 直江仁志, 酒井宏仁, 大泽升平 申请人:夏普株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1