Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developers Conference

Similar presentations


Presentation on theme: "Developers Conference"— Presentation transcript:

1 Developers Conference
2008 Developers Conference Taipei, Taiwan

2 An Introduction to Consumer Electronics Control (CEC)
Quantum Data, Inc.

3 What is CEC? – Quick Facts
CEC stands for Consumer Electronics Control. It’s a one-wire bus (pin 13) that “snakes” through an HDMI system - allowing products to pass messages to one another. CEC runs at approx. 400Hz, so including flow control bits and idle timing requirements on the line, it can send approximately 30 bytes each second. Commands need to be very efficient.

4 CEC: A Bit of History In Europe, there was an analog predecessor to HDMI known as the SCART interface. Like HDMI, SCART carried audio and video signals through one cable. The SCART cable had a one-wire bus for controlling a home theater system. This was branded as AV.link by Philips, among others. This bus supported one touch play, standby, etc.

5 How To Find CEC Devices CEC is available in many HDMI products today!
Limited multi-vendor interoperability. Manufacturer Name Panasonic EZSync / HDAVI Control (USA), Viera Link (Japan) Sony Bravia Theater Sync (USA), Bravia Link (Japan) Sharp AQUOS FamiLink Toshiba CE-Link (USA), Regza Link (Japan) Samsung AnyNet+ LG SimpLink

6 What is the benefit of CEC?
Today’s HDMI systems are comprised of separate components (digital set top boxes, audio receivers/amps, a DVD player, etc.), which are not always easy to configure & operate. The general public has difficulty with the how/when/why to set up these devices in order to use them. The more devices, the more complex is the setup. CEC is a solution to this problem! CEC uses signal routing to allow devices to be configured across a system - rather than just point-to-point. Examples are one touch play and one touch record which greatly simplify the user experience.

7 CEC Messaging

8 CEC Messaging – Quick Facts
CEC messages generally consist of two functional categories: Request – asking another device(s) to take action or to give information (e.g. asking a device to play, go into standby, switch sources, or request a device’s physical address). Informative – status messages and messages describing where a devices is in a network (e.g. report physical address, report vendor ID). CEC messages can also be grouped in terms of the intended target device: Directed Message - sent to a single CEC device. Broadcast - sent to all devices in the CEC network. CEC messages can be up to 16 blocks total (including the header and opcode blocks). If they were longer, they would impede access to the CEC bus due to the speed of the bus. (Sending 16 blocks successfully takes about 0.4s). The shortest message that can be sent is the polling message, which is simply a start bit followed by a header block. Devices must respond to a message in 1 second or less, but the desired response time is 200 msec.

9 CEC Messaging – Blocks and Frames
CEC Header Block Logical Address of Initiator Destination End of Message Acknowledgment A CEC message block includes the 8 data bits as well as two extra bits: End of message – set to 0 for every block except the final block of the message where it is set to 1. Acknowledgement (ACK) – set to 1 for every block. CEC Data Block Information Bits End of Message Acknowledgment CEC Frame Start Bit Header Block Optional Data Blocks Example Messages: Image View On – 40 04 Routing Change - 5F

10 CEC at Work

11 CEC at Work – One Touch Play
DVD DTV Image View On (40 04) DVD ALL :00: :00: PLAYER1->TV CEC CEC IMAGE VIEW ON :00: :00: PLAYER1->ALL CEC CEC ACTIVE SOURCE Active Source (4F ) :00: :00: AUDIO->ALL CEC CEC REQUEST ACTIVE SRC :00: :00: PLAYER1->ALL CEC CEC ACTIVE SOURCE :00: :00: TV->ALL CEC CEC REQUEST ACTIVE SRC :00: :00: PLAYER1->ALL CEC CEC ACTIVE SOURCE DVD AVR DTV Request Active Source (5F 85) Request Active Source (5F 85) DTV DVD ALL Active Source (4F ) AVR DVD Game System STB-DVR DTV ALL Request Active Source (0F 85) DVD ALL Active Source (4F ) Device functions, actions, message simulation only, 3 ports AVR

12 CEC at Work – One Touch Play
STB-DVR DTV Image View On (30 04) Set Stream Path ( ) :00: :00: TUNER->TV CEC CEC IMAGE VIEW ON :00: :00: TV->TUNER CEC CEC SET STREAM PATH :00: :00: TUNER->ALL CEC CEC ACTIVE SOURCE STB-DVR ALL DTV DTV Remote Active Source (3F ) Ch. 2 Ch. 3 Ch. 4 AVR DVD Game System STB-DVR

13 CEC at Work – Device Menu Control
STB-DVR DTV Image View On (40 04) :00: :00: PLAYER1->TV CEC CEC IMAGE VIEW ON STB-DVR ALL :00: :00: PLAYER1->ALL CEC CEC ACTIVE SOURCE :00: :00: TV->TUNER CEC CEC MENU REQUEST Active Source (4F ) :00: :00: TUNER->TV CEC CEC MENU STATUS :00: :00: TV->TUNER CEC CEC USER CNTL PRESSED :00: :00: TV->TUNER CEC CEC USER CNTL RELEASED :00: :00: TUNER->TV CEC CEC MENU REQUEST :00: :00: TV->TUNER CEC CEC MENU STATUS STB-DVR DTV Ch. 2 Ch. 3 Ch. 4 DTV Remote Menu Request (Activate) (03 8D 00) DTV Menu Status (Activate) (30 8E 00) AVR DVD Game System STB-DVR User Control Pressed (03 44 XX) User Control Released (03 45 XX) Menu Request (Deactivate) (03 8D 01) Menu Status (Deactivate) (30 8E 01)

14 CEC at Work: One Touch Record
DTV STB-DVR Record TV Screen (10 0F) :00: :00: RECORDER->TV CEC CEC RECORD TV SCREEN :00: :00: TV->RECORDER CEC CEC RECORD ON Record ON [Digital Service ID] ( ) :00: :00: RECORDER->TV CEC CEC RECORD STATUS DTV Record Status [Recording Digital Service] (10 0A 02) Recording AVR DVD Game System STB-DVR

15 CEC at Work – Deck Control
DTV DVD Play [Forward] ( ) :00: :00: TV->PLAYER CEC CEC PLAY FORWARD Deck Status [Play] (40 1B 11) :00: :00: PLAYER->TV CEC CEC PLAY STATUS :00: :00: TV->PLAYER CEC CEC SKIP FORWARD :00: :00: PLAYER->TV CEC CEC SKIP STATUS Deck Control [Skip Forward] ( ) DTV DTV Remote Deck Status [Skip Forward] (40 1B 17) AVR DVD Game System STB-DVR

16 CEC at Work - Shutdown DTV AVR DVD Game System STB-DVR DTV ALL
Standby (0F 36) :00: :00: TV->*ALL* CEC CEC STANDBY DTV AVR DVD Game System STB-DVR

17 CEC Addressing

18 CEC Addressing CEC assumes that all AV source products in a system are directly or indirectly connected to a “root” display (DTV). HDMI connections form an upside-down tree, with a display as the “root”, switches as “branches”, and various source products as “leaf” nodes. There are two types of addressing: Logical Physical

19 Logical Addressing Logical addressing is what CEC uses to identify a specific instance of a specific device type. When messages are sent over CEC, the logical address identifies both the sender (“Initiator”) and intended receiver (“Follower”) of the message. Logical addressing is done with nybbles (4-bit numbers, allowing for addresses from 0-15). Because of this, the header blocks are simply in “to, from” format – the first four bits sent are the address of the initiator (or sender), while the latter four bits are the follower’s (receiver’s) address. CEC Header Block Logical Address of Initiator Follower End of Message Acknowledgment

20 Logical Addressing (continued)
Logical addresses are split among device types: 0 is a TV 1,2 & 9 are recorders (HDD, DVD, BD, etc.) 3,6,7 & 10 are tuner devices (i.e. set-top boxes) 4,8 & 11 are players (DVD, VCR, Blu-Ray, etc.) 5 is an audio system 12 & 13 are reserved 14 is a wild-card 15 means “Unregistered” if it’s the initiator address, “Broadcast” if it’s the follower address.

21 Physical Addressing Physical addressing describes the topology, i.e. what devices are between the CEC device and the TV, and through what inputs it is connected. Physical addressing is a required feature for ALL HDMI devices (regardless of whether or not they support CEC), and is essential for routing control, among other things.

22 Physical Addressing Description
A TV (that does not have HDMI outputs) will use physical address [ ]. Any device with an HDMI output will have an address that contains at least one non-zero number, which is grabbed from the HDMI vendor specific data block (VSDB) of the sink device’s EDID. Devices with both a source and a sink must read the physical address from the EDID of the sink device that it is attached to, and configure its own EDIDs on its sink ports so that they contain the proper physical addresses.

23 CEC Addressing – Physical Addressing
DTV PA 0000 1000 PA 1000 AVR 1100 1300 1200 DVD Game System STB-DVR PA 1100 PA 1200 PA 1300

24 Physical Addressing – VSDB of EDID
1100

25 CEC Addressing – Logical Addressing
DTV ALL Report Physical Address (0F ) Unregistered AVR :00:10: :00:01: TV->*ALL* CEC CEC REPORT PHYSICAL ADDRESS Polling Message (F5) :00: :00:00: UNREG->AUDIO CEC CEC CEC PING - NACK :00:11: :00:00: AUDIO->*ALL* CEC CEC REPORT PHYSICAL ADDRESS :00:11: :00:00: UNREG->PLAYER1 CEC CEC CEC PING - NACK AVR ALL :00:11: :00:00: PLAYER1->*ALL* CEC CEC REPORT PHYSICAL ADDRESS Report Physical Address (5F ) :00:11: :00:00: UNREG->PLAYER1 CEC CEC CEC PING :00:11: :00:00: UNREG->PLAYER2 CEC CEC CEC PING - NACK :00:11: :00:00: PLAYER2->*ALL* CEC CEC REPORT PHYSICAL ADDRESS Unregistered DVD Polling Message (F4) DVD ALL DTV LA 0 PA 0000 Report Physical Address (4F ) Unregistered Game System LA 05 Polling Message (F4) PA 1000 LA 08 LA 04 LA 04 Acknowledged PA 1200 AVR LA 1100 Polling Message (F8) STB-DVR Game System ALL DVD Game System Report Physical Address (8F )

26 CEC Addressing – Logical Addressing
Unregistered STB-DVR Polling Message (F3) STB-DVR ALL :00:10: :00:01: TV->ALL CEC CEC REPORT PHYSICAL ADDRESS :00: :00:00: UNREG->AUDIO CEC CEC CEC PING - NACK Report Physical Address (3F ) :00:11: :00:00: AUDIO->ALL CEC CEC REPORT PHYSICAL ADDRESS :00:11: :00:00: UNREG->PLAYER1 CEC CEC CEC PING - NACK Unregistered STB-DVR :00:11: :00:00: PLAYER1->ALL CEC CEC REPORT PHYSICAL ADDRESS :00:11: :00:00: UNREG->PLAYER1 CEC CEC CEC PING :00:11: :00:00: UNREG->PLAYER2 CEC CEC CEC PING - NACK Polling Message (F1) :00:11: :00:00: PLAYER2->ALL CEC CEC REPORT PHYSICAL ADDRESS :00:11: :00:00: UNREG->TUNER CEC CEC CEC PING - NACK STB-DVR ALL :00:11: :00:00: TUNER->ALL CEC CEC REPORT PHYSICAL ADDRESS :00:11: :00:00: UNREG->RECORD CEC CEC CEC PING - NACK Report Physical Address (1F ) :00:11: :00:00: RECORD->ALL CEC CEC REPORT PHYSICAL ADDRESS DTV DTV LA 0 PA 0000 DTV: PA 000 LA 0 AVR: PA 1000 LA 05 DVD: PA 1100 LA 04 Game System: PA LA 08 STB-DVR: PA 1300 LA 03/LA 01 LA 05 PA 1000 LA 08 PA 1200 AVR LA 01 LA 03 PA 1300 STB-DVR DVD Game System LA 04 LA 1100

27 CEC Addressing – Sample Network

28 CEC Physical Layer

29 Physical Information CEC is pin 13 on the HDMI cable. It shares a common ground with DDC. CEC idles in a high-impedance state (the line shows a voltage between +2.5 and +3.63V). During a message, the line will be pulled down to between 0 and +0.6V (“low-impedance”).

30 Physical Information (continued)
CEC supports nine devices on the bus simultaneously (potentially more if good cabling is used). The limitation is due to a network limit on capacitance of 7200pF (allowing for 100pF per device and 700pF per cable). However, there are only 15 valid CEC logical addresses, so having a limitation of nine devices would rarely be a problem in real-world applications. The CEC line is in use when there is a device pulling the line low. All timing is derived from the high to low transitions.

31 Physical Information – Bit Timing
Start Bits Logical “0” and “1”

32 CEC Message Waveform Max Rise Time = 250usecs Max Fall Time = 50usecs

33 CEC Bus Control

34 CEC Bus Control - Retransmission
Retransmission can occur for many reasons: A device could be holding the CEC bus low when the initiator expects it high, causing a bus error. A device sends a message and does not receive the expected acknowledgement. A device loses arbitration (retry). Retransmission should not occur if there is sufficient indication that the follower does not support the message being sent.

35 CEC Bus Control - Acknowledgement
Directed messages Intended for a single device ACK is set as a “logical 1” Set to “logical 0” by the follower to acknowledge Broadcast messages Intended for all devices Must be kept as a “logical 1” by all devices A “logical 0” is a NACK

36 CEC Bus Control - Acknowledgement
Directed Message STB-DVR DTV Image View On (30 04) :00: :00: TUNER->TV CEC CEC IMAGE VIEW ON STB-DVR Pull down bus to Ack with “0’ bit :00: :00: AUDIO->ALL CEC CEC REQUEST ACTIVE SRC DTV high low DTV 0.6 ms 1.5 ms Release bus Release bus to set Ack bit to “1” Broadcast Message STB-DVR AVR DTV Request Active Source (5F 85) Request Active Source (5F 85) AVR DVD Game System STB-DVR AVR Do nothing to acknowledge ALL high low Release bus to set Ack bit to “1” 0.6 ms

37 CEC Bus Control – No Acknowledgement
STB-DVR Directed Message DTV Image View On (30 04) :00: :00: TUNER->TV CEC CEC UNACKNOWLEDGED AVR :00: :00: AUDIO->ALL CEC CEC UNACKNOWLEDGED DTV high low DTV Release bus to set Ack bit to “1” 0.6 ms Do nothing to Nack Broadcast Message STB-DVR AVR DTV Request Active Source (5F 85) Request Active Source (5F 85) AVR DVD Game System STB-DVR STB-DVR Pull down to 0 to Nack DTV high low 0.6 ms 1.5 ms Release bus Release bus to set Ack bit to “1”

38 CEC Bus Control - Arbitration
Since CEC is a single wire for all devices, it is sometimes the case that two devices want to use the CEC line at the same time. Arbitration check begins with leading edge of start bit and continues to end of initiator address. Priority given to the device with the lowest logical address. The TV (logical address 0) has priority over all other devices. If a device is already using the CEC line, the devices that would like to use it must wait until “signal free time” has been met (the device has stopped using the line for a defined length of time). At least 3 bit periods (7.2ms) in the case of a device trying to resend a message. At least 5 bit periods (12.0ms) for a new device wishing to send a message At least 7 bit periods (16.8ms) for the same device wishing to send a new message. Signal free time is defined from the START of the final bit being sent (the high to low transition).

39 CEC Bus Control - Arbitration
DVD DTV DVD Image View On Image View On (40 04) Get Menu Language (04 91) :00: :00: PLAYER1->TV CEC CEC ERROR :00: :00: TV->PLAYER1 CEC CEC GET MENU LANGUAGE :00: :00: PLAYER1->TV CEC CEC IMAGE VIEW ON :00: :00: PLAYER1->ALL CEC CEC ACTIVE SOURCE Active Source (4F ) :00: :00: TV->RECORDER CEC CEC UNACKNOWLEDGED :00: :00: TV->RECORDER CEC CEC RECORD TV SCREEN :00: :00: RECORDER->TV CEC CEC RECORD ON :00: :00: TV->RECORDER CEC CEC RECORD STATUS DTV STB-DVR DTV Signal Free Time >/= 5 bit times (~ 12.0ms) New Message Signal Free Time >/= 3 bit times (~ 7.2ms) Retransmit Record TV Screen (01 0F) Record TV Screen Record ON [Digital Service ID] ( ) AVR Record Status [Recording Digital Service] (01 0A 02) DVD Game System STB-DVR

40 Verifying CEC Implementation

41 Verifying the CEC Implementation
Compliance testing In-house using compliance test tools Plugfests (CEA and ETSI) HDMI Authorized Test Centers Interoperability testing (multi-vendor) In-house Plugfests

42 Verifying the CEC Implementation
Tools you will need CEC debug tools used during development CEC bus monitor CEC compliance test application (Quantum Data Test Management Environment is the recommended test tool in the HDMI CTS) Test fixtures

43 CEC Debug Testing – Error Simulator
Sample screen of CEC debug test application. Enables: Simulation of acknowledgement failures Simulation of arbitration failures Ability to corrupt bits Modify timing parameters (Quantum Data CEC Controller)

44 CEC Debug Testing – Message Logger
Sample screen of CEC Transaction logger: Logs CEC trans- actions during compliance test Logs CEC trans- actions during debug testing Shows detailed timing Shows acknow- ledgement and other errors (Quantum Data Auxiliary Channel Analyzer)

45 CEC Compliance Testing – CDF Entry
Sample of a CEC compliance test application showing CDF definition: Enables importing CDF from comma separated value file for fast CDF definition Enables definition of CDF parameters for new devices through GUI Supports saving CDFs for later use (Quantum Data CEC Compliance Application)

46 CEC Compliance Testing - Test Initiator
Sample of a CEC compliance test application showing test execution: Enables running of selective tests, or groups of tests Online help for test setup Tests run automati- cally without user interaction after test setup Results provided on display interface Comprehensive report for all tests that can printed or ed. (Quantum Data CEC Compliance Application)

47 For more information… Quantum Data has prepared an educational whitepaper and a video on CEC that provides some further examples:

48 Thank You… Presenter: Neal Kendall
Technical consultant: Jeff Stenhouse Animation & Graphics: Robert Watson


Download ppt "Developers Conference"

Similar presentations


Ads by Google