By GRL Team on 4월 04, 2023

숨겨진 기능, HDMI® CEC 사양 분석 및 기능 소개

Granite River Labs, GRL
Peter Lee

살면서 다음과 같은 상황에 직면한 적이 있나요? 직장에서 바쁜 하루를 보낸 후 집에 돌아와 휴식을 취하기 위해 영화를 보고 싶을 때 여러 개의 리모컨을 꺼내 TV, 셋톱박스, 스테레오를 하나씩 켜고 프로그램을 설정해야 합니다. 물론 리모컨을 찾지 못할 때도 있고, 이렇게 복잡한 조작은 답답하고 짜증날 수밖에 없습니다. 현재 사용하는 시청각 장비가 CEC 기능을 지원한다면 상황은 매우 달라질 것입니다! CEC가 어떤 마법 같은 기술인지 살펴봅시다!

 

HDMI CEC란 무엇인가요? 어떤 상황에서 사용할 수 있나요?

CEC는 Consumer Electronics Control의 약자로 HDMI 인터페이스를 위해 특별히 설계된 HDMI 협회에서 개발한 기술 및 기능입니다. 설계의 원래 의도는 소비자가 "하나의" 리모컨을 사용하여 모든 HDMI 연결 장치를 제어 및 작동하고, 시청각 장비(예: 홈 시어터 등)의 복잡한 작동을 단순화하며, 사용자에게 보다 편리한 생활 경험을 제공하는 것입니다. 현재 일반적으로 사용되는 원터치 플레이 기능을 예로 들어 보겠습니다. 셋톱박스와 CEC 기능을 지원하는 TV를 동시에 사용하는 경우 사용자는 셋톱박스의 전원 버튼만 누르면 TV도 켜지고 입력 포트가 자동으로 전환됩니다. 

여러 시청각 장비의 제어를 실현하려면 완전하고 일관된 전송 프로토콜 사양 세트를 채택해야 합니다. 현재 HDMI 협회는 CEC 1.4와 CEC 2.0의 두 가지 버전의 CEC 사양을 발표했습니다. CEC 2.0은 CEC 1.4의 확장을 기반으로 합니다. 더 많은 기능을 지원하지만 원칙적으로 동일한 물리적 및 프로토콜 아키텍처를 채택합니다.

 

HDMI CEC 전송 아키텍처 및 원리, 연결된 HDMI 제품을 제어하는 방법은 무엇입니까?

CEC 기술의 물리적 계층 소개

CEC는 단선 양방향 통신 기술입니다. 물리 계층에서는 연결된 모든 장치와 통신하는 데 단 하나의 CEC 핀만 필요합니다. HDMI 연결 네트워크에서는 장치 간 CEC 라인 설계에 연결이 필요합니다. 따라서 HDMI 제품이 CEC 기능을 지원하는지 여부에 관계없이 CEC 핀이 장착되어 있고 특정 전기 사양을 충족해야 네트워크에 연결된 CEC를 지원하지 않는 장치가 있어도 나머지 장치가 정상적으로 작동 할 수 있습니다.

CEC 기능을 지원하지 않는 HDMI 장치의 경우 HDMI 오디오 및 비디오 데이터를 올바르게 전송하는 것 외에도 CEC 커패시턴스, 저항 및 전압도 사양을 충족해야 적격 HDMI 장치로 인증 받을 수 있습니다.

다음은 관련 CEC 라인 전기 사양입니다:

  1. 연결 장치로 인한 라인의 과도한 정전 용량 부하를 방지하기 위해 Source(송신 측) 제품의 최대 허용 정전 용량 값은 150pf이고 Sink(수신 측) 제품의 최대 허용 정전 용량 값은 200pf입니다.
  2. 일반적으로 제품에 여러 개의 HDMI 입력 단자(예: TV)가 있는 경우 입력 단자 사이의 CEC 라인을 연결해야 합니다(예: 입력 단자 1과 입력 단자 2 사이의 저항 값은 5옴 미만이어야 함). 제품에 여러 개의 출력 단자가 있는 경우 CEC 라인을 연결할 수 없습니다(예: 출력 단자 1과 출력 단자 2 사이의 저항값이 1M 옴 이상이어야 함). 제품이 Repeater 타입인 경우, 출력 단자와 입력 단자 사이의 CEC 라인 연결은 CEC_Root_Device인지 여부에 따라 설계해야 합니다.
  3. 제품의 전원이 꺼졌을 때 CEC 라인의 누설 전류는 1.8uA 미만이어야 합니다. 또한 제품이 전원 켜짐, 전원 꺼짐, 절전(지원되는 경우)의 세 가지 상태에 있더라도 외부 풀업 또는 풀다운의 테스트 조건에서 CEC 라인의 전압은 특정 범위 내에 있어야 합니다.
    支援HDMI CEC的產品須遵守的電氣規範(來源HDMI Spec 1.4b)
    그림 1: HDMI CEC를 지원하는 제품의 전기적 사양(출처: HDMI 사양 1.4b)
  4. 제품이 CEC 기능을 지원하는 경우, 제품이 올바른 CEC 신호를 출력할 수 있도록 하기 위해 위에서 언급한 3포인트 사양을 충족하는 것 외에도 아래 그림의 사양도 충족해야 합니다. CEC 라인이 유휴 상태일 때 로직 1 상태를 유지하려면 27k 옴 저항을 통해 라인 전압을 2.5~3.63V까지 끌어올려야 합니다. 메시지 전송을 시작한 후에는 논리 0을 나타내기 위해 라인 전압을 0~0.6V로 낮춰야 합니다. 또한 CEC는 고속 전송 인터페이스가 아니며 상승 및 하강 시간에 대한 요구 사항은 각각 250us 및 50us 미만입니다.
    支援HDMI CEC的產品須遵守的電氣規範-電壓(來源HDMI Spec 1.4b)
    그림 2: 전기 사양 - HDMI CEC를 지원하는 제품의 전압(출처: HDMI 사양 1.4b)

 

CEC 기술 프로토콜 계층 소개

CEC 전송 과정에는 일반적으로 Initiator와 하나 이상의 팔로워가 필요합니다. Initiator는 신호 전송을 담당하고 팔로워는 신호 수신을 담당합니다. 완전한 CEC 신호는 확대하면 여러 개의 비트로 구성되며, 비트는 Start bit와 Data bit로 세분화할 수 있습니다.

  • Start bit 형식:Initiator가 CEC 메시지를 전송하지 않을 때 CEC 라인의 논리 1입니다. 메시지 전송을 시작하려면 해당 라인이 논리 0으로 낮아집니다(그림 3). 시작 비트 형식은 여기서만 사용되며 팔로워는 이 형식의 메시지를 수신한 후 후속 데이터 비트를 수신할 준비를 합니다.
    HDMI CEC Start bit格式(來源HDMI Spec 1.4b)
    그림 3: HDMI CEC Start Bit 포맷(출처: HDMI 사양 1.4b)

 

  • Data bit 형:시작 비트가 전송된 후 바로 데이터 비트가 전송되며, 그림 4에 표시된 형식에 따라 논리 1과 0을 출력해야 합니다. Initiator는 로직 1과 0을 사용하여 데이터를 전송하고 팔로워는 로직 0을 사용하여 ACK를 응답합니다.
    HDMI CEC Data bit 格式(取自 HDMI Spec 1.4b)
    그림 4: HDMI CEC Data Bit 형식 (출처: HDMI 사양 1.4b에서 발췌)

 

  • Header/Data Block 형:10개의 데이터 비트는 헤더/데이터 블록이라는 더 큰 단위를 구성할 수 있습니다(그림 5 참조). 처음 8개의 정보 비트는 애플리케이션에 따라 데이터, 논리 주소, 연산 코드와 같은 정보를 전송하는 데 사용할 수 있습니다. 마지막 두 개의 EOM 및 ACK 비트는 다음과 같은 용도로 사용됩니다:
    1. EOM (End of message):팔로워에게 전송할 마지막 데이터 블록인지 여부를 알리는 데 사용되며, 1은 메시지가 전송되었음을 의미하고 0은 아직 데이터 전송이 남아있음을 의미합니다.
    2. ACK (Acknowledge):발신자는 항상 ACK를 1로 설정하고, 팔로워는 정보가 성공적으로 수신되었는지 여부를 반영하기 위해 ACK로 응답합니다. 팔로워는 전송 모드(다이렉트/브로드캐스트)에 따라 ACK 응답 방식이 달라질 수 있다는 점에 유의하세요. 발신자가 한 명의 팔로워에게 메시지를 전송하는 경우 이러한 유형의 메시지를 쪽지라고 하며, 팔로워는 ACK를 0으로 설정할 수 있으며, 이는 메시지가 올바르게 수신되었음을 의미합니다. 시작자가 여러 명의 팔로워에게 메시지를 전송하는 경우 이러한 유형의 메시지를 브로드캐스트 메시지라고 하며, 팔로워는 ACK를 0으로 설정할 수 있으며, 이는 메시지가 올바르게 수신되지 않았음을 의미합니다. 따라서 발신자가 ACK가 0인 것을 감지하면 한 명 이상의 팔로워가 메시지를 성공적으로 수신하지 못했음을 의미할 수 있습니다. 반대로 ACK가 1이면 모든 팔로워가 메시지를 올바르게 수신했음을 의미합니다.
    Header_Data Block格式(來源HDMI Spec 1.4b)
    그림 5: 헤더/데이터 블록 형식(출처: HDMI 사양 1.4b)

 

위의 내용을 바탕으로 전체 CEC 명령은 시작 비트, 헤더 블록 및 여러 데이터 블록으로 순차적으로 구성됩니다. Initiator는 서로 다른 데이터 블록 내용을 전송하여 서로 다른 기능으로 연결된 팔로워를 제어할 수 있습니다.

 

HDMI CEC 기능을 통해 제품을 원격으로 연결하려면 어떻게 해야 하나요?

CEC의 물리적 및 논리적 위치 할당

현실 세계에서는 멀리 떨어져 있는 친구에게 무언가를 부탁하고 싶을 때 보통 이메일이나 전화로 연락을 취합니다. 이 과정에는 두 가지 중요한 매개변수가 필요한데, 하나는 친구의 이메일 주소 또는 전화번호이고 다른 하나는 정확한 지시 사항입니다.

마찬가지로 팔로워가 정상적으로 작동하려면 Initiator가 올바른 지시를 보내야 할 뿐만 아니라 올바른 팔로워 위치로 지시를 보내야 합니다. CEC 디바이스는 물리적 위치와 논리적 위치를 동시에 갖습니다. 물리적 위치는 연결 트리 다이어그램에서 디바이스의 노드 위치를 의미하며, 논리적 위치는 디바이스의 제품 유형을 반영합니다. 소비자마다 제품에 연결하는 방식이 다르기 때문에 물리적 위치나 논리적 위치 모두 고정할 수 없습니다. Initiator가 모든 상황에서 올바른 디바이스에 메시지를 보낼 수 있도록 다양한 연결 방법으로 조정해야 합니다.

물리적 위치의 분배는 DDC 라인과 싱크 EDID를 통해 실현됩니다. 일반적으로 TV는 전체 CEC 연결 트리 다이어그램의 끝에 있는 장치로, 물리적 위치가 4야드이고 0.0.0.0으로 고정된 CEC 루트 디바이스라고 합니다. 그렇다면 다른 연결 디바이스는 어떻게 규칙적인 방식으로 물리적 위치를 얻게 될까요? 그림 6을 예로 들어 AV 장치가 TV의 입력 단자 2에 연결되어 있다고 가정하면, 이 장치는 DDC 라인을 사용하여 TV 입력 단자 2의 EDID를 읽고, 읽은 물리적 위치 값 2.0.0.0을 VSDB에서 자신의 물리적 위치로 설정합니다. AV 장치에 입력 단자가 있는 경우 입력 단자의 번호를 자체 물리적 위치 2.0.0.0에 겹쳐서 새로운 물리적 위치를 생성하고 해당 입력 단자의 EDID에 입력하므로 DVD 플레이어가 포트 1 이후 AV 장치의 입력에 연결되면 얻은 물리적 위치는 2.1.0.0이 됩니다. 이러한 방식으로 장치 트리 다이어그램을 계속 확장하면 이론적으로 CEC 장치는 최대 5 레벨의 연결 네트워크를 형성 할 수 있으며 각 레벨에는 최대 15 개의 장치가 포함될 수 있습니다. 너무 많은 장치는 라인에 과도한 정전 용량 부하를 유발하고 전송 신호의 품질에 영향을 미치기 때문에 실제 응용 프로그램에서 15 개 이상의 장치를 연결하는 것은 불가능하다는 점에 유의할 가치가 있습니다.

物理位置分配圖(來源HDMI Spec 1.4b)

그림 6: 물리적 위치 할당 다이어그램(출처: HDMI 사양 1.4b)

 

각 CEC 장치는 물리적 위치 외에도 장치의 제품 유형을 반영하기 위해 전용 논리적 위치를 얻습니다(그림 8 참조). 예를 들어 TV에 해당하는 논리적 위치는 0이고 셋톱박스에서 사용할 수 있는 논리적 위치는 3 , 6, 7, 10 하나입니다. 주의 깊은 독자는 네트워크에 반복되는 기능을 가진 여러 장치가 연결되어있는 경우 논리적 위치를 할당하는 방법에 대해 질문 할 수 있습니다. 반복 장치의 논리적 위치 할당은 CEC의 폴링 메시지를 통해 실현됩니다. 폴링 메시지란 헤더 블록만 있는 메시지로, Initiator와 대상의 논리적 위치가 같고 EOM 비트가 1로 설정되어 있는 메시지를 말합니다. 다음으로 라이프 애플리케이션을 예로 들어 소비자가 PS5, Xbox 및 기타 비디오 게임 콘솔을 TV에 연결할 때 논리적 위치 할당이 어떻게 수행되는지 살펴 보겠습니다.

 

CEC를 지원하는 HDMI 장치 링크 로직 애플리케이션

소비자가 모든 장치를 연결하면 TV는 폴링 메시지(논리적 위치 0 -> 논리적 위치 0)를 보냅니다. 이때 다른 장치가 ACK에 응답하지 않으므로 TV는 논리 위치 0을 얻게 됩니다. 그런 다음 시간 순서대로 TV에 연결된 첫 번째 게임 콘솔이 PS5 게임 콘솔이라고 가정하면 폴링 메시지 (논리 위치 4-> 논리 위치 4)를 보내고 다른 장치가 ACK로 응답하지 않으므로 PS5는 논리 위치 4를 얻게 됩니다. 가장 늦게 TV에 연결된 Xbox도 폴링 메시지(논리 위치 4 -> 논리 위치 4)를 보내려고 하지만, 이때 이미 PS5가 이 논리 위치를 점유하고 있기 때문에 PS5는 이 메시지에 ACK로 응답하여 성공적으로 수신 되었음을 나타냅니다. 논리 위치 4가 이미 사용 중이므로 Xbox는 다음 폴링 메시지(논리 위치 8 -> 논리 위치 8)를 보내려고 시도합니다. 이때 다른 장치가 ACK에 응답하지 않으면 Xbox는 논리 위치 8을 얻게 됩니다.

요약하면, CEC 장치가 연결되거나 연결이 끊어질 때마다 위의 프로세스에 따라 장치가 자동으로 물리적 및 논리적 위치를 할당하여 새로운 장치 연결 네트워크를 형성합니다.

Polling message結構(來源HDMI Spec 1.4b)

그림 7: 폴링 메시지 구조(출처: HDMI 사양 1.4b)

 

HDMI CEC裝置邏輯位置(來源HDMI Spec 1.4b)

그림 8: HDMI CEC 장치의 논리적 위치(출처: HDMI 사양 1.4b)

 

HDMI 사양에서 CEC 아키텍처의 안정적인 통신 메커니즘

CEC 아키텍처에서는 안정적인 정보 전송을 위해 다음 두 가지 방법을 사용합니다:

  1. 재전송(Retransmission):Initiator가 CEC 메시지를 전송한 후 팔로워가 ACK로 응답하지 않거나 팔로워가 잘못된 시간에 CEC 라인 전압을 내리는 경우 전송된 메시지가 잘못되었거나 팔로워가 메시지를 처리하기에 너무 늦었다는 의미이므로 사양에서는 Initiator가 동일한 메시지를 최대 5회까지 다시 전송할 수 있도록 허용하고 있습니다.
  2. 중재(Arbitration):CEC 회선에서는 single Initiator만 메시지를 전송할 수 있기 때문에 여러 개의 Initiator가 동시에 신호를 전송하여 발생하는 출력 이상을 방지하기 위해 CEC는 신호 자유 시간을 정의하며(그림 9 참조), Initiator는 메시지를 전송하기 전에 신호 자유 시간이 경과할 때까지 기다려야 합니다. 그림 9에서 Initiator 전송에 필요한 신호 자유 시간이 가장 짧다는 것을 알 수 있으며, 이는 중재 우선 순위가 가장 높고 메시지 전송에 성공할 가능성이 높다는 것을 의미합니다.
    Signal free time(來源HDMI Spec 1.4b)
    그림 9: 신호 가용 시간(출처: HDMI 사양 1.4b)

 

결론

HDMI 인터페이스의 고유한 CEC 기능을 통해 소비자는 시청각 장비의 작동을 단순화하고 더 나은 사용자 경험을 제공하며 생활의 성가신 복잡성을 줄일 수 있습니다. 소비자가 구입한 CEC를 지원하는 시청각 장비가 정상적인 기능을 갖도록 하려면 장비가 시장에 출시되기 전에 테스트를 위해 타사 인증 테스트 실험실로 보내져 HDMI 사양에 따라 관련 CEC 인증 테스트를 통과해야 합니다. 이 기사에서는 CEC의 기본 전기적 특성 및 프로토콜 계층 사양을 소개하여 독자가 CEC의 작동 원리를 이해하고 제품 사양을 보다 명확하게 파악하며 인증 테스트를 원활하게 통과 할 수 있기를 바랍니다.

기술 뉴스레터 구독하기

 

References

  1. High-Definition Multimedia Interface Specification version 1.4b

Author
Peter Lee, Test Engineer, GRL Taiwan

국립 청쿵 대학교에서 재료학 석사 학위를 취득했습니다. HDMI 2.1 및 HDCP 기술 테스트에 익숙한 HDMI 테스트 분야에서 3년의 경력을 보유하고 있으며, GRL 기술 기사의 저자 및 강사로 활동 중입니다.

 

이 문서의 사양 및 설명은 예고 없이 변경될 수 있습니다.

2023/03/02 AN-230302-TW

Published by GRL Team 4월 04, 2023