CEC 채널은 선택 사항입니다. CEC 채널을 통해 비디오 소스와 디지털 TV 간의 양방향 통신 지원과 같은 오디오 및 비디오 장치 간의 고급 제어 기능을 구현할 수 있습니다. 동시 전원 켜기, 자동 전원 켜기, 자동 신호 라우팅, 원격 제어 등의 기능을 제공합니다.
그림 1 HDMI 시스템 맵
전자 EDID 데이터 구조
E-EDID 는 VESA 에서 정의한 데이터 구조이며 PC 모니터에 최적화된 디스플레이 형식 데이터 사양입니다. 모니터 전용 EEPROM 메모리에 저장되며 데이터 구조는 128 바이트입니다. PC 호스트와 모니터는 DDC 채널을 통해 스토리지의 데이터에 액세스하여 해상도, 화면 비율 및 기타 정보와 같은 디스플레이 특성을 결정합니다. HDMI 는이 데이터 구조를 사용합니다. HDMI 사양에서 동일한 예는 DDC 채널을 사용하여 EDID 스토리지에 액세스하여 디스플레이 장치의 기능과 속성을 결정합니다.
HDMI 사양에 따라 EDID 의 첫 번째 128 바이트는 EDID 1.3 을 준수하는 데이터 구조여야 하고 두 번째 128 바이트는 EIA/CEA-를 준수해야 합니다
Blogs.com/taigacon/p/3840653.html
HDMI (HD 멀티미디어 인터페이스) 는 주로 HD 오디오 및 비디오 신호를 전송하는 데 사용됩니다.
HDMI 핀:
HDMI 에는 a, b, c, d, e 의 다섯 가지 핀 유형이 있으며 현재 시장에서 가장 일반적인 핀 유형은 a 유형입니다.
안에 ...
전송 프로세스:
HDMI TMDS 는 세 가지 데이터 (Hsync 및 Vsync 중 네 가지 포함) 를 전송합니다.
HDMI 데이터 전송에는 TMDS0, TMDS 1 및 TMDS2 의 세 가지 채널이 있으며 각 채널의 전송 프로세스는 동일합니다.
8 비트 데이터가 TMDS 인코더에 들어가면 간섭 방지 10 비트 TMDS 신호를 받고 출력을 직렬화합니다. 수신측이 직렬 HDMI 신호를 수신하면 신호를 복구하여 10 비트의 TMDS 신호를 받고 마지막으로 TMDS 디코더에 의해 원본 8 비트 데이터를 디코딩합니다.
전체 전송 프로세스는 다음과 같습니다.
비디오 데이터를 RGB 형식으로 전송하는 경우 세 채널의 24 비트 입력이 모두 사용됩니다. 여기서 채널 0[7:0] 은 b 전송에 사용되고 채널 1[7:0] 은 g 전송에 사용되며 채널 2[7:0] 은 전송에 사용됩니다 .....
데이터 아일랜드를 전송하는 경우 3 개의 채널 * * * 10 비트 입력, 채널 0[3:2] 은 데이터 아일랜드 헤더, 채널 1[0:3] 및 채널 2 [0] 을 전송하는 데 사용됩니다
사전 동기화 코드를 보내면 1, 2 * * 4 비트 입력 채널 두 개가 사용됩니다. 채널 1[ 1:0] 및 채널 2[ 1:0] 는 각각 CTL 0, CTL 1, CTL 입니다
Hsync 와 Vsync 의 경우 채널 0 의 두 비트 입력을 사용합니다. 채널 0[0] 은 Hsync 이고 채널 0[ 1] 은 VSync 입니다.
전송 주기:
HDMI 의 TMDS 데이터 전송은 세 가지 전송 주기로 나눌 수 있습니다.
Hsync, Vsync 는 제어 주기 동안 전송되고, 이전 동기화 코드는 주기의 마지막 단계에서 전송됩니다.
데이터 아일랜드 기간 동안 데이터 아일랜드 (패킷) 가 전송되며 Hsync 와 Vsync 도 있습니다.
비디오 데이터 (비디오 픽셀 데이터) 는 비디오 데이터 주기 동안 전송됩니다.
한 프레임의 총 주기는 다음과 같습니다.
세 가지 전송 주기 변환은 다음과 같습니다.
왼쪽에는 Hsync, Vsync 및 전면 동기화 코드를 전송하는 제어 주기가 있습니다.
중간은 데이터 아일랜드 기간, 전송 Hsync, Vsync, 패킷 2 개 (시계 32 개당 패키지 1 개) 입니다. 또한 데이터 섬의 양쪽 끝은 보호대를 사용하여 데이터 섬의 데이터를 보호하고 격리합니다. 이 단계에서 전송되는 대부분의 데이터는 이미지 해상도와 같이 매우 중요하기 때문입니다. 사후 비디오 데이터의 표시 방식을 결정합니다.
오른쪽에는 비디오 픽셀 데이터를 전송하는 비디오 데이터 섬이 있습니다. 이 시기의 시작에는 경호밴드도 있었다.
데이터 아일랜드 그룹 구조
모든 데이터 아일랜드 그룹화에는 32 개의 클럭 펄스 주기가 있습니다. 즉, 32 개의 클럭 펄스마다 하나의 그룹이 전송됩니다.
위의 그림을 예로 들어 보겠습니다.
포두는 BCH 블록 4 로 채널 0[2] 에서 보냅니다. 32clk 는 32 비트, 즉 44 바이트를 의미합니다. 처음 세 바이트는 포두이고 마지막 바이트는 체크 코드입니다.
이 패킷은 BCH 블록 0, 1, 2,3 으로 각각 채널 1 및 채널 2 * * * 의 8 개 회선에서 전송되며, * * * 의 검사 코드는 24 바이트와 6 바이트입니다.
패리티 코드는 전송 중 HDMI 케이블에 오류가 있는지 확인하는 데 사용됩니다. 패키지가 HDMI 수신측에서 오류를 검사하는 경우 1 비트를 초과하는 오류는 잘못된 패킷으로 간주됩니다 (HDMI 가 데이터를 계속 보내고 있기 때문에 잘못된 패킷을 재발송할 수 없습니까? ) 을 참조하십시오
따라서 수신측에서 포장을 풀고 각 BCH 블록의 검사 비트를 꺼내 보정해야 합니다.
다양한 패킷 유형이 있습니다. 자세한 내용은 HDMI 사양을 참조하십시오.
오디오 시계
오디오의 샘플링 속도는 44 100, 48000, 192000 등이다. 그것은 다양하다. HDMI 전송에서 오디오는 PCM 레벨 (비압축) 전송이며 PCM 데이터는 패킷에 분산되어 있습니다. 각 오디오 프레임에 대한 데이터를 얻으려면 오디오의 샘플링 속도도 알아야 합니다. HDMI 는 오디오의 전송 모드를 지정합니다.
오디오 샘플링 속도 fs 재구성은 다음과 같은 주요 매개 변수에 따라 달라집니다.
TMDS 시계
CARPAL TUNNEL SYNDROME 과 함께
보통
전송 디바이스 측면에서 알려진 매개 변수에는 샘플링 속도 fs, 비디오 클럭 (TMDS 클럭), 사전 설정 매개 변수 N 이 포함되며 CTS 가 발견됩니다.
CTS=N? FTMDS 128×fx
수신 장치 측에서는 하드웨어 장치를 통해 TMDS 시계를 얻을 수 있고, N 은 오디오 패킷을 통해 CTS 와 함께 전송되어 fs 를 찾을 수 있습니다.
128? Fs=N×fTMDSCTS
수신측 fs 의 안정성과 정확성을 유지하기 위해서는 VCO (전압 제어 발열기) 를 사용하여 적절한 주파수를 생성한 다음 PFD (주파수 감지 인버터) 를 사용하여 주파수를 잠그는 위상 고정이 필요합니다.
1. 첫째, VCO 는 (200MHz~500MHz) 와 같은 최적의 작업 공간을 가지고 있기 때문에 VCO 가 최적의 작업 주파수에 있도록 뒤에서 뒤로 밀면 출력 fa 128 을 곱할 수 있습니다
Fvco=fa 128×S×S2
단 몇 개의 fa 128 (44. 1k, 48k 등) 만 있기 때문이다. ), s 와 S2 모두 쉽게 구할 수 있습니다.
2. 그렇다면 더 빠른 주파수 일치를 위해서는 가장 가까운 주파수 FX (즉, 정진시계 fcrystal) 또는 Fv (픽셀 시계) 를 분파하고 fvco 를 분파하여 두 추세가 같도록 해야 한다. 미묘한 차이의 경우 D 코드로 수정할 수 있습니다.
FvcoM=fxK
마지막으로 PFD 위상 고정.
4. 2 단계와 3 단계의 피드백 작업 사이클이 진행되어 상대적으로 안정적인 fvco 를 얻을 수 있습니다.
최종적으로 얻다
Fa 128=fvcoS×S2
핫 플러그
핫플러그는 핫 플러그입니다. 인터페이스가 연결되면 후속 작업을 위해 장치가 있는지 여부를 확인할 수 있습니다.
HDMI 소스 장치는 수신 장치의 핫 플러그 포트를 모니터링합니다. Hotplug 가 높으면 디바이스가 작동하는 것으로 확인된 다음 DCC 를 읽습니다. 낮음일 경우 장치 연결이 끊어진 것입니다.
HDMI 는 HDMI 의 5v 핀 전원이 꺼지면 DCC 를 읽어야 한다고 규정하고 있습니다. 즉, Hotplug 가 높은지 확인해야 합니다.
핫 플러그 연결:
그것은 5v 핀으로 전기를 공급한다. 5V 전원이 꺼지면 5V 전압이 HDMI HPD 및 핫 플러그에 주입됩니다. 이 시점에서 HPD 는 5V 전압 (높음) 을 감지하여 EDID 를 읽을 수 있습니다. 그러나 이런 방식에는 한 가지 단점이 있다. 5V 전압은 핫 플러그에 영향을 미칩니다. 핫 플러그 핀이 5V 전압의 충전을 견딜 수 없게 되면 구멍이 뚫려 HPD 가 낮은 것만 감지할 수 있다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 핫플러그명언)
추가 GPIO 핀과 트랜지스터는 HDMI HPD 가 0 인지 1 인지를 제어하는 데 사용됩니다. HDMI0_HPD_CTL 출력 0 이면 트랜지스터가 꺼지고 HDMI0_HPD 가 고평을 감지합니다. HDMI0_HPD_CTL 출력 1 이면 트랜지스터가 켜지고 HDMI0_HPD 가 저평을 감지합니다.
HDMI 수신기
예를 들어, TV 가 HDMI 의 수신단이라면, HDMI 의 수신측은 무언가를 해야 한다.
HDMI 는 TMDS 클럭, 핫 플러그 및 DCC 전송을 위한 I2C 핀 등 세 개의 채널을 통해 TMDS 데이터를 수신할 수 있습니다. 나는 이미 TMDS 데이터와 핫 플러그 설정에 대해 이야기한 다음 TMDS 시계를 분석할 것이다.
TMDS 시계는 픽셀 클럭, 즉 한 픽셀에 사용되는 클럭 주파수입니다. TMDS 시계는 clk 핀을 통해 수신측으로 전송되지만 수신측은 송신자가 보낸 TMDS 시계의 주파수가 얼마인지 모르기 때문에 Phy(HDMI 하드웨어 주파수 설정 섹션) 를 통과해야 합니까? ) 위상 고정 을 수행합니다. 그러나 HDMI 의 대역폭이 매우 넓기 때문에 (480P@60Hz 는 25.2MHz, 1080P@60Hz 는 162MHz, 심지어 최대 340MHz) 일반 VCO
먼저 입력 주파수가 떨어지는 주파수 대역을 탐지한 다음 주파수 대역에 따라 다르게 설정합니다.
TV 에서 나오는 결정체 발열기로 계산하면 TDMS 시계를 알 수 있습니다.
Fcrystal=count×fTMDS
또는 1024 TMDS 시계를 사용하여 수정 발열기의 수를 계산합니다.
1024×ft MDS = 개수 ×f 결정
비디오 신호는 TMDS 인코딩 후 RGB 8 비트에서 10 비트로 변경되고 직렬화되므로 TMDS 데이터를 수신하는 데 실제로 사용되는 시계는 다음과 같습니다.
FReceiveClock= 10×fTMDS
또한 ReceiveClock 은 TMDSClock 을 참조로 사용하여 위의 곱셈을 직접 사용하는 대신 하드웨어 잠금 장치를 사용하여 얻을 수 있습니다.
수신 시계를 받으면 PLL 빈도를 설정한 다음 세 채널을 샘플링하여 TMDS 데이터를 얻을 수 있습니다.
정시 검사
수신기는 장치가 지원할 수 있는 경우 (예: 색도), HDMI 는 타이밍을 자유롭게 대체할 수 있고, 타이밍이 대체되면 수신측은 Phy 를 재설정해야 하기 때문에 여전히 타이밍 감지가 필요합니다. 따라서 빈도의 변화를 감지하여 타이밍이 교체되었는지 여부를 감지할 필요가 있습니다. 일반적으로 인터럽트 서비스 (또는 루프) 스레드가 있어 주파수 변경을 감지합니다. 주파수가 변경되면 HDMI 의 올바른 작동을 보장하기 위해 Phy 재설정을 알립니다.
HDMI 저작권 콘텐츠 보호 HDCP
DDC 를 통한 HDCP 전송
HDCP 는 주로 저작권이 있는 비디오를 보호하는 데 사용됩니다. 예를 들어 Blu-ray DVD 플레이어에서 Blu-ray DVD 를 재생할 수 있고 해당 DVD 가 HDCP 라이센스를 받은 상태에서 DVD 이미지를 TV 로 내보내려고 하는데 TV 가 HDCP 에 의해 승인되지 않은 경우 TV 에서 이미지를 재생하지 못하거나 재생 품질이 떨어질 수 있습니다. 예를 들어 눈이 있으면 이미지가 1080p 에서 480p 로 바뀌거나 소리가 나지 않습니다.
HDCP 는 다음 절차에 따라 두 장치 간의 상호 작용을 통해 인증됩니다.
1. 송신기는 키 An(64 비트) 및 Aksv (키 선택 벡터 40 비트) 를 수신기로 보냅니다.
2. An 이 수신되면 수신기는 Bkvs 와 중계기 (장치 B 가 중계기 장치인지 여부 표시) 도 송신기로 보냅니다.
송신기는 HDCP 인증 코드 알고리즘을 시작합니다.
알고리즘을 이해하기 위해서는 먼저 ksv 가 무엇을 하는지 알아야 한다.
각 HDMI 장치 내부에 40 그룹 64 비트 키, 키 [40] 가 저장됩니다.
Kvs 는 40 비트로 각각 색인입니다. Kvs 의 n 중 하나가 1 이면 키 [n] 이 체크아웃됩니다.
모든 키 [n] 을 더하면 km 이 됩니다.
4. 수신기는 HDCP 인증 코드 알고리즘도 할 수 있는데, 이 단계는 킬로미터를 얻는다. `
5. 송신기와 수신기는 모두 km\km' 을 사용하여 hdcpBlkCipher 를 실행하고 R0 과 R0' 값을 얻습니다.
6. 100 ms 이후 수신기는 비교를 위해 R0' 을 송신기로 보내고, 같으면 인증이 완료된 것으로 간주합니다. 물론, km = km' 은 R0 = R0' 을 보장할 수 있다.
7. 이후 송신자와 수신측은 프레임당 한 번씩 hdcpBlockCipher 를 실행하지만 매개변수는 마지막으로 생성된 ks 와 M 이고 생성된 새 매개변수는 Ks, M, T 입니다.
8. 128 프레임에서 또 다른 r = t 입니다.
9. 첫 번째 통신 간격 2 초 후 다시 인증한다.
10. 다음 단계 7, 8, 9 는 반복 인증에 사용됩니다.
또한 HDMI 는1..1부터 더 빠르고 빈번한 인증 방법을 지원합니다.
상층 설비 통신지도의 하반부입니다.
1. 16 의 각 승수 프레임에서 현재 프레임의 채널 0 의 0 픽셀과 다른 또는 t 를 수행하여 Pj 를 얻습니다.
2. 채널 0 의 0 픽셀이 수신측에 도착하면 수신측의 T' 와 다르거나 P' J 를 얻습니다.
3. 수신자는 P'j 를 발신자에게 보내서 Pj 와 비교하고, 동일하면 인증을 통과합니다.
HDCP 를 이해하면 HDMI 이상 현상을 처리하는 데 도움이 됩니다. 예를 들어 눈송이가 수시로 나타나는 경우 신호가 좋지 않아 채널 0 의 0 픽셀 오류가 발생할 수 있으므로 2 단계 인증이 때때로 실패할 수 있습니다. ...
HDMI 수신기 일반 절차
HDCP
HDCP 는 HDCP 에 의해 암호화되어야 하는 고대역폭 디지털 콘텐츠 보호로, 디지털 신호가 쉽게 복제되지 않도록 TMDS 신호를 HDCP 에 의해 암호화해야 합니다.
8b/ 10b
8b/ 10b 는 IBM 이 최초로 특허를 출원한 디지털 처리 방법입니다. 이제 그 특허는 보호 기간이 지났고 공공 기술이 되었다. 그 목적은 디지털 신호의 전자기 간섭 방지 (EMI) 능력을 향상시키고 신호의 정확도를 높이는 것이다. 간단히 말해서, 작업 모드는 8 개의 0 과 65438+ 0 으로 구성된 디지털 신호를 다시 인코딩하는 것입니다. 처음 5 개는 6 개로, 마지막 3 개는 4 개로 재구성됩니다. 이 변환 후 8 개의 디지털 신호 세트가 10 그룹으로 변환됩니다. 전송이 완료되면 수신기는 디컴파일하고 디지털 신호를 복원합니다.