WO2013111507A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
WO2013111507A1
WO2013111507A1 PCT/JP2012/084043 JP2012084043W WO2013111507A1 WO 2013111507 A1 WO2013111507 A1 WO 2013111507A1 JP 2012084043 W JP2012084043 W JP 2012084043W WO 2013111507 A1 WO2013111507 A1 WO 2013111507A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
control
external device
pipe
communication
Prior art date
Application number
PCT/JP2012/084043
Other languages
English (en)
French (fr)
Inventor
規広 山本
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2013111507A1 publication Critical patent/WO2013111507A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a control device, and more particularly to a control device that controls an external device connected by an interface corresponding to USB (Universal Serial Bus) 3.0.
  • USB Universal Serial Bus
  • USB 2.0 In the USB 2.0 standard specification, one data communication path is supported for each transmission and reception as two-way communication using a certain type of P2P. Therefore, in USB 2.0, when a pipe is set as a logical communication line, processing such as acquiring data with a reception pipe is possible when data is transmitted from the host side using a transmission pipe. However, when the reception pipe is used for simultaneous processing, it is necessary to perform work such as time division processing. The same applies to the case where data is transmitted using a transmission pipe while data is being received using the reception pipe.
  • USB 2.0 In the standard up to USB 2.0, it is unsuitable to process a plurality of processes, for example, a data transmission / reception communication related to a plurality of tasks and a plurality of processes, using a USB transmission / reception pipe.
  • a data transmission / reception communication related to a plurality of tasks and a plurality of processes
  • a USB transmission / reception pipe For example, it is possible to perform data communication independently of USB 1.1 and USB 2.0 by performing a work such as by incorporating a USB hub system, but in this case, the transfer speed is reduced. Not practical.
  • USB 2.0 defines the bus power in the standard, that is, power supply from the host bus adapter, but the bus power specified by USB 2.0 has a maximum current of 100 mA for a low power device and a high power. 500 mA for the device. In the case of this level of bus power, even if power is supplied from the host device side to the external device, there is a case where power is insufficient as a result, and communication is performed while covering the insufficient power by connecting the external power supply to the external device. Many.
  • USB 3.0 which has backward compatibility with USB 2.0, has been standardized.
  • USB 2.0 a high-speed (480 Mbps) high-speed communication mode is added to the low-speed (1.5 Mbps) and full-speed (12 Mbps) communication modes of USB 1.1 through two data communication paths.
  • USB 3.0 four data communication paths with one pair of transmission signal lines and one pair of reception signal lines are added to support a super-speed communication mode of up to 4.8 Gbps. 10 times the communication speed can be obtained.
  • USB 3.0 the maximum current is raised to 900 mA as standard bus power, so the number of devices that can be power managed can be increased, and power supply from the host device to multiple devices is expected. There is a background.
  • Patent Document 1 discloses a socket structure capable of bidirectional electrical connection. According to this socket structure, the connector is inserted in both the forward direction and the opposite direction so that electrical connection is possible. Therefore, it is said that a socket structure capable of bidirectional electrical connection that is easy to use is provided.
  • Patent Document 2 discloses a USB hub device for notifying a timing at which the internal connection state of a hub device corresponding to USB version 3.0 can be changed.
  • This USB hub device is a USB hub device that supports USB 3.0 and includes a plurality of upstream ports, a plurality of downstream ports, a controller, and a notification circuit.
  • the controller controls the logical connection state between the plurality of upstream ports and the plurality of downstream ports, and changes the logical connection state by a port selection signal given from the outside.
  • Patent Document 3 discloses a connector that can prevent signal interference and can prevent crosstalk due to countercurrent.
  • this connector by forming a groove in the cover member between the two pairs of signal transmission terminals, it is possible to prevent crosstalk due to countercurrent in the cover members of the two pairs of signal transmission terminals. .
  • Patent Document 4 discloses a serial bus device for achieving a high transfer rate corresponding to USB 3.0 super speed data communication.
  • the serial bus device includes a processing device and a differential clock compensator coupled to the processing device.
  • the processing device generates a packet.
  • the differential clock compensator determines whether to send at least one skip ordered set to the link partner prior to the packet according to the type of packet to compensate for the differential clock for the link partner. This prevents data overflow or data underflow when data packets are sent to the receiving link partner, and the difference between the sending link partner and the receiving link partner. Compensation of the clock is said to increase the transmission efficiency between the two link partners.
  • the transmission / reception pipe supports only two signal lines, D + and D ⁇ , so if the host device wants to communicate with multiple external devices via USB, As long as the task or process used in the device does not release the USB pipe, it becomes a standby state and communication is impossible, so there is a problem that communication cannot be performed at an optimum data transfer rate.
  • bus power defined by USB 2.0
  • USB 2.0 even if power is supplied from the host device side to the external device, as a result, power is insufficient and an external power source is connected to the external device.
  • communication is performed while covering the shortage of electricity. It is required to supply power simultaneously with communication with sufficient bus power.
  • Patent Document 1 establishes a socket for continuously performing bidirectional communication by the mechanism of USB 3.0, and does not perform a plurality of communications simultaneously.
  • the mechanism of the USB 3.0 hub device is merely a notification of switching between the high-speed USB 2.0 and the super-speed USB 3.0 transmission / reception pipe.
  • the invention of Patent Document 3 merely discloses a connector that blocks signal interference between USB 2.0 and USB 3.0 in hardware.
  • the serial bus device disclosed in Patent Document 4 performs communication at a super speed by arbitrating and adding a packet frame necessary for USB 3.0 communication to communication with a device not supporting USB 3.0. Corresponding to is the main effect.
  • the present invention has been made in view of the above circumstances, and when communicating data with a connected external device through an interface based on the USB standard, the availability of pipes and the priority of software control Based on the above, the optimum data transfer speed is automatically set to reduce the waiting state for communication with multiple connected external devices, and sufficient power supply is also provided at this time to improve communication performance.
  • An object of the present invention is to provide a control device to be realized.
  • the first technical means of the present invention includes a connection unit that connects to an external device through an interface capable of data communication corresponding to USB, and software that performs control for the external device.
  • a control unit that executes a function, and the control unit performs data communication based on USB with the external device to be controlled when the function of the software is executed.
  • the control unit prioritizes pipes corresponding to USB 3.0 for high-priority control based on the priority of control to be executed by the software when performing data communication with an external device. It is characterized in that data communication is performed by allocating to.
  • the control unit when a plurality of external devices are connected to the control device, the control unit is an external device to which the software is going to execute while all the pipes are in use.
  • the control unit When control of the device is in a standby state, when a vacancy occurs in any of the pipes, the control with the higher priority is assigned to the pipe in which the vacancy occurs from among the controls in the standby state. It is characterized by.
  • the control unit when the control unit is in use, and the control of the external device to be executed by the software is in a standby state,
  • an external device to be controlled in the standby state control corresponds to the USB 3.0 based on the device information of the external device acquired in advance. If the external device to be controlled is compatible with USB 3.0, the high-priority control is assigned to the empty device from the standby state control. It is characterized in that it is assigned to a pipe corresponding to the generated USB 3.0.
  • the control device has a vacant pipe corresponding to USB 3.0 and a pipe compatible with USB 2.0, and a plurality of controls to be executed by the software. If each of the external devices to be controlled by the plurality of controls is compatible with USB 3.0, the high priority control is sequentially assigned to a pipe corresponding to USB 3.0, and USB 3.0 In the state where all the pipes corresponding to the above are used, when the control to be executed by the software remains, the remaining control is assigned to the pipe corresponding to the USB 2.0.
  • the control device when the control device performs data communication by assigning a pipe compatible with USB 2.0 to an external device compatible with USB 3.0, When there is a vacancy in a pipe corresponding to USB 3.0, data communication is performed by switching from a pipe corresponding to USB 2.0 to a pipe compatible with USB 3.0.
  • the sixth technical means is any one of the second to fifth technical means, when all of the pipes are in use and control of an external device to be executed by the software is in a standby state.
  • a standby buffer that holds communication data used for control that is in a standby state, separately from a memory buffer that is used for data transmission / reception so that data communication can be started immediately when such a pipe becomes empty It is characterized by comprising.
  • control unit performs the data communication based on the priority during a data communication process with the external device. Power is supplied to the external device.
  • an optimum data transfer speed is determined based on the availability of pipes and the priority of software control.
  • FIG. 4 is a flowchart for explaining an example of processing in the control device according to the present invention, and is a diagram following FIG. 3.
  • FIG. 1 is a diagram showing an example of a system to which a control device according to the present invention is applied.
  • FIG. 1 shows an example of a system configuration when the present invention is applied to an image forming apparatus that forms (prints) image data on recording paper or the like. It is.
  • a PC (Personal Computer) 2 is a device that issues a print request to the image forming apparatus 1.
  • the printer driver 4 generates print data including image data and control commands in accordance with a user operation or the like and transmits the print data to the image forming apparatus 1. To do.
  • the image forming apparatus 1 includes a controller unit 10 and a print execution unit 20.
  • the controller unit 10 performs main control of the entire image forming apparatus such as a process of receiving a print request from the PC 2 and issuing a print instruction to the print execution unit 20.
  • the controller unit 10 includes an I / F 11 with the PC 2, a CPU 12, a memory 13 such as a RAM or a ROM, and a USB I / F 14 for communicating with the print execution unit 20.
  • the USB I / F 14 is an I / F for performing communication between the controller unit 10 and the print execution unit 20 in a communication mode corresponding to USB.
  • the I / F 11 is a part that receives print data transmitted from the PC 2.
  • the print data can be generated based on an image read from a document image reading device (scanner unit) (not shown) or an image read from a portable recording medium.
  • the CPU 12 performs predetermined image processing on the image data included in the print data to generate bitmap data, interprets the control command included in the print data, and instructs the print execution unit 20 to perform appropriate print processing.
  • the memory 13 includes a ROM that records software executed by the CPU 12 and software such as services and middleware, and a RAM that temporarily stores print data, image data after each process, and the like.
  • the print execution unit 20 corresponds to a print engine, and includes a CPU 21, a USB I / F 22 that constitutes a communication interface with the controller unit 10, a memory 23 such as a ROM and a RAM, and various external devices connected externally.
  • a USB I / F 24 that performs communication based on USB is provided.
  • the printing execution unit 20 has functions of a printing mechanism and a mechanical controller, and the printing mechanism has a photosensitive drum, a charging unit, an exposure unit, a developing device, a transfer unit, and the like (not shown). Then, image formation of image data is performed.
  • a plurality of external devices 3 can be connected to the image forming apparatus 1.
  • the external device 3 for example, a finisher that performs processing such as edge stitching, saddle stitching, punch punching, etc., on the recording paper image-formed by the image forming device, and image forming processing of the image forming device 1 are charged.
  • a coin rack or the like for performing is applied.
  • the external device 3 and the USB I / F 24 of the print execution unit 20 are connected by a data communication path corresponding to USB.
  • the USB I / F 24 connects the external device 3 that is a USB device simultaneously with a plurality of ports, and the CPU 21 performs hub (hub) control based on the USB standard to perform data communication with each external device 3.
  • the image forming apparatus 1 functions as a USB host, and can individually control the external device 3 that is a hub device.
  • power is supplied to the external device 3 from the port of the USB I / F 24.
  • the control device has a connection unit that connects to an external device through an interface capable of data communication corresponding to USB, and a control unit that executes a function of software that performs control for the external device, When the control unit executes a software function, data communication based on USB is performed with an external device to be controlled.
  • the control device applied to the image forming apparatus 1 includes a connection unit to the external device 3 by the USB I / F 24, and a control unit that performs control for the external device by the controller unit 10 and the print execution unit 20. Composed.
  • the controller unit 10 and the print execution unit 20 execute software functions such as application and service middleware, and tasks, processes, threads, and the like executed by the software control a specific external device 3, image formation is performed. Data communication is executed with the target external device 3 by the hub control of the device 1.
  • FIG. 2 is a diagram illustrating a configuration example of the hardware and software architecture of the main part of the control device of the present invention.
  • the control device of this example includes a controller unit 30 and an engine / mechanical controller (mechanism controller) unit 40.
  • the controller unit 30 corresponds to the controller unit 10 having the configuration shown in FIG. 1
  • the engine / mechanical control unit 40 corresponds to the print execution unit 20 having the configuration shown in FIG.
  • the architecture of the controller unit 30 manages the application / service middleware layer 31 based on various applications and services / middleware, the driver layer 32 based on device drivers that are system software, and the exchange of hardware such as CPU and CPU and software components. And the kernel 33 to be executed.
  • the driver layer 32 has a driver corresponding to USB 3.0, and has a function of performing communication control corresponding to USB 3.0 and USB 2.0, and power management based on USB 3.0.
  • the architecture of the engine / mechanical control unit 40 also includes an application / service middleware layer 41 based on various applications and services / middleware, a driver layer 42 based on device drivers that are system software, and hardware and software such as CPU and CPU. It consists of a kernel 43 that manages interaction with components.
  • the application / service / middleware layer 41 of the engine / mechanical control unit 40 includes, for example, motor control of the external device 3, various process controls, finisher / option control, color control, and the like according to the function of the connected external device 3. Various tasks, processes, threads, and the like that are controlled by a specific external device are executed.
  • the driver layer 42 has a driver corresponding to USB 3.0, and functions to perform communication control corresponding to USB 3.0 and USB 2.0, hub system control of USB 3.0, and power management based on USB 3.0. Have
  • the controller unit 30 and the engine / mechanical control unit 40 are connected by a data communication path 61 corresponding to USB.
  • the engine / mechanical control unit 40 is connected to a plurality of external devices 3 through a data communication path 71 corresponding to USB. These are configured by physical communication lines compatible with USB.
  • Power is supplied 62 from the controller unit 30 to the engine / mechanical control unit 40 and power is supplied 72 from the engine / mechanical control unit 40 to the external device 3 through a physical communication line. In this case, when the engine / mechanical control unit 40 obtains electric power directly from the power source, the electric power can be supplied to the external device 3.
  • connection of the external device 3 is recognized by the driver layer 42 of the engine / mechanical control unit 40 by plug and play when a physical communication line such as a USB cable is connected.
  • a pipe for communication of software such as an application and a device driver is set.
  • Data communication with the external device 3 is performed through the communication path, and the external device 3 is controlled.
  • a pipe is set in a data communication path with a specific external device 3 by USB Hub control by the driver layer 42 of the engine / mechanical control unit 40, and data communication is performed.
  • USB 3.0 in addition to the high-speed (480 Mbps) high-speed communication mode of USB 2.0 using two data communication paths, the super-speed (4.8 Gbps) of four additional data communication paths is also provided.
  • High-speed communication mode can be executed. Since data communication is performed using two data signal lines, IN and OUT, unless one is crafted such as time-division transfer, it basically uses one logical connection at high speed and two at super speed. Pipe is set.
  • ⁇ Logical communication in USB is represented by the concept of endpoints and pipes.
  • a FIFO (First In First First Out) buffer is prepared as an endpoint on the external device 3 side which is a USB device. It becomes an entity.
  • a buffer is also prepared on the engine / mechanical control unit 40 side which is a host, and both buffers are connected by a pipe to transmit / receive data.
  • a pipe is set with each external device 3 by hub control. At this time, when data communication is performed with a pipe set with a specific external device 3, one of two super speed pipes that can be used with USB 3.0 and one high speed pipe is used. . When the pipe is used, the other communication enters a standby state due to the exclusive control, and waits for the pipe to become free.
  • the kernel 43 of the engine / mechanical control unit 40 priorities of tasks, processes, threads and the like executed by applications, services, and middleware are determined at that time, and the engine / mechanical control unit 40
  • the driver layer 42 controls USB 3.0 and 2.0 pipe setting and switching.
  • the engine / mechanical control unit 40 determines an external device for communication and a pipe to be used according to the priority of tasks, processes, threads, etc. executed by applications, services, and middleware.
  • the engine / mechanical control unit 40 determines an external device for communication and a pipe to be used according to the priority of tasks, processes, threads, etc. executed by applications, services, and middleware.
  • the control that the application or service middleware tries to execute is in a standby state
  • any pipe is vacant, from the control of the standby state, Allocate the one with the higher priority to the pipe where the empty space has occurred.
  • a super speed pipe corresponding to USB 3.0 when a super speed pipe corresponding to USB 3.0 is vacant, it is controlled by a task, process, thread, etc. in a standby state based on device information of an external device acquired in advance. It is determined whether the external device is compatible with USB 3.0. If the external device is compatible with USB 3.0, a high-priority pipe is assigned to a super-speed pipe that has a free space among tasks, processes, threads, and the like in a standby state.
  • the engine / mechanical control unit 40 has a space for a super speed pipe corresponding to USB 3.0 and a high speed pipe corresponding to USB 2.0, and there is a plurality of control of waiting tasks, processes, threads, and the like. If each of the external devices to be controlled is compatible with USB 3.0, high priority control is sequentially assigned to the super speed pipe. If all the super speed pipes are used and the standby control remains, the control is assigned to the high speed pipe.
  • the engine / mechanical control unit 40 when high-speed pipes are allocated to an external device compatible with USB 3.0 and data communication is performed, if a space occurs in the super-speed pipe, the high-speed pipe The data communication can be performed by switching to a pipe corresponding to the super speed.
  • control device changes the pipe state by the driver when control of tasks, processes, threads, and the like is executed by software functions such as applications, services, and middleware that operate on the system. Monitoring is performed so that the data communication can be performed with the best communication speed corresponding to the priority of the control with respect to the external device to be controlled by the software.
  • USB 2.0 Since the conventional data communication path corresponding to USB 2.0 has only two data communication paths and only supports a high speed communication speed, it is considered that a large number of communication standby states occur.
  • USB 3.0 even if several pipes are used in the background, communication can be performed with an empty pipe, and tasks, processes, threads, and the like that are in a standby state can be reduced. .
  • optimal communication processing according to the priority can be performed.
  • the engine / mechanical control unit 40 of the control device can supply bus power to the external device 3 that performs data communication during processing of data communication with the external device 3.
  • USB 3.0 can supply bus power with a standard maximum current of 900 mA.
  • the engine / mechanical control unit 40 can allocate power supply according to the priority of tasks, processes, threads, and the like by applications, services, and middleware.
  • the engine / mechanical control unit 40 performs communication by assigning a pipe according to the priority of a task, process, thread, or the like to be executed.
  • power can be preferentially supplied.
  • the path power may be distributed and supplied according to a predetermined distribution condition according to the priority of control of tasks, processes, threads, and the like.
  • control device until the data communication with the external device 3 is finished and the pipe is vacant, data communication by other control is in a standby state by exclusive control. Therefore, in the embodiment according to the present invention, when all the pipes are in use and the control of the external device 3 to be executed by software such as an application or service middleware is in a standby state, it is used for data transmission / reception.
  • a standby buffer for holding communication data used for control in a standby state is provided. As a result, when any of the pipes in use is vacant, the control communication can be started immediately by the communication data held in the standby buffer.
  • control device 3 and 4 are flowcharts for explaining an example of processing in the control device according to the present invention.
  • the control device has, for example, the configuration shown in FIG. 2 and connects a plurality of external devices 3 that are USB devices that perform communication corresponding to USB.
  • the controller 30 and the engine / mechanical controller 40 of the control device recognize the connected external device by plug and play and perform a device search (step S1).
  • the controller unit 30 and the engine / mechanical control unit 40 of the control device associate the external device 3 recognized by each system control with the priority of software tasks, processes, threads, etc. that use the external device 3.
  • the software to be linked is related to an activated application or service middleware.
  • the controller unit 30 and the engine / mechanical control unit 40 monitor the priorities of the associated tasks, processes, threads, and the like (step S3).
  • the controller unit 30 and the engine / mechanical control unit 40 check the pipe for communicating with the external device 3 to determine whether there is a vacant state or in the Busy state (step S4). . If there is no vacancy (No), the process waits until an available pipe is available. Specifically, it waits until two super-speed pipes of USB 3.0 or one high-speed pipe of USB 2.0 are free.
  • step S4 it is determined whether the empty pipe is a super speed pipe based on USB 3.0 (step S5). If the vacant pipe is not a USB 3.0 super speed but a USB 2.0 high speed pipe, communication is performed using the high speed pipe regardless of the USB version of the external device 3 (step S6). . When the use of the pipe ends (step S7-Yes), the communication ends (step S8).
  • step S5 if the vacant pipe is a USB 3.0 super speed pipe, the USB of the external device 3 targeted by the task, process or thread to be executed by the application or service middleware of the control device. The version is confirmed (step S9). Then, the processing of steps S10 to S11 is performed for the external device 3 compatible with USB 2.0, and the processing of steps S12 to S23 is performed for the external device 3 compatible with USB 3.0. Do.
  • the control device from the device information included in the frame of the USB data obtained by the communication with each external device 3, whether the external device 3 can communicate with USB3.0, or communicate with USB2.0. Check if it is a device to perform.
  • step S6 when the external device 3 to be communicated in step S6 is a USB 2.0 specification device, communication is performed using a high-speed pipe based on USB 2.0 (step S10). When the use of the pipe ends (step S11-Yes), the communication ends (step S8).
  • step S6 communication is performed at the super speed of USB 3.0. If there are a plurality of external devices 3 compatible with USB 3.0, the priority of the application or service / middleware process or task desired to communicate with the external device 3 is checked, and pipes are assigned according to the priority ( Step S12). Therefore, if there are a plurality of tasks, processes, threads, etc., the following processes in steps S21 to S23 or steps S13 to S20 are executed according to their priorities.
  • the external device 3 having a high priority such as a task, process, and thread, that is, the external device 3 that wants to communicate immediately, is based on USB 3.0 so that communication can be performed at a high performance super speed.
  • a super speed pipe is allocated (step S21).
  • two pipes can be configured by two transmission data communication paths and two reception data communication paths.
  • a super-speed pipe is connected to the external device 3 that is controlled by the top two tasks, processes, threads, etc. having the highest priority. Can be assigned.
  • control device performs necessary data communication with the external device 3 to which the super speed pipe is assigned (step S22), and when the use of the pipe ends (step S23-Yes), the communication ends. (Step S8).
  • step S7 communication is performed at a high speed of USB 2.0 with respect to the external device 3 subject to control with a low priority of the task, process, or thread if there is no USB 3.0 pipe available.
  • the external device to which the high-speed pipe of USB 2.0 is assigned even though it corresponds to USB 3.0 is the external device having the third or lower priority at that time.
  • the monitoring system is notified of the necessary pipes at the super speed (step S13).
  • the monitoring system is operated by the controller unit 30 and the engine / mechanical control unit 40.
  • high-speed communication of USB 2.0 is started (step S14).
  • the monitoring system monitors whether or not there is a vacancy in the super speed pipe during high-speed communication, and determines whether or not there is a vacancy (step S15).
  • step S15-No If there is no space in the super speed pipe (step S15-No), the high speed communication is continued. If the use of the pipe is finished (step S19-Yes), the communication is finished (step S23). If there is a vacancy in the super speed pipe (step S15-Yes), the external device 3 communicating with the high speed pipe is in the middle of communication, so the USB 3.0 super speed communication mode is entered from the middle. It is confirmed whether the application or service middleware can be switched (step S16). If switching is possible, communication is performed by switching from a high speed pipe to a super speed pipe (step S17).
  • the external device 3 that performs communication at the super speed due to such a high-priority task terminates the communication and releases the transmission / reception pipe
  • the other external device 3 is connected to the USB 2.0 high speed.
  • a super speed pipe of USB 3.0 can be assigned to the external device 3 performing the communication at a high speed.
  • the external device 3 with the highest priority is selected. Assign a super speed pipe.
  • step S18-Yes When the use of the pipe switched from the high speed to the super speed is finished (step S18-Yes), the communication is finished (step S8). If switching is not possible in step S16, communication is continued at high speed as it is, and when the use of the pipe ends (step S20-Yes), the communication ends (step S8).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Power Sources (AREA)

Abstract

 USBのパイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行う。エンジン・メカコン部(40)のカーネル(43)において、アプリケーションやサービス・ミドルウェア等のソフトウェアが実行する制御における優先度を判断し、ドライバ層(42)によってUSB3.0と2.0のパイプの設定及び切り換えの制御を行う。エンジン・メカコン部(40)では、パイプが全て使用中で、実行しようとうする外部装置(3)の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、待機状態の制御なかから、優先度の高いものを空きが生じたパイプに割り当てる。また、優先度の高い通信を行う外部装置(3)に対してバスパワーによる電力供給を行う。

Description

制御装置
 本発明は、制御装置、より詳細には、USB(Universal Serial Bus)3.0に対応したインタフェースにより接続された外部装置を制御する制御装置に関する。
 近年、USBインタフェースを使用して、ホスト装置に対してさまざまなデバイスを外部装置として接続し、ホスト装置と外部装置との間で双方向のデータ通信を行ってデバイスを制御するとともに、ホスト装置から外部装置への電力供給によるパワーマネジメントが行なわれている。
 USB2.0の規格仕様においては、ある種のP2Pによる双方向通信を行うものとして、送信と受信で1本ずつのデータ通信路がサポートされている。従ってUSB2.0では、論理的な通信線としてパイプを設定したとき、ホスト側から送信パイプを使用してデータを送信している際に、受信パイプでデータを取得する、と言った処理は可能であるが、受信パイプを同時処理で使用する際には、時分割処理などの細工をする必要がある。また、受信パイプを使用してデータを受信しているときに、送信パイプでデータを送信する場合にも同じことが言える。
 USB2.0までの規格では、複数の処理、例えば複数のタスクや複数のプロセスに係るデータの送受信通信をUSBによる送受信パイプを使用して処理させるのは不向きである。ここで例えば、USBハブシステムの組み込みなどによる細工を施すことでUSB1.1とUSB2.0とを独立させてデータ通信させることは可能であるが、この場合は、転送スピードが低下してしまうため実用的ではない。
 また、USB2.0では、規格にバスパワー、つまりホストバスアダプタからの電源供給を規定しているが、USB2.0で規定されているバスパワーは、最大電流がローパワーデバイスで100mA、ハイパワーデバイスで500mAである。このレベルのバスパワーの場合、ホスト装置側から外部装置に電源供給を行っても、結果的に電力が不足し、外部装置に外部電源を接続して不足した電力を賄いながら通信を行うケースが多い。
 これに対してUSB2.0の後方互換性を有するUSB3.0が規格化されている。USB2.0では、2本のデータ通信路により、USB1.1のロースピード(1.5Mbps)、及びフルスピード(12Mbps)の通信モードに加えて、ハイスピード(480Mbps)の高速通信モードが追加されている。USB3.0では、さらに送信用信号線1ペアと受信用信号線1ペアによる4本のデータ通信路が追加され、最大4.8Gbpsのスーパースピードの通信モードをサポートし、これによりUSB2.0の10倍の通信速度が得られる。
 また、USB3.0では、規格上のバスパワーとして最大電流が900mAまで引き上げられていることから、パワーマネジメントできるデバイスの数も増やすことができ、複数のデバイスに対するホスト装置からの電力供給が期待される背景がある。
 USB規格に基づくインタフェースを用いた通信制御の技術に関して、例えば特許文献1には、双方向電気的連接が可能なソケット構造が開示されている。このソケット構造により、コネクタは正方向、反対方向の双方向共に挿入して電気的連接が可能であるため使用が簡便である双方向電気的連接が可能なソケット構造を提供するとされている。
 また、特許文献2には、USBバージョン3.0に対応したハブ(Hub)装置の内部の接続状態を変更可能なタイミングを通知するためのUSBハブ装置が開示されている。このUSBハブ装置は、USB3.0に対応し、複数のアップストリームポートと、複数のダウンストリームポートと、コントローラと、通知する回路とを具備するUSBハブ装置である。コントローラは、複数のアップストリームポートと、複数のダウンストリームポートとの論理的な接続状態を制御すると共に、論理的な接続状態を外部から与えられるポート選択信号によって変更する。
 また、特許文献3には、反流によるクロストークを防止することができる、信号干渉の遮断を可能とするためのコネクタが開示されている。このコネクタは、2対の信号伝達端子の間にカバー部材の溝を形成することにより、その2対の信号伝達端子のカバー部材における反流によるクロストークを防止することができるものとされている。
 また、特許文献4には、USB3.0のスーパースピード・データ通信に対応する高速な転送速度を達成するためのシリアルバスデバイスが開示されている。このシリアルバスデバイスには、処理装置及び処理装置に結合された差分クロック補償装置が含まれる。処理装置はパケットを生成する。差分クロック補償装置は、リンク・パートナーに対する差分クロックを補償するために、パケットのタイプに従ってパケットより前に少なくとも1つのスキップ順序集合をリンク・パートナーに送信するか否かを判定する。これにより、データ・パケットが受信側のリンク・パートナーに送信されるときのデータオーバーフローまたはデータアンダーフローを防止することができ、また、送信側のリンク・パートナーと受信側のリンク・パートナーとの差分クロックが補償されることによって、2つのリンク・パートナー間の伝送効率が上がるとされている。
特開2010-251319号公報 特開2010-160681号公報 特開2010-257926号公報 特開2011-138472号公報
 USB2.0に基づく通信規格では、送信受信のパイプは、D+とD-の2本の信号線にしか対応していないため、ホスト装置が複数の外部装置とUSBによる通信を行いたい場合、ホスト装置で使用しているタスクやプロセスがUSBのパイプを解放しない限り、待機状態となって通信ができない状態になるため、最適なデータ転送速度で通信を行うことができない、という課題があった。
 また、上記のように、USB2.0で規定されているバスパワーの場合、ホスト装置側から外部装置に電源供給を行っても、結果的に電力が不足して外部装置に外部電源を接続して不足した電力を賄いながら通信を行うケースが多い。十分なバスパワーによって通信と同時に電力供給を行うことが求められる。
 特許文献1の発明は、USB3.0の仕組みで双方向の通信を連続的に行い続けるためのソケットを確立したものであり、複数の通信を同時に行うようにしたものではない。また、特許文献2では、USB3.0のハブ装置の仕組みで、USB2.0のハイスピードと、USB3.0のスーパースピードの送受信パイプの切り替えを通知するものにすぎない。また、特許文献3の発明は、ハード的にUSB2.0とUSB3.0の信号干渉を遮断するコネクタを開示するものにすぎない。さらに特許文献4のシリアルバスデバイスは、USB3.0に対応していない機器との通信に対して、調停をしてUSB3.0の通信に必要なパケットフレームを付加して、スーパースピードでの通信に対応することが主の効果となるものである。これら先行技術には、複数の外部装置と通信を行うときの優先度を考慮して最適な通信制御を行うことについては記載されていない。
 本発明は、上述のごとき実情に鑑みてなされたもので、接続された外部装置との間でUSB規格に基づくインタフェースでデータの通信を行う際に、パイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行うことで、通信の性能向上を実現する制御装置を提供することを目的とするものである。
 上記課題を解決するために、本発明の第1の技術手段は、USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、前記外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、該制御部は、前記ソフトウェアの機能を実行するときに、制御対象とする前記外部装置との間で、USBに基づくデータ通信を行う制御装置であって、前記制御部は、外部装置とのデータ通信を行う際に、前記ソフトウェアが実行しようとする制御の優先度に基づいて、優先度の高い制御については、USB3.0に対応したパイプを優先的に割り当ててデータ通信を行うことを行うことを特徴としたものである。
 第2の技術手段は、第1の技術手段において、前記制御装置に複数の外部装置が接続されているとき、前記制御部が、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたパイプに割り当てることを特徴としたものである。
 第3の技術手段は、第2の技術手段において、前記制御部が、前記パイプが使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、
 前記USB3.0に対応したパイプに空きが生じたときに、予め取得した前記外部装置の機器情報に基づいて、前記待機状態の制御の制御対象となっている外部装置がUSB3.0に対応しているか否かを判別し、前記制御対象となっている外部装置がUSB3.0に対応している場合には、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたUSB3.0に対応したパイプに割り当てることを特徴としたものである。
 第4の技術手段は、第3の技術手段において、前記制御装置が、USB3.0に対応したパイプ、及びUSB2.0に対応したパイプに空きがあり、前記ソフトウェアが実行しようとする制御が複数あって、該複数の制御の制御対象となっているそれぞれの外部装置がUSB3.0に対応している場合、前記優先度の高い制御を順にUSB3.0に対応したパイプに割り当て、USB3.0に対応したパイプが全て使用された状態でさらに、ソフトウェアが実行しようとする制御が残っている場合、該残っている制御をUSB2.0に対応したパイプに割り当てることを特徴としたものである。
 第5の技術手段は、第4の技術手段において、前記制御装置が、前記USB3.0に対応した外部装置に対して、USB2.0に対応したパイプを割り当ててデータ通信を行っているとき、USB3.0に対応したパイプに空き生じた場合、USB2.0に対応したパイプからUSB3.0に対応したパイプに切り換えてデータ通信を行うことを特徴としたものである。
 第6の技術手段は、第2~第5のいずれか1の技術手段において、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに直ちにデータ通信を開始できるように、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備えることを特徴としたものである。
 第7の技術手段は、第1~第6のいずれか1の技術手段において、前記制御部が、前記外部装置とのデータ通信の処理中に、前記優先度に基づいて、前記データ通信を行う前記外部装置に対して電力を供給することを特徴としたものである。
 本発明によれば、接続された外部装置との間でUSB規格に基づくインタフェースでデータの通信を行う際に、パイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行うことで、通信の性能向上を実現する制御装置を提供することができる。
本発明による制御装置を適用したシステムの一例を示す図である。 本発明の制御装置の要部のハードウェアとソフトウェアのアーキテクチャの構成例を説明する図である。 本発明に係る制御装置における処理の一例を説明するためのフローチャートである。 本発明に係る制御装置における処理の一例を説明するためのフローチャートで、図3に続く図である。
 図1は、本発明による制御装置を適用したシステムの一例を示す図で、記録紙等に画像データを画像形成(印刷)する画像形成装置に本発明を適用したときのシステム構成例を示すものである。
 PC(Personal Computer)2は、画像形成装置1に対して印刷要求を行なう装置であり、ユーザ操作等に従ってプリンタドライバ4が画像データと制御コマンドを含む印刷データを生成して画像形成装置1に送信する。
 画像形成装置1は、コントローラ部10及び印刷実行部20を備える。コントローラ部10は、PC2からの印刷要求を受けて印刷実行部20に印刷指示を出す処理等、画像形成装置全体の主制御を行う。また、コントローラ部10は、PC2とのI/F11、CPU12、RAMやROM等のメモリ13、及び印刷実行部20との通信を行うためのUSB I/F14を備える。USB I/F14は、コントローラ部10と印刷実行部20との間でUSBに対応した通信モードで通信を行うためのI/Fである。
 I/F11は、PC2から送信される印刷データを受信する部分である。印刷データは、この他、図示しない原稿画像読み取り装置(スキャナ部)から読み取った画像や、可搬型記録媒体から読み取った画像に基づいて生成することができる。
 CPU12は、印刷データに含まれる画像データに所定の画像処理を施してビットマップデータを生成し、印刷データに含まれる制御コマンドを解釈して印刷実行部20に対して適切な印刷処理を指示する。
 メモリ13は、CPU12が実行するアプリケーションやサービス・ミドルウェア等のソフトウェアを記録するROMや、印刷データや各処理後の画像データ等を一時的に格納するRAM等からなる。
 印刷実行部20は、印刷エンジンに相当するもので、CPU21、コントローラ部10との通信インタフェースを構成するUSB I/F22、ROMやRAM等のメモリ23、及び外部接続される各種の外部装置との間で、USBに基づく通信を行うUSB I/F24を有している。
 印刷実行部20は、印刷機構とメカコントローラの機能を有し、印刷機構は、図示しない感光体ドラムや帯電ユニット、露光ユニット、現像装置、転写ユニット等を有し、メカコントローラの制御によって記録紙に画像データの画像形成を行う。
 画像形成装置1には、複数の外部装置3が接続可能である。外部装置3としては、例えば画像形成装置で画像形成した記録紙に対して、端とじステープル、中とじ、パンチ穴開けなどの加工処理を行うフィニッシャや、画像形成装置1の画像形成処理に課金を行うためのコインラック等が適用される。
 そして外部装置3と印刷実行部20のUSB I/F24とが、USBに対応したデータ通信路で接続される。USB I/F24は、USBデバイスである外部装置3を複数のポートで同時に接続し、CPU21がUSB規格に基づくHub(ハブ)制御を行って、各外部装置3とデータ通信を行う。これにより、画像形成装置1は、USBのホストとして機能し、Hubデバイスである外部装置3を個々に制御することができる。また、USB I/F24のポートからは、外部装置3に対して電源供給が行われる。
 本発明に係る制御装置は、USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、制御部がソフトウェアの機能を実行するときに、制御対象とする外部装置との間で、USBに基づくデータ通信を行うものである。
 画像形成装置1に適用された制御装置は、USB I/F24により外部装置3との接続部が構成され、コントローラ部10及び印刷実行部20により、外部装置を対象とした制御を行う制御部が構成される。ここでコントローラ部10及び印刷実行部20でアップリケーションやサービス・ミドルウェア等のソフトウェアの機能が実行され、ソフトウェアが実行するタスク、プロセス、スレッド等が特定の外部装置3を制御するときに、画像形成装置1のHub制御によって、対象の外部装置3との間でデータ通信を実行する。
 図2は、本発明の制御装置の要部のハードウェアとソフトウェアのアーキテクチャの構成例を説明する図である。本例の制御装置は、コントローラ部30とエンジン・メカコン(メカコントローラ)部40とを有している。コントローラ部30は、図1の構成のコントローラ部10に相当し、エンジン・メカコン部40は、図1の構成の印刷実行部20に相当する。
 コントローラ部30のアーキテクチャは、各種アプリケーション及びサービス・ミドルウェアによるアプリ/サービス・ミドルウェア層31と、システムソフトウェアであるデバイスドライバによるドライバ層32と、CPU及びCPU等のハードウェアとソフトウェアコンポーネントとのやりとりを管理するカーネル33とからなっている。
 ドライバ層32は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0によるパワーマネジメントを行う機能を有する。
 また、エンジン・メカコン部40のアーキテクチャも同様に、各種アプリケーション及びサービス・ミドルウェアによるアプリ/サービス・ミドルウェア層41と、システムソフトウェアであるデバイスドライバによるドライバ層42と、CPU及びCPU等のハードウェアとソフトウェアコンポーネントとのやりとりを管理するカーネル43とからなっている。
 エンジン・メカコン部40のアプリ/サービス・ミドルウェア層41は、例えば、接続される外部装置3の機能に合わせて、外部装置3のモータ制御、各種のプロセス制御、フィニッシャ/オプション制御、カラー制御等の特定の外部装置を制御対象とした各種のタスクやプロセス、スレッド等を実行する。
 また、ドライバ層42は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0のHubシステム制御、及びUSB3.0によるパワーマネジメントを行う機能を有する。
 コントローラ部30と、エンジン・メカコン部40とは、USBに対応したデータ通信路61によって接続される。また、エンジン・メカコン部40は、複数の外部装置3との間でUSBに対応したデータ通信路71によって接続される。これらは、USBに対応した物理的な通信線によって構成される。物理的な通信線により、コントローラ部30からエンジン・メカコン部40に電力供給62がなされ、エンジン・メカコン部40から外部装置3に電力供給72がなされる。この場合、エンジン・メカコン部40が直接電源から電力を得ている場合には、その電力を外部装置3に供給することができる。
 外部装置3の接続は、USBケーブル等の物理的な通信線が接続されたときに、エンジン・メカコン部40のドライバ層42が、プラグアンドプレイによって認識する。これにより、システムレベル及びアプリケーションレベルの通信において、アプリケーションやデバイスドライバ等のソフトウェアが通信するためのパイプが設定される。
 コントローラ部30のアプリケーションやサービス・ミドルウェア、あるいはエンジン・メカコン部40のアプリケーションやサービス・ミドルウェアで特定の外部装置3を対象とするタスクやプロセス、スレッド等が実行された際に、USBに対応したデータ通信路により外部装置3とのデータ通信が行われ、外部装置3が制御される。このとき、エンジン・メカコン部40のドライバ層42によるUSBのHub制御により、特定の外部装置3との間のデータ通信路にパイプが設定され、データ通信が行われる。
 USB3.0では、2本のデータ通信路を用いたUSB2.0によるハイスピード(480Mbps)の高速通信モードに加えて、さらに付加された4本のデータ通信路によるスーパースピード(4.8Gbps)の高速通信モードが実行可能である。データ通信は、INとOUTの2本のデータ信号線を用いて行われるため、時分割転送等の細工をしない限り、基本的にはハイスピードで1本、スーパースピードで2本の論理接続によるパイプが設定される。
 USBにおける論理的な通信は、エンドポイントとパイプの概念で表される。例えば、エンジン・メカコン部40と外部装置3とのUSBに基づく通信の場合、USBデバイスである外部装置3側には、エンドポイントとしてFIFO(First In First Out)バッファが用意され、これが通信のための実体となる。同様に、ホストであるエンジン・メカコン部40側にもバッファが用意され、両者のバッファ同士がパイプで接続されてデータを送受信する。
 エンジン・メカコン部40では、Hub制御によってそれぞれの外部装置3との間でパイプを設定する。このとき特定の外部装置3との間でパイプが設定されてデータ通信を行う場合、USB3.0で使用できる2本のスーパースピードのパイプと、1本のハイスピードのパイプのいずれかを使用する。そして、パイプが使用されているときは、排他制御により、他の通信は待機状態となり、パイプが空くのを待つことになる。
 本発明に係る制御装置の特徴として、エンジン・メカコン部40のカーネル43において、アプリケーションやサービス・ミドルウェアが実行するタスクやプロセス、スレッド等のその時点における優先度を判断し、エンジン・メカコン部40のドライバ層42によってUSB3.0と2.0のパイプの設定及び切り換えの制御を行う。
 基本的には、エンジン・メカコン部40では、アプリケーションやサービス・ミドルウェアが実行するタスクやプロセス、スレッド等の優先度に従って通信を行う外部装置と、使用するパイプを決定する。ここでは、パイプが全て使用中で、アプリケーションやサービス・ミドルウェアが実行しようとする制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、待機状態の制御のなかから、優先度の高いものを、空きが生じたパイプに割り当てる。
 例えばエンジン・メカコン部40では、USB3.0に対応したスーパースピードのパイプに空きが生じたときに、予め取得した外部装置の機器情報に基づいて、待機状態のタスクやプロセス、スレッド等によって制御対象となっている外部装置が、USB3.0に対応しているかを判別する。そしてその外部装置がUSB3.0に対応している場合には、待機状態のタスクやプロセス、スレッド等のなかから、優先度の高いものを空きが生じたスーパースピードのパイプに割り当てる。
 また、エンジン・メカコン部40では、USB3.0に対応したスーパースピードのパイプ、及びUSB2.0に対応したハイスピードのパイプに空きがあり、待機状態のタスクやプロセス、スレッド等の制御が複数あって、それらの制御対象となっている外部装置のそれぞれがUSB3.0に対応している場合、優先度の高い制御を順にスーパースピードのパイプに割り当てる。そして、スーパースピードのパイプが全て使用された状態でさらに、待機状態の制御が残っている場合、その制御をハイスピードのパイプに割り当てる。
 また、エンジン・メカコン部40では、USB3.0に対応した外部装置に対して、ハイスピードのパイプを割り当ててデータ通信を行っているとき、スーパースピードのパイプに空き生じた場合、ハイスピードのパイプからスーパースピードに対応したパイプに切り換えてデータ通信を行うようにすることができる。
 このように、本発明に係る制御装置は、そのシステム上で動作するアプリケーションやサービス・ミドルウェアなどのソフトウェアの機能によってタスクやプロセス、スレッド等の制御が実行されるときに、ドライバによってパイプの状態を監視して、ソフトウェアが制御の対象としている外部装置に対して、その制御の優先度に応じた最善の通信速度でデータ通信を行うことができるようにする。
 従来のUSB2.0に対応したデータ通信路では、2本のデータ通信路しかなくハイスピードの通信速度にしか対応していないため、通信の待機状態が大量に発生すると考えられる。これに対してUSB3.0では、バックグランドで数本のパイプを使用していても、空いているパイプで通信を行うことでき、待機状態となるタスクやプロセス、スレッド等を低減させることができる。そしてこのときに、タスクやプロセス、スレッド等の制御の優先度に基づいてパイプを割り当てることで、優先度に応じた最適な通信処理を行うことができるようになる。
 また、制御装置のエンジン・メカコン部40は、外部装置3とのデータ通信の処理中に、そのデータ通信を行う外部装置3に対してバスパワーを供給することができる。上記のようにUSB3.0では、規格上の最大電流900mAのバスパワーを供給できる。この場合、エンジン・メカコン部40は、アプリケーションやサービス・ミドルウェアによるタスクやプロセス、スレッド等の優先度に従って、電力供給を割り当てるようにすることができる。
 つまり、エンジン・メカコン部40は、実行すべきタスクやプロセス、スレッド等の優先度に従って、パイプを割り当てて通信を行うが、このときに優先度が高くパイプを割り当てて通信を行う外部装置3に対して、優先的に電力供給を行うようにすることができる。このときタスクやプロセス、スレッド等の制御の優先度に従って、所定の配分条件に従ってパスパワーを配分して供給してもよい。
 また、制御装置では、外部装置3とのデータ通信が終了してパイプに空きが生じるまでは、他の制御によるデータ通信は排他制御によって待機状態になる。従って、本発明に係る実施形態では、パイプが全て使用中で、アプリケーションやサービス・ミドルウェアなどのソフトウェアが実行しようとうする外部装置3の制御が待機状態となっている場合、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備える。これにより、使用中のいずれかのパイプに空きが生じたときに、待機用のバッファに保持した通信データによって直ちに制御用の通信を開始することができるようになる。
 図3及び図4は、本発明に係る制御装置における処理の一例を説明するためのフローチャートである。制御装置は、例えば図2に示す構成を有し、USBに対応した通信を行うUSBデバイスである外部装置3を複数接続する。制御装置のコントローラ部30やエンジン・メカコン部40は、接続された外部装置を、プラグアンドプレイで認識してデバイスサーチを行う(ステップS1)。
 制御装置のコントローラ部30及びエンジン・メカコン部40は、各々のシステムコントロールで認識した外部装置3と、その外部装置3を使用するソフトウェアのタスクやプロセス、スレッド等の優先度との紐付けを行う(ステップS2)。紐付けを行うソフトウェアは、起動しているアプリケーションやサービス・ミドルウェアに係るものである。そしてコントローラ部30及びエンジン・メカコン部40は、紐付けしたタスクやプロセス、スレッド等の優先度を監視する(ステップS3)。
 このとき、コントローラ部30及びエンジン・メカコン部40は、外部装置3と通信をするためのパイプをチェックして、空き状況が有るか、それともBusy状態で空きが無いかを判断する(ステップS4)。ここで空きが無い場合(Noの場合)は、使用できるパイプが空くまで待機する。具体的には、USB3.0の2本のスーパースピードの空きパイプ、またはUSB2.0の1本のハイスピードのパイプが空くまで待機する。
 そして、ステップS4で、パイプに空きがあると判断した場合、空いたパイプがUSB3.0によるスーパースピードのパイプであるか判別する(ステップS5)。空いたパイプが、USB3.0のスーパースピードではなく、USB2.0のハイスピードのパイプであった場合、外部装置3のUSBのバージョンに係わりなく、ハイスピードのパイプで通信を行う(ステップS6)。そしてパイプの使用が終了すると(ステップS7-Yes)、通信を終了する(ステップS8)。
 ステップS5で、空いたパイプが、USB3.0のスーパースピードのパイプであった場合、制御装置のアプリケーションやサービス・ミドルウェアが実行しようとするタスク、プロセスないしスレッドが対象としている外部装置3のUSBのバージョンを確認する(ステップS9)。
 そして、USB2.0に対応している外部装置3に対しては、ステップS10~S11の処理を行い、USB3.0に対応している外部装置3に対しては、ステップS12~S23の処理を行う。ここでは、制御装置では、各外部装置3との通信により得られたUSBデータのフレームに含まれる機器情報から、その外部装置3がUSB3.0による通信が可能か、もしくはUSB2.0による通信を行う装置であるかを確認する。
 まず、ステップS6で通信を行いたい外部装置3がUSB2.0仕様の装置である場合、USB2.0によるハイスピードのパイプで通信を行う(ステップS10)。そしてパイプの使用が終了すると(ステップS11-Yes)、通信を終了する(ステップS8)。
 一方、ステップS6で、アプリケーションやサービス・ミドルウェアが通信を行いたい外部装置3がUSB3.0に対応している場合には、USB3.0のスーパースピードで通信を行う。ここで、USB3.0に対応した外部装置3が複数ある場合、その外部装置3と通信したいアプリケーションやサービス・ミドルウェアのプロセスやタスクの優先度をチェックして、優先度に応じてパイプを割り当てる(ステップS12)。従って、複数のタスクやプロセス、スレッド等があれば、それらの優先度に応じて、それぞれ以下のステップS21~S23の処理、またはステップS13~S20の処理が実行される。
 ここで、タスクやプロセス、スレッド等の優先度が高い外部装置3、つまり即座に通信を行いたい外部装置3に対しては、高パフォーマンスのスーパースピードで通信をできるように、USB3.0に基づくスーパースピードのパイプを割り当てる(ステップS21)。この場合、USB3.0では、2本の送信用データ通信路と2本の受信用データ通信路により、2本のパイプを構成することができるため、優先度の高い2つの外部装置3に対してスーパースピードのパイプを割り当てることができる。つまり、対象となるUSB3.0の外部装置3が複数ある場合、その中で優先度が高い上位2つのタスクやプロセス、スレッド等が制御対象としている外部装置3に対して、スーパースピードのパイプを割り当てることができる。
 そして、制御装置は、スーパースピードのパイプが割り当てられた外部装置3との間で必要なデータ通信を行って(ステップS22)、パイプの使用が終了すると(ステップS23-Yes)、通信を終了する(ステップS8)。
 一方、ステップS7でタスク、プロセスないしスレッドの優先度が低い制御の対象となっている外部装置3に対しては、USB3.0のパイプの空きがなければUSB2.0のハイスピードで通信を行う。この場合、USB3.0に対応しているにもかかわらず、USB2.0のハイスピードのパイプが割り当てられる外部装置は、その時点で優先度が3位以下の外部装置になる。
 ここでは、まず、スーパースピードで必要なパイプを監視システムに通知する(ステップS13)。監視システムは、コントローラ部30及びエンジン・メカコン部40で動作している。そして、USB2.0のハイスピードでの通信を開始する(ステップS14)。監視システムでは、ハイスピードでの通信中に、スーパースピードのパイプに空きが生じたか否かを監視し、空きがあるか否かを判断する(ステップS15)。
 スーパースピードのパイプに空きがない場合(ステップS15-No)、ハイスピードの通信を続行し、パイプの使用が終了すれば(ステップS19―Yes)、通信を終了する(ステップS23)。
 また、スーパースピードのパイプに空きが有る場合(ステップS15-Yes)、ハイスピードのパイプで通信している外部装置3は通信途中であるため、途中からUSB3.0のスーパースピードでの通信モードに切り換えが可能なアプリケーションやサービス・ミドルウェアであるかを確認する(ステップS16)。そして切り換え可能であれば、ハイスピードのパイプからスーパースピードのパイプに切り換えて通信を行う(ステップS17)。
 このように優先度の高いタスク等により、スーパースピードで通信を行っている外部装置3が、通信を終了して送受信のパイプを解放したときに、他の外部装置3がUSB2.0のハイスピードで通信を行っている場合には、ハイスピードで通信を行っている外部装置3に対して、USB3.0のスーパースピードのパイプを割り当てることができる。この場合、USB3.0に対応しているにもかかわらず、USB2.0のハイスピードで通信を行っている外部装置3が複数ある場合には、その中で最も優先度の高い外部装置3にスーパースピードのパイプを割り当てるようにする。
 そして、ハイスピードからスーパースピードに切り換えたパイプの使用が終了すると(ステップS18-Yes)、通信を終了する(ステップS8)。また、ステップS16で切り換え可能でない場合には、そのままハイスピードで通信を続行し、パイプの使用が終了すると(ステップS20-Yes)、通信を終了する(ステップS8)。
1…画像形成装置、2…PC、3…外部装置、10…コントローラ部、11…I/F、12…CPU、13…メモリ、14…USB I/F、20…印刷実行部、21…CPU、22…USB I/F、23…メモリ、24…USB I/F、30…コントローラ部、31…アプリ/サービス・ミドルウェア層、32…ドライバ層、33…カーネル、40…エンジン・メカコン部、41…アプリ/サービス・ミドルウェア層、42…ドライバ層、43…カーネル、61…データ通信路、62…電力供給、71…データ通信路、72…電力供給。

Claims (7)

  1.  USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、前記外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、該制御部は、前記ソフトウェアの機能を実行するときに、制御対象とする前記外部装置との間で、USBに基づくデータ通信を行う制御装置であって、
     前記制御部は、外部装置とのデータ通信を行う際に、前記ソフトウェアが実行しようとする制御の優先度に基づいて、優先度の高い制御については、USB3.0に対応したパイプを優先的に割り当ててデータ通信を行うことを行うことを特徴とする制御装置。
  2.  請求項1に記載の制御装置において、
     前記制御装置に複数の外部装置が接続されているとき、
     前記制御部は、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたパイプに割り当てることを特徴とする制御装置。
  3.  請求項2に記載の制御装置において、
     前記制御部は、前記パイプが使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、
     前記USB3.0に対応したパイプに空きが生じたときに、予め取得した前記外部装置の機器情報に基づいて、前記待機状態の制御の制御対象となっている外部装置がUSB3.0に対応しているか否かを判別し、前記制御対象となっている外部装置がUSB3.0に対応している場合には、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたUSB3.0に対応したパイプに割り当てることを特徴とする制御装置。
  4.  請求項3に記載の制御装置において、
     前記制御装置は、USB3.0に対応したパイプ、及びUSB2.0に対応したパイプに空きがあり、前記ソフトウェアが実行しようとする制御が複数あって、該複数の制御の制御対象となっているそれぞれの外部装置がUSB3.0に対応している場合、
     前記優先度の高い制御を順にUSB3.0に対応したパイプに割り当て、USB3.0に対応したパイプが全て使用された状態でさらに、ソフトウェアが実行しようとする制御が残っている場合、該残っている制御をUSB2.0に対応したパイプに割り当てることを特徴とする制御装置。
  5.  請求項4に記載の制御装置において、
     前記制御装置は、前記USB3.0に対応した外部装置に対して、USB2.0に対応したパイプを割り当ててデータ通信を行っているとき、USB3.0に対応したパイプに空き生じた場合、USB2.0に対応したパイプからUSB3.0に対応したパイプに切り換えてデータ通信を行うことを特徴とする制御装置。
  6.  請求項2~5のいずれか1に記載の制御装置において、
     前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに直ちにデータ通信を開始できるように、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備えることを特徴とする制御装置。
  7.  請求項1~6のいずれか1に記載の制御装置において、
     前記制御部は、前記外部装置とのデータ通信の処理中に、前記優先度に基づいて、前記データ通信を行う前記外部装置に対して電力を供給することを特徴とする制御装置。
PCT/JP2012/084043 2012-01-23 2012-12-28 制御装置 WO2013111507A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-010675 2012-01-23
JP2012010675A JP2013149180A (ja) 2012-01-23 2012-01-23 制御装置

Publications (1)

Publication Number Publication Date
WO2013111507A1 true WO2013111507A1 (ja) 2013-08-01

Family

ID=48873245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/084043 WO2013111507A1 (ja) 2012-01-23 2012-12-28 制御装置

Country Status (2)

Country Link
JP (1) JP2013149180A (ja)
WO (1) WO2013111507A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426644A (zh) * 2017-08-31 2019-03-05 西安中兴新软件有限责任公司 一种usb数据传输的速率调整方法及装置、设备
CN112088346A (zh) * 2018-06-14 2020-12-15 惠普发展公司,有限责任合伙企业 多端口间通用串行总线功率的委托

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006120115A (ja) * 2004-09-22 2006-05-11 Seiko Epson Corp 情報機器及びその制御方法
JP2006330831A (ja) * 2005-05-23 2006-12-07 Sharp Corp 携帯電子機器
JP2011513883A (ja) * 2008-06-30 2011-04-28 インテル・コーポレーション 非対称ユニバーサルシリアルバス通信

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006120115A (ja) * 2004-09-22 2006-05-11 Seiko Epson Corp 情報機器及びその制御方法
JP2006330831A (ja) * 2005-05-23 2006-12-07 Sharp Corp 携帯電子機器
JP2011513883A (ja) * 2008-06-30 2011-04-28 インテル・コーポレーション 非対称ユニバーサルシリアルバス通信

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426644A (zh) * 2017-08-31 2019-03-05 西安中兴新软件有限责任公司 一种usb数据传输的速率调整方法及装置、设备
CN112088346A (zh) * 2018-06-14 2020-12-15 惠普发展公司,有限责任合伙企业 多端口间通用串行总线功率的委托

Also Published As

Publication number Publication date
JP2013149180A (ja) 2013-08-01

Similar Documents

Publication Publication Date Title
JP6400714B2 (ja) Usbハブを有する自動車システムとの柔軟なモバイルデバイス接続性
EP2428897B1 (en) Server device connecting with usb device and device sharing method
JP4377603B2 (ja) バス通信システムおよびその通信制御方法
WO2017056725A1 (ja) 車載制御装置
US20170116147A1 (en) System, device and method for transmitting signals between different communication interfaces
JP2015174375A (ja) 画像形成装置およびその制御方法、並びにプログラム
JP2007200245A (ja) システムバス制御装置、集積回路およびデータ処理システム
JP4757005B2 (ja) 画像処理装置及び画像処理方法
JP4613328B2 (ja) Usbデバイスサーバおよびusbデバイスサーバシステム
JP2004334417A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20140195712A1 (en) Processor module, micro-server, and method of using processor module
JP2009230201A (ja) Usbコントローラ、及びバッファメモリ制御方法
JP6062652B2 (ja) 画像形成装置および情報処理装置
CN1811693A (zh) 在指定纸张上打印数据的打印系统和方法
JP2015107594A (ja) 印刷装置、印刷制御方法及びプログラム
WO2013111507A1 (ja) 制御装置
JP2007296796A (ja) 画像形成装置、画像形成方法、および画像形成プログラム
JP2011046034A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP2007293708A (ja) ワイヤレスusb装置
JP6701116B2 (ja) 印刷装置およびプログラム
JP2004118261A (ja) ホストとデバイスのいずれの役割も選択的に設定することができる通信コントローラを備えた電子機器
JP5030538B2 (ja) データ通信システム、ユニットおよびデータ通信方法
WO2012013140A1 (zh) 图像形成控制卡及图像形成设备
JP2006202234A (ja) Usb通信経路切り換え制御装置
KR102018666B1 (ko) Usb 디바이스가 연결될 수 있는 전자장치 및 그 제어방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12866911

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12866911

Country of ref document: EP

Kind code of ref document: A1