具体实施方式
下面,根据附图对将本发明具体化的第一实施方式进行说明。图1是第一实施方式中的主机装置11的简要的电路框图。
主机装置(具体来说是个人计算机)11包括MPU 12、存储器13、主控制器14、电流供应电路15、以及电流监视电路16。在主机装置11中,MPU 12经由内部总线17与存储器13、主控制器14以及电流供应电路15相连,并相互进行数据的收发。在主机装置11中设有构成USB接口的三个通信端口P1~P3,第一至第三设备21~23经由USB缆线C1被连接在各个通信端口P1~P3上。各个设备21~23是通过经由USB缆线C1接受主机装置11的供电来进行工作的总线供电设备。
作为控制电路的MPU 12根据存储器13中存储的程序来执行各种处理,并集中控制主机装置11。存储器13中存储的程序包括通信程序,根据该通信程序来控制主控制器14或电流供应电路15。
主控制器14是基于USB标准的通信电路,控制与各个设备21~23之间的通信。主控制器14经由各个通信端口P1~P3和USB缆线C1与第一至第三设备21~23相连。主控制器14中设有寄存器14a,从各个设备21~23获得的机器信息被存储到该寄存器14a中。具体地说,当各个设备21~23被连接在通信端口P1~P3上时,主机装置11进行用于该连接识别的处理(与设备21~23之间的协商),并将由此获得的机器信息(包括装置名称和最大消耗电流的信息)存储到主控制器14的寄存器14a中。
电流供应电路15经由通信端口P1~P3和USB缆线C1向各个设备21~23供应与寄存器14a的机器信息中包含的最大消耗电流相应的电流。在第一实施方式中,在连接电流供应电路15和各个通信端口P1~P3的电流通路的途中设置有开关电路25。
电流监视电路16检测在通信端口P1~P3中流动的电流,并进行监视,以不使预定值以上的过电流(超过各个设备的最大消耗电流的电流)经由通信端口P1~P3流向设备21~23。电流监视电路16一旦检测到过电流,就断开开关电路25,从而将电流供应电路15和通信端口P1~P3电切断。由此,当设备21发生故障从而有过电流流过时,向该设备21的电流通路被切断,避免了过电流继续流动。其结果,可以防止由主机装置11和各个设备22、23构成的通信***的工作变为不稳定的状态。
接着,根据图2的流程图来说明由主机装置11的MPU 12执行的通信处理中的用于识别新设备的连接的处理。当在主机装置11上已连接了设备21~23中的某一个时开始图2的处理。这里,以在第一和第二设备21、22被连接到主机装置11上并已被识别的状态下有第三设备23被新连接的情况为例进行说明。
在设备23连接到主机装置11的通信端口P3上后,MPU 12首先在步骤100进行总线复位,然后进入步骤110,进行包括已连接的设备21、22在内的各个设备21~23的地址设定。在完成地址设定之后,MPU 12进入步骤120中,获得设备23的机器信息。具体地说,MPU 12使主控制器14工作,向新连接的设备23发布请求命令(Get Descriptor),并将从设备23发出的机器信息作为其应答而存储到主控制器14的寄存器14a中。机器信息包括机器名称、制造商、最大消耗电流等信息。
MPU 12在步骤130中从寄存器14a中读取已连接的设备21、22和这次连接的设备23的机器信息,并根据此机器信息判定是否能供应设备23的最大消耗电流。这里,电流供应电路15可供应的电流作为程序数据已预先设定在存储器13中,从而对该可供应的电流与设备23的最大消耗电流进行比较。当将通用的电源IC用作电流供应电路15时,也可以设置用于测量电流供应电路15的可供电流的电流测量电路,并对在主机装置11的初始化处理等中使用电流测量电路实际测量出的电流供应电路15的供应电流和设备23的最大消耗电流进行比较。
当在步骤130中判定为能够供应时,MPU 12进入步骤140使主控制器14工作,从而向设备23发布用于通知进行了连接识别的内容的命令(Set Configuration),然后结束本处理。
另一方面,当在步骤130中判定为不能供应时,MPU 12进入步骤150改变供应电流的分配。即,MPU 12在电流供应电路15可供应的电流的范围内,改变向包括已连设备21、22和新设备23在内的各个设备21~23的供应电流的分配。但是,在步骤150中仅是对供应电流的分配变更进行计划,实际向各个设备供应的供应电流维持当前的电流值。
接着,在步骤160中,MPU 12使主控制器14工作,向成为供应电流变更对象的设备发送所述变更后的电流值。此后,MPU 12在步骤170中确认设备有没有肯定该电流值(能否工作)。
具体地说,MPU 12为了通知变更后的电流值,从主控制器14发布消耗电流的设定命令(Set Descriptor)。对于接收到设定命令的设备,如果在设定命令中指定的电流值是可应用的电流值,则返回ACK分组,如果是不能应用的电流值,则返回STALL分组。MPU 12根据从设备返回来的ACK分组或STALL分组来判定设备能否工作。
这里,当成为变更对象的设备有多个时,在步骤160中向这些所有设备发布消耗电流的设定命令,在步骤170中判断有没有获得来自所有设备的肯定(ACK分组)。
当在步骤170中获得了设备的肯定时,MPU 12进入步骤180中,改变从电流供应电路15向各个设备21~23供应的电流。在步骤140中,在向设备23发布了用于通知进行了连接识别的内容的命令之后,结束本处理。
当在步骤170中未能获得设备的肯定时,MPU 12进入步骤190,判定是否能够重新变更(重新调整)向各个设备的供电电流的分配,并在判定为可以重新变更时,返回到步骤150,再次执行步骤150及其以后的处理。另一方面,当判定为没有重新变更的余地时,进入步骤200中,不进行作为新连接机器的设备23的识别(Set Descriptor的发布),结束本处理。
接着,根据图3至图8来说明新设备的识别处理中的在主机装置11和各个设备21~23之间所进行的协商的具体例子。在第一实施方式中,主机装置11向各个设备21~23可供应的最大的供应电流为1A。另外,各个设备21~23的最大消耗电流如下:第一设备21为500mA,第二设备22为300mA,第三设备23为300mA。而且,第一设备21具有可将最大消耗电流从500mA降到300mA的功能,第三设备23具有可将最大消耗电流从300mA降到250mA的功能。第二设备22不具有降低最大消耗电流的功能,从而不能将最大消耗电流从300mA进行改变。
首先,如图3所示,在第一和第二设备21、22已被主机装置11连接识别,并且每个设备正通过总线供电而工作的状态下,通过插接而新连接了第三设备23。从而,如图4所示,主机装置11向第三设备23发布请求概述(机器信息)的请求命令(Get Descriptor)。第三设备23应答该请求命令而通知包含自身最大消耗电流参数(Max Power=300mA)的机器信息。
主机装置11判定300mA的最大消耗电流是否为自己可提供的规格。这里,主机装置11已向第一第二设备21、22供应总和为800mA的电流,剩余的可供能力(规格)为200mA(=1000-500-300),因此判断出不能向第三设备23供应最大消耗电流(=300mA)。
以往,当超过主机装置11的可供规格时,不能识别新连接的第三设备23。对此,在第一实施方式中,主机装置11向各个设备21~23请求降低规格以便不超过可供应的电流(1A),并确认在降格后的消耗电流下各个设备21~23能否工作。当各个设备21~23能够工作时,改变向所述各个设备21~23的供应电流的分配,并识别新连接的第三设备23。
从主机装置11向各个设备21~23发布的降低规格的请求命令(SetDescriptor)使用配置描述符(Configuration Descriptor)的最大消耗电流的字段(Max Power Field)。主机装置11将作为目标规格的电流值赋予最大消耗电流的字段之后进行发布。在USB标准中,设备的最大消耗电流被规定为配置描述符的第8个参数。
在第一实施方式中,各个设备21~23的最大消耗电流的总和为1100mA,当在第一和第二设备21、23的基础上,又新连接第三设备23时,就主机装置11可供应的规格(1000mA)来说,缺少100mA的能力。因此,主机装置11开始进行用于调整向各个设备21~23的供应电流的分配的协商。
这里,主机装置11例如从向第一和第二设备21、22的供应电流中减少相当于不足量的一半的50mA,由此试图确保100mA的不足量。
具体地说,如图5所示,主机装置11对第二设备22进行在将最大消耗电流降低50mA后的250mA下能否工作的确认。即,主机装置11将250mA的数据赋给命令(Set Descriptor)中的最大消耗电流字段并发送给第二设备22。但是,由于第二设备22要想工作会需要300mA的供应电流,因此以STALL分组来答复不能应用。
接着,如图6所示,主机装置11向第一设备21打探在将最大消耗电流降低50mA后的450mA下能否工作。此时,主机装置11将450mA的数据赋予命令(Set Descriptor)中的最大消耗电流字段并发送给第一设备21。第一设备21由于将供应电流降到300mA时也能够应用,所以以ACK分组来答复能够应用,肯定在450mA的供应电流下的工作。
接着,如图7所示,主机装置11向第三设备23打探在将最大消耗电流降低50mA后的250mA下能否工作。此时,主机装置11将250mA的数据赋予命令(Set Descriptor)中的最大消耗电流字段并发送给第三设备23。第三设备23由于将供应电流降到250mA时也能够应用,所以以ACK分组来答复能够应用,肯定在250mA的供应电流下的工作。
如图8所示,主机装置11将向第一设备21的供应电流降到450mA,同时将向第三设备23的供应电流设为250mA。由此,第一设备21将工作切换为低消耗电流模式,第三设备23开始低消耗电流模式下的工作。
这样,主机装置11可以连接识别第三设备23,并进入可与所有的设备21~23进行通信的状态。
在上述描述中,对通过改变向完成连接识别的设备21、22的供应电流,从而能够进行新设备23的连接识别的情况进行了说明。与此相对,当即使改变向设备21、22的供应电流,也不能确保新连接的设备23可工作的供应电流时,会与以往一样不能识别设备23。在该情况下,向第一及第二设备21、22供应与设备23连接之前相同的供应电流,维持主机装置11与第一及第二设备21、22之间的通信。
此外,也可以适当改变利用图5至图8进行说明的向各个设备21~23的协商的顺序。即,在上述的具体例子中,是对已连设备22询问供应电流的变更,但也可以如下构成:首先向新设备23询问供应电流的降低,然后在不能调整向设备23的供应电流时,向已连设备22、23询问供应电流的降低。
当然,主机装置11算出的50mA的电流降低值仅为一个示例,可以基于任意的计算结果来进行协商。例如,在图6中,也可以对第一设备21进行在将最大消耗电流降低100mA后的400mA下能否工作的确认。此时,第一设备21由于将供应电流降到300mA时也能够应用,因而以ACK分组来答复能够应用,肯定在400mA的供应电流下的工作。由于通过降低给第一设备21的供应电流,能够确保给新设备23的300mA的供应电流,所以,不需要进行用于降低新设备23的供应电流的协商。
本发明第一实施方式的主机装置11具有以下的优点。
(1)在主机装置11中,当已连接识别的设备21、22和新设备23中的消耗电流超过电流供应电路15的可供能力时,按照其能力改变向各个设备21~23的供应电流的分配。在第一实施方式中,除了新连接到主机装置11上的设备23之外,给已连接识别的设备21的供应电流也被改变。通过改变供应电流的分配,可以确保用于使新设备23工作的供应电流,从而与现有技术相比,可增加主机装置11连接识别的设备的数量。
(2)利用基于USB标准的命令(Set Descriptor)将可供应的电流通知给设备21~23,并从这些设备21~23接收ACK分组和STALL分组中的某一个,由此来判定该设备能否工作。这样,当利用已有的命令进行用于改变给设备21~23的供应电流的协商时,能够容易设计执行该协商的程序,从而有利于实用。
(3)主机装置11具有电流监视电路16,该电流监视电路16检测流经通信端口P1~P3的电流,并进行监视,以不使预定值以上的过电流经由通信端口P1~P3流向设备21~23。当在电流监视电路16上检测到过电流时,停止向设备的电流供应,由此可以避免给整个通信***带来不良影响。
下面,说明将本发明具体化了的第二实施方式。图9是第二实施方式中的设备31的简要的电路框图。设备31例如是将光盘32作为记录介质的数据记录再生装置,其包括MPU 33、存储器34、USB控制器35、电源控制器36、设备控制器37、旋转光盘用的马达38。MPU 33通过内部总线39与存储器34、USB控制器35、电源控制器36、设备控制器37、旋转光盘用的马达38连接,并相互进行数据的收发。在设备31中设有USB的通信端口P0,主机装置41通过插到通信端口P0上的USB缆线C1与该设备31相连。第二实施方式的设备31是通过主机装置41的总线供电来进行工作的总线供电设备。
作为控制电路的MPU 33根据存储器34中存储的程序来执行各种处理,并集中控制设备31。存储器34中存储的程序包括用于控制USB控制器35和电源控制器36的通信程序和用于控制设备控制器37的数据处理程序。
通信端口P0经由开关单元42与USB控制器35相连,来自主机装置41的通信数据通过信号线D+、D-以及开关单元42被传输到USB控制器35中。如图10所示,开关单元42包括两个开关电路42a、42b。根据来自MPU 33的控制信号Sa、Sb控制各个开关电路42a、42b,从而使连接通信端口P0和USB控制器35的信号线D+、D-连通或断开。通过根据来自MPU 33的控制信号Sa、Sb来断开开关单元42(开关电路42a、42b),可从主机装置41分离设备31。
USB控制器35是基于USB标准的通信电路,控制与主机装置41之间的通信。具体来说,USB控制器35将从主机装置41接收到的分组中所含的数据(写入数据)传输给设备控制器37。此外,USB控制器35还根据来自设备控制器37的传输数据(读取数据)生成发送分组,并将该发送分组发送给主机装置41。
设备控制器37通过驱动马达38来使光盘32旋转,从而或是从光盘32读取数据,或是向光盘32写入数据。
电源控制器36与通信端口P0(被称为VBUS的电缆接线端)连接,从而从主机装置41经由USB缆线C1和通信端口P0而接受电流供应。电源控制器36管理向包括MPU 33、存储器34、USB控制器35、以及设备控制器37在内的内部电路供应的供应电流。
具体来说,电源控制器36包括:用于存储设备31的消耗电流值等信息的寄存器36a、用于切断向内部电路的电流通路的开关电路36b、以及用于控制向内部电路的供应电流的控制部36c。控制部36c基于寄存器36a的消耗电流值来调整向MPU 33、存储器34、USB控制器35、以及设备控制器37供应的电流。此外,开关电路36b通常被接通,但在设备31不被主机装置41连接识别时,通过断开开关电路36b来切断设备31的电源。
下面根据图11的流程图来说明由设备31的MPU 33执行的通信处理中的用于使主机装置11连接识别的处理。当在主机装置41上已连接设备31时开始图11的处理。
首先,MPU 33在步骤210中进行待机直至从主机装置41接收到请求机器信息的请求命令(Get Descriptor)。当接收到请求命令时,MPU 33进入步骤220中,从USB控制器35向主机装置41发送包含机器信息的发送分组。
然后,MPU 33进入步骤230中,判断是否接收到了来自主机装置41的请求命令(Set Configuration),并在接收到了请求命令时进入步骤240,进行设备31的启动处理,然后结束本处理。这里,当主机装置41具有在步骤220中发送的机器信息中所包含的最大消耗电流的供应能力时,该主机装置41发布启动请求命令,并通过USB缆线C1向设备31供应该最大消耗电流。从而,在步骤240中进行设备31的启动处理之后,能够在所请求的最大消耗电流下进行数据的读取或写入工作。
另一方面,当主机装置41不具有供应设备31的最大消耗电流的能力时,该主机装置41不发布启动请求命令。此时,在以往的设备中是无法被主机装置41连接识别,并无法获得工作所需的供应电流的。对此,第二实施方式的设备31在主机装置41的电流供应能力不足的情况下,降低自己的消耗电流,从而实施用于使主机装置41进行连接识别的处理(步骤250及其以后的处理)。
具体来说,在步骤250中,MPU 33判定从发送机器信息的时刻起是否经过了预定时间,如果没有经过预定时间则返回到步骤230。当已经过了预定时间时,MPU 33判断出主机装置41不能供应自己请求的最大消耗电流,从而进入步骤260。MPU 33判定能否改变最大消耗电流值。当在步骤260中,MPU 33判定出不能改变消耗电流值时,进入步骤270,通过断开电源控制器36的开关电路36b来切断设备31的电源,然后结束本处理。
另一方面,在步骤260中,当判定为能够改变消耗电流值时,MPU 33进入步骤280来改变电源控制器36的寄存器36a中存储的设备31的机器信息。这里,将机器信息中包含的消耗电流值降到预定值,同时将设备控制器37的工作模式设定为与所述降低的电流值相应的工作模式(低消耗电流模式)。
然后,MPU 33在步骤290中断开开关单元42的各个开关电路42a、42b预定时间之后,再接通。通过开口单元42的切换工作,变为将设备31从主机装置41临时断开的状态之后,返回到步骤210。
通过步骤290的处理,设备31一旦临时变为切断状态,主机装置41就会判断为设备31被重新连接。此时,主机装置41发布请求机器信息的请求命令。在步骤210中接收了该请求命令的设备31进入步骤220中再次发送机器信息。这里,在步骤280再次发送降低到小电流值的消耗电流值。
主机装置41在不能供应被降低后的消耗电流值时不发布启动请求命令,因此再次实施步骤250之后的处理。另一方面,主机装置41在能够供应被降低后的消耗电流值时发布启动请求命令。因此,MPU 33从步骤230进入步骤240中进行设备31的启动处理,然后结束本处理。通过设备31的启动处理,设备31能够在降低了的消耗电流下进行数据的读取或写入工作。
本发明第二实施方式的设备31具有以下的优点。
(1)当设备31连接到主机装置41上,并且设备31内部电路的消耗电流超过主机装置41的可供能力时,主机装置41不发布请求设备31启动的请求命令,因而由MPU 33判断出该内容并降低设备31的消耗电流。当主机装置41可以供应降低后的消耗电流时,设备31被该主机装置41识别,从而可通过来自主机装置41的总线供电而使设备31工作。
(2)在设备31中设有临时切断通信端口P0(USB缆线C1)和USB控制器35之间的连接的开关单元42。并且在电源控制器36中设有用于存储设备31的消耗电流的寄存器36a。当主机装置41的可供能力不足时,降低寄存器36a中的设备31的消耗电流,然后断开开关单元42预定时间。通过开关单元42的切换工作,通信端口P0和USB控制器35之间的连接临时被切断,从而可使主机装置41识别为重新连接了设备31。主机装置41发布请求设备31的机器信息的命令,设备31应答此命令而发送变更后的消耗电流。这样,不是根据主机装置41的指示,而是通过设备31一侧的工作,就可以实现设备31的消耗电流的变更。
(3)当主机装置41判定出不能降低设备31中的内部电路的消耗电流时(设备31不被识别时),通过电源控制器36的开关电路36b来切断设备31的电源。这样,可以防止不被主机装置41识别的设备31上的浪费的电流消耗。
下面,根据附图来说明将本发明具体化了的第三实施方式。图12是第三实施方式中的设备43的简要的电路框图。在设备43中,对于与第二实施方式的设备31相同的部分标注相同的标号。以下将重点说明与第二实施方式的不同点。
即,在第三实施方式的设备43中,与第二实施方式不同的是,设备控制器44控制扬声器45。并且,在设备43中设有作为设定单元的等级开关46,在电源控制器36的寄存器36a中存储根据等级开关46的操作量(设定值)而求出的消耗电流值。当设备43经由USB缆线C1连接到主机装置41上,并且该主机装置41向设备43请求了机器信息时,设备43向主机装置41请求与等级开关46的设定值对应的消耗电流值。
下面,根据图13的流程图来说明为了连接识别而由设备43的MPU33执行的处理。当设备43被连接到主机装置41上时开始图13的处理。
首先,在步骤310中,MPU 33计算与等级开关46的设定值对应的消耗电流值,并将计算值作为机器信息的消耗电流值存储到电源控制器36的寄存器36a中。然后,MPU 33进入步骤320中进行待机,直至从主机装置41接收机器信息的请求命令(Get Descriptor)。当接收到请求命令时,MPU 33进入步骤330中,将设备43的机器信息发送给主机装置41。
这里,当主机装置41能够向设备43供应此机器信息中所包含的消耗电流值时,从主机装置41发布启动请求命令。此时,MPU 33从步骤340进入步骤350中进行设备43的启动处理,然后结束本处理。由此,可在向主机装置41请求的消耗电流下从扬声器45输出声音。
另一方面,当主机装置41不能供应设备43的消耗电流时,该主机装置41不发布启动请求命令。此时MPU 33重复执行步骤340和步骤360的处理,直到从发送了机器信息的时刻经过预定时间为止,并在经过了预定时间之后进入到步骤370。
MPU 33在步骤370中,判定是否通过等级开关46的操作而改变了设定值。当等级开关46的设定值被改变时,MPU 33进入步骤380中重新计算与等级开关46的设定值对应的消耗电流值,并将该消耗电流值存储到电源控制器36的寄存器36a中。
然后,MPU 33在步骤390中断开开关单元42预定时间之后再将其接通,由此在成为将设备43从主机装置41临时断开的状态之后,进入到步骤320。
通过步骤390的处理,设备43一旦临时变为切断状态,主机装置41就会判断为设备31被重新连接。此时,主机装置41发布请求机器信息的请求命令。在步骤320中接收了该请求命令的设备43进入步骤330中再次发送机器信息。这里,再次发送与变更后的等级开关46的设定值对应的消耗电流值。
主机装置41在不能供应变更后的消耗电流值时不发布启动请求命令,因此再次实施步骤360之后的处理。另一方面,主机装置41在能够供应变更后的消耗电流值时发布启动请求命令。因此,MPU 33从步骤340进入步骤350中进行设备43的启动处理,然后结束本处理。通过设备43的启动处理,设备43能够以变更后的消耗电流从扬声器45输出声音。
本发明第三实施方式的设备43具有以下的优点。
(1)当设备43的消耗电流超过了主机装置41的可供能力,从而主机装置41不识别设备43时,若等级开关46的设定值被改变,则计算出与该设定值对应的消耗电流值并将该消耗电流值存储到电源控制器36的寄存器36a中。然后,通过开关单元42的切换工作,使主机装置41识别为重新连接了设备43。此时,设备43能够应答从主机装置41发布的请求命令而将变更后的消耗电流通知给主机装置41。当主机装置41能够供应所述变更后的消耗电流时,设备43被该主机装置41识别,从而可通过来自主机装置41的总线供电来使设备43工作。
(2)当与等级开关46的设定值对应的消耗电流被通知给主机装置41,并从主机装置41供应该消耗电流时,能够在与等级开关46的设定值对应的消耗电流下使设备43工作。
下面将说明将本发明具体化了的第四实施方式。
在第四实施方式中,设备31的结构与图9所示的第二实施方式的相同。此外,当第四实施方式的主机装置41在进行连接识别时判断出不能供应设备31的消耗电流的时候,向设备31通知可供电流。根据主机装置41的供应电流,设备31降低消耗电流,从而使主机装置41识别设备31。
图14是用于说明第四实施方式中用于设备31的连接识别的处理的流程图。在图14中,步骤410~440、470~490是与第二实施方式的步骤210~240、270~290相同的处理,步骤450、460的处理与第二实施方式不同。以下重点说明与第二实施方式的不同点。
即,当在步骤420发送的设备31的消耗电流值超过了主机装置41的能力(可供电流值)时,主机装置41不发布请求设备31启动的请求命令,而向设备31通知可供电流量。此时,设备31的MPU 33在步骤450中接收主机装置41的可供电流值。MPU 33进入步骤460,判定在主机装置41的可供电流值下设备31能否工作。
当在步骤460中判定出不能工作时,MPU 33进入步骤470中,通过断开电源控制器36的开关电路36b来切断设备31的电源,然后结束本处理。
另一方面,当在步骤460中判定出能够工作时,MPU 33进入步骤480,改变电源控制器36的寄存器36a中存储的设备31的机器信息。这里,将机器信息中包含的消耗电流值变更为与主机装置41的可供电流值相同的值。并且,MPU 33将设备控制器37的工作模式设定为根据所述变更后的电流值的低消耗电流模式。
然后,MPU 33在步骤490中断开开关单元42预定时间之后再接通,由此在成为将设备31从主机装置41临时断开的状态之后,返回到步骤410。
通过步骤490的处理,设备31一旦临时变为切断状态,主机装置41就会判断为设备31被重新连接,因而发布请求机器信息的请求命令。在步骤410中接收到该请求命令后,MPU 33进入步骤420中再次发送在步骤480中变更的机器信息(消耗电流值)。这里,由于发送主机装置41可供应的电流值,所以,主机装置41判定为能够供应设备31的消耗电流,并发布启动请求命令。从而,MPU 33进入步骤440进行步骤31的启动处理,然后结束本处理。通过设备31的启动处理,设备31能够在降低后的消耗电流(主机装置41可供应的电流)下进行数据的读取或写入工作。
本发明第四实施方式的设备31具有以下的优点。
(1)当设备31的消耗电流超过主机装置41的可供能力时,可以根据主机装置41的能力来降低设备31的消耗电流。这样,在主机装置41可供应的电流下,能够使设备31最大限度地发挥其性能(读取或写入速度)。
下面说明将本发明具体化了的第五实施方式。图15是第五实施方式的主机装置51的简要的电路框图。
主机装置(具体地说是个人计算机)51包括MPU 52、存储器53、主控制器54、电流供应电路55、以及显示器56。在主机装置51中,MPU52经由内部总线57与存储器53、主控制器54、电流供应电路55以及显示器56相连,并相互进行数据的收发。此外,在主机装置51中设有用于连接USB设备的第一至第十通信端口P1~P10。
作为控制电路的MPU 52根据存储器53中存储的程序来执行各种处理,并集中控制主机装置51。存储器53中存储的程序包括通信程序和显示程序,所述通信程序用于控制主控制器54或电流供应电路55,所述显示程序将连接在各个通信端口P1~P10上的各个设备的机器信息以GUI(Graphic User Interface:图形用户界面)方式显示到显示器56上。
主控制器54是基于USB标准的通信电路,控制与连接在各个通信端口P1~P10上的设备之间的通信。主控制器54中设有寄存器54a,连接在各个通信端口P1~P10上的设备的机器信息被存储在该寄存器14a中。具体地说,当设备被连接到通信端口P1~P10中的某一个上时,主机装置51为了识别该连接而与设备进行协商,并将由此获得的机器信息存储到寄存器14a中。
电流供应电路55将寄存器54a的机器信息中包含的最大消耗电流供应给连接在通信端口上的设备。此外,在连接电流供应电路55和各个通信端口P1~P10的电流通路的途中设置了限制器58。限制器58是包含开关电路的电流监视电路,当有预先设定的规定电流以上的过电流流动时,其通过断开开关电路来切断电流通路。
MPU 52通过执行应用程序(用于进行显示的程序)来读取主控制器54的寄存器54a中存储的机器信息,并在显示装置、即显示器56上显示状态窗口。
具体地说,如图16所示,当多个设备61~66被连接在主机装置51上时,在显示器56上显示图17所示的状态窗口W1。即,带鼠标的键盘61被连接在主机装置51的第一通信端口P1上,打印机62被连接在第二通信端口P2上,硬盘63被连接在第三通信端口P3上。并且,光盘64被连接在第四通信端口P4上,扫描仪65被连接在第五通信端口P5上。而且,数码照相机(DSC)66、67被连接在第八通信端口P8和第九通信端口P9上。键盘61、打印机62、硬盘63、光盘64、扫描仪65以及DSC66、67是内置USB功能(USB通信功能)的USB设备,它们分别通过USB缆线C1而被连接在主机装置51的各个通信端口上。
在第五实施方式中,打印机62是不通过USB的总线供电,而是通过另外设置的电源线(省略图示)的供电来进行工作的设备。其他的设备是通过USB的总线供电来进行工作的设备。
如图17所示,在显示器56上显示的状态窗口W1中设有选择器、端口号(Port No.)、装置名称、制造商、消耗电流(mA)、以及状态的各项目栏。按照每个通信端口并基于主控制器54的寄存器54a中存储的机器信息来显示装置名称、制造商、消耗电流。另外,在消耗电流栏中显示向主机装置51请求的设备的消耗电流值(请求值)和从主机装置51经由USB缆线C1正在供应的当前时间的电流值(当前值)。
各端口的设备的请求值如下:键盘61为100mA,打印机62为100mA,硬盘63为500mA,光盘64为500mA,扫描仪65为300mA,DSC 66为200mA,以及DSC 67为250mA。
选择器栏中设有选择按钮,用于将各个通信端口上连接的设备切换为打开状态或关闭状态(使用状态或未使用状态)中的某一状态。在连接了设备61~67的各个通信端口P1~P5、P8、P9中,选择了打开或关闭的某一个按钮。这里,第一至第四通信端口P1~P4、以及第九通信端口P9选择了打开按钮,第五通信端口P5和第八通信端口P8选择了关闭按钮。
若通信端口P1~P4、P9的打开按钮被选择,就会从电流供应电路55供应设备61~64、67请求的消耗电流,该设备中的USB功能被激活。因此,状态栏变为“Active”。但是,由于打印机62不是通过总线供电而是通过自己的电源来工作,所以其“Active”的状态用蓝色显示,其他设备由于通过总线供电来工作,所以“Active”的状态用红色显示。在消耗电流栏中显示与请求值相同的电流值的当前值。
另一方面,若通信端口P1~P4、P9的关闭按钮被选择,则不从电流供应电路55供应设备65、66请求的消耗电流,该设备65、66的USB功能停止(非激活)。因此,在状态栏中显示“suspend”,并且消耗电流的当前值显示2.5mA。
此外,关于未使用的通信端口P6、P7、P10,消耗电流的请求值和当前值均显示0mA,状态栏显示“Not Use”。
而且,在状态窗口W1的下方设有显示栏,用于显示所有端口的请求消耗电流、使用电流、容许电流以及富余电流。这里,请求消耗电流是将所有的通信端口的请求值加起来的电流,使用电流是将所有的通信端口的当前值加起来的电流,容许电流是电流供应电路55可输出的最大电流,富余电流是从该容许电流减去使用电流的电流。
在上述的具体例子中,请求消耗电流为1950mA,使用电流为1455mA,容许电流为2500mA,富余电流为1045mA。因此,即使选择第五通信端口P5和第八通信端口P8的打开按钮,并向各通信端口P5、P8上连接的扫描仪65和DSC 66供应请求值的电流,由于此时使用电流为1950mA,因而也不会超过2500mA的容许电流。此时可使扫描仪65和DSC 66正常进行工作。
与此相对,当最大消耗电流为500mA的设备连接到主机装置51的未使用的通信端口P6、P7、P10上来使其工作时,就会超过主机装置51的容许电流。此时,新连接的设备的工作和已连接的设备的工作都会变得不稳定。
因此,在第五实施方式中,如图18所示,当新设备(硬盘71和72、Hub 73)被连接到主机装置的通信端口P6、P7、P10上时,不立刻使各个设备变为可工作的状态,而是先许可100mA的总线供电来只进行信息的收发。主机装置51根据通过所述信息的收发而获得的机器信息,显示图19所示的状态窗口W2。
即,关于通信端口P6、P7、P10,显示装置名称、制造商、消耗电流、以及状态。这里,新连接到通信端口P6、P7、P10上的硬盘71和72、Hub 73的请求值为500mA,当前值为100mA。在各通信端口P6、P7、P10的选择器栏中,打开按钮和关闭按钮均没有被选择,并且,由于USB功能处于待机当中,因而在状态栏中显示“Wait”。
此外,在状态窗口W2中,请求消耗电流为3450mA,使用电流为1755mA,容许电流为2500mA,富余电流为745mA。
将状态窗口W2显示在显示器56上,以要求操作主机装置51的用户进行是否使用各个设备的判断。这里,用户留意状态窗口W2中显示的容许电流,并操作键盘61的鼠标,由此来选择不立刻使用的光盘64和DSC67中的关闭按钮,然后选择新连接的硬盘71和72、Hub 73中的打开按钮。
其结果,如图20所示,在显示器56上显示状态窗口W3。与图19的状态窗口W2相比,在状态窗口W3中,第四通信端口P4(光盘64)和第九通信端口P9(DSC 67)的当前值变为2.5mA,状态的显示变为“suspend”。此外,第六通信端口P6(硬盘71)、第七通信端口P7(硬盘72)以及第十通信端口P10(Hub 73)的当前值变为500mA,状态显示变为“Active”。另外,Hub 73是不通过总线供电而是通过自身的电源进行工作的机器,“Active”的状态用蓝色显示。
此时,使用电流为2210mA,相对于2500mA的容许电流可确保290mA的富余电流。因而,主机装置51能够连接识别新设备(硬盘71和72、以及Hub 73)来使各个设备71~73正常工作。
下面,根据图21的流程图来说明由第五实施方式的MPU 52执行的处理中的用于显示状态窗口W1~W3的处理。图21的处理是在主机装置51启动时所实施的初始化处理结束之后开始的。
首先,在步骤510中,MPU 52从主控制器54的寄存器54a获得各个设备的机器信息,然后进入步骤520中,将根据该机器信息的状态窗口W1(参考图17)显示在显示器56上。在步骤530中,MPU 52进行是否有机器连接状态变更的判定,例如是否有新设备被连接到未使用的通信端口上,或者是否有已连接的设备从通信端口卸载。这里,当判定出有变更时,MPU 52进入步骤540中进行主控制器54中的寄存器54a的机器信息的更新。例如,当有新设备被连接到预定的通信端口上时,从主控制器54向新设备发布请求命令,并将根据该请求命令从设备回复的机器信息存储到寄存器54a中。此外,当有已连设备从预定的通信端口卸载时,从寄存器54a中删除有关该设备的机器信息。
在步骤550中,MPU 52基于更新的机器信息来显示状态窗口。接着在步骤560中,MPU 52判定状态窗口上显示的选择器栏的按钮有没有通过用户的鼠标操作而被选择。当没有按钮被选择时,返回到步骤530的处理中。此外,当在步骤530中判定出没有机器连接状态的变更时,MPU 52不实施步骤540、550的处理,进入到步骤560。
因此,当用户不向主机装置51连接新的设备,并且不选择状态窗口W1的选择器栏的按钮时,重复步骤530和步骤560的处理。因此,在显示器56上持续显示在步骤520所显示的状态窗口W1。
此外,如图18所示,当用户向各个通信端口P6、P7、P10依次连接硬盘71和72、Hub 73时,步骤530和步骤560的处理被重复三次,其结果,在显示器56上显示图19的状态窗口W2。
用户选择状态窗口W2中的选择器栏的按钮。于是,MPU 52从步骤560进入步骤570中,关于选中的通信端口,改变从电流供应电路55供应的电流。然后,MPU 52进入步骤580在显示器56上显示与用户的按钮选择对应的状态窗口,然后返回到步骤530的处理。在步骤580中,根据按钮选择来进行状态栏的变更,同时进行有关消耗电流的计算(使用电流和容许电流的计算)。
具体地说,在状态窗口W2中,在选择第四端口P4和第九端口P9的关闭按钮之后,选择第六端口P6、第七端口P7、第十端口P10的打开按钮。此时,在每次选择按钮时,重复步骤560至步骤580的处理,其结果是,在显示器56上显示图20的状态窗口W3。
在上述中,尽管省略了图示,但也可以在有大于各个设备的最大消耗电流的过电流流动从而限制器58起作用时,在状态窗口W1~W3上显示有这种过电流流动的内容来警告用户。具体地说,或者在状态窗口W1~W3中的状态栏显示用于发出警告的“Warning”,或者使用与正常值的场合不同的颜色来显示过电流的当前值。
而且,也可以在USB设备被连接到主机装置51的第十通信端口P10上连接的Hub 73上的时候,显示Hub 73的状态窗口。
具体地说,如图22所示,当多个设备81~83被连接到作为中继设备的Hub 73上时,在主机装置51的显示器56上显示图23所示的状态窗口W11。即,Hub 73上设有用于连接USB设备的第一至第十通信端口P11~P20,光盘81被连接在第一通信端口P11,硬盘82被连接在第二通信端口P12,DSC 83被连接在第四通信端口P14。
此外,在图23的状态窗口W11中,第一和第二通信端口P11和P12选择了打开按钮,第四通信端口P14选择了关闭按钮。从而,从Hub 73的电流供应电路(图中未示出的电源IC)向光盘81和硬盘82供应各自请求的电流值(=100mA)。
另外,Hub 73是通过自己的电源而进行工作的机器(Self poweredHub:自供电Hub),从电流供应电路可输出的电流(容许电流)为5000mA。即,Hub 73可向所有的通信端口P11~P20供应USB标准中规定的最大500mA的电流。因此,在Hub 73中,没有必要控制向各个设备的供应电流,状态窗口W11是为了向用户通知Hub 73上连接的各个设备的使用状态或未使用状态而显示的。
此外,如图24所示,也可以将Hub 84连接到Hub 73中的通信端口P13上。此时,在主机装置51的显示器56上,除了显示图25所示的Hub73的状态窗口W12之外,还显示Hub 84的状态窗口(省略了图示)。当显示多个状态窗口时,以弹出(Pop-Up)方式或者滚动方式显示各个窗口。
当然,也可以将通过总线供电而工作的Hub连接到主机装置51的任一通信端口上。图26示出了所述通过总线供电而工作的Hub(Buspowered Hub:总线供电Hub)85。在Hub 85中,光盘81连接在第一通信端口P11上,硬盘82连接在第二通信端口P12上,DSC 83连接在第四通信端口P14上。如图27所示,Hub 85的状态窗口W13被显示在主机装置51的显示器56上。此时,Hub 85的容许电流小至400mA,因此,通过显示状态窗口W13,可使用户选择必需的设备,以便不超过该容许电流。
本发明第五实施方式的主机装置51具有以下的优点。
(1)显示与各个通信端口P1~P10连接的显示设备61~67、71~73的机器信息的状态窗口W1~W3被显示在主机装置51的显示器56上。在状态窗口W1~W3中除了显示从各个设备61~67、71~73获得的机器信息(装置名称、制造商、消耗电流)之外,还显示供用户将设备选择为使用状态还是未使用状态的选择按钮(打开按钮和关闭按钮)。在确认了状态窗口W1~W3的用户选择了按钮后,会根据该选择结果控制向各个设备的供应电流。这样,不用进行USB缆线C1的插拔,就可以进行是否使用主机装置51上连接的各个设备61~67、71~73的选择。此外,通过状态窗口W1~W3,可以确认此时刻各个设备的使用状态。
以往,当增加主机装置中的通信端口的端口数时,随着所述通信端口的增设,需要提高电流供应电路的电流供应能力,从而产生了电路规模变大的问题。对此,在第五实施方式中,由于可以根据电流供应电路55的电流供应能力来管理向各个设备61~67、71~73的供应电流,所以可在抑制电路规模的情况下增设端口。
(2)由于以GUI方式显示显示器56的显示画面(状态窗口W1~W3,W11~W13的画面),所以通过鼠标操作可以更加容易地选择各个状态窗口W1~W3,W11~W13中显示的选择按钮。
(3)在状态窗口W1~W3中显示了主机装置51可供应的容许电流、从该主机装置51正向各个设备61~67、71~73供应的使用电流、以及从容许电流减去使用电流而得的富余电流。此时,用户可以在确认富余电流以便不超过主机装置51的能力的情况下,选择不需要的设备的关闭按钮,并选择需要的设备的打开按钮。
(4)将连接在主机装置51的通信端口P10上的Hub 73、85的状态窗口W11~W13和主机装置51的状态窗口W1~W3分别独立地进行了显示。此时,用户可以确认Hub 73、85的状态窗口W11~W13,从而可对Hub 73、85上连接的各个设备81~84的供应电流进行恰当的管理。
(5)在主机装置51中,由于在连接电流供应电路55和各个通信端口P1~P10的电流通路的途中设置了限制器58,所以可以防止***工作变得不稳定。
下面,对将本发明具体化了的第六实施方式进行说明。
图29是第六实施方式中的主机装置51a的简要的电路框图。
在第六实施方式中,主机装置51a的结构与图15所示的第五实施方式的主机装置51相同。而且,如图29所示,主机装置51a具有多个通信端口P1~P10,并且USB设备D1~D10分别被连接在这些通信端口P1~P10上。
USB设备D1~D9是与第五实施方式的设备61~65、71、72、66、67实质上相同的设备,具有相同的电气特性(USB功能,请求值)。设备D10是光盘,其请求值为500mA。在下面的说明中将适当使用设备(例如设备D1)或者装置名称(例如键盘D1)。
作为控制电路的MPU 52根据存储器53中存储的程序来执行各种处理,并集中控制主机装置51a。存储器53中存储的程序包括通信程序、显示程序、电流控制程序、以及应用程序。通信程序是用于控制主控制器54或电流供应电路55的程序。显示程序是用于将连接在各个通信端口P1~P10上的各个设备D1~D10的机器信息以GUI(图形用户界面)方式显示到显示器56上的程序。电流控制程序是用于控制向连接在各个通信端口P1~P10上的各个设备D1~D10供应的电流的程序。
应用程序是用于电子数据表计算、文字处理、图像处理等的程序。MPU 53在执行应用程序当中有时使用上述的设备。例如,当执行用于电子数据表计算的应用程序时,MPU 53从硬盘D3(、D6、D7)中读取计算中使用的数据,并利用打印机D2打印所述的数据。
当在上述应用程序等的执行中使用各个通信端口P1~P10上连接的USB设备D1~D10时,MPU 52改变这些设备的工作状态。当要使用的设备处于非激活状态时,MPU 52进行工作状态的变更。
具有USB功能的设备有总线供电设备和自供电设备。总线供电设备的USB功能和设备主体通过经由USB缆线C1供应的电流而运行。自供电设备的设备主体通过外部电源而运行,其USB功能通过经由USB缆线供应的电流或者通过该电流和外部电源而运行。此外,向处于非激活状态(suspend)的设备供应就其USB功能来说能够与主机装置51a进行最低程度的通信(设备复位或者数据信号的接收)的电流(在第五实施方式中为2.5mA)。从而,MPU 52激活要使用的设备的USB功能,即将状态窗口的状态改变为“Active”,供应所请求的电流。
此时,当由于设备的激活而导致所连接的所有设备的总的消耗电流值超过主机装置51a的容许电流值时,MPU 52必需将一些处于激活状态的设备改为非激活,以使总的消耗电流值不超过容许电流值。
因此,MPU 52将状态窗口显示到显示器56上,以要求操作主机装置51a的用户进行是否使用各设备的判断。这里,用户留意状态窗口W2上显示的容许电流,并操作键盘61的鼠标,由此来选择此时不使用的设备的关闭按钮。
MPU 52响应用户的操作,停止(非激活)选择了关闭按钮的设备的USB功能,然后使要使用的设备的USB功能工作(激活)。之后,MPU52将含有变更后的工作状态的显示窗口显示在显示器56上。
其结果是,当通过应用等程序来利用非激活状态的设备时,仅通过选择不激活的设备就可以激活要使用的设备。因此,对于用户来说,当使用应用等程序时,无需确认通过该程序使用的设备是处于激活状态还是非激活状态,并且也可以不用激活处于非激活状态的设备,因此没有将设备激活的麻烦。
当改变已连设备D1~D10的工作状态时,MPU 52保存显示器56上显示的状态窗口。状态窗口中设有选择器、端口号(Port No.)、装置名称、制造商、消耗电流(mA)、状态等各项目栏,各项目栏的显示信息(机器信息、机器的状态等)存储在存储器53的第一区域53a中。从而,状态窗口的保存就是保存与其中的各项目栏对应的显示信息,MPU 52将状态窗口的信息(即第一区域53a中存储的各种信息)保存到该存储器53的第二区域53b中。
所述状态窗口的保存是为了防止设定中的缺陷而进行的。即,在与主机装置51a连接的多个设备中,当设备的总请求值超过主机装置51a的容许电流值时,被选中的一些设备被激活,其余的设备不被激活。因此,当在应用程序的执行中要使用的设备处于非激活状态时,必需将该设备激活。但是,若使用过的设备仍保持激活状态,则此时设备的设定将与用户想要的设定不符,并有可能导致缺陷。例如,当激活要使用的设备时,若设备的总消耗电流值超过了主机装置51a的容许电流值,则必需将处于激活状态的设备改为非激活,以减少使用电流。从而,若设备被非激活,则在接下来要使用该设备时,由于设定状态已改变而无法使用。而且,用户必需显示状态窗口来改变工作状态,而这会造成很大的麻烦。
图30是在执行应用等程序时的设备控制处理的流程图。
MPU 52首先在步骤610中保存状态窗口,接着在步骤620中比较富余电流值和要使用的设备的请求值,并判断能否对该设备供应电流。
当判断为能够供应电流(富余电流值≥请求值)时,MPU 52通过步骤630在存储器53的第一区域53a内存储的信息中将要使用的设备的状态改变为“Active”。
接着,MPU 52在步骤640中向要使用的设备供应请求值的电流,在步骤650中对该设备进行处理。在所述处理结束后,在步骤660中停止电流的供应,在步骤670中复原状态窗口。
当在步骤620中判断为不能供应电流(富余电流值<请求值)时,MPU 52在步骤680中显示状态窗口。接着,MPU 52在步骤690中等待用户改变状态,并在状态被改变时进入步骤640中。即,通过由用户将不用设备的状态被改为“suspend”,从而确保了富余电流。
另外,当用户改变状态时,也可以对经所述改变后电流是否可以供应进行判断。即,从步骤690进入步骤620。此时,即使由于误操作等而被挂起的设备是错误的,也重复执行步骤620、680、690直到富余电流得以确保为止,因此,能够可靠地确保富余电流。
接着,将从主机装置51a对打印机62执行打印处理的情况作为一个例子进行说明。
如图31所示的状态窗口W11所示,当前,主机装置51a的容许电流为2500mA,富余电流为140mA。MPU 52将该状态窗口W11保存到图29所示的存储器53的第二区域53b中。
接着,MPU 52判断能否供应电流。打印机D2的请求值是100mA。因而,即使向打印机62供应请求值的电流,也由于使用电流为2460mA,从而不会超过容许电流2500mA。因此,MPU 52激活打印机D2,并对该打印机D2实施发送命令等打印处理。在该打印处理结束后,MPU 52复原状态窗口W11。
另一方面,如图32所示的状态窗口W12所示,主机装置51a的容许电流为2500mA,富余电流为90mA。MPU 52将该状态窗口W12保存到图29所示的存储器53的第二区域53b中。
接着,MPU 52判断能否供应电流。打印机D2的请求值是100mA。因而,若向打印机D2供应请求值的电流,则会超过主机装置51a的容许电流,进而会使工作当中的设备的工作不稳定。
因此,MPU 52将显示窗口W12显示到显示器56上,要求操作主机装置51a的用户进行是否使用各设备的判断。这里,用户留意状态窗口W12中显示的容许电流,并操作键盘D1的鼠标,由此来选择在该处理中不使用的扫描仪D5的关闭按钮。
其结果,如图33所示,显示窗口W13被显示到显示器56上。与图32的显示窗口W12相比,在显示窗口W13中,第五通信端口P5(扫描仪D5)的当前值变成了2.5mA,状态显示变成了“suspend”。并且,第二通信端口P2(打印机D2)的当前值变成了100mA,状态显示变成了“Active”。打印机D2是不通过总线供电而通过自己的电源来进行工作的机器,“Active”的状态以蓝色来显示。
使用电流变为2210mA,对于2500容许电流来说,富余电流为290mA。因而,主机装置51a对打印机D2实施发送命令等打印处理。然后,在该打印处理结束后,MPU 52复原状态窗口W12。
本发明第六实施方式的主机装置51a具有以下的优点。
(1)主机装置51a在应用程序的执行中,当使用已连接的多个设备D1~D10并且所述使用的设备处于停止状态时,供应该设备请求的电流量。此时,判断向多个设备供应的电流量的总和值是否由于供应请求量的电流而超过容许电流量。并且在总和值不超过容许电流量时,主机装置51a向设备供应请求量的电流以激活该设备。此时,用户无需激活设备,因此能够不费事且容易地使用设备。此外,由于设备通过程序的执行而被激活,因此相比于由用户激活的时候,到设备被激活的经过时间变短,从而可使完成处理的时间与由用户激活设备的时候相比变短。
(2)当随着设备的使用而供应给多个设备的电流量的总和值超过容许电流量时,主机装置51a在显示器56上显示状态窗口。并且,在确认了状态窗口的用户选择了按钮时,降低给所述选中的设备的供应电流,并向要使用的设备供应请求量的电流。此时,用户只需选择不使用的设备即可,因而能够容易地激活并使用设备而不用费很大工夫。
(3)主机装置51a在改变向已连接的多个设备供应的电流量之前先保存其状态窗口,并在处理结束(使用完设备)之后复原状态窗口。此时,能够在维持用户想要的设备状态的情况下使用处于停止状态的设备,从而可以节省激活设备的工夫。
下面,对将本发明具体化了的第七实施方式进行说明。
图34是第七实施方式中的主机装置51b的简要的电路框图。在第七实施方式中,主机装置51b的结构与图29所示的第六实施方式的主机装置51a相同。而且,如图34所示,USB设备D1~D10分别被连接在主机装置51b所具有的多个通信端口P1~P10上。
存储器53中存储有功能执行标志53c。如图36所示,通过功能执行标志53c,按每个通信端口P1~P10表示出与主机装置51b所具备的通信端口P1~P10连接的设备所具有的工作状态。图中,被显示为“Active”的设备表示正处于工作当中,被显示为“Wait”的设备表示处于停止中。
处于工作当中的设备由于其USB功能也处于工作当中,从而从主机装置51b供应其请求值的电流。停止中的设备包括USB功能处于工作当中(Active)的和USB功能处于停止中(suspend)的设备。即,停止中的设备包括供应其请求值的电流的设备和供应与其工作模式(暂停模式)相对应的小电流(例如,2.5mA)的设备。
与第六实施方式一样,当在应用程序等的执行中使用处于非激活状态的设备时,MPU 52激活该设备。然后,当由于该设备的激活而导致已连接的所有设备的总消耗电流值超过主机装置51a的容许电流值时,MPU 52使一些处于激活状态的设备变为非激活,以使总消耗电流值不超过容许电流值。此时,MPU 52根据状态窗口中显示的信息(设备的状态)和功能执行标志53c来确定需非激活的设备。
详细地说,MPU 52从功能执行标志53c中检索停止状态(Wait)的设备。接着,MPU 52基于状态窗口从处于停止状态的设备之中检索USB功能处于激活状态、即供应有请求值的电流的设备。然后,MPU 52将供应有请求值的电流的设备USB功能改变为停止状态,并降低供应的电流。
因而,在随着应用等程序的执行而使用的设备被自动激活,并且由于所述的激活,主机装置51向设备供应的电流超过容许电流时,此时不使用的设备自动变为停止状态,从而确保了富余电流。从而,能够在无需为激活设备而费工夫的情况下,防止***整体的工作变得不稳定。
当存在多个处于停止状态且其USB功能处于激活状态的设备时,MPU 52将所存在的所有设备变更为“suspend”。由此,可靠地确保富余电流,从而在短时间内开始进行对要使用的设备的处理。将处于停止状态的所有设备变更为“suspend”的原因在于,当即使将多个设备中的某些设备变更为“suspend”,富余电流值也不超过要使用的设备的请求消耗电流值时,必需进一步将设备变更为“suspend”,而这会延迟处理的开始。
而且,在预定的工作结束之后,MPU 52将使用过的设备变更为停止状态。设备的工作通过主机装置51向设备进行询问而结束。详细地说,MPU 52为了确认设备的工作状态而通过主控制器54以预定间隔向设备发布请求命令。设备作为其答复,发送响应命令。MPU 52根据接收的响应命令,确认该设备的工作状态。在该第七实施方式中,工作状态有电源自动下降状态、命令结束状态、以及功能正处于工作当中。另外,也可以包括其他工作状态。
向设备发布的请求命令和由设备发送的响应命令,根据所述设备类型的不同而不同。例如,当为可移动磁盘装置的情况下,将“TEST UNITREADY命令”用作请求命令。主机装置51b发布上述命令,而设备则针对此命令回复是否为“READY状态”。可移动磁盘装置在设置了记录介质的情况下回复“READY状态”,而在没有设置记录介质的情况下则回复“NOT READY状态”。因此,当基于接收到的状态,可移动磁盘装置处于“NOT READY状态”时,由于不是可用状态,主机装置51b将功能执行标志设定为停止中。请求命令也可以使用诸如“READ SECTOR命令”或“WRITE SECTOR命令”那样的用于对记录介质进行访问的命令,主机装置51b在结束数据传输之后读取状态寄存器的内容,并且若没有发现问题,就将功能执行标志设定为停止中。当使用用于访问的命令时,由于只在进行所述访问时供应请求值的电流,因而能够降低消耗电流。
当设备处于工作当中时,MPU 52将功能执行标志设定为工作当中(Active),而在其余情况下将功能执行标志设定为停止状态(Wait)。
此外,当变更设备的状态时,与第六实施方式一样,MPU 52进行状态窗口的保存和复原。由此,可以防止处理结束后设备仍保持非激活的用户不希望的状态,从而能够省去用户将设备激活的麻烦。
图35是执行应用等程序时的设备控制处理的流程图。在该流程图中,步骤710~770是与第六实施方式中的图30所示的步骤610~670实质上相同的处理。
当在步骤720中判断出不能供应电流(富余电流值<请求值)时,MPU 52在步骤780中基于功能执行标志检测非执行中的设备。接着,MPU 52在步骤790中使非执行中的设备变为非激活。即,主机装置51b将不使用的设备的状态变更为“suspend”,从而确保富余电流。然后,MPU 52在步骤800中将要使用的设备变更为“Active”,进入步骤740中。
本发明第七实施方式的主机装置51b具有以下的优点。
(1)主机装置51b具有功能执行标志53c,该功能执行标志53c用于与每个通信端口P1~P10相关联地示出通信端口P1~P10上连接的设备所具有的工作状态。当通过应用程序等的执行而将处于非激活状态的设备激活,并由此导致所连接的所有设备的总消耗电流值超过主机装置51a的容许电流值时,基于功能执行标志53c将一些处于激活状态的设备变为非激活,以使总消耗电流值不超过容许电流值。在此情况下,当随着应用等程序的执行,要使用的设备自动被激活,并由于该激活而主机装置51向设备供应的电流超过容许电流时,此时不使用的设备自动被变更为停止状态,从而确保了富余电流。从而,能够在无需为激活设备而费工夫的情况下,防止***整体的工作变得不稳定。
以下说明将本发明具体化了的第八实施方式。
在第八实施方式中,主机装置的结构与图34所示的第七实施方式的相同。此外,第八实施方式的主机装置51b具有将停止中的设备的功能执行标志变更为OFF,并使功能执行标志为OFF的设备的USB功能的功能变为非激活、即将状态变更为“suspend”的功能。
从而,结束工作的设备的功能执行标志被设为OFF。进而,USB功能被非激活,随之从主机装置51b提供给设备的电流被减小。
此外,与第七实施方式一样,当通过应用程序等的执行而使用处于非激活状态的设备时,该第八实施方式的主机装置51b激活该设备。此时,如上述结束工作的设备被非激活,并对其供应可进行最低程度的通信(设备复位或者数据信号的接收)的电流(例如2.5mA)。即,对不使用的设备不供应多余的电流。因此,大多时候,主机装置51b此时的使用电流量比容许电流量小,具有充足的请求电流量。从而,主机装置51b激活要使用的设备的USB功能,即将状态窗口的状态变更为“Active”,供应所请求的电流。
另一方面,当由于所述设备的激活而导致所连接的所有设备的总消耗电流值超过容许电流值时,需要使一些设备变为非激活来确保供应的电流量。但是,如上述结束工作的设备被非激活,并且对其只供应可进行最低程度的通信的电流。因此,无法如第七实施方式那样,由主机装置51b通过使设备变为非激活来确保供应电流量。
因此,主机装置51b在作为显示装置的显示器56上显示状态窗口,将电流的供应状况通知给用户。而且,主机装置51b在显示器56上显示警告窗口,要求操作主机装置51的用户进行是否继续处理等的判断。
如图39所示,警告窗口W21显示警告消息和多个(在图39中为三个)选项。在本实施方式中,第一选项是停止当前的工作,第二选项是停止第一选项以外的工作,第三选项是进行等待直到电力充足为止。
用户操作键盘61的鼠标,选择三个选项中的一个。当用户选择了第一选项时,主机装置51b停止当前要执行的操作。例如,当通过执行应用等程序来使用打印机62进行打印时,停止对于该打印机62的工作,即打印处理。
当用户选择了第二选项时,用户进一步操作键盘61的鼠标,从而在留意状态窗口中显示的容许电流的情况下,选择连接了可以停止工作的设备的通信端口的选择器(ON/OFF)。主机装置51b减少供应给选中的通信端口的电流量,并使连接在该通信端口上的设备的USB功能变为非激活。由此,可确保充足的富余电流量,以用于供应通过此时的工作而使用的设备所请求的电流,主机装置51b向要使用的设备供应请求量的电流,激活该设备的USB功能。
当用户选择了第三选项时,装置51b进行等待直到电力充足为止,就是说等待其他设备停止。当前功能执行标志处于ON状态的设备随着其工作结束,其功能执行标志变为OFF,并且USB功能被非激活。随着该非激活,从主机装置51b向该设备供应的电流量变少,富余电流量增加。从而,主机装置51b通过停止除要激活的设备以外的设备并使其非激活,待机至富余电流量变得比要激活的设备的请求值大为止。
此时,主机装置51b每隔预定时间对富余电流量和要激活的设备的请求值进行比较,等待该富余电流量变得请求值大。然后,一旦富余电流量大于请求值,主机装置51b就向要使用的设备供应请求量的电流,激活该设备的USB功能。
图37、38是执行应用等程序时的设备控制处理的流程图。
MPU 52首先在步骤810中比较富余电流量和要使用的设备的请求值,并判断能够向该设备供应电流。
当判断为能够供应电流(富余电流值≥请求值)时,MPU 52通过步骤820在存储器53的第一区域53a内存储的信息中将要使用的设备的状态改变为“Active”。接着,MPU 52在步骤830中将功能执行标志变更为ON。MPU 52在步骤840中向要使用的设备供应请求值的电流。
然后,MPU 52对该设备进行处理。通过从主机装置51b向设备供应请求值的电流,设备的USB功能被激活,从而设备响应于从主机装置51b根据处理发送来的数据而工作。一旦该工作结束,就将停止中的设备的功能执行标志变更为OFF,并使功能执行标志为OFF的设备的USB功能的功能变为非激活。由于使该设备变为非激活的处理与由主机装置51b执行的应用等程序的执行无关地进行,所以主机装置51b不用等待由所述设备执行的处理的结束,就可以执行下一个处理。
另一方面,当在步骤810中判断为不能供应电流时,MPU 52在步骤850中显示警告窗口W21,并在步骤860中显示状态窗口。然后,MPU 52在步骤870中等待用户至少向警告窗口W21和显示状态窗口中的一个窗口进行输入。
这是由于在所述第八实施方式中的警告窗口W12中包含需要向状态窗口进行输入的选项(第二选项)的缘故。因此,也可以适当改变这些步骤850~870的处理和顺序。例如,也可以显示警告窗口,并等待对该窗口的输入,然后根据需要显示状态窗口。
接着,在步骤880中,MPU 52判断步骤870中的输入是否为“停止工作”,并且在“停止工作”的情况下,结束对相应设备的处理。例如,当在应用程序的执行过程中进行打印时,使用打印机62(参考图29)。此外,由于没有使用打印机62所需的充足的富余电流,从而在步骤870中选择了停止工作时,MPU 52中断使用该打印机62的处理,重新开始应用程序的执行。
当在步骤880中判断出输入不是“停止工作”时,MPU 52在步骤890中判断状态窗口内的工作是否已被停止。通过选择器的切换来判断所述停止。即,MPU 52判定状态窗口中显示的选择器栏的按钮是否被切换,并且在已被切换时进入图37所示的步骤820中,执行该步骤820及其以后的处理。此外,也可以是当选择器栏的按钮被切换时判断为能够供电,即进入步骤810中。
当在步骤890中判断出输入是不进行状态窗口内的工作的停止、即在该第八实施方式中选择了“等待至电力充足为止”时,MPU 52进行等待,直到能够供电为止。即,MPU 52在步骤900中等待经过预定时间,然后在步骤910中基于富余电流量来判断能否供电。此外,当能够供电时,MPU 52进入步骤900中。即,重复执行步骤900和步骤910,等待变为能够供电。
在步骤910中,当判断为能够供电时,MPU 52进入图37所示的步骤820中,执行该步骤820及其以后的处理。
本发明第八实施方式的主机装置51b具有以下的优点。
(1)主机装置51b将停止中的设备的功能执行标志变更为OFF,并使功能执行标志为OFF的设备的USB功能的功能变为非激活。此时,结束工作的设备的功能执行标志变为OFF。进而,设备的USB功能被非激活,因此随之从主机装置51b供应来的电流被减少,从而能够降低消耗电流。
(2)主机装置51b在作为显示装置的显示器56上显示状态窗口,向用户通知电流的供应状况。而且,主机装置51b在显示器56上显示警告窗口,要求操作主机装置51b的用户进行是否继续处理等的判断。当用户选择了继续处理时,主机装置51b进行待机,直到电流的供应成为可能,因此可在不费工夫的情况下继续处理。当用户选择了中止处理时,中断使用设备的处理,因此可以执行其他处理。
上述实施方式也可以如下变更。
·在第一实施方式中,主机装置11为了询问各个设备21~23的供应电流的变更,使用了配置描述符的最大消耗电流字段,但并不仅限于此。也可以通过使用配置描述符以外的描述符的字段,或者设定新的描述符或字段并使用该新字段,来进行用于变更供应电流的协商。
·在第一实施方式中,由作为控制电路的MPU 12执行图2的处理,但也可以在主控制器14上设置用于执行图2的处理的控制部。此外,在第二至第四实施方式中,由MPU 33执行图11、图13以及图14的处理,但也可以由设置于USB控制器35中的控制部执行这些处理。通过这样,可以减轻MPU 12、33的处理负担,从而有利于实用。
·也可以在图9的设备31中设置用于切换内部电路的消耗电流的等级开关(用于设定数据的读取或写入速度的开关)。此时,与第三实施方式相同,根据等级开关的设定值来变更寄存器36a中存储的消耗电流,并在所述变更后,通过开关单元42的切换工作来使设备31暂时变为切断状态。由此,可使设备31在与等级开关的设定值对应的适当的供应电流下工作。
·也可以将第二至第四实施方式中的开关单元42(参考图10)置换为图28所示的开关单元42A。即,图28的等级开关42A包括多个开关元件(MOS晶体管)Tr1、Tr2、Tr3,并通过控制各个开关元件Tr1、Tr2、Tr3来使主机装置41识别设备31的切断。具体来说,在全速(FullSpeed)工作的设备31中,通过来自MPU 33的控制信号S1,开关元件Tr1被关断,从而传递通信数据的信号线D+、D-的上拉电阻被切断。由此,信号线D+、D-变为被称为“SE0”的状态,因而可使主机装置41识别设备31被切断。此外,在高速(High Speed)工作的设备31中,通过来自MPU 33的控制信号S2、S3,开关元件Tr2、Tr3被关断,从而传递通信数据的信号线D+、D-变为高阻抗状态。由此,信号线D+、D-的电压水平超过USB标准的断开电压值(例如,625mV),因而可使主机装置41识别出设备31被切断。
·也可以省略第一实施方式的主机装置11中的电流监视电路16和开关电路25。此外,也可以省略第五实施方式的主机装置51中的限制器58。此时,在装置11、51中可以降低所省略的各电路16、25、58那部分的成本。
·在第二和第四实施方式的设备31中,在电源控制器36上设置了用于切断电流通路的开关电路36b,并在设备31不被识别时(图11的步骤270)通过关断开关电路36b来切断设备31的电源。与此相对,在不设置用于切断电流通路的开关电路36b的设备中,在图11的步骤270中将内部电路的消耗电流设为最小限度的电流,并将所述工作模式设定为待机模式。通过这样也可以防止设备上的多余的电流消耗。
·各实施方式被具体化为将主机装置11、41、51和设备21~23、31、43、61~67、71~73通过USB接口进行连接的通信***,但也可以具体化为通过USB接口以外的其他接口进行连接的通信***。
·在上述第六或第七实施方式中,也可以进行状态的保存。
·在第七实施方式中,也可以预先设定基于功能执行标志来削减供应电流的设备的顺序。即,也可以是具有记录了削减供应电流的顺序的列表的结构。可将该顺序适当地设定为如下:由用户设定的顺序;设定为从使用频率低的开始削减供应电流的顺序;设定为从使用设备的优先次序低的开始削减供应电流的顺序等。
·在第七实施方式中,不仅在由于程序的执行等而暂时使使用过的设备变为非激活时将设备的USB功能变更为停止状态,还可以在设备与主机装置连接的期间,判断该设备是否处于工作当中来将停止中的设备的USB功能变更为停止状态。此时,由于处于停止状态的设备的电流供应自动被停止,所以可降低***整体的功耗。
在第七、第八实施方式中,也可以由设备每隔预定时间间隔通知工作状态(电源自动下降状态、命令结束状态、功能工作当中)。此时,由于没有必要由主机装置对设备发布请求命令,因而对于主机装置中的通常处理,可减少***开销,从而可谋求处理的高速化。
·在第八实施方式中,也可以适当变更警告窗口W12的内容和对其的的处理。例如,当没有向要使用的设备供应电流的富余时,也可以进行等待直到电流供应变为可能,并在窗口中显示进行待机和请求判断是否中断处理。