핵심 단어: MAX9217, MAX9218, MAX9850, MAX9491, Video dislay, audio data trsmission, TFT LCD display, Serialized video link, LVDS video link, audio DAC, graphic controller, Video panel display
개요: MAX9217/MAX9218 시리얼라이저 및 디시리얼라이저 칩셋은 자동차용 및 산업용 애플리케이션에서 단일 트위스트 페어 LVDS 링크로 비디오 데이터 전송을 위해 사용되어 왔다. 비디오 신호는 모든 디스플레이 프레임에서 블랭킹 기간을 갖는다. 오디오 데이터를 '피기백(piggyback)’하기 위해 이러한 블랭킹 기간을 사용할 수 있다. 이 애플리케이션 노트에서는 오디오 데이터 전송 포맷, 비디오 링크에 대한 데이터 전송을 위한 접근방법, 시스템 구현의 예에 대해 기술한다.
머리말
MAX9217/MAX9218 칩셋 [1]은 한 쌍의 트랜시버로, 송신기(MAX9217)는 병렬 데이터를 직렬 데이터로 변환시켜 전송하고 수신기(MAX9218)는 직렬 데이터를 다시 병렬 데이터로 변환시킨다. 이 칩셋은 이더넷에서 흔히 사용되는 UTP-CAT5와 같은 저가의 단일 트위스트 페어 케이블을 통해 그래픽 컨트롤러(프로세서)의 비디오 및 제어 신호를 LCD 또는 플라즈마 패널 디스플레이로 전송하기 위한 목적으로 설계되었다. 전송 거리는 10 미터 이상이 될 수 있다. 링크 구조가 단순하고 저가의 케이블을 이용하기 때문에 이 칩셋은 자동차, 계측, 의료용 장비 분야의 비디오 디스플레이 애플리케이션에 이상적인 솔루션이다.
그러나 이 칩셋은 거리가 먼 두 지점 간의 비디오 신호를 전송하는 그 이상의 능력을 갖고 있다. 때때로, 사람들은 오디오 신호를 동시에 전송할 수 있는 칩셋을 원한다. 이 애플리케이션 노트에서 오디오 데이터를 비디오 신호-블랭킹 기간동안 컨트롤 신호 채널을 통해 디스플레이 패널 측에 전송하는 방법을 알아 볼 것이다. 또 디지털 오디오 데이터를 아날로그 오디오 신호로 변환하는 방법과 이 때 패널 측에서 스피커를 구동시키는 시스템 구조를 보여 줄 것이다.
MAX9217/MAX9218 링크 기능 및 비디오 데이터 포맷
MAX9217 시리얼라이저는 최대 35Mbps의 버스 속도를 갖는 27비트 병렬 입력을 갖고 있다. 27비트 중에서 18비트는 비디오 RGB 데이터이다. 3개의 기본색 각각이 6비트씩 이고 나머지 9비트는 제어 신호이다. 9비트 제어 신호의 최초 3비트는 수직, 수평 및 RGB 데이터 동기화, 즉, VSYNC (C0), HSYNC (C1), ENAB (C2)로 할당된다. 나머지 6 제어 비트(C3 ~ C8)는 다른 제어 신호를 위해 사용될 수 있다. 이런 경우, 오디오 데이터 전송을 위해 이 6개의 제어 비트 중 일부를 사용한다. MAX9217은 18비트 RGB 데이터 또는 9비트 컨트롤 데이터를 선택적으로 시리얼라이즈하여 단일 LVDS 페어를 통해 전송한다. 컨트롤 데이터는 RGB 데이터 인에이블 신호(ENAB)로 표시해서 비디오 디스플레이의 블랭킹 기간 동안 전송된다.
시리얼라이즈된 데이터가 MAX9218에서 수신되었을 때, 이 데이터들은 MAX9217로 입력되었을 때와 동일한 포맷의 병렬 데이터로 변환된다. 또한 병렬 데이터가 MAX9218에서 출력될 때, 버스 클록은 직렬 LVDS 링크에 내장된 타이밍을 기반으로 복구된다. 그림 1은 MAX9217 및 MAX9218 사이에서 비디오 및 컨트롤 데이터를 위한 링크 셋업 및 연결에 대한 블록 다이어그램을 보여준다. 그림 2는 비디오 데이터 및 컨트롤 데이터의 타이밍을 보여준다. RGB 데이터와 컨트롤 데이터의 기간 비율(duration ratio)은 1% ~ 5%이며, 비디오 포맷, 디스플레이 크기, 링크 속도에 따라 달라진다.
그림 1. MAX9217/MAX9218을 이용한 비디오 링크 셋업.
그림 2. 직렬 링크에서의 비디오 데이터 및 컨트롤 데이터 포맷.
디지털 오디오 데이터 유형 및 전송 포맷
디지털 오디오 데이터에 대한 다양한 형태의 포맷이 있다. 여기에서는 가장 보편화된 세 가지 포맷인 샘플드 디지털 오디오 (PCM), MPEG 레이어 3 오디오(MP3) [2], ATSC 디지털 오디오 압축 표준 (AC3) [3]을 살펴보기로 한다.
PCM 디지털 오디오는 CD ROM 또는 DVD에서 사용되는 데이터 포맷이다. PCM 디지털 신호는 44.1kHz의 샘플링 속도와 16비트 또는 32비트 해상도에서 좌우 채널 오디오 신호를 샘플링함으로써 만들어진다. 결과적으로 PCM 오디오 데이터 속도는 샘플 당 16비트에서 1.41Mbps 또는 32비트에서 2.42Mbps이다. 700MB CD는 16비트 PCM 데이터 포맷에서 약 60분 분량의 음악을 저장할 수 있다.
MP3는 MP3 플레이어에서 사용되는 오디오 포맷이며 PCM 오디오 데이터를 압축시켜서 인코딩한다. 스테레오 MP3의 데이터 속도는 112kbps에서 128kbps에 이른다. 이 데이터 속도에서, 디코딩된 MP3 사운드는 CD 디지털 오디오와 같은 오디오 품질을 보여준다. AC3은 디지털 TV, HDTV, 극장에서 사용되는 디지털 오디오 코딩 표준이다. 코딩된 스테레오 AC3의 데이터 속도는 192kbps이다.
사운드를 재생하기 위해, 코딩된 오디오 데이터는 오디오 디코더 칩으로 연결되고, 이 칩이 차례로 PCM 디지털 데이터를 오디오 DAC로 전송한 후 이 DAC가 아날로그 오디오 신호를 복구한다. 반대로, 코딩되지 않은 디지털 오디오 데이터는 오디오 DAC로 직접 보내질 수 있다. (시스템 구현의 유형에 대한 자세한 사항은 나중에 언급하기로 한다.)
코딩 또는 코딩되지 않은 오디오 데이터를 위한 가장 일반적인 직렬 오디오 디지털 인터페이스는 Inter-IC 사운드 버스 (I²S) [4]이다. 그림 3은 I²S 인터페이스 구성 및 타이밍 다어어그램을 보여준다. 각 오디오 워드의 경계선은 신호, WS로 표시된다. 구성 모드 1이 여기에 나올 애플리케이션을 위해 사용될 것이다. 데이터는 SCK 신호를 상승 에지시킴으로써 수신기로 전달되나 SCK가 로우로 있을 때 수신되는 데이터는 없다.
그림 3. I²S 인터페이스 구성 및 타이밍.
이제 MAX9217및 MAX9218 간의 직렬 링크를 이용해 I²S 인터페이스를 에뮬레이트할 수 있다. 따라서 오디오 데이터를 그래픽 컨트롤러 측에서 먼 장소로 전송할 수 있다. SD 및 WS 신호에 대한 제어 비트 C3 및 C4를 각각 할당할 수 있다. SCK 클록의 경우, PCM 디지털 오디오가 전송될 경우, MAX9218의 복구된 픽셀 클록인 PCLK_OUT을 직접 이용할 수 있다. MP3 또는 AC3 오디오로 전송될 경우, 제어 비트 C5는 SCK 클록을 위해 절반 또는 더 낮은 속도의 픽셀 클록을 만들기 위해 사용될 수 있다. 그림 4는 두 가지 모든 경우의 타이밍 파형을 보여준다. 수신기에서 오버플로우를 방지하기 위해 대부분의 I²S 인터페이스에 스로틀 컨트롤(throttling control)이 필요하며, 이는 데이터 전송이 지연되어야 할 때 SCK를 로우로 함으로써 쉽게 해결할 수 있다. 만약 SCK 신호가 Case 1처럼 동작하는 동안 로우로 설정될 수 없다면, 칩 선택 핀 /CS를 사용해 수신기에서 비활성화시킨다. 이런 경우, 그림 4의 Case 1에서처럼, C6을 /CS 신호에 할당한다.
그림 4. I²S 인터페이스를 위한 컨트롤 데이터 비트의 파형.
블랭킹 비율 및 오디오 데이터 처리율
오디오 데이터가 비디오 신호의 블랭킹 기간을 통해 전송되기 때문에, 우리는 주어진 픽셀 주파수, fP로 목표 라인-블랭킹 비율과 프레임-블랭킹 비율을 결정할 필요가 있다. 그림 5는 디스플레이 패널의 라인-블랭킹과 프레임-블랭킹 기간을 보여준다.
그림 5. 라인 블랭킹 및 프레임 블랭킹.
라인 블랭킹 비율은 RL로 표시되며 프레임-블랭킹 비율은 RF로 표시된다. 다음과 같이 그림 5에서 이러한 비율을 연산할 수 있다.
RL = (I1 + I2) / L
그리고
RF = (f1 + f2) / F
따라서 오디오 데이터 처리율 RA 를 다음과 같이 얻을 수 있다.
RA = (RFδF + (1 - RF) RLδL) fP
여기서 δF와 δL은 블랭킹 기간 동안 오디오 데이터 전송의 사용률(utilization rate)이다. 사용률은 오디오 데이터 전송에 사용되는 전체 블랭킹 기간의 퍼센트를 나타내는 것으로 스로틀 컨트롤의 결과이다. 예로써, 표 1은 오디오 데이터의 세가지 유형을 위한 데이터 속도를 만들기 위해 설정할 수 있는 파라미터를 보여준다.
표 1. 오디오 데이터의 각 유형별 블랭킹 파라미터 설정
Audio Data Type
fP
RA
RB
δF
δL
Data Rate
16-Bit PCM Audio Data
35
0.02
0.03
81%
82%
1.41Mbps
MP3
17.5
0.01
0.01
35%
38.5%
128Kbps*
AC3
17.5
0.01
0.01
50.3%
60%
192Kbps*
*참고: MP3와 AC3 오디오 데이터 모두 헤드(head) 정보를 가지고 있다. 헤더를 감안하면 실제 코드 데이터 속도는 약간 더 높다 [2,3].
시스템 구현
패널 측에서 오디오를 재생하기 위해, PCM 데이터를 오디오 DAC로 보내거나 MP3 또는 AC3 데이터를 디코딩해 오디오 DAC로 전송해야 한다. 핸드셰이크 신호를 컨트롤러로 다시 전송하는 역 채널(reverse channel)이 없기 때문에, 디코더 마스터 클록은 데이터 오버플로우 및 언더플로우를 방지하기 위해 픽셀 클록으로 동기화시켜야 한다. 그림 6은 코딩 및 코딩되지 않은 데이터의 오디오 재생을 구현하기 위한 시스템 블록 다이어그램을 보여준다.
그림 6. 패널 측의 오디오 재생 구현.
위의 블록 다이어그램에서, I²S 인터페이스는 3번 사용된다. 왼쪽의 첫번째 및 두번째 I²S 인터페이스의 데이터 속도는 동일하며 35MHz 정도이다. MAX9850 DirectDrive 헤드폰 증폭기 [5]에 대한 세 번째 인터페이스 속도는 오디오 샘플링 속도의 배수로 고정된다. 클록, SCK2는 MAX9491 다중 클록 발생기 [6]로 디코더, FIFO 및 MAX9850을 위한 동기화된 클록을 생성한다. MAX9491은 OTP와 듀얼 프로그래밍 가능한 PLL을 내장했으며 이러한 용도로 이상적인 주파수 합성기이다. 위에서 소개된 Case 1의 구현은 디코딩된 PCM 오디오 데이터를 제공할 수 있는 그래픽 컨트롤러를 위한 것이며, 반면에 Case 2는 패널 측에서 압축된 데이터를 디코딩하기 위한 것이다. Case 1의 스로틀 컨트롤은 /CS 핀을 통해 수행되며 Case 2에서는 SCK 클록을 아이들 상태로 놓아서 수행하게 한다. 이 2가지 구현을 비교해 보면, PCM 오디오 데이터를 위한 Case 1의 방식이 전송에 대해 너무 많은 블랭킹 타임(표 1)을 요구하지도 않으며 오디오 디코더 칩도 사용하지 않는다는 것을 알 수 있다. 또 Case 2에 비해 비용도 적게 든다. 따라서 그래픽 컨트롤러가 MP3 또는 AC3처럼 코딩된 오디오 데이터 스트림에서 PCM 데이터를 생성할 수 있다고 가정하면 PCM 데이터를 링크에 직접 전송하는 작업이 선호된다.