Solution for consumer electronics control
The preferred embodiment of the present invention presents a method and a device for a host control unit to communicate over a protocol compliant bus via the introduction of an auxiliary command control unit that handles communications to and from the protocol compliant bus. The auxiliary command control unit converts the high level commands of the host control unit to low-level protocol compliant electrical signals for transmission across the bus and further converts low-level protocol compliant electrical signals received from the bus into high level commands for use by the host processor.
This invention relates generally to consumer electronic devices, and more specifically to consumer electronics control protocol compliant devices.
BACKGROUNDAs consumer electronics, and particularly audio/visual electronics, become increasingly feature-rich and complicated to operate, the need for standardized, high-bandwidth communications between devices increases. One solution is the High-Definition Multimedia Interface (HDMI) standard. HDMI is a standard for connecting audiovisual appliances that combines high-definition video and multi-channel audio in a single digital interface to provide crystal-clear digital quality over a single cable, with bandwidth to spare to accommodate future enhancements and requirements. HDMI offers significant advantages over analog A/V connections, including the ability to transmit uncompressed digital video and audio content.
HDMI provides an interface between any compatible digital audio/video source, such as a set-top box, DVD player, and A/V receiver, and a compatible digital audio and/or video monitor, such as a digital television (DTV).
Under the HDMI standard, there is an optional protocol, the consumer electronic control (CEC) protocol, which provides high-level control functions between audiovisual appliances interconnected in the HDMI environment. CEC allows users to control all HDMI devices with a single remote and enables high-level functions such as “one-touch play”. The intent of CEC is to distribute commands between A/V components using a common communication protocol.
The CEC protocol is described in the supplement 1 attached to the HDMI standard. While the supplement 1 illustrates the recommended features available in CEC and defines the electrical specification, signaling and bit timings, CEC blocks and frame, etc., there is no solution for the HDMI appliances to handle CEC commands received from the user and from other HDMI appliances. While the CEC protocol provides a standardized way for devices from different manufacturers to communicate with one another, the manner in which the individual devices handle and generate commands, including CEC commands, might differ widely. As such, the device will have increased overhead in configuring its internal command protocols and procedures to be compatible with the standardized protocol, such as CEC.
Therefore, there is the need for a method and a device for receiving a high-level command from a host control unit in an audiovisual device and converting it into low-level electrical signals to be transmitted via a standardized protocol, and for receiving the low-level electrical signals of the standardized protocol and converting the signals into a command which is recognizable to the host control unit.
SUMMARY OF THE INVENTIONThe preferred embodiment of the present invention presents a method and a device for a host control unit to communicate over a protocol compliant bus via the introduction of an auxiliary control unit that handles communications to and from the protocol compliant bus. The auxiliary control unit converts the high level commands of the host control unit to low-level protocol compliant electrical signals for transmission across the bus and further converts low-level protocol compliant electrical signals received from the bus into high level commands for use by the host processor.
In accordance with one aspect of the present invention, a command control unit is connected to a host control unit of an HDMI node. The command control unit can be built in the host control unit, where it may share the processor of the host control unit or have its own processor. The command control unit can also be a separate unit connected to the host control unit through a bi-directional link.
The command control unit switches between an initiator mode that sends commands and a follower mode that receives commands. Receiving commands has higher priority over transmitting commands. If a command control unit detects that a command is to be sent by another command control unit in the network, it switches to a follower mode. When the command control unit has a command to send, it waits a signal free time to avoid conflicts and then switches to initiator mode. If during the signal free time, the command control unit detects a command is to be sent by another command control unit, it switches back to follower mode.
When acting as an initiator, the command control unit is adapted to receive a high-level command from a host control unit, and convert and transmit the high-level command to a remote command control unit via a bi-directional link in a format of frame. When acting as a follower, the command control unit is adapted to receive high-level commands from the bi-directional link as frames, and convert and send the frames to the host control unit as high-level commands.
In one preferred embodiment of the present invention, a CEC compliant network comprises a display device such as a digital TV or a speaker, and a content playback device such as a DVD player or a CD player and possibly other devices. An HDMI cable that includes an additional CEC bus interconnects the display device, the content playback device and other CEC compliant devices. The high-level commands are CEC compliant. The command frames are CEC frames defined by the CEC protocol. Therefore a high-level control through a CEC protocol is implemented.
BRIEF DESCRIPTION OF THE DRAWINGSFor a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
The useful and novel features of the present invention will be described with regard to a preferred embodiment in which the invention is embodied in an HDMI compliant network of audio/visual devices in which the network is also compliant with and employs the CEC protocol of the HDMI standard. One of ordinary skill in the art will recognize that the teachings of the preferred embodiments can be applied in a variety of different contexts, including future versions of the CEC protocol as well as other protocols currently existing or that may be developed in the future. An illustrative network is illustrated in
In one preferred embodiment, the devices 10 are compliant with both the HDMI standard and the CEC protocol, such as the system illustrated in
Under the CEC protocol, a list of high-level commands is defined for the operations of the HDMI nodes. A host control unit is contained in each device 10 (HDMI node) executing high-level commands. Since HDMI nodes are related, it is preferred that one command executed in one HDMI node may be executed by other HDMI nodes, as well. For example, and with reference to
In the preferred embodiment, command control units are defined to perform transmission of the high-level commands between HDMI nodes so that the HDMI nodes are CEC protocol compliant. A command control unit having software and supporting hardware is preferably built into an HDMI node. In one preferred embodiment, a command control unit 26 is embedded in the host control unit 20 of the HDMI node, as illustrated in
High-level commands may be received by a host control unit 20 from a remote control or an on-deck control. These high level commands may require interaction with other devices on the network. If the host control unit 20 determines that a high-level command needs to be transferred to another device in the network, host control unit 20 constructs a command that is recognizable for both host control unit 20 and command control unit 26 and sends it to the command control unit 26. The recognizable commands preferably have the following fields:
Length+core command+[header byte+data byte 1+ . . . +data byte n]+checksum.
In the preferred embodiment, each of the fields is one byte long. The length field indicates the number of bytes of the recognizable command. The core command field is pre-defined for the host processor and the command control unit to know how to proceed with the received recognizable command. It is preferably customized by the designer of the device to support interactions between devices on the network and to support interaction between the host control unit and the command control unit. The fields of header and data bytes contain information bits comprising high-level commands. The header byte is preferably formed of a destination logical address field and a source logical address field. The data bytes are formed of an operation code (op code) and operands. Two extra bits are needed for sending the message and will be discussed in detail in subsequent paragraphs. In the preferred embodiment, these two bits are generated and attached by the command control unit 26 into a command block to be sent. In other embodiments, these two bits can be attached by the host control unit 20. The checksum field has the checksum of bytes of “Length+core command+[header byte+data byte 1+ . . . +data byte n]”, and is used to confirm that the recognizable command received by command control unit 26 is identical to what is sent by the host control unit 20. It is to be noted that the recognizable command is only an intermediate message used solely by the host control unit and the command control unit. Therefore, the formats can be changed to suit the needs of the device designers.
Once the recognizable command is determined to be valid, the fields of header and data bytes are converted into command blocks for transmission.
In the preferred embodiments, commands are transmitted in frames. A frame comprises at least a start bit and a header block and may further comprise one or more data blocks in certain circumstances. An example of the command block format is provided in the CEC protocol of the HDMI standard. Each command block preferably contains 10 bits. Bits 1 through 8 are information bits. If the command block is a header block, bits 1 through 4 consist of a source logical address and bits 5 through 8 consist of a destination logical address. If the command block is a data block, bits 1 through 8 consist of either operation code or operands. Since a high-level command may contain multiple bytes transmitted one by one, two extra bits are preferred, i.e., a ninth bit “end of message” indicating whether the current byte is the end of the bytes being transmitted (i.e., the end of the command) or not, and a tenth bit “acknowledgement” indicating the received status of a command block. The number and placement of such overhead bits is a matter of design choice.
As has been described above with reference to block 62 in
Details of a preferred embodiment for block 64 in
On the follower side, a receiving function is performed, which is illustrated by an exemplary flowchart in
While the present invention is not limited to a particular standard or protocol, the preferred embodiment of the present invention proposes a solution for implementing the CEC protocol used in an HDMI environment. By having a command control unit, high-level commands can be transmitted through a CEC bus connecting all HDMI nodes. The command control unit releases the host control unit from the burden of handling CEC protocol related messages. In the preferred embodiment of the present invention, a CEC compliant network comprises a display device such as a digital TV or a speaker, and a content playback device such as a DVD player or a CD player and possibly other devices. A HDMI bus with an additional CEC protocol compliant bus interconnects the display device, the content playback device and other CEC compliant devices. The high-level commands are CEC compliant. The command frames are CEC frames defined by the CEC protocol. Therefore a high-level control through a CEC protocol is implemented.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. For instance, features of the invention have been described above with reference to one or more microprocessors running instructions. The processor could be a general purpose or special purpose processor. The processor could be realized using an ASIC, a logic array, or other special purpose circuitry. Alternatively, the functions could be accomplished using hard-wired logic circuits, custom circuits, and the like. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, and composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
Claims
1. A consumer electronics control (CEC) protocol compliant device comprising:
- a host control unit, the host control unit adapted to generate commands;
- a first port for connection to a multi-conductor bus including a CEC line; and
- a command control unit connected to the host control unit and to the CEC line and being adapted to convert the commands to CEC frames.
2. The device of claim 1 wherein the CEC frames contain bits represented by logical 0s and logical 1s, wherein the logical 0 is represented by an output voltage of between about 0V to about 600 mV lasting for 1.5 ms and an output voltage of between about 2.5V to about 3.6V lasting for 0.9 ms, and the logical 1 is represented by an output voltage of between about 0V to about 600 mV lasting for 0.6 ms and an output voltage of between about 2.5V to about 3.6V lasting for 1.8 ms.
3. The device of claim 1 wherein the command control unit is built into the host control unit and wherein the command control unit has a common processor used by the host control unit.
4. The device of claim 1 wherein the command control unit is connected to the host control unit by a bi-directional link.
5. The device of claim 1 further comprising:
- a storage device connected to the command control unit wherein the storage device stores recognizable messages received from the host control unit;
- wherein each of the recognizable messages comprises: a length byte indicating the total number of bytes of the recognizable message; a core command byte predefined to instruct the command control unit; a header byte; and a byte of checksum of the recognizable message.
6. The device of claim 5 wherein the recognizable messages further comprise at least one data byte.
7. A consumer electronics control (CEC) protocol compliant device comprising:
- a host control unit;
- a command control unit connected to the host control unit and a CEC bus and being adapted to communicate through the CEC bus, wherein the command control unit: supports a CEC protocol; detects an interrupt from the CEC bus; and switches the command control unit to either an initiator or a follower, wherein the initiator has the functions of: receiving a first high-level command from a host control unit; converting the first high-level command into a first CEC frame; transmitting the first CEC frame to a remote command control unit via a CEC line; and wherein the follower has the functions of: receiving a second CEC frame from the CEC bus; converting the second CEC frame into a second high-level CEC command; and sending the second high-level command to the host control unit.
8. The device of claim 7 wherein the first and second high-level CEC commands and the format of the first and second CEC frames are defined by the CEC protocol.
9. The device of claim 7 wherein the command control unit is built into the host control unit and wherein the command control unit has a common processor used by the host control unit or a separate processor.
10. The device of claim 7 wherein the command control unit is separated from the host control unit and wherein the command control unit is connected to the host control unit by a bi-directional link.
11. A method of handling consumer electronics control (CEC) commands, the method comprising the steps of:
- transmitting a first CEC command originated from a host control unit to a remote command control unit, the first CEC command being transmitted by a first command control unit connected to the host control unit; and
- receiving a second CEC command from a remote command control unit and sending to the host control unit, the second CEC command being received by the first command control unit;
- wherein the host control unit, the first command control unit and the remote command control unit are CEC compliant; and
- wherein the first and second CEC commands are defined by a CEC protocol.
12. The method of claim 11 further comprising the steps of:
- detecting CEC line interrupts;
- receiving the second CEC command if a CEC line interrupt is detected; and
- transmitting the first CEC command and waiting for a signal free time if no interrupt is detected and the first CEC command is ready for transmitting.
13. The method of claim 11 wherein the step of transmitting the first CEC command to a remote command control unit comprises the steps of:
- converting the first CEC command into a recognizable command in the host control unit;
- sending the recognizable command to the first command control unit;
- receiving the recognizable command into the first command control unit;
- converting the recognizable command into a CEC frame consisting of a start bit and at least one block, wherein the CEC frame is CEC compliant;
- transmitting the CEC frame via a CEC line; and
- re-transmitting the CEC frame if no acknowledgement is received for any block of the CEC frame.
14. The method of claim 13 wherein the recognizable command comprises:
- a length byte indicating the total number of bytes of the recognizable command;
- a core command byte predefined to instruct the command control unit;
- a header byte; and
- a byte of checksum of the recognizable command.
15. The method of claim 14 wherein the recognizable command further comprises at least one data byte.
16. The method of claim 12 wherein the step of receiving the second CEC command is performed if an interrupt is detected from the CEC line during the step of waiting for the signal free time.
17. The method of claim 11 wherein the step of receiving the second CEC command from the remote command control unit comprises the steps of:
- detecting CEC line interrupts;
- receiving a CEC frame;
- checking for error for the CEC frame; and
- sending the CEC frame to the host control unit in a format recognized by the command control unit and the host control unit.
18. A method of handling consumer electronics control (CEC) commands, the method comprising the steps of:
- initializing a command control unit for establishing a communication path between a host control unit and the command control unit;
- enabling the command control unit for CEC line interrupts;
- sending a first CEC command from a host control unit to the command control unit;
- waiting for a signal free time;
- transmitting the first CEC command to a remote command control unit;
- receiving a second CEC command from a remote command control unit by the first command control unit; and
- sending the second CEC command to the host control unit.
19. The method of claim 18 wherein the first and second CEC commands are defined by CEC protocol.
20. The method of claim 18 wherein the step of receiving a second CEC command is performed if an interrupt is detected from the CEC line during the step of waiting for the signal free time.
21. The method of claim 18 wherein the step of transmitting the first CEC command to a remote command control unit comprises the steps of:
- converting the first CEC command into a recognizable command in the host control unit;
- sending the recognizable command to the command control unit;
- receiving the recognizable command into the command control unit;
- converting the recognizable command into a first CEC frame consisting of a start bit and at least one block, wherein each block of the first CEC frame consists of one byte received from the host control unit at bits 1 through 8, an end of message bit at bit 9 and an acknowledgement bit at bit 10; and
- transmitting the first CEC frame to the remote command control unit;
- checking acknowledgement from the remote command control unit;
- retransmitting the first CEC frame if receipt of any block of the first CEC frame is not acknowledged; and
- continuing transmittal until all blocks of the first CEC frame are transmitted.
22. The method of claim 21 wherein the recognizable command comprises:
- a length byte indicating the total number of bytes of the recognizable command;
- a core command byte predefined to instruct the command control unit;
- a header byte; and
- a byte of checksum of the recognizable command.
23. The method of claim 22 wherein the recognizable command further comprises at least one data byte.
24. The method of claim 18 wherein the step of receiving the second CEC command from the remote command control unit comprises the steps of:
- detecting CEC line interrupts;
- receiving a CEC signaling and converting the CEC signaling into either start bits, logical 0s or logical 1s;
- checking for error of the CEC signaling;
- converting the logical 0s and the logical 1s into a bit stream;
- acknowledging if the bit stream constructs a byte;
- converting the byte into a message recognizable to the host control unit; and
- sending the message to the host control unit.
25. The method of claim 24 further comprising the steps of:
- receiving a logical bit, the logical bit being a logical 0 or a logical 1;
- decreasing a bit counter by 1;
- shifting the bit from right to left in a shift register if the bit counter is greater than 0;
- after the first eight bits are received and a byte is constructed, checking whether the second CEC command is intended to be received by the command control unit or not, and dropping the byte if the command control unit is not an intended receiver;
- putting the CEC byte into a storage device connected to the command control unit and sending an acknowledgement to the remote command control unit;
- dropping the byte if the storage device has no space available; and
- enabling the command control unit for CEC line interrupt.
26. A system comprising:
- a plurality of high-definition multimedia interface (HDMI) nodes interconnected, each including: a host control unit; a command control unit compliant with a CEC protocol wherein the command control unit is connected to the host control unit; a bi-directional CEC link compliant with the CEC protocol and interconnecting the command control units of the HDMI nodes;
- wherein each of the command control units is adapted to: receive a first high-level command from a host control unit in a format recognizable for the host control unit and the command control unit; transmit the first high-level command to a remote command control unit as a first CEC frame via the bi-directional link; receive a second high-level CEC command from the bi-directional link as a second CEC frame; send the second CEC frame to the host control unit in a format recognizable for the host control unit and the command control unit; and convert the recognizable command into a second high-level CEC command; wherein the first and second CEC frames and the first and second high-level CEC commands are CEC compliant.
27. A CEC compliant device comprising:
- a first port adapted for connection to an HDMI compliant bus;
- a host control unit coupled to the first port;
- a second port adapted for connection to a CEC compliant bus; and
- a command control unit coupled to the second port and to the host control unit, the command control unit adapted to receive commands from the host control unit and to convert said commands to CEC compliant frames.
28. The CEC compliant device of claim 27 wherein the first port and the second port are combined in a single socket.
29. An audio/visual entertainment system comprising:
- a display device;
- a content playback device;
- a first bus interconnecting the display device and the content playback device;
- a second bus interconnecting the display device and the content playback device;
- the display device including a first host control unit and a first command control unit, the first command control unit being adapted to communicate a command with the first host control unit and to transmit or receive the command over the second bus in a format that conforms to a pre-defined protocol; and
- the content playback device including a second host control unit and a second command control unit, the second command control unit being adapted to receive or send the command on the second bus and to communicate the command with the second host control unit.
30. The audio/visual entertainment system of claim 29 wherein said display device is selected from the group consisting essentially of a television and a speaker, and wherein the content playback device is selected from the group consisting essentially of a DVD player, a CD player and a VCR.
31. The audio/visual entertainment system of claim 29 wherein said first bus is an HDMI compliant bus and said second bus is a CEC compliant bus.
32. The audio/visual entertainment system of claim 29 wherein said first host control unit includes a first processor and said first command control unit includes a second processor.
33. The audio/visual entertainment system of claim 29 wherein said first host control unit and said first command control unit share a common processor.
34. The audio/visual entertainment system of claim 29 further comprising an audio/visual receiver connected to the television and the DVD player via the first bus and the second bus.
Type: Application
Filed: Nov 3, 2004
Publication Date: May 4, 2006
Inventors: Lin Yung (ShinJuang City), Ching-Chang Liao (Banciao City), Lin Hwa (Yilan City), Cheng Shih (Banciao City)
Application Number: 10/980,678
International Classification: G06F 3/00 (20060101);