slide1
Download
Skip this Video
Download Presentation
2008

Loading in 2 Seconds...

play fullscreen
1 / 48

2008 - PowerPoint PPT Presentation


  • 357 Views
  • Uploaded on

2008. Developers Conference Taipei, Taiwan. An Introduction to Consumer Electronics Control (CEC). Quantum Data, Inc. What is CEC? – Quick Facts. CEC stands for Consumer Electronics Control.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '2008' - Renfred


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
2008

Developers Conference

Taipei, Taiwan

what is cec quick facts
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.
cec a bit of history
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.

how to find cec devices
How To Find CEC Devices
  • CEC is available in many HDMI products today!
  • Limited multi-vendor interoperability.
what is the benefit of cec
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.
cec messaging quick facts
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.

cec messaging blocks and frames
CEC Messaging – Blocks and Frames
  • 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

CEC Header Block

End of

Message

Information Bits

Logical Address of

Initiator

Logical Address of

Destination

End of

Message

Acknowledgment

Acknowledgment

Example Messages:

Image View On – 40 04

Routing Change - 5F 80 13 00

CEC Frame

Optional Data

Blocks

Header

Block

Start

Bit

cec at work one touch play
CEC at Work – One Touch Play

Request Active Source (0F 85)

Active Source (4F 82 11 00)

Image View On (40 04)

DVD

DTV

Active Source (4F 82 11 00)

Active Source (4F 82 11 00)

DVD

ALL

01 00:00:11.01 00:00:00.00 PLAYER1->TV CEC CEC IMAGE VIEW ON

02 00:00:11.07 00:00:00.60 PLAYER1->ALL CEC CEC ACTIVE SOURCE

03 00:00:12.21 00:00:01.60 AUDIO->ALL CEC CEC REQUEST ACTIVE SRC

Request Active Source

(5F 85)

Request Active Source

(5F 85)

04 00:00:18.41 00:00:06.20 PLAYER1->ALL CEC CEC ACTIVE SOURCE

05 00:00:12.21 00:00:01.60 TV->ALL CEC CEC REQUEST ACTIVE SRC

06 00:00:18.41 00:00:06.20 PLAYER1->ALL CEC CEC ACTIVE SOURCE

DVD

AVR

DTV

DTV

DVD

ALL

DTV

ALL

AVR

DVD

ALL

DVD

Game System

STB-DVR

Device functions, actions, message simulation only, 3 ports AVR

cec at work one touch play12
CEC at Work – One Touch Play

Set Stream Path (03 86 13 00)

Image View On (30 04)

STB-DVR

DTV

Active Source (3F 82 13 00)

01 00:00:11.01 00:00:00.00 TUNER->TV CEC CEC IMAGE VIEW ON

02 00:00:11.07 00:00:00.60 TV->TUNER CEC CEC SET STREAM PATH

03 00:00:12.21 00:00:01.60 TUNER->ALL CEC CEC ACTIVE SOURCE

STB-DVR

ALL

DTV

DTV Remote

Ch. 2

Ch. 3

Ch. 4

AVR

DVD

Game System

STB-DVR

slide13
CEC at Work – Device Menu Control

Ch. 2

Ch. 3

Ch. 4

User Control Released (03 45 XX)

Menu Request (Activate) (03 8D 00)

Image View On (40 04)

STB-DVR

DTV

STB-DVR

DTV

Menu Status (Activate) (30 8E 00)

Active Source (4F 82 11 00)

Menu Request (Deactivate) (03 8D 01)

01 00:00:11.01 00:00:00.00 PLAYER1->TV CEC CEC IMAGE VIEW ON

STB-DVR

ALL

02 00:00:11.07 00:00:00.60 PLAYER1->ALL CEC CEC ACTIVE SOURCE

03 00:00:11.01 00:00:00.00 TV->TUNER CEC CEC MENU REQUEST

04 00:00:11.07 00:00:00.60 TUNER->TV CEC CEC MENU STATUS

User Control Pressed (03 44 XX)

Menu Status (Deactivate) (30 8E 01)

05 00:00:12.21 00:00:01.60 TV->TUNER CEC CEC USER CNTL PRESSED

06 00:00:18.41 00:00:06.20 TV->TUNER CEC CEC USER CNTL RELEASED

07 00:00:19.00 00:00:00.59 TUNER->TV CEC CEC MENU REQUEST

08 00:00:19.59 00:00:00.50 TV->TUNER CEC CEC MENU STATUS

DTVRemote

DTV

AVR

DVD

Game System

STB-DVR

cec at work one touch record
CEC at Work: One Touch Record

Record TV Screen (10 0F)

STB-DVR

DTV

Record ON [Digital Service ID] (01 09 02)

01 00:00:18.41 00:00:00.00 RECORDER->TV CEC CEC RECORD TV SCREEN

02 00:00:69.51 00:00:51.10 TV->RECORDER CEC CEC RECORD ON

03 00:00:69.71 00:00:00.20 RECORDER->TV CEC CEC RECORD STATUS

DTV

Record Status [Recording Digital Service] (10 0A 02)

Recording

AVR

DVD

Game System

STB-DVR

cec at work deck control
CEC at Work – Deck Control

Deck Status [Skip Forward] (40 1B 17)

Deck Status [Play] (40 1B 11)

Deck Control [Skip Forward] (04 42 01)

Play [Forward] (04 41 24)

DTV

DVD

01 00:00:11.01 00:00:00.00 TV->PLAYER CEC CEC PLAY FORWARD

02 00:00:11.07 00:00:00.60 PLAYER->TV CEC CEC PLAY STATUS

03 00:00:11.01 00:00:00.00 TV->PLAYER CEC CEC SKIP FORWARD

04 00:00:11.07 00:00:00.60 PLAYER->TV CEC CEC SKIP STATUS

DTV

DTV Remote

AVR

DVD

Game System

STB-DVR

cec at work shutdown
CEC at Work - Shutdown

Standby (0F 36)

DTV

ALL

01 00:00:11.01 00:00:00.00 TV->*ALL* CEC CEC STANDBY

DTV

AVR

DVD

Game System

STB-DVR

cec addressing18
CEC Addressing

CEC assumes that all AV source products in a system are directly orindirectly connected to a “root” display (DTV).

HDMI connections form an upside-down tree, with a display as the “root”, switches as “branches”, andvarious source products as “leaf” nodes.

There are two types of addressing:

Logical

Physical

logical addressing
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

Logical Address of

Follower

End of

Message

Acknowledgment

logical addressing continued
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.

physical addressing
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.

physical addressing description
Physical Addressing Description

A TV (that does not have HDMI outputs) will use physical address [0.0.0.0]. 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.

cec addressing physical addressing
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

slide25
CEC Addressing – Logical Addressing

DTV

ALL

Report Physical Address (0F 84 00 00)

Report Physical Address (8F 84 12 00)

Report Physical Address (4F 84 11 00)

Report Physical Address (5F 84 10 00)

01 00:00:10:0174 00:00:01:0100 TV->*ALL* CEC CEC REPORT PHYSICAL ADDRESS

Game System

AVR

Unregistered

DVD

ALL

AVR

ALL

ALL

02 00:00:11.0274 00:00:00:0060 UNREG->AUDIO CEC CEC CEC PING - NACK

03 00:00:11:0639 00:00:00:1000 AUDIO->*ALL* CEC CEC REPORT PHYSICAL ADDRESS

04 00:00:11:1639 00:00:00:0100 UNREG->PLAYER1 CEC CEC CEC PING - NACK

05 00:00:11:1739 00:00:00:0251 PLAYER1->*ALL* CEC CEC REPORT PHYSICAL ADDRESS

06 00:00:11:1990 00:00:00:0028 UNREG->PLAYER1 CEC CEC CEC PING

07 00:00:11:2018 00:00:00:0122 UNREG->PLAYER2 CEC CEC CEC PING - NACK

08 00:00:11:2140 00:00:00:0100 PLAYER2->*ALL* CEC CEC REPORT PHYSICAL ADDRESS

DVD

Unregistered

LA 0

PA 0000

DTV

Game System

Unregistered

LA 05

PA 1000

LA 04

LA 08

LA 04

AVR

PA 1200

LA 1100

STB-DVR

Game System

DVD

Polling Message (F4)

Polling Message (F5)

Acknowledged

Polling Message (F8)

Polling Message (F4)

slide26
CEC Addressing – Logical Addressing

STB-DVR

Unregistered

Report Physical Address (3F 84 13 00)

Report Physical Address (1F 84 13 00)

01 00:00:10:0174 00:00:01:0100 TV->ALL CEC CEC REPORT PHYSICAL ADDRESS

STB-DVR

STB-DVR

ALL

ALL

02 00:00:11.0274 00:00:00:0060 UNREG->AUDIO CEC CEC CEC PING - NACK

03 00:00:11:0639 00:00:00:1000 AUDIO->ALL CEC CEC REPORT PHYSICAL ADDRESS

04 00:00:11:1639 00:00:00:0100 UNREG->PLAYER1 CEC CEC CEC PING - NACK

STB-DVR

Unregistered

05 00:00:11:1739 00:00:00:0251 PLAYER1->ALL CEC CEC REPORT PHYSICAL ADDRESS

06 00:00:11:1990 00:00:00:0028 UNREG->PLAYER1 CEC CEC CEC PING

07 00:00:11:2018 00:00:00:0112 UNREG->PLAYER2 CEC CEC CEC PING - NACK

08 00:00:11:2140 00:00:00:0100 PLAYER2->ALL CEC CEC REPORT PHYSICAL ADDRESS

09 00:00:11:2230 00:00:00:0600 UNREG->TUNER CEC CEC CEC PING - NACK

10 00:00:11:2830 00:00:00:0164 TUNER->ALL CEC CEC REPORT PHYSICAL ADDRESS

DTV: PA 000 LA 0

AVR: PA 1000 LA 05

DVD: PA 1100 LA 04

Game System:

PA 12 00 LA 08

STB-DVR:

PA 1300 LA 03/LA 01

11 00:00:11:2994 00:00:00:0600 UNREG->RECORD CEC CEC CEC PING - NACK

12 00:00:11:3594 00:00:00:0000 RECORD->ALL CEC CEC REPORT PHYSICAL ADDRESS

LA 0

PA 0000

DTV

DTV

LA 05

PA 1000

LA 08

LA 01

LA 03

AVR

PA 1200

PA 1300

STB-DVR

Game System

DVD

LA 04

Polling Message (F1)

Polling Message (F3)

LA 1100

physical information
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”).

physical information continued
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.

physical information bit timing
Physical Information – Bit Timing

Start Bits

Logical “0” and “1”

cec message waveform
CEC Message Waveform
  • Max Rise Time = 250usecs
  • Max Fall Time = 50usecs
cec bus control retransmission
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.

cec bus control acknowledgement
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
    • ACK is set as a “logical 1”
    • Must be kept as a “logical 1” by all devices
    • A “logical 0” is a NACK
cec bus control acknowledgement36
CEC Bus Control - Acknowledgement

Image View On (30 04)

Directed Message

STB-DVR

DTV

01 00:00:11.01 00:00:00.00 TUNER->TV CEC CEC IMAGE VIEW ON

Pull down bus to Ack with “0’ bit

02 00:00:18.41 00:00:06.20 AUDIO->ALL CEC CEC REQUEST ACTIVE SRC

STB-DVR

DTV

Request Active Source

(5F 85)

Request Active Source

(5F 85)

high

low

DTV

0.6 ms

1.5 ms

Release bus

Release bus to set Ack bit to “1”

Broadcast Message

STB-DVR

DTV

AVR

AVR

Do nothing to

acknowledge

ALL

high

low

AVR

0.6 ms

Release bus to setAck bit to “1”

DVD

Game System

STB-DVR

slide37
CEC Bus Control – No Acknowledgement

Image View On (30 04)

Directed Message

STB-DVR

DTV

01 00:00:11.01 00:00:00.00 TUNER->TV CEC CEC UNACKNOWLEDGED

02 00:00:18.41 00:00:06.20 AUDIO->ALL CEC CEC UNACKNOWLEDGED

AVR

DTV

Request Active Source

(5F 85)

Request Active Source

(5F 85)

high

low

DTV

0.6 ms

Release bus to

set Ack bit to “1”

Do nothing to Nack

Broadcast Message

STB-DVR

DTV

AVR

Pull down to 0 to

Nack

STB-DVR

DTV

high

low

AVR

0.6 ms

1.5 ms

Release bus

Release bus to

set Ack bit to “1”

DVD

Game System

STB-DVR

cec bus control arbitration
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).

cec bus control arbitration39
CEC Bus Control - Arbitration

Image View On

Image View On

(40 04)

Get Menu Language

(04 91)

Record TV Screen

DVD

DTV

DVD

Record TV Screen (01 0F)

Record ON [Digital Service ID]

(10 09 02)

Active Source

(4F 82 11 00)

01 00:00:11.01 00:00:00.00 PLAYER1->TV CEC CEC ERROR

02 00:00:11.07 00:00:00.60 TV->PLAYER1 CEC CEC GET MENU LANGUAGE

03 00:00:12.01 00:00:00.20 PLAYER1->TV CEC CEC IMAGE VIEW ON

04 00:00:12.21 00:00:01.60 PLAYER1->ALL CEC CEC ACTIVE SOURCE

05 00:00:18.41 00:00:06.20 TV->RECORDER CEC CEC UNACKNOWLEDGED

Signal Free Time

>/= 5 bit times

(~ 12.0ms)

New Message

06 00:00:18.49 00:00:06.11 TV->RECORDER CEC CEC RECORD TV SCREEN

Record Status [Recording Digital Service]

(01 0A 02)

07 00:00:69.51 00:00:51.10 RECORDER->TV CEC CEC RECORD ON

08 00:00:69.71 00:00:00.20 TV->RECORDER CEC CEC RECORD STATUS

DTV

DTV

STB-DVR

Signal Free Time

>/= 3 bit times

(~ 7.2ms)

Retransmit

AVR

DVD

Game System

STB-DVR

verifying the cec implementation
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

verifying the cec implementation42
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
cec debug testing error simulator
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)

cec debug testing message logger
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)

cec compliance testing cdf entry
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)

cec compliance testing test initiator
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 emailed.

(Quantum Data CEC Compliance Application)

for more information
For more information…
  • Quantum Data has prepared an educational whitepaper and a video on CEC that provides some further examples: http://www.quantumdata.com/
thank you
Thank You…

Presenter: Neal Kendall

Technical consultant: Jeff Stenhouse

Animation & Graphics: Robert Watson

ad