WO2012002336A1 - データ送信方法及びデータ送信システム - Google Patents

データ送信方法及びデータ送信システム Download PDF

Info

Publication number
WO2012002336A1
WO2012002336A1 PCT/JP2011/064712 JP2011064712W WO2012002336A1 WO 2012002336 A1 WO2012002336 A1 WO 2012002336A1 JP 2011064712 W JP2011064712 W JP 2011064712W WO 2012002336 A1 WO2012002336 A1 WO 2012002336A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
host
hid
input
data transmission
Prior art date
Application number
PCT/JP2011/064712
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 株式会社オプトエレクトロニクス
Priority to EP11800800.2A priority Critical patent/EP2590084A4/en
Publication of WO2012002336A1 publication Critical patent/WO2012002336A1/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus

Definitions

  • the present invention relates to a data transmission method and a data transmission system in which a host and an input device are connected by a USB-HID interface, and status information indicating the state of the host is transmitted from the host to the input device.
  • a code scanner for reading a code symbol such as a barcode or a two-dimensional code generally has a menu for setting the code scanner in various ways. In this menu, for example, settings for reading only a specific code, settings for confirming the operation of the code scanner, and the like are described.
  • the menu command is a character string defined in advance for executing the setting described in the menu. For example, there is a command such as [ESC] JG in the menu command.
  • the character string is code.
  • the data is sent to the scanner, and the code scanner is set to “read only the JAN code”.
  • an interface for connecting a PC to an input device such as a mouse and a keyboard and performing data communication between the PC and the input device includes a bidirectional communication type RS232C, USB-COM (Universal Serial Bus Bus Communication). ), One-way communication type Keyboard wedge, USB-HID (Universal Bus-Human Interface Device), and the like (for example, see Patent Document 1).
  • the code scanner can use interfaces such as RS232C, USB-COM, KeyboardKeywedge, and USB-HID as in the above-described input device (see, for example, Patent Document 2).
  • USB-HID has been used as many interfaces, and various communication methods have been considered (for example, see Patent Document 3).
  • one of the code scanner settings is to read only code symbols formed with paint that emits light when irradiated with ultraviolet rays.
  • general menu codes are white and black. Therefore, it is difficult to return to the setting to read the normal code symbol (the code symbol to return to the setting to read the normal code symbol may be formed with ultraviolet light emitting paint, A printer that can be realized must be prepared.)
  • the menu command can be transmitted from the PC to the code scanner, but in the one-way communication type USB-HID, only the data transmission from the code scanner to the PC is possible. There is no data transmission method from the PC to the code scanner.
  • USB-HID since USB-HID has been used as a large number of interfaces in recent years, it is desired to transmit data from a PC to a code scanner via the USB-HID interface.
  • the present invention can transmit data (for example, a menu command) from a PC to a code scanner using a one-way communication type USB-HID interface, and the code scanner is based on the transmitted data. It is an object of the present invention to provide a data transmission method and a data transmission system capable of setting the above.
  • a data transmission method is a data transmission method in which status information indicating the state of a host is transmitted from the host to the input device. Transmission data is generated based on the generated transmission data, and the generated transmission data is transmitted to the input device.
  • status information indicating the state of the host is transmitted from the host to the input device.
  • the status information is information including ON / OFF states of Caps Lock, Num Lock, and Scroll Lock.
  • the host and the input device are connected via a USB-HID interface.
  • the host generates transmission data based on a plurality of status information, and transmits the generated transmission data to the input device.
  • the interface is USB-HID, various settings of the input device can be made with the transmission data transmitted from the host.
  • the data transmission system is a data transmission system in which status information indicating the state of a host is transmitted from the host to the input device, and the host generates transmission data based on a plurality of status information. The generated transmission data is transmitted to the input device.
  • a menu code for setting the code scanner becomes unnecessary. As a result, it is possible to reduce the troublesome work of reading the menu code and setting the code scanner.
  • FIG. 3 is a block diagram showing an example of connection between an HID host 20 and a USB device 30. 6 is a sequence diagram illustrating an operation example of the HID host 20.
  • FIG. It is explanatory drawing which shows the structural example of status information D2. It is a timing chart which shows the example of transmission of the transmission data D3 which concerns on a 1st Example. It is explanatory drawing which shows the example of a setting of the menu command which concerns on a 2nd Example. It is explanatory drawing which shows the structural example of the transmission packet D4. It is explanatory drawing which shows the structural example of the transmission packet D4. It is explanatory drawing which shows the structural example of the transmission packet D4. It is explanatory drawing which shows the structural example of the transmission packet D4.
  • USB host 20 Connection example of USB host 20 and USB device 30
  • a configuration example of the HID host 20 that is a typical configuration of USB-HID will be described.
  • a personal computer hereinafter referred to as “PC 10”
  • a USB-HID host hereinafter referred to as “HID host 20”
  • USB device 30 As an input device via a HUB 26.
  • the data transmission system of the present invention is configured.
  • the HID host 20 includes a hierarchy of an application 21, a HID class driver 22 and a HUB class driver 23 which are class drivers, a USB driver 24, and a host controller driver 25.
  • the application 21 is an application software layer that uses the USB device 30.
  • Application software is software that directly has a function for a user of the PC 10 to perform an operation desired to be executed on the PC 10.
  • the HID class driver 22 and the HUB class driver 23 are driver layers that perform endpoint management and communication protocol processing corresponding to the class of the USB device 30 connected to the PC 10.
  • the USB driver 24 is a driver layer that performs the basic operation as USB and is responsible for USB theoretical communication control processing independent of the controller and class.
  • the USB driver 24 also has management functions such as connection and transfer of the USB device 30. Specifically, the USB driver 24 manages the USB address of each USB device 30 and monitors the state of the endpoint of each USB device 30.
  • the USB driver 24 provides various necessary processes when the connection state of the USB device 30 is changed by the monitoring.
  • the host controller driver 25 is a host controller driver layer realized by hardware (chip), and abstracts the hardware from the upper USB driver 24. For example, the host controller driver 25 performs I / O processing for the controller, interrupt processing, and scheduling processing depending on the controller.
  • the USB device 30 includes, for example, a code scanner 31, a handy terminal 32, a keyboard 33, a mouse 34, and the like, all of which have a USB-HID interface.
  • the code scanner 31 is a device that optically reads a code symbol such as a barcode or a two-dimensional code. When reading the code symbol, the code scanner 31 photoelectrically converts the read code symbol and transmits it as input data D1 to the HID host 20 via the HUB 26.
  • the handy terminal 32 is a terminal device that can communicate with a predetermined server and is portable for a user, for example, used for inventory management.
  • the handy terminal 32 transmits the input data D1 input by the user to the HID host 20 via the HUB 26.
  • the keyboard 33 has a plurality of keys (for example, alphabet keys, ESC key, ENTER key, Caps Lock key, Num Lock key, Scroll Lock key, etc.), and a desired character is input by pressing this key. Is.
  • the keyboard 33 transmits input data D1 including character information corresponding to the pressed character to the HID host 20 via the HUB 26.
  • the mouse 34 is a pointing device that, when moved horizontally by the user, detects the movement by a sensor using a ball, LED, laser, or the like, and inputs a two-dimensional movement distance to the computer.
  • the mouse 34 transmits information including the moving distance to the HID host 20 via the HUB 26 as input data D1.
  • the USB driver 24 and the host controller driver 25 are set to periodically send an interrupt IN token (interrupt transfer request) to the HUB 26.
  • an interrupt IN token interrupt transfer request
  • the interrupt transfer results in other than NAK for example, ACK or error
  • NAK for example, ACK or error
  • the HUB 26 is always monitored by the HID host 20 until the USB device 30 is disconnected. As long as there is no change in the HUB 26, the HUB 26 returns NAK as an endpoint every time an interrupt IN token is received. The interval from the first interrupt IN token to the next interrupt IN token is called an interrupt transfer interval.
  • the HUB 26 uses “Hub and Port Status Change Bitmap” instead of NAK as an endpoint. It returns to the driver 24 and the host controller driver 25.
  • the USB driver 24 and the host controller driver 25 that have received “Hub and Port Status Status Change Bitmap” return ACK to the HUB 26. Then, the USB driver 24 and the host controller driver 25 are called back to the HID class driver 22 or the HUB class driver 23 to extract “Hub and Port Status Change Bitmap”.
  • the HID class driver 22 or the HUB class driver 23 executes various processes by outputting the extracted “Hub and Port Status Change Bitmap” to the application 21.
  • the HID class driver 22 or the HUB class driver 23 requests data to the HUB 26 via the USB driver 24 and the host controller driver 25, and the USB device 30 sends the HUB 26 and the host controller.
  • Input data D1 is transmitted to the HUB class driver 23 via the driver 25 and the USB driver 24.
  • ACK is returned from the USB driver 24 and the host controller driver 25 to the HUB 26.
  • the input data D1 is transmitted from the USB device 30 to the HID host 20 (PC 10).
  • the USB-HID interface cannot transmit data from the PC 10 to the USB device 30. Therefore, as described below, the data transmission method of the present invention in which data is transmitted from the HID host 20 to the USB device 30 by the status information D2 output from the HID class driver 22 will be described.
  • the status information D2 is information including ON / OFF states of Caps Lock, Num Lock, and Scroll Lock. Composed.
  • the Caps Lock bit D21, Num Lock bit D22, and Scroll Lock bit D23 are each composed of 1 bit, and the empty bit D24 is composed of 5 bits. That is, the status information D2 is composed of 8 bits (1 byte).
  • Caps Lock bit D21 switches between “1” and “0” each time the Caps ⁇ Lock key of the keyboard 33 is pressed, for example. That is, the ON / OFF state (valid / invalid state) of Caps Lock is switched.
  • Caps Lock is a function that changes the alphabet input from the keyboard 33 from lowercase letters to uppercase letters in the ON state.
  • the Num Lock bit D22 switches between “1” and “0” each time the Num Lock key on the keyboard 33 is pressed, and the ON / OFF state of the Num Lock is switched.
  • Num Lock allows numeric input from the numeric keypad of the keyboard 33 when in the ON state, and cursor input (arrow, Home, End, etc.) from the numeric keypad when in the OFF state. It is a function to become.
  • the Scroll Lock bit D23 switches between “1” and “0” each time the Scroll Lock key of the keyboard 33 is pressed, and the ON / OFF state of the Scroll Lock is switched.
  • Scroll Lock is generally a function that locks the screen scroll when in the ON state.
  • the empty bit D24 is always “0”.
  • Such status information D2 is generated by the HID class driver 22 and output to the USB device 30 through the HUB 26 with a token called SETUP (not shown).
  • the USB device 30 can grasp the state of the other USB device 30 via the HID host 20 by receiving the status information D2 output from the HID class driver 22.
  • the status information D2 is output from the HID class driver 22 to the USB device 30 when the PC 10 is turned on or when any of the Caps Lock key, Num Lock key, or Scroll Lock key of the keyboard 33 is pressed. .
  • the HID host 20 generates transmission data D3 based on a plurality of status information D2, and transmits the generated transmission data D3 to the USB device 30 via the HUB 26 as shown in FIG.
  • the transmission data D3 is composed of, for example, Bit7 to Bit0.
  • Status information D2 is stored in each bit of the transmission data D3.
  • Bit 7 to Bit 0 store 8-bit (1 byte) information input to the USB device 30.
  • either Num Lock bit D22 or Scroll Lock bit D23 is “1”.
  • the Num Lock bit D22 is set to “1”. That is, the Num Lock key on the keyboard 33 is pressed.
  • the Scroll Lock bit D23 is set to “1”. That is, the Scroll Lock key on the keyboard 33 is pressed.
  • the transmission data D3 is generated by a combination of ON / OFF states of Caps Lock, Num Lock, and Scroll Lock.
  • the Caps Lock key, Num Lock key, and Scroll Lock key of the keyboard 33 are converted into Morse code.
  • a telegram generated by a signal it is generated by pressing at a predetermined interval and in a predetermined order.
  • the predetermined interval and the predetermined order are not limited to the present embodiment, and can be changed as appropriate.
  • the Caps Lock key of the keyboard 33 is pressed once to end transmission of the transmission data D3.
  • a timing chart TC1 illustrated in FIG. 4 is an explanatory diagram for transmitting transmission data D3 including information “10110101”.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the reason why “1” is input to the Check 1 bit when the number of “0” or “1” of Bit 7 to Bit 0 is an odd number is to return the Scroll Lock state to the normal state (OFF state). That is, since the Caps Lock key, Num Lock key, and Scroll Lock key of the keyboard 33 are normally used when inputting characters, when the key is pressed an odd number of times, the ON state is entered and the input state of the keyboard 33 is changed. End up. For example, when the Scroll Lock key is pressed an odd number of times, the Scroll Lock state is turned ON and the screen scroll is fixed. When the Scroll Lock key is pressed evenly, the Scroll Lock state is turned OFF and the screen scroll is not fixed. Is done.
  • the reason for always entering “0” in the Check0 bit is to return the Num Lock state to the normal state (OFF state).
  • the Num ⁇ ⁇ Lock key of the keyboard 33 is pressed an odd number of times and Num Lock is in the ON state. Pressing the key once returns Num Lock to the OFF state.
  • the number of “0” or “1” of Bit7 to Bit0 is an even number, “0” is input to the Check1 bit, so the Num Lock key is odd times before the Bit7 to Bi0 and Check1 bits are input. Pressed and Num Lock is ON. For this reason, pressing the Num ⁇ ⁇ ⁇ Lock key once when the Check0 bit is input returns the Num Lock to the OFF state.
  • the Caps Lock key of the keyboard 33 is pressed and “1” is input to the STOP bit. Then, the HID host 20 generates transmission data D3 including information “10110101”, and transmits the generated transmission data D3 to the USB device 30.
  • the time interval (delay time) for pressing the Caps Lock key, Num Lock key, and Scroll Lock key of the keyboard 33 is, for example, 5 seconds or less. If the time interval for pressing a key becomes longer than 5 seconds, it is considered as a timeout. Therefore, the minimum transmission speed of the transmission data D3 is 0.2 bps. Further, when transmitting a plurality of transmission data D3 to the USB device 30, the time interval between the transmission data D3 is not particularly limited.
  • a timing chart TC2 illustrated in FIG. 4 is an explanatory diagram for transmitting transmission data D3 including information “01001011”.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Num Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Scroll Lock key of the keyboard 33 is pressed.
  • the Caps Lock key of the keyboard 33 is pressed and “1” is input to the STOP bit. Then, the HID host 20 generates transmission data D3 including information “01001011”, and transmits the generated transmission data D3 to the USB device 30.
  • the status information D2 indicating the state of the HID host 20 is transmitted from the HID host 20 to the USB device 30.
  • the status information D2 is information including ON / OFF states of Caps Lock, Num Lock, and Scroll Lock.
  • the HID host 20 and the USB device 30 are connected via a USB-HID interface. Based on this assumption, the HID host 20 generates transmission data D3 based on a plurality of status information D2, and transmits the generated transmission data D3 to the USB device 30. Thereby, even if the interface is USB-HID, various settings of the USB device 30 can be performed with the transmission data D3 transmitted from the HID host 20.
  • USB-HID is used for bidirectional data transmission between the HID host 20 and the USB device 30, the data transfer speed is improved compared to the conventional data transmission method and data transmission system using an interface such as RS232C. Therefore, a large amount of data can be transferred.
  • the Caps ⁇ ⁇ ⁇ Lock key when inputting “1” to the START bit and the STOP bit in FIG. 4, the Caps ⁇ ⁇ ⁇ Lock key is pressed, and when inputting “0” to the Bit7 to Bit0, Check1, and Check0 bits, the Num Lock key.
  • the explanation is that the Scroll Lock key is pressed when inputting “1” to Bit7 to Bit0 and Check1 bit by pressing, but this is not restrictive. You can replace it.
  • a data transmission method for transmitting a transmission packet D4, which is a collection of a plurality of transmission data D3 including 1-byte information described in the first embodiment, to the code scanner 31 will be described.
  • Those having the same names and reference numerals as those in the first embodiment have the same functions, and thus the description thereof is omitted.
  • the transmission packet D4 described in the present embodiment is a collection of transmission data D3, and the transmission packet D4 includes a menu command for setting the code scanner 31.
  • the menu command is, for example, a command for executing a setting described in a menu created in advance by a code scanner manufacturer, and includes a predetermined character string.
  • the menu command is transmitted from the keyboard 33 toward the HID host 20 when a desired character key is pressed after pressing the “ESC” key after the “ESC” key of the keyboard 33 is triggered. Then, the HID host 20 generates a transmission packet D4 including the menu command, and transmits the generated transmission packet D4 to the code scanner 31 as shown in FIG.
  • FIG. 5 shows an example of the menu command.
  • the menu command [ESC] B is a command for confirming the operation of the code scanner 31.
  • the menu command [ESC] JG is a command for causing the code scanner 31 to read only the JAN code.
  • the menu command [ESC] U2 is a command for changing the interface of the code scanner 31 to RS232C.
  • Menu command [ESC] Z is a command for the code scanner 31 to read a code. As soon as this menu command is input, the code scanner 31 starts a code reading operation.
  • the menu command [ESC] Z1 is a command for outputting a version number stored in a storage unit including a RAM and a ROM (not shown) of the PC 10 or the code scanner 31. This version number may be the version number of the main body of the code scanner 31 or the version number of software installed in the code scanner 31.
  • the menu command [ESC] Z2 is a command for storing the current setting of the code scanner 31 in the storage unit.
  • the code scanner 31 stores the setting for reading only the JAN code in the storage unit.
  • the menu command [ESC] Z3 is a command for outputting the current setting of the code scanner 31. That is, the menu command [ESC] Z2 is input and the setting stored in the storage unit of the code scanner 31 is output to the PC 10 via the HUB 26, for example.
  • the transmission packet D4 includes Length, [ESC], character 1, character 2,..., Character n, and [Enter]. Length, [ESC], character 1, character 2,..., Character n, and [Enter] each have a data amount of 1 byte.
  • Length represents the data length (data size) of the transmission packet D4. For example, if the data size of the transmission packet D4 is 8 bytes, “8” is input with the keyboard 33. For example, a data size up to 127 bytes can be input.
  • [ESC] indicates the start of transmission of the transmission packet D4.
  • [ESC] is a start character of “0x1B” of the Escape key code.
  • the menu command body is input to character 1, character 2,..., Character n.
  • character 1, character 2,..., Character n For example, in the case of the menu command [ESC] JG, it is input by pressing the “J” key and “G” key of the keyboard 33.
  • [ENTER] indicates the end of transmission of the transmission packet D4. [ENTER] is an end character of “0x0D” of the ENTER key code.
  • FIG. 6B is a configuration example of the transmission packet D4 of the menu command [ESC] U2.
  • “5” is input to Length. This is because the data length of the transmission packet D4 is 5 bytes.
  • [ESC] is input, and “U” and “2” are input corresponding to the characters 1 and 2.
  • [Enter] is input, and the transmission packet D4 is transmitted from the HID host 20 to the code scanner 31.
  • the code scanner 31 receives the menu command [ESC] U2 and is set so that the interface of the code scanner 31 is changed to RS232C.
  • FIG. 6C is an example of transmission of another menu command, and is a configuration example of the transmission packet D4 of the menu command [ESC] Z.
  • “4” is input to Length. This is because the data length of the transmission packet D4 is 4 bytes.
  • [ESC] is input, and “Z” is input corresponding to the character 1.
  • [Enter] is input, and the transmission packet D4 is transmitted from the HID host 20 to the code scanner 31. Then, the code scanner 31 operates to read the code.
  • the transmission packet D4 including the menu command of the code scanner 31 that collects the transmission data D3 instead of the transmission data D3 is generated, and the generated transmission packet is generated.
  • D4 is transmitted from the HID host 20 to the code scanner 31.
  • the transmission data D3 and the transmission packet D4 are generated by inputting characters using the keyboard 33.
  • the present invention is not limited to this, and the transmission data D3 and the transmission packet D4 are generated by a program. It doesn't matter.
  • the data transmission speed from the HID host 20 to the USB device 30 is improved (actually, the above-described 0.2 bps is improved to 100 bps). Further, it is possible to make a start for data transmission from the HID host 20 to the USB device 30, and an optimum speed can be calculated.
  • the present invention is not limited to USB-HID, but is a one-way data communication type that transmits data from an input device to a PC, and an interface that can transmit only status information from the PC to the input device (for example, Keyboard If it is wedge), it is applicable.

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)
  • Input From Keyboards Or The Like (AREA)

Abstract

 USB-HIDのインタフェースを用いて、PCからコードスキャナへメニューコマンドを送信して当該コードスキャナを設定することができるようにする。 HIDホスト及びコードスキャナは、USB-HIDのインタフェースを介して接続される。これを前提にして、HIDホストは、複数のステータス情報(Caps Lock、Num Lock及びScroll LockのON/OFF状態を含む情報)に基づいて送信データD3を生成し、該生成した送信データD3をコードスキャナに送信する。これにより、インタフェースがUSB-HIDであっても、HIDホストから送信された送信データD3でコードスキャナの各種設定をすることができるようになる。

Description

データ送信方法及びデータ送信システム
 本発明は、ホストと入力装置とがUSB-HIDのインタフェースで接続され、ホストの状態を示すステータス情報が当該ホストから入力装置へ送信されるデータ送信方法及びデータ送信システムに関するものである。
 バーコードや二次元コード等のコード記号を読み取るコードスキャナには、一般に、当該コードスキャナを各種設定するためのメニューが用意されている。このメニューには、例えば、特定のコードのみを読み取る設定や、当該コードスキャナの動作を確認するための設定等が記述されている。
 このようなメニューに記述された設定をコードスキャナに実行させるには2つの方法がある。1つは、メニューコードと呼ばれるコード記号を当該コードスキャナで読み取って設定する方法である。このメニューコードは、コードスキャナメーカーによってコードスキャナの設定の数(例えば、数百種類程度)だけ予め用意されている。用意されているメニューコード以外の設定を実行したい場合には、パーソナルコンピュータ(以下、「PC」という)に接続されたキーボード等で文字を入力することによりメニューコードを新たに生成することが可能である。
 もう1つの方法は、インタフェースを介してPCからコードスキャナへメニューコマンドを送信する方法である。メニューコマンドとは、メニューに記述された設定を実行するための、予め規定された文字列である。例えば、メニューコマンドには[ESC]JGというようなコマンドがあり、「ESC」キー、「J」キー、「G」キーの順番でキーボードのキーを押下すると、その文字列(メニューコード)がコードスキャナへ送信されて、当該コードスキャナに「JANコードのみを読み取る」という設定がなされる。
 ところで、一般に、PCとマウス及びキーボード等の入力装置とを接続して、当該PC及び入力装置間でデータ通信を行うインタフェースには、双方向通信型のRS232C、USB-COM(Universal Serial Bus-Communication)、一方向通信型のKeyboard wedge、USB-HID(Universal Serial Bus-Human Interface Device)等がある(例えば、特許文献1参照)。コードスキャナも上述の入力装置と同様に、RS232C、USB-COM、Keyboard wedge及びUSB-HID等のインタフェースが使用可能である(例えば、特許文献2参照)。近年、特に、USB-HIDは、数多くインタフェースとして使用されており、様々な通信方法が考えられている(例えば、特許文献3参照)。
特開2005-275957号公報 特開2008-40955号公報 特開平11-194988号公報
 上述のようなメニューコードをコードスキャナで読み取って、当該コードスキャナを設定する場合、ユーザは数百種類も存在するメニューコードから所望のメニューコードを探索するという煩雑な作業をしなければならない。また、コードスキャナの設定の1つに、紫外線を照射すると発光する塗料で形成されたコード記号のみを読み取るような設定があり、コードスキャナを当該設定にした場合、一般のメニューコードは白及び黒で生成されたコード記号であるので、通常のコード記号を読み取る設定に戻すことが困難である(通常のコード記号を読み取る設定に戻すコード記号を紫外線発光の塗料で形成すれば良いが、それを実現することができるプリンタ等を用意しなくてはならない。)。
 また、双方向通信型のRS232Cや、USB-COMではPCからコードスキャナへメニューコマンドを送信することができるが、一方向通信型のUSB-HIDではコードスキャナからPCへのデータ送信のみであり、PCからコードスキャナへのデータ送信方法は存在しない。USB-HIDは、上述のように、近年、数多くインタフェースとして使用されていることから、PCからコードスキャナへUSB-HIDのインタフェースを介してデータ送信することが望まれている。
 そこで、本発明は、一方向通信型のUSB-HIDのインタフェースを用いて、PCからコードスキャナへデータ(例えば、メニューコマンド等)を送信することができ、該送信されたデータに基づいてコードスキャナを設定することができるデータ送信方法及びデータ送信システムを提供することを目的とする。
 上述の課題を解決するために、本発明に係るデータ送信方法は、ホストの状態を示すステータス情報が当該ホストから入力装置へ送信されるデータ送信方法であって、ホストが、複数のステータス情報に基づいて送信データを生成し、該生成した送信データを入力装置に送信することを特徴とするものである。
 本発明に係るデータ送信方法では、ホストの状態を示すステータス情報が当該ホストから入力装置へ送信される。例えば、ステータス情報とは、Caps Lock、Num Lock及びScroll LockのON/OFF状態を含む情報である。また、ホスト及び入力装置は、USB-HIDのインタフェースを介して接続される。これを前提にして、ホストは、複数のステータス情報に基づいて送信データを生成し、該生成した送信データを入力装置に送信する。これにより、インタフェースがUSB-HIDであっても、ホストから送信された送信データで入力装置の各種設定をすることができるようになる。
 また、本発明に係るデータ送信システムは、ホストの状態を示すステータス情報が当該ホストから入力装置へ送信されるデータ送信システムであって、ホストが、複数のステータス情報に基づいて送信データを生成し、該生成した送信データを入力装置に送信することを特徴とするものである。
 本発明に係るデータ送信方法及びデータ送信システムによれば、入力装置にコードスキャナを使用した場合に、当該コードスキャナを設定するためのメニューコードが不要になる。この結果、メニューコードを読み取ってコードスキャナを設定するような煩雑な作業を削減することができる。
HIDホスト20及びUSB機器30の接続例を示すブロック図である。 HIDホスト20の動作例を示すシーケンス図である。 ステータス情報D2の構成例を示す説明図である。 第1の実施例に係る送信データD3の送信例を示すタイミングチャートである。 第2の実施例に係るメニューコマンドの設定例を示す説明図である。 送信パケットD4の構成例を示す説明図である。 送信パケットD4の構成例を示す説明図である。 送信パケットD4の構成例を示す説明図である。
 [USBホスト20及びUSB機器30の接続例] 
 まずは、USB-HIDの典型的な構成であるHIDホスト20の構成例について説明する。 
 図1に示すように、パーソナルコンピュータ(以下、「PC10」という)にはUSB-HIDホスト(以下、「HIDホスト20」という)が搭載され、入力装置であるUSB機器30とHUB26を介して接続されて、本発明のデータ送信システムを構成している。
 HIDホスト20は、アプリケーション21、クラスドライバであるHIDクラスドライバ22及びHUBクラスドライバ23、USBドライバ24及びホストコントローラドライバ25の階層から構成される。
 アプリケーション21は、USB機器30を利用したアプリケーション・ソフトウェア層である。アプリケーション・ソフトウェアとは、PC10のユーザが当該PC10上で実行したい作業を実施する機能を直接的に有するソフトウェアである。
 HIDクラスドライバ22及びHUBクラスドライバ23は、PC10に接続されるUSB機器30のクラスに対応したエンドポイントの管理や通信プロトコル処理を行うドライバ層である。
 USBドライバ24は、USBとしての基本的な動作を行い、コントローラやクラスに依存しないUSBの理論的な通信制御処理を受け持つドライバ層である。また、USBドライバ24は、USB機器30の接続と転送等の管理機能も備えている。具体的には、USBドライバ24は、各USB機器30のUSBアドレスを管理し、各USB機器30のエンドポイントの状態を監視する。そして、USBドライバ24は、その監視により、USB機器30の接続状態に変化があった場合に、各種必要な処理を提供する。
 ホストコントローラドライバ25は、ハードウェア(チップ)で実現されるホストコントローラのドライバ層であり、上位のUSBドライバ24からハードウェアを抽象化する。例えば、ホストコントローラドライバ25は、コントローラに対するI/O処理、割り込み処理及びコントローラに依存するスケジューリング処理を行う。
 USB機器30は、例えば、コードスキャナ31、ハンディターミナル32、キーボード33又はマウス34等で構成されており、これらはいずれもUSB-HIDのインタフェースを備えている。
 コードスキャナ31は、バーコードや二次元コード等のコード記号を光学的に読み取る装置である。コードスキャナ31は、コード記号を読み取ると、該読み取ったコード記号を光電変換して入力データD1としてHUB26を介してHIDホスト20に送信する。
 ハンディターミナル32は、所定のサーバと通信可能で、例えば、在庫管理等に使用される、ユーザが携帯可能な端末装置である。ハンディターミナル32は、ユーザによって入力された入力データD1を、HUB26を介してHIDホスト20に送信する。
 キーボード33は、複数のキー(例えば、アルファベットキー、ESCキー、ENTERキー、Caps Lockキー、Num Lockキー及びScroll Lockキー等)を有し、このキーが押下されることにより所望の文字を入力するものである。キーボード33は、ユーザがキーを押下すると、該押下した文字に対応した文字情報を含む入力データD1を、HUB26を介してHIDホスト20に送信する。
 マウス34は、ユーザによって水平に移動されると、ボール、LED又はレーザー等を利用したセンサにより当該移動を検知し、2次元の移動距離をコンピュータへ入力するポインティングデバイスである。マウス34は、移動距離を含む情報を入力データD1としてHUB26を介してHIDホスト20に送信する。
 [USB機器30からHIDホスト20へのデータ送信例] 
 次に、USB機器30からHIDホスト20へのデータ送信の一例であるインタラプト転送について説明する。図2に示すように、HIDクラスドライバ22又はHUBクラスドライバ23がUSBドライバ24及びホストコントローラドライバ25にインタラプト転送を設定する。
 インタラプト転送が設定されると、USBドライバ24及びホストコントローラドライバ25は、HUB26に向けて定期的にインタラプトINトークン(インタラプト転送の要求)を投げるように設定する。これにより、インタラプト転送がNAK以外の結果(例えば、ACK、又はエラー)となったときに、指定した関数をコールバックするように設定することができる。
 HUB26は、USB機器30の接続が切り離されるまで常にHIDホスト20に監視される。HUB26は、当該HUB26に変化がない限り、インタラプトINトークンがくるたびにエンドポイントとしてNAKを返す。最初のインタラプトINトークンから次のインタラプトINトークンまでの間をインタラプト転送インターバルと呼ぶ。
 HUB26は、USB機器30の状態に変化があった場合、例えば、USB機器30が当該HUB26から着脱されたことを検出した場合、エンドポイントとしてNAKの代わりに「Hub and Port Status Change Bitmap」をUSBドライバ24及びホストコントローラドライバ25へ返す。
 「Hub and Port Status Change Bitmap」を受信したUSBドライバ24及びホストコントローラドライバ25は、ACKをHUB26に返す。そして、USBドライバ24及びホストコントローラドライバ25は、HIDクラスドライバ22又はHUBクラスドライバ23にコールバックされて、「Hub and Port Status Change Bitmap」が取り出される。HIDクラスドライバ22又はHUBクラスドライバ23は、取り出した「Hub and Port Status Change Bitmap」を、アプリケーション21に出力することにより、各種処理が実行される。
 アプリケーション21が各種処理を実行している状態で、HIDクラスドライバ22又はHUBクラスドライバ23からUSBドライバ24及びホストコントローラドライバ25を介してHUB26へデータを要求して、USB機器30からHUB26、ホストコントローラドライバ25及びUSBドライバ24を介して入力データD1がHUBクラスドライバ23に送信される。このとき、USBドライバ24及びホストコントローラドライバ25からHUB26へACKが返される。
 このような方法により、USB機器30からHIDホスト20(PC10)へ入力データD1が送信される。しかしながら、USB-HIDのインタフェースではPC10からUSB機器30にデータを送信することができない。そこで、以下に述べるように、HIDクラスドライバ22から出力されるステータス情報D2によって、HIDホスト20からUSB機器30にデータを送信する本発明のデータ送信方法について説明する。
 [HIDホスト20からUSB機器30へのステータス情報D2の送信例] 
 まずは、第1の実施例として、HIDクラスドライバ22から出力されるステータス情報D2について説明する。図3に示すように、ステータス情報D2は、Caps Lock、Num Lock及びScroll LockのON/OFF状態を含む情報であり、Caps LockビットD21、Num LockビットD22、Scroll LockビットD23及び空ビットD24で構成される。Caps LockビットD21、Num LockビットD22、Scroll LockビットD23は、それぞれ1ビットで構成され、空ビットD24は、5ビットで構成される。つまり、ステータス情報D2は、8ビット(1バイト)で構成される。
 Caps LockビットD21は、例えば、キーボード33のCaps Lockキーを押下する毎に「1」、「0」が切り替わる。つまり、Caps LockのON/OFF状態(有効/無効状態)が切り替わる。Caps Lockとは、一般に、ON状態のときに、キーボード33により入力されるアルファベットを小文字から大文字に変わる機能である。
 Num LockビットD22は、キーボード33のNum Lockキーを押下する毎に「1」、「0」が切り替わり、Num LockのON/OFF状態が切り替わる。Num Lockとは、一般に、ON状態のときに、キーボード33が有しているテンキーから数字入力が可能になり、OFF状態のときに、テンキーからカーソル入力(矢印や、Home及びEnd等)が可能になる機能である。
 Scroll LockビットD23は、キーボード33のScroll Lockキーを押下する毎に「1」、「0」が切り替わり、Scroll LockのON/OFF状態が切り替わる。Scroll Lockとは、一般に、ON状態のときに、画面のスクロールがロックされる機能である。空ビットD24は、常に「0」となるものである。
 このようなステータス情報D2が、HIDクラスドライバ22によって生成されて、HUB26を介して図示しないSETUPというトークンでUSB機器30に出力される。USB機器30は、HIDクラスドライバ22から出力されたステータス情報D2を受信することにより、他のUSB機器30の状態をHIDホスト20を介して把握することができる。ステータス情報D2は、PC10の電源を投入したときや、キーボード33のCaps Lockキー、Num Lockキー又はScroll Lockキーのいずれかが押下されたときに、HIDクラスドライバ22からUSB機器30へ出力される。
 [HIDホスト20からUSB機器30への送信データD3の送信例] 
 本発明は、HIDホスト20からUSB機器30へ送信することができるステータス情報D2に着目して見出されたものである。具体的なデータ送信方法を以下に示す。
 HIDホスト20は、複数のステータス情報D2に基づいて送信データD3を生成し、該生成した送信データD3を、図1に示すように、HUB26を介してUSB機器30に送信する。
 図4のデータ構成D30に示すように、送信データD3は、例えば、Bit7~Bit0で構成される。送信データD3の各ビットには、ステータス情報D2が格納されている。
 Bit7~Bit0には、USB機器30に入力される8ビット(1バイト)の情報が格納される。Bit7~Bit0は、Num LockビットD22又はScroll LockビットD23のいずれかが「1」となる。例えば、Bit7~Bit0に「0」を入れたいときには、Num LockビットD22を「1」にする。つまり、キーボード33のNum Lockキーを押下する。また、Bit7~Bit0に「1」を入れたいときには、Scroll LockビットD23を「1」にする。つまり、キーボード33のScroll Lockキーを押下する。
 このように、送信データD3は、Caps Lock、Num Lock及びScroll LockのON/OFF状態の組み合わせにより生成され、具体的には、キーボード33のCaps Lockキー、Num Lockキー及びScroll Lockキーを、モールス信号で生成される電報のように、所定の間隔及び所定の順番で押下することにより生成される。所定の間隔及び所定の順番は、本実施例に限定されず、適宜変更可能である。
 上述のBit7~Bit0で構成された送信データD3をUSB機器30に送信する場合、まず、キーボード33のCaps Lockキーを1回押下すると、それがトリガーとなり、送信データD3の送信動作が開始される。
 Bit7~Bit0に対応して、Num Lockキー又はScroll Lockキーを押下して、送信データD3を作成する。
 その後、Check1ビットに「0」又は「1」が入力される。Check1ビットは、イーブンパリティが用いられ、Bit7~Bit0に入力された「1」又は「0」の数が奇数のときに「1」が入力され、偶数のときに「0」が入力される。この具体例については後述する。Check1ビットが入力された後は、Check0ビットに常に「0」が入力される。
 Check0ビットに「0」が入力された後は、送信データD3の送信を終了するために、キーボード33のCaps Lockキーを1回押下する。
 次に、HIDホスト20からUSB機器30への送信データD3の送信について説明する。図4に示すタイミングチャートTC1は、「10110101」という情報が含まれた送信データD3を送信する説明図である。HIDホスト20からUSB機器30へ送信データD3を送信する場合、まず、STARTビットに「1」を入力するために、キーボード33のCaps Lockキーを押下する。すると、HIDホスト20は、送信データD3を生成する準備に入る。
 その後、Bit7に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit6に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit5に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit4に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit3に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit2に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit1に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit0に「1」を入力するために、キーボード33のScroll Lockキーを押下する。
 Bit7~Bit0は、「10110101」が入力され、「0」の数が3つ、「1」の数が5つであり、「0」の数及び「1」の数がともに奇数であるので、Check1ビットに「1」を入力する。つまり、キーボード33のScroll Lockキーを押下する。そして、Check0ビットに「0」を入力するために、キーボード33のNum Lockキーを押下する。
 Bit7~Bit0の「0」又は「1」の数が奇数のときにCheck1ビットに「1」を入力する理由は、Scroll Lockの状態を通常の状態(OFF状態)に戻すためである。つまり、キーボード33のCaps Lockキー、Num Lockキー及びScroll Lockキーは、通常、文字入力する際に使用されるものであるので、奇数回押下すると、ON状態となり、当該キーボード33の入力状態が変わってしまう。例えば、Scroll Lockキーを奇数回押下すると、Scroll Lockの状態がON状態になり、画面のスクロールが固定され、偶数回押下すると、Scroll Lockの状態がOFF状態になり、画面のスクロールの固定が解除される。
 Check0ビットに必ず「0」を入力する理由は、Num Lockの状態を通常の状態(OFF状態)に戻すためである。つまり、Bit7~Bit0の「0」又は「1」の数が奇数のときには、キーボード33のNum Lockキーは、奇数回押下されてNum LockがON状態になっているので、Check0ビット入力時にNum Lockキーを1回押下することにより、Num LockがOFF状態に戻る。また、Bit7~Bit0の「0」又は「1」の数が偶数のときには、Check1ビットに「0」が入力されるため、Bit7~Bi0、Check1ビットが入力されるまでにNum Lockキーは奇数回押下されてNum LockがON状態になっている。このため、Check0ビット入力時にNum Lockキーを1回押下することにより、Num LockがOFF状態に戻る。
 Check1ビット及びcheck0ビットが入力されたら、最後に、キーボード33のCaps Lockキーを押下して、STOPビットに「1」を入力する。すると、HIDホスト20は、「10110101」の情報が含まれる送信データD3を生成して、該生成した送信データD3をUSB機器30に送信する。
 因みに、送信データD3をUSB機器30に送信する際、キーボード33のCaps Lockキー、Num Lockキー及びScroll Lockキーを押下する時間間隔(遅延時間)は、例えば、5秒以下とする。5秒よりキーの押下する時間間隔が長くなったら、タイムアウトとみなす。従って、送信データD3の最低送信速度は0.2bpsとなる。また、複数の送信データD3をUSB機器30に送信する際に、各送信データD3間の時間間隔は特に制限しない。
 次に、HIDホスト20が、「01001011」という情報が含まれる送信データD3をUSB機器30に送信する例について説明する。図4に示すタイミングチャートTC2は、「01001011」という情報が含まれた送信データD3を送信する説明図である。HIDホスト20からUSB機器30へ送信データD3を送信する場合、まず、STARTビットに「1」を入力するために、キーボード33のCaps Lockキーを押下する。すると、HIDホスト20は、送信データD3を生成する準備に入る。
 その後、Bit7に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit6に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit5に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit4に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit3に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit2に「0」を入力するために、キーボード33のNum Lockキーを押下する。Bit1に「1」を入力するために、キーボード33のScroll Lockキーを押下する。Bit0に「1」を入力するために、キーボード33のScroll Lockキーを押下する。
 Bit7~Bit0には、「01001011」が入力され、「0」の数が4つ、「1」の数が4つであり、「0」の数及び「1」の数がともに偶数であるので、Check1ビットに「0」を入力する。つまり、キーボード33のNum Lockキーを押下する。そして、Check0ビットに「0」を入力するために、キーボード33のNum Lockキーを押下する。
 Check1ビット及びcheck0ビットが入力されたら、最後に、キーボード33のCaps Lockキーを押下して、STOPビットに「1」を入力する。すると、HIDホスト20は、「01001011」の情報が含まれる送信データD3を生成して、該生成した送信データD3をUSB機器30に送信する。
 このように、第1の実施例に係るデータ送信方法によれば、HIDホスト20の状態を示すステータス情報D2が当該HIDホスト20からUSB機器30へ送信される。例えば、ステータス情報D2とは、Caps Lock、Num Lock及びScroll LockのON/OFF状態を含む情報である。また、HIDホスト20及びUSB機器30は、USB-HIDのインタフェースを介して接続される。これを前提にして、HIDホスト20は、複数のステータス情報D2に基づいて送信データD3を生成し、該生成した送信データD3をUSB機器30に送信する。これにより、インタフェースがUSB-HIDであっても、HIDホスト20から送信された送信データD3でUSB機器30の各種設定をすることができるようになる。
 従って、USB機器30がコードスキャナ31の場合、当該コードスキャナ31を設定するためのメニューコードが不要になる。この結果、メニューコードを読み取ってコードスキャナ31を設定するような煩雑な作業を削減することができる。また、USB-HIDを使用してHIDホスト20及びUSB機器30間を双方向データ送信するので、従来のRS232C等のインタフェースを使用したデータ送信方法及びデータ送信システムに比べて、データ転送速度が向上し、多量のデータ転送が可能になる。
 なお、本実施例では、図4でSTARTビット及びSTOPビットに「1」を入力するときにはCaps Lockキーを押下し、Bit7~Bit0、Check1ビット及びCheck0ビットに「0」を入力するときにはNum Lockキーを押下して、Bit7~Bit0及びCheck1ビットに「1」を入力するときにはScroll Lockキーを押下する説明をしたが、これに限定されず、Caps Lockキー、Num Lockキー及びScroll Lockキーの役割を交換しても構わない。
 本実施例では、第1の実施例で説明した1バイトの情報が含まれる送信データD3を複数集めた送信パケットD4をコードスキャナ31に送信するデータ送信方法について説明する。前述の第1の実施例と同じ名称及び符号のものは同じ機能を有するので、その説明を省略する。
 本実施例で説明する送信パケットD4は、送信データD3を集めたものであり、当該送信パケットD4にはコードスキャナ31を設定するためのメニューコマンドが含まれる。メニューコマンドとは、例えばコードスキャナメーカーが予め作成したメニューに記述された設定を実行するためのコマンドであり、所定の文字列で構成される。
 メニューコマンドは、キーボード33の「ESC」キーが文字入力のトリガーとなり、この「ESC」を押下した後に、所望の文字キーを押下すると、キーボード33からHIDホスト20に向かって送信される。そして、HIDホスト20は、メニューコマンドが含まれる送信パケットD4を生成し、図1に示すように、該生成した送信パケットD4をコードスキャナ31に送信する。
 [メニューコマンドの設定例] 
 図5にメニューコマンドの一例を示す。メニューコマンド[ESC]Bは、コードスキャナ31の動作を確認するためのコマンドである。メニューコマンド[ESC]JGは、コードスキャナ31にJANコードのみを読み取らせるためのコマンドである。メニューコマンド[ESC]U2は、コードスキャナ31のインタフェースをRS232Cに変更するためのコマンドである。
 メニューコマンド[ESC]Zは、コードスキャナ31がコードを読み取るためのコマンドである。このメニューコマンドが入力されると直ぐにコードスキャナ31は、コード読み取り動作を開始する。メニューコマンド[ESC]Z1は、PC10又はコードスキャナ31の図示しないRAM及びROM等で構成される記憶部に記憶されたバージョンナンバーを出力するコマンドである。このバージョンナンバーは、コードスキャナ31本体のバージョンナンバーであっても良いし、コードスキャナ31にインストールされているソフトのバージョンナンバーであっても良い。
 メニューコマンド[ESC]Z2は、コードスキャナ31の現在の設定を記憶部に記憶するコマンドである。例えば、メニューコマンド[ESC]JGが入力された後に、メニューコマンド[ESC]Z2を入力すると、コードスキャナ31は、JANコードのみを読み取るという設定を記憶部に記憶する。メニューコマンド[ESC]Z3は、コードスキャナ31の現在の設定を出力するコマンドである。つまり、メニューコマンド[ESC]Z2を入力されてコードスキャナ31の記憶部に記憶された設定を、例えば、HUB26を介してPC10に出力する。
 [送信パケットD4の送信例] 
 次に、送信パケットD4の送信例について説明する。図6Aに示すように、送信パケットD4は、Length、[ESC]、文字1、文字2、・・・、文字n及び[Enter]で構成される。Length、[ESC]、文字1、文字2、・・・、文字n及び[Enter]は、それぞれ1バイトのデータ量を有するものである。
 Lengthは、送信パケットD4のデータ長さ(データサイズ)を表すものである。例えば、送信パケットD4のデータサイズが8バイトであれば、キーボード33で「8」を入力する。例えば、最大127バイトのデータサイズまで入力可能である。
 [ESC]は、送信パケットD4を送信する際の開始を示すものである。[ESC]は、Escapeキーコードの「0x1B」のスタート文字である。
 文字1、文字2、・・・、文字nには、メニューコマンド本体が入力される。例えば、メニューコマンド[ESC]JGの場合、キーボード33の「J」キー及び「G」キーを押下することにより入力される。
 [ENTER]は、送信パケットD4の送信の終了を示すものである。[ENTER]は、ENTERキーコードの「0x0D」のエンド文字である。
 図6Bは、メニューコマンド[ESC]U2の送信パケットD4の構成例である。図6Bに示すように、Lengthには、「5」が入力される。これは、送信パケットD4のデータ長さが5バイトであるためである。その後、[ESC]が入力されて、文字1及び文字2に対応して、「U」及び「2」が入力される。最後に、[Enter]が入力されて、送信パケットD4がHIDホスト20からコードスキャナ31へ送信される。すると、コードスキャナ31は、メニューコマンド[ESC]U2を受信して、当該コードスキャナ31のインタフェースがRS232Cに変更される設定がなされる。
 図6Cは、他のメニューコマンドの送信例であり、メニューコマンド[ESC]Zの送信パケットD4の構成例である。図6Cに示すように、Lengthには、「4」が入力される。これは、送信パケットD4のデータ長さが4バイトであるためである。その後、[ESC]が入力されて、文字1に対応して、「Z」が入力される。最後に、[Enter]が入力されて、送信パケットD4がHIDホスト20からコードスキャナ31へ送信される。すると、コードスキャナ31は、コードを読み取るように動作する。
 このように、本実施例に係るデータ送信方法によれば、送信データD3の代わりに当該送信データD3を集めた、コードスキャナ31のメニューコマンドを含む送信パケットD4を生成し、該生成した送信パケットD4をHIDホスト20からコードスキャナ31へ送信する。これにより、インタフェースがUSB-HIDであっても、HIDホスト20から送信された送信パケットD4によって所望のメニューコマンドをコードスキャナ31に設定することができる。
 なお、第1及び第2の実施例では、キーボード33による文字入力により送信データD3及び送信パケットD4を生成する説明をしたが、これに限定されず、送信データD3及び送信パケットD4はプログラムにより生成しても構わない。これにより、HIDホスト20からUSB機器30へのデータ送信速度が向上する(実際には、前述の0.2bpsから100bpsまで向上した)。また、HIDホスト20からUSB機器30へのデータ送信に関して調歩することができ、最適速度が算出可能となる。
 また、本発明は、USB-HIDに限定されず、入力装置からPCへデータを送信する一方向データ通信型であって、PCから入力装置へステータス情報のみ送信することができるインタフェース(例えば、Keyboard wedge等)であれば、適用可能である。
 10・・・PC、20・・・HIDホスト、21・・・アプリケーション、22・・・HIDクラスドライバ、23・・・HUBクラスドライバ、24・・・USBドライバ、25・・・ホストコントローラドライバ、26・・・HUB、30・・・USB機器、31・・・コードスキャナ、32・・・ハンディターミナル、33・・・キーボード、34・・・マウス、D1・・・入力データ、D2・・・ステータス情報、D3・・・送信データ、D4・・・送信パケット

Claims (8)

  1.  ホストの状態を示すステータス情報が当該ホストから入力装置へ送信されるデータ送信方法であって、
     前記ホストが、複数の前記ステータス情報に基づいて送信データを生成し、該生成した送信データを前記入力装置に送信することを特徴とするデータ送信方法。
  2.  前記ステータス情報は、
     Caps Lock、Num Lock及びScroll LockのON/OFF状態を含む情報であり、
     前記送信データは、
     前記Caps Lock、Num Lock及びScroll LockのON/OFF状態の組み合わせにより生成されることを特徴とする請求項1に記載のデータ送信方法。
  3.  前記入力装置として、Caps Lockキー、Num Lockキー及びScroll Lockキーを有した情報入力装置を備え、
     前記送信データは、
     前記情報入力装置のCaps Lockキー、Num Lockキー及びScroll Lockキーを所定の間隔及び所定の順番で押下することにより生成されることを特徴とする請求項1又は2に記載のデータ送信方法。
  4.  前記送信データは、
     前記入力装置を設定するためのメニューコマンドを含む送信パケットとして生成されることを特徴とする請求項1乃至3のいずれかに記載のデータ送信方法。
  5.  前記ホスト及び前記入力装置は、
     USB-HIDのインタフェースを介して接続されることを特徴とする請求項1乃至4のいずれかに記載のデータ送信方法。
  6.  前記入力装置は、
     キーボード、マウス、ハンディターミナル又はコードスキャナのいずれかであることを特徴とする請求項1乃至5のいずれかに記載のデータ送信方法。
  7.  前記入力装置は、ハンディターミナル又はコードスキャナのいずれかであり、前記情報入力装置は、Caps Lockキー、Num Lockキー及びScroll Lockキーを有したキーボードであることを特徴とする請求項3に記載のデータ送信方法。
  8.  ホストの状態を示すステータス情報が当該ホストから入力装置へ送信されるデータ送信システムであって、
     前記ホストが、複数の前記ステータス情報に基づいて送信データを生成し、該生成した送信データを前記入力装置に送信することを特徴とするデータ送信システム。
PCT/JP2011/064712 2010-06-30 2011-06-27 データ送信方法及びデータ送信システム WO2012002336A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP11800800.2A EP2590084A4 (en) 2010-06-30 2011-06-27 METHOD FOR DATA TRANSMISSION AND DATA TRANSMISSION SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-150228 2010-06-30
JP2010150228A JP2012014426A (ja) 2010-06-30 2010-06-30 データ送信方法及びデータ送信システム

Publications (1)

Publication Number Publication Date
WO2012002336A1 true WO2012002336A1 (ja) 2012-01-05

Family

ID=45402044

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064712 WO2012002336A1 (ja) 2010-06-30 2011-06-27 データ送信方法及びデータ送信システム

Country Status (3)

Country Link
EP (1) EP2590084A4 (ja)
JP (1) JP2012014426A (ja)
WO (1) WO2012002336A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2796295A4 (en) 2012-03-05 2015-08-12 Seiko Epson Corp CONTROL SYSTEM, METHOD FOR CONTROLLING THE CONTROL SYSTEM AND RECORDING DEVICE
KR101688630B1 (ko) 2015-09-15 2016-12-21 한국전자통신연구원 키보드 장치 및 그것을 이용한 데이터 통신 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194988A (ja) 1997-08-06 1999-07-21 Microsoft Corp Hidデバイスとの通信を簡単化する方法およびアーキテクチャ
JP2000276286A (ja) * 1999-03-24 2000-10-06 Nec Shizuoka Ltd Usb小型キーボード
JP2005078496A (ja) * 2003-09-02 2005-03-24 Fujitsu Ltd 出力切替装置、出力切替プログラム、出力切替プログラム記録媒体及び出力切替方法
JP2005275957A (ja) 2004-03-25 2005-10-06 Fujitsu Component Ltd キーボード
JP2008040955A (ja) 2006-08-09 2008-02-21 Matsushita Electric Ind Co Ltd 光学的情報読取装置および光学的情報読取方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979612B2 (en) * 2003-04-28 2011-07-12 Keyghost Limited Communication method and apparatus
GB0624582D0 (en) * 2006-12-08 2007-01-17 Visible Computing Ltd USB autorun devices
US8214888B2 (en) * 2008-01-30 2012-07-03 Vasco Data Security, Inc. Two-factor USB authentication token

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194988A (ja) 1997-08-06 1999-07-21 Microsoft Corp Hidデバイスとの通信を簡単化する方法およびアーキテクチャ
JP2000276286A (ja) * 1999-03-24 2000-10-06 Nec Shizuoka Ltd Usb小型キーボード
JP2005078496A (ja) * 2003-09-02 2005-03-24 Fujitsu Ltd 出力切替装置、出力切替プログラム、出力切替プログラム記録媒体及び出力切替方法
JP2005275957A (ja) 2004-03-25 2005-10-06 Fujitsu Component Ltd キーボード
JP2008040955A (ja) 2006-08-09 2008-02-21 Matsushita Electric Ind Co Ltd 光学的情報読取装置および光学的情報読取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2590084A4 *

Also Published As

Publication number Publication date
EP2590084A4 (en) 2014-07-30
JP2012014426A (ja) 2012-01-19
EP2590084A1 (en) 2013-05-08

Similar Documents

Publication Publication Date Title
US7047326B1 (en) Use of a remote control with a device having a built-in communication port
US8599839B2 (en) System and method for transmitting serial data, and recording medium thereof
JP5448222B2 (ja) UPnPを用いる入力システムにおける入力方式を変更するための方法及び装置
JP2006050538A (ja) 複合システム、画像入力装置、及び画像出力装置
CN102479062A (zh) 打印系统、信息处理装置及打印方法
US8346948B2 (en) Information processing apparatus, selector, remote operation system, scan code transmission method, and program product therefor
CN1307701A (zh) 从用户输入设备间断通信诊断信息的系统和方法
CN103000008A (zh) 遥控接收设备响应遥控信号的方法和装置
WO2012002336A1 (ja) データ送信方法及びデータ送信システム
US20150381827A1 (en) Server apparatus storing print data, printing apparatus, and printing system for checking processing status on a print data list
US6822602B2 (en) Method for generating and transmitting/receiving input codes in universal input device and apparatus thereof
CN1783881A (zh) 绑定结构化数据协议至提供字节流协议的机制
CN102455817B (zh) 触控面板信息传输方法
US7949003B2 (en) Image formation device, management device, network system, control program for image formation device, and control program for management device
KR100299972B1 (ko) 프린터에서의 인쇄작업 순서 제어방법
CN111124983A (zh) 接口数据转换装置与方法
JP3735099B2 (ja) 周辺機器の状態チェック方法及び装置
JP2000059561A (ja) スキャナ制御装置、スキャナ制御システムおよび制御方法
KR20070122202A (ko) 이레귤러 읽기 오퍼레이션을 통한 주변기기로의 시그널링
JP6648813B2 (ja) 画像形成装置、端末装置、エラー画面提供方法、およびコンピュータプログラム
JP2003248566A (ja) 印刷システム及びその印刷方法
KR101122418B1 (ko) 텍스트 파일을 이용한 프로토콜 인터페이스 장치와 시스템 그리고 그 방법
JP2004192605A (ja) 無線キーボードのデータ送信及び受信方法
JP2778472B2 (ja) データ処理装置
CN100498673C (zh) 指标器数据处理系统及其方法

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: 11800800

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011800800

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011800800

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE