KR101171296B1 - 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러 - Google Patents

디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러 Download PDF

Info

Publication number
KR101171296B1
KR101171296B1 KR1020110067867A KR20110067867A KR101171296B1 KR 101171296 B1 KR101171296 B1 KR 101171296B1 KR 1020110067867 A KR1020110067867 A KR 1020110067867A KR 20110067867 A KR20110067867 A KR 20110067867A KR 101171296 B1 KR101171296 B1 KR 101171296B1
Authority
KR
South Korea
Prior art keywords
timing
processor
fifo
subfield
timing control
Prior art date
Application number
KR1020110067867A
Other languages
English (en)
Inventor
나여울
황석중
김선욱
이철호
김태진
Original Assignee
주식회사 더즈텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 더즈텍 filed Critical 주식회사 더즈텍
Priority to KR1020110067867A priority Critical patent/KR101171296B1/ko
Application granted granted Critical
Publication of KR101171296B1 publication Critical patent/KR101171296B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/08Active matrix structure, i.e. with use of active elements, inclusive of non-linear two terminal elements, in the pixels together with light emitting or modulating elements
    • G09G2300/0809Several active elements per pixel in active matrix panels
    • G09G2300/0842Several active elements per pixel in active matrix panels forming a memory circuit, e.g. a dynamic memory with one capacitor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling

Abstract

본 발명은 디스플레이 패널을 위한 디커플드 구조를 가진 타이밍 컨트롤러 구조에 관한 것이다. 대용량 메모리로부터 타이밍 컨트롤 데이터를 읽어 오는 대용량 메모리 인터페이스, 상기 타이밍 컨트롤 데이터를 임시 저장하는 고속 메모리, 상기 타이밍 컨트롤 데이터를 처리하여 타이밍 셋 데이터를 준비하는 프로세서, 상기 타이밍 컨트롤 데이터 및 상기 타이밍 셋 데이터를 전달하는 버스, 상기 프로세서에 의해 준비된 상기 타이밍 셋 데이터를 저장하는 FIFO 및 상기 FIFO에 저장된 상기 타이밍 셋 데이터를 이용하여 타이밍 컨트롤 신호를 출력하는 펄스폭변조기를 포함하되, 상기 메모리 인터페이스, 상기 고속 메모리 및 상기 프로세서는 상기 버스에 의해 상기 FIFO 및 상기 펄스폭변조기로부터 분리되어 독립적으로 작동하는 타이밍 컨트롤러가 제공된다.

Description

디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러{A Processor-Based Display Panel Timing Controller with Decoupled Architecture}
본 발명은 디스플레이 패널을 위한 디커플드 구조를 가진 타이밍 컨트롤러 구조에 관한 것이다. 더욱 상세하게는 데이터 준비부와 신호 생성부가 단절된 인터페이스를 가짐으로써 높은 성능과 구조의 유연성을 가지는 타이밍 컨트롤러 구조에 관한 것이다.
플라즈마 디스플레이 패널(PDP)는 대화면 평면 디스플레이 마켓에서 가장 인기 있는 기술이다. PDP 기술은 디스플레이로 광 방출을 유도하기 위해 고전압 시퀀스를 전극의 중간에 인가한다. 인가된 전압의 파형과 타이밍은 디스플레이의 품질에 영향을 미친다. 파형과 타이밍을 제어하기 위해, 다양한 최신 PDP 제어기가 일반적으로 사용되어 왔다. 한편, 고품질 디스플레이에 대하 요구가 급격하게 증가하면서, TV 메이커들은 개선된 성능을 가진 새로운 제품을 시장에 공급하기 위해 경쟁하게 되었다. 이로 인해, TV 메이커들은 새로운 패널을 위해 제어기 설계를 자주 변경해야 했다. 이 짧은 개발 시간으로 인한 문제를 줄이고, 설계에 소요되는 노력을 감소시키기 위해, 소프트웨어 실행으로 인한 높은 프로그래밍 성능을 가진 프로세서 기반 PDP 타이밍 컨트롤러가 선호되어 왔다. 그러나 기존의 프로세서 기반 타이밍 컨트롤러는 프로세서가 신호생성과 긴밀하게 결합되어 있어서 높은 주파수 신호를 지원하는데 한계가 있었으며, 한꺼번에 다양한 주파수 도메인을 가진 신호를 생성하는데 구조적으로 어려움이 있었으며, 또한 프로세서에서 컨트롤 신호를 지연 없이 생성하기 위해, 파이프라인 플러시 (flush)가 일어나도 지연이 발생하지 않는, 2 단계 이하의 파이프라인 구조를 사용해야 했던 한계가 있었다.
한편, 기존 타이밍 컨트롤러 설계의 대부분은 제어 데이터에 대한 평면 데이터 구조를 이용하였다. 특히, 실행 초기에, 타이밍 컨트롤러는 하나의 프레임에 대해 필요한 모든 제어 데이터를 외부 메모리로부터 타이밍 컨트롤러 고속 메모리로 로딩하고, 데이터를 처리한 뒤, 드라이버 IC로 제어 신호를 생성한다. 이 방식은 메모리 시스템에 상당한 오버헤드를 유발하므로, 메모리 액세스에 바틀넥을 피하기 위해 시스템을 세밀하게 튜닝할 필요가 있다.
J. Lee, B. Lee, B. Kang, and Y. Kim, application specific processor-based controller for plasma display panels,IEEE Transactions on Consumer Electronics, vol. 52, no. 3, pp. 953-961, Aug. 2006. J. Lee, M. Park, and Y. H. Kim, cost and flexible processor based controller for timing signal generation in PDP,IEEE International Symposium on Consumer Electronics, pp.692-695, Kyoto, Japan, May 2009.
본 발명에서는 타이밍 컨트롤 신호의 주파수가 프로세서의 주파수에 제한되고, 하나의 프로세서로 동시에 다양한 주파수 도메인의 신호를 생성하는데 한계가 있었으며, 지연 없는 (real-time) 컨트롤 신호를 생성하기 위해 파이프라인 플러시의 부담이 없는 2 단계 이하의 파이프라인 구조를 가진 프로세서를 사용해야 했던 구조적인 문제를 해결할 수 있는 타이밍 컨트롤러 구조를 제시한다.
본 발명의 일실시예에 따르면, 대용량 메모리로부터 타이밍 컨트롤 데이터를 읽어 오는 대용량 메모리 인터페이스, 상기 타이밍 컨트롤 데이터를 임시 저장하는 고속 메모리, 상기 타이밍 컨트롤 데이터를 처리하여 타이밍 셋 데이터를 준비하는 프로세서, 상기 타이밍 컨트롤 데이터 및 상기 타이밍 셋 데이터를 전달하는 버스, 상기 프로세서에 의해 준비된 상기 타이밍 셋 데이터를 저장하는 FIFO 및 상기 FIFO에 저장된 상기 타이밍 셋 데이터를 이용하여 타이밍 컨트롤 신호를 출력하는 펄스폭변조기를 포함하되, 상기 메모리 인터페이스, 상기 고속 메모리 및 상기 프로세서는 상기 버스에 의해 상기 FIFO 및 상기 펄스폭변조기로부터 분리되어 독립적으로 작동하는 타이밍 컨트롤러가 제공된다.
여기서, 상기 펄스폭변조기에서 출력되는 상기 타이밍 컨트롤 신호의 주파수는 상기 프로세서로부터 독립적일 수 있다.
한편, 상기 타이밍 컨트롤 데이터는, 복수의 서브필드 번호를 포함하는 프레임 테이블, 상기 서브필드 번호에 의해 식별되고, 시퀀스 번호, 함수 번호 및 카운트 값을 포함하는 서브필드 테이블, 및 상기 시퀀스 번호로 식별되고, 지속시간 및 신호 다발의 값을 포함하는 타이밍 셋 테이블로 구성될 수 있으며, 상기 프로세서는 상기 카운트 값을 상기 FIFO에 더 전달할 수 있다. 또한, 상기 펄스폭변조기는 상기 타이밍 셋 데이터를 상기 카운트 값에 상응하는 회수만큼 반복하여 상기 타이밍 컨트롤 신호를 생성할 수 있다. 또한, 상기 FIFO는 이미 사용된 타이밍 셋 데이터를 유지하는 리피터블 FIFO일 수 있다. 또한, 상기 프로세서는, (i) 상기 프레임 테이블에 포함된 상기 복수의 서브필드 번호 각각에 의해 식별되는 복수의 서브필드 테이블을 상기 고속 메모리로 읽어 오며, (ii) 상기 읽어온 서브필드 테이블에 대한 상기 타이밍 셋 데이터를 준비하며, (iii) 상기 FIFO가 완전히 채워질 때까지 상기 (i) 및 (ii)를 반복하되, 상기 프로세서는 상기 서브필드 테이블을 순차적으로 상기 고속 메모리로 읽어올 수 있다.
한편, 상기 FIFO 및 상기 펄스폭변조기는, 제1 출력 주파수로 상기 타이밍 컨트롤 신호를 생성하는 제1 FIFO 및 제1 펄스폭변조기 및 제2 출력 주파수로 상기 타이밍 컨트롤 신호를 생성하는 제2 FIFO 및 제2 펄스폭변조기를 포함할 수 있다. 여기서, 상기 프로세서는, 상기 제1 FIFO 및 상기 제1 펄스폭변조기를 위한 제1 타이밍 셋 데이터를 준비하는 제1 쓰레드 및 상기 제2 FIFO 및 상기 제2 펄스폭변조기를 위한 제2 타이밍 셋 데이터를 준비하는 제2 쓰레드를 포함할 수 있다. 또한, 상기 프로세서는, 상기 제1 쓰레드 및 상기 제2 쓰레드의 작업 순서를 결정하는 쓰레드 핸들러를 더 포함할 수 있다. 여기서, 상기 쓰레드 핸들러는, 상기 고속 메모리로 로딩된 상기 서브필드 테이블의 수를 카운트한 뒤, 미리 설정된 쓰레스홀드보다 낮은 서브필드 테이블의 수를 갖는 쓰레드에 우선권을 부여할 수 있다.
한편, 타이밍 컨트롤러는 상기 타이밍 컨트롤 데이터의 주소를 변경할 수 있는 프로그래머블 레지스터 맵을 더 포함할 수 있다.
또한, 상기 프로세서는 상기 FIFO의 타이밍 셋 데이터가 재사용되는 구간에 다음 서브필드 테이블을 상기 고속 메모리로 로드할 수 있다.
본 발명에서 제안하는 타이밍 컨트롤러 구조에서는 프로세서와 PWM이 단절되어 있으므로, 서로 독립적인 주파수 도메인을 사용할 수 있게 된다. 따라서 높은 주파수의 신호생성이 요구될 때 이를 지원하는 것이 용이하다. 또한, 이러한 디커플드 구조를 사용함으로써 프로세서의 파이프라인 플러시 등이 타이밍 컨트롤 신호의 생성에 직접적인 영향을 주지 않게 되므로 3개 이상의 파이프라인 구조를 가진 프로세서를 디자인에 사용 가능하며, 이는 고성능의 범용 프로세서를 타이밍 컨트롤러 디자인에 사용 할 수 있다. 또한 이러한 구조를 바탕으로 프로세서에서 여러 개의 쓰레드를 사용하면 하나의 프로세서만으로 다양한 주파수 도메인의 신호를 동시에 지원할 수 있다.
이처럼 높은 주파수 도메인의 타이밍 컨트롤 신호를 생성할 수 있는 디커플드 구조는, 3D TV 시장이 증가하고 있지만 밝기저하, 크로스톡 현상 등의 기술적 과제를 여전히 안고 있는 상황에서, 높은 주파수의 타이밍 컨트롤 신호 생성을 통해 이러한 3D 디스플레이의 기술적인 문제를 완화할 수 있다. 또한, 깊은 파이프라인 구조를 가진 고성능 프로세서를 사용할 수 있게 됨으로써 타이밍 컨트롤러의 성능 향상을 가져와, 프로세서가 타이밍 신호 준비를 위한 역할 뿐만 아니라, 남는 시간에 화질 개선 등을 도울 수 있어 고품질의 제품을 개발하는데 기여할 수도 있다. 뿐만 아니라 다양한 주파수의 타이밍 컨트롤 신호를 하나의 프로세서만으로 생성할 수 있는 구조는 디자인의 유연성을 높여, 기술이 발달함에 따라 점차 다양해지는 기술적 요구에 유연하게 대응할 수 있는 구조를 제시한다.
이하에서, 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다.
도 1은 본 발명의 바람직한 실시예에 따른 타이밍 컨트롤러의 구조를 도시한 개요도이다.
도 2는 도 1에 도시된 타이밍 컨트롤러가 처리하는 계층적 데이터 구조를 갖는 타이밍 컨트롤 데이터를 도시하고 있다.
도 3은 도 3의 타이밍 셋 데이터와 타이밍 컨트롤 신호의 관계를 설명하기 위한 도면이다.
도 4는 도 1에 도시된 타이밍 컨트롤러의 동작을 개략적으로 도시한 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 2 개의 서로 다른 주파수를 갖는 타이밍 컨트롤 신호를 생성하는 타이밍 컨트롤러의 구조를 도시한 개요도이다.
도 6은 도 1 및 도 5의 리피터블 FIFO의 작동 방식을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 바람직한 실시예에 따른 타이밍 컨트롤러의 구조를 도시한 개요도이다.
도 1을 참조하면, 타이밍 컨트롤러(100)는 프로세서(110), 대용량 메모리 인터페이스(120), 고속 메모리(130), 버스(140), 버퍼(First Input First Output; FIFO)(150), 및 펄스폭변조기(Pulse-Width Modulation; PWM)(160)로 구성되며, 타이밍 컨트롤러(100)의 출력은 드라이버 IC(170)로 전달된다.
타이밍 컨트롤러(100)의 각 구성부는 버스(140)를 통해 데이터 및 제어 신호를 주고 받는다. 특히, 타이밍 컨트롤 신호 생성에 필요한 타이밍 셋 데이터를 준비하는 프로세서(110)는, 버스(140) 및 FIFO(150)에 의해서 타이밍 컨트롤 신호를 실제로 생성하는 PWM(160)과 분리되어 있으므로, 작동 주파수가 생성될 타이밍 컨트롤 신호의 주파수와 동일할 필요가 없다. 즉, 타이밍 컨트롤러(100)는 타이밍 셋 데이터를 생성하는 프로세서(110), 대용량 메모리 인터페이스(120) 및 고속 메모리(130)와 타이밍 컨트롤 신호를 생성하는 FIFO(150) 및 PWM(160)가 서로에 대해 독립적인 로직으로써, 고정된 하드웨어로 이루어 질 수 있다. 또한, 이를 통해서, 타이밍 컨트롤러(100)는 다양한 주파수의 타이밍 컨트롤 신호를 동시에 출력할 수 있다.
타이밍 컨트롤러(100)는 현재 프레임에 해당하는 타이밍 컨트롤 신호를 생성한다. 하나의 프레임은 복수의 서브 필드로 구분된다. 하나의 서브필드 영상을 표시하기 위해, Address-Display-Separated (ADS) 방식이 사용된다. ADS 방식에서, 각 서브 필드는 리셋, 스캔 및 서스테인 구간으로 구성된다. 스캔 구간 동안, 고전압을 수평 라인에 인가함으로써 디스플레이를 위해 방출될 픽셀이 선택된다. 선택된 픽셀은 서스테인 구간 동안 전압 파형을 수직 라인에 공급함으로써 방전되어 빛을 방사한다. 여기서, 서스테인 구간은 디스플레이될 서브필드 영상의 밝기를 제어한다. 타이밍 컨트롤러(100)는 이 구간들에 대한 제어 신호인 타이밍 컨트롤 신호를 생성하는데 이용된다.
프로세서(110)는 타이밍 컨트롤 신호의 생성에 필요한 타이밍 셋 데이터를 준비한다. 프로세서(100)는 고속 메모리(120)를 이용하여, 타이밍 컨트롤 신호의 생성을 위한 타이밍 셋 데이터를 FIFO(150)로 준비해주고, 이를 위해서 외부로부터 입력 받은 프레임 정보를 바탕으로, 미리 입력되어 있는 대용량의 타이밍 컨트롤 데이터를 핸들링 한다. 프레임 정보(밝기, 온도 등)를 입력 받으면, 프로세서(110)는 대용량 메모리(미도시)에 저장되어 있는 타이밍 컨트롤 데이터 중 현재 프레임의 타이밍 컨트롤 신호를 생성하기 위해 읽어 올 타이밍 컨트롤 데이터의 위치를 결정한다. 타이밍 컨트롤러(100)를 제외한 나머지 PDP 컨트롤러의 다른 부분은 영상 품질을 향상시키고 축적된 프레임 밝기를 결정한다. 프레임의 결정된 밝기는 타이밍 컨트롤러(100)가 미리 정의된 타이밍 컨트롤 데이터 중에서 적절한 타이밍 컨트롤 데이터를 선택하는데 도움이 된다. 프로세서(110)는 결정된 위치의 타이밍 컨트롤 데이터를 버스(140)를 통해 고속 메모리(130)로 읽어 온다. 읽어온 타이밍 컨트롤 데이터를 처리한 뒤, 프로세서(110)는 처리 결과에 상응하는 타이밍 셋 데이터 및 카운트 값을 버스(140)를 통해 FIFO(150)로 전송하여, 타이밍 컨트롤 신호가 생성되도록 한다.
대용량 메모리 인터페이스(120)는 서로 다른 프레임의 정보에 따른 모든 구성의 타이밍 컨트롤 데이터를 저장하고 있는 대용량 메모리로부터 데이터를 읽어온다. 타이밍 컨트롤 데이터는 프레임(FR) 테이블, 서브필드(SF) 테이블, 타이밍 셋 테이블을 포함한다. 대용량 메모리에 저장된 타이밍 컨트롤 데이터의 구조는 도 2에 도시되어 있는 바와 같이 계층적 구조이며, 한 프레임의 타이밍 컨트롤 신호 생성을 위해서 하나의 프레임 테이블이 사용된다.
고속 메모리(130)는 대용량 메모리 인터페이스(120)를 통해 읽어온 현재 프레임에 해당하는 프레임 데이터, 서브필드 데이터, 타이밍 셋 데이터를 임시 저장한다. 고속 메모리(130)에 로딩된 프레임 테이블은 프로세서(110)에 의해 참조되어, 프레임 테이블에 포함된 서브필드 번호에 대응되는 서브필드 테이블을 순차적으로 읽어 와서 처리하는데 이용된다. 따라서, 고속 메모리(130)로 읽어오는 타이밍 컨트롤 데이터는 결과적으로 FIFO(150)에 PWM 컨트롤 신호 생성을 위한 타이밍 셋 데이터를 준비해주기 위한 메타데이터로써 사용된다.
버스(140)는 프로세서(110), 대용량 메모리 인터페이스(120), 및 고속 메모리(130) 간의 타이밍 컨트롤 데이터의 송수신 및 프로세서(110) 및 FIFO(150) 간의 타이밍 컨트롤 데이터의 송수신을 담당한다. 일 실시예에서, 버스(140)는 32 비트 주소/32 비트 데이터를 지원할 수 있다.
FIFO(150)는 프로세서(110)가 준비해준 타이밍 셋 데이터를 저장하는 버퍼로서, PDP를 제어하는 신호를 내장하는 펄스폭 변조기(PWM)(160, 165)에 내장된다. 일 실시예에서, FIFO(150)는 리피터블 FIFO(repeatable FIFO)이며, 도 6을 참조하여 설명한다. PWM(160)은 FIFO(150)에 준비된 타이밍 셋 데이터를 차례로 읽어 타이밍 컨트롤 신호를 생성하는 동작을 수행한다. 이러한 구조로 인해 FIFO(150)에 데이터가 소진되지 않는 한, PWM(160)의 동작은 프로세서(110)에 영향을 받지 않게 된다.
도 2는 도 1에 도시된 타이밍 컨트롤러가 처리하는 계층적 데이터 구조를 갖는 타이밍 컨트롤 데이터를 도시하고 있다.
타이밍 컨트롤 데이터의 유연하고 쉬운 프로그래밍을 지원하기 위해, 도 2에 도시된 계층적 데이터 구조가 이용된다. 타이밍 컨트롤 데이터는 프레임 테이블, 서브필드 테이블, 및 타이밍 세트 테이블로 구분된다. 예시적으로, 한 프레임에 대한 타이밍 컨트롤 데이터는 하나의 프레임 테이블을 구성하며, 20개의 서브필드 테이블을 구성하고, 하나의 타이밍 세트 테이블을 구성한다.
프레임 테이블은 각 온도 레벨에 대한 복수의 서브필드 번호의 시퀀스를 포함하며, 서브필드 번호는 해당 프레임의 서브필드 테이블의 개수만큼 포함된다. 서브필드 번호는 서브필드 테이블의 주소를 계산하는데 사용된다. 예시적으로, 도 2에서는 프레임 테이블이 16개의 서브필드 번호를 포함한다. 이들 서브필드 번호는 프로세서(110)에 의해 항상 순차적으로 액세스된다. 각 서브필드 번호는 8 비트이므로, 프레임 테이블은 16 바이트의 데이터를 가진다.
서브필드 테이블은 서브필드 번호에 의해 식별되며, 시퀀스 번호, 함수 번호, 카운트 값을 포함한다. 시퀀스 번호는 타이밍 셋 테이블의 주소를 가리키는데 사용되며, 함수 번호는 반복 구간의 시작과 끝, 스캔 구간의 시작과 끝 등 해당 시퀀스에 대한 PWM(160)의 동작을 결정한다. 또한 카운트 값은 해당 시퀀스가 반복구간의 시작 시퀀스인 경우에 그 반복 회수를 나타낸다. 예시적으로, 도 2에 도시된 서브필드 테이블은 20개의 엔트리로 구성되며, 각 엔트리는 시퀀스 번호, 함수 번호 및 카운트 값을 포함한다. 시퀀스 번호의 크기는 8 비트이므로, 데이터 범위는 0에서 255이다.
함수 번호 설명
2 서브필드 끝
3 서스테인 구간 시작
4 서스테인 구간 끝
5 스캔 구간 시작
6 스캔 구간 끝
타이밍 셋 테이블은 시퀀스 번호에 의해 식별되며, PWM(160)이 타이밍 컨트롤 신호를 생성할 수 있도록 해당 신호의 지속 구간 (duration)과 신호 다발의 값을 포함한다. 예를 들어, 도 2에 도시된 타이밍 셋 테이블은 600개의 엔트리를 포함하며, 각 엔트리를 15 비트의 지속시간 및 33 비트의 신호 값(신호가 33개인 경우 각 신호마다 on/off를 나타내는 1비트)으로 구성하면, 타이밍 셋 테이블의 각 엔트리, 즉 타이밍 셋 데이터는 48 비트가 된다. 따라서, 포함되는 엔트리의 수에 따라 타이밍 셋 테이블은 방대한 양의 데이터를 갖게 된다. FIFO(150)의 크기는 제한될 수 밖에 없으므로, 모든 타이밍 셋 테이블을 저장하는 대신 필요한 경우에만 온 디맨드(on-demand)로 FIFO(150)를 채운다.
한편, 일실시예에서, 대용량 메모리에 저장된 타이밍 컨트롤 데이터의 주소는 소프트웨어에 의해 변경될 수 있다. 현재, 대용량 메모리에 액세스 하기 위한 베이스 주소는 타이밍 컨트롤러(100)에 입력 신호로 제공된다. 베이스 주소는 몇 개의 하드 와이어드 파라미터로부터 선택되지만, 대용량 메모리 내 타이밍 컨트롤 데이터의 크기와 구성이 달라질 수 있기 때문에, 회로가 주소 맵과 같은 약간의 사소한 변경으로 다시 구현되어야 하기 때문이다. 따라서, 하드와이어드된 베이스 주소를 사용하는 대신에, 타이밍 컨트롤러(100)는 하드웨어의 변경 없이 소프트웨어로 이러한 값들을 변경할 수 있다. 이를 위해, 프로그래머블 레지스터 맵이 타이밍 컨트롤러에 삽입될 수 있다.
도 3은 도 2의 타이밍 셋 데이터와 타이밍 컨트롤 신호의 관계를 설명하기 위한 도면이다.
PWM(160)이 타이밍 컨트롤 신호를 생성하는 방식은, 해당 신호의 지속 시간 (duration) 동안 신호 다발(신호 1~신호 3)의 값을 타이밍 컨트롤 신호의 출력 값으로 유지한 후, 지속 시간이 끝나면 FIFO(150)에서 다음 데이터를 읽어 동일한 방법으로 타이밍 컨트롤 신호를 생성한다. 도 3을 참조하면, 신호 1 내지 신호 3은 제1 지속 시간(=2) 동안 on, off, on, on 상태가 유지된다. 제1 지속 시간이 종료하면, PWM(160)은 FIFO(150)에서 두 번째 지속 시간(=3)에 대한 신호 1 내지 신호 3의 출력 값을 읽어온 후, 출력값의 상태를 변경한다. 신호 1 내지 신호 3은 제2 지속시간 동안 off, on, on, off 상태가 유지된다. 이후 제3 및 제4 지속 시간에 대해서 동일한 방식으로 타이밍 컨트롤 신호가 생성된다.
도 4는 도 1에 도시된 타이밍 컨트롤러의 동작을 개략적으도 도시한 도면이다. 이해를 돕기 위해, 도 2를 참조하여 설명한다.
프로세서(110)는 외부로부터 입력 받은 프레임 정보를 사용하여 대용량 메모리에서 불러 올 프레임 테이블의 주소를 계산한다. 이 때, 프로세서(110)는 계산된 주소에 있는 프레임 테이블이 대용량 메모리로부터 고속 메모리(130)로 이미 로딩되어 있는지 여부를 확인한다(400). 프레임 테이블이 로딩되어 있지 않으면, 프로세서(110)는 베이스 주소에 기초하여 한 개의 프레임 테이블을 대용량 메모리 인터페이스(120)를 통해(405), 대용량 메모리로부터 고속 메모리(130)로 로딩한다(410). 만일, 해당 프레임 테이블이 이미 로딩되어 있으면, 프로세서(110)는 405 및 410 단계를 생략한다.
프로세서(110)는 계산된 주소에 해당하는 프레임 테이블을 고속 메모리(130)로 불러온 후, 그 프레임 테이블에 들어있는 서브필드 번호를 사용하여 해당하는 서브필드 테이블을 고속 메모리(130)로 읽어온다(415, 420, 425). 도 2에서 보여지는 바와 같이, 프레임 테이블이 선택되면, 프로세서(110)는 서브필드 번호의 체인을 연속적으로 참조한다. 프레임 테이블에서 첫 번째 서브필드 번호가 2이므로, 타이밍 컨트롤러는 두 번째 서브필드 테이블을 고속 메모리(130)로 로딩한다.
프로세서(110)는 서브필드 테이블에 들어있는 시퀀스 번호를 사용하여 타이밍 셋 테이블을 읽어 오고 함수 번호를 해석하여(430, 435, 440), 시퀀스 번호에 해당하는 타이밍 셋 데이터를 카운트 값과 함께 FIFO(150)에 쌓아준다(445). 도 2에서 보여지는 바와 같이, 서브필드 테이블의 첫 번째 시퀀스 번호가 2이므로, 프로세서(110)는 두 번째 타이밍 셋 데이터, 즉, 시퀀스 2에 액세스한다. 시퀀스 번호 2의 첫 번째 엔트리에서, 지속시간은 2이고, 신호 1은 오프 값(또는 0)을 갖는다. 두 번째 엔트리는 신호 1에서 지속시간 344 및 온 값(또는 1)을 가진다. 이는 PWM(160)이 2 주기 동안 오프 값(또는 0)을 생성한 후, 344 주기 동안 온 값(또는 1)을 신호 1로 생성하는 것을 의미한다. 시퀀스 번호 2에 대해서는 카운트 값이 없으므로, 신호 1 내지 신호 x에 대한 타이밍 셋 데이터만 FIFO(150)에 입력된다.
시퀀스 번호 2에 대한 처리가 종료된 후, 프로세서(110)는 서브필드 번호 2의 서브필드 테이블로 복귀해서 다음 시퀀스, 즉, 시퀀스 번호 150을 수행한다. 시퀀스 번호 2와 같은 방법으로 시퀀스 번호 150에 대한 처리가 종료된 후, 프로세서(110)는 서브필드 번호 2의 서브필드 테이블로 복귀해서 다음 시퀀스, 즉, 시퀀스 번호 24를 수행한다.
시퀀스 번호 24는 함수 번호 3 및 카운트 값 23을 가지며, 이 경우 타이밍 컨트롤러는 시퀀스 24를 23 번 반복한다. 따라서, 시퀀스 번호 24에 대해서는 신호 1 내지 신호 x에 대한 값 및 카운트 값 23이 FIFO(150)에 입력된다. 몇 개의 시퀀스를 실행한 이후, 함수 번호 5 및 6을 가진 엔트리가 액세스 된다. 함수 번호 5는 스캔 시작을, 함수 번호 6은 스캔 종료를 의미한다. 함수 번호 5 와 6 사이 구간은 스캔 구간이 된다. 그 구간은 외부 입력으로부터 제공된 주어진 스캔 번호로 반복된다. 유사하게, 함수 번호 3 및 4는 서스테인 구간이 되며, 주어진 서스테인 번호로 반복된다. 마지막으로, 함수 번호 2에 액세스되면, 서브필드의 종료 동작을 의미한다. 시퀀스의 종료시, 프로세서(110)는 프레임 테이블로 복귀해서, 다음 서브필드 번호인 4를 읽고, 서브필드 1에 대해 수행한 것과 같은 유사한 동작을 반복한다.
프로세서(110)는 FIFO(150)가 완전히 채워질 때까지, 서브필드 테이블에서 시퀀스 번호를 읽고 FIFO(150)를 채우는 작업(415 내지 445)를 반복한다. FIFO(150)가 완전히 채워지면, PWM(160)은 FIFO(150)의 엔트리를 이용하여 복수의 PWM 신호를 타이밍 컨트롤 신호로서 드라이버 IC로 생성한다. 일실시예에서, FIFO(150)가 비워질 때마다, 프로세서(110)는 한 프레임에 대한 메모리 로딩이 끝날 때까지 FIFO(150)를 채우는 작업을 계속 반복한다. 이러한 계층적인 데이터 구조와 계층적인 데이터 핸들링 동작으로 인해 타이밍 컨트롤러는 적은 리소스를 가지고도 대용량의 타이밍 컨트롤 데이터를 핸들링 할 수 있게 된다.
도 5는 본 발명의 바람직한 실시예에 따른 2 개의 서로 다른 주파수를 갖는 제어 신호를 생성하는 타이밍 컨트롤러의 구조를 도시한 개요도이다.
본 발명에서 제안하는 타이밍 컨트롤러 구조에서는 프로세서(110)와 PWM(160, 165)이 단절되어 있으므로 프로세서(110)가 PWM(160, 165)의 주파수를 고려하지 않고 원하는 주파수의 타이밍 컨트롤 신호를 생성하는 것이 용이하다. 이러한 구조를 바탕으로 프로세서(110)에서 여러 개의 쓰레드(510, 520)를 핸들링 하고, PWM(160, 165)에서는 여러 개의 신호 생성 로직과 이들을 위한 버퍼를 추가하면, 하나의 프로세서만으로 여러 주파수의 타이밍 컨트롤 신호를 생성할 수 있게 된다. 더욱 자세하게는, 복수 타이밍 컨트롤 신호 채널에 타이밍 컨트롤 신호를 동적으로 제공하기 위해, 프로세서(110)는 멀티쓰레딩 및 고속 컨텍스트 스위칭을 위한 두 개의 하드웨어 쓰레드(510, 520)를 포함할 수 있다. 이 때, 어떤 타이밍 컨트롤 신호도 지연되지 않도록 하기 위해, 쓰레드 스위칭은 공평해야 한다. 이를 위해, 쓰레드 핸들러(500)는 고속 메모리(130)로 로딩된 서브필드의 수를 카운트한 뒤, 미리 설정된 쓰레스홀드보다 낮은 카운트 값을 갖는 쓰레드에 우선권을 부여할 수 있다. 한편, PWM(160, 165)은 각 쓰레드마다 하나의 FIFO(150, 155)를 담당하여 타이밍 셋 데이터를 준비하도록 하며, PWM(160, 165)는 각각의 채널에 해당하는 FIFO(150, 155)에 있는 타이밍 셋 데이터를 사용하여 FIFO(150, 155)와 채널의 수만큼 서로 다른 주파수를 가지는 타이밍 컨트롤 신호를 생성할 수 있다.
한편, 도 5에서는 서로 다른 2개의 출력 주파수를 갖는 2 쌍의 FIFO(150, 155) 및 PWM(160, 165)를 도시하였지만, 이에 한정되는 것이 아니며, 필요한 출력 주파수의 개수에 따라 증감이 가능함은 물론이다.
도 6은 도 1 및 도 5의 리피터블 FIFO의 작동 방식을 설명하기 위한 도면이다.
본 발명의 실시예에 따라 구현된 타이밍 컨트롤러(100)는 메모리 액세스에 대한 처리 부담을 감소시키기 위해, 리피터블 FIFO 및 서브테인/스캔 구간을 이용하는 더블 버퍼드 서브필드 테이블을 사용할 수 있다. 일반 FIFO와 달리, 리피터블 FIFO(150)는 사용된 엔트리를 삭제하지 않는다(도 6(a) 내지 6(c)). 대신에, 카운트 값이 0이 될 때까지 이 엔트리를 다시 사용한다. 즉, 카운트 값을 가진 함수에 상응하는 시퀀스는 서브필드 테이블에 있는 카운트 값만큼 반복된다. 이 방식으로, 대용량 메모리 액세스의 수가 리셋, 스캔 및 서스테인 구간 동안 상당히 감소될 수 있어서, 다음 서브필드 데이터가 이들 구간 동안 어떠한 끼워들기도 없이 고속 메모리(130)로 미리 로딩될 수 있다. 따라서, PWM(160)이 신호를 생성하는 동안, FIFO(150)는 한 프레임에 대한 전체 프로세스가 끝나는 경우만을 제외하고는 비워지지 않는다.
만일, 일반적인 FIFO가 사용되면, 동일한 데이터가 여러 번 재사용되더라도 대용량 메모리에 자주 액세스해야 하는 상황이 발생한다. 즉, 프로세서가 FIFO를 채우기 위해 서브필드 데이터를 읽으려고 시도할 때, 프로세서는 현재 서브필드 데이터 내의 모든 시퀀스가 종료되기 전에 서브필드 테이블을 로딩해야 한다. 그 시간 동안, PWM은 계속해서 FIFO의 엔트리로 작업하고 FIFO의 엔트리를 디큐(de-queue)하므로 FIFO는 비워질 수 있다(도 (d) 내지 도 (f)). 따라서 FIFO의 엔트리 비움을 방지하기 위해 더 큰 FIFO 및 고성능 버스 시스템이 필요하다.
그러나, 리피터블 FIFO에 의해 서스테인/스캔 구간 동안 FIFO(150)의 엔트리가 재사용되므로, 프로세서(110)는 FIFO(150)를 채우지 않아도 된다. 따라서 그 시간 동안, 프로세서(110)는 다음 서브필드 데이터를 고속 메모리(130)에 로드할 수 있으며, 이것이 더블 버퍼링이다. 더블 버퍼드 서브필드 테이블의 장점은 FIFO 비움을 방지할 수 있다는 것이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (13)

  1. 대용량 메모리로부터 타이밍 컨트롤 데이터를 읽어 오는 대용량 메모리 인터페이스;
    상기 타이밍 컨트롤 데이터를 임시 저장하는 고속 메모리;
    상기 타이밍 컨트롤 데이터를 처리하여 타이밍 셋 데이터를 준비하는 프로세서;
    상기 타이밍 컨트롤 데이터 및 상기 타이밍 셋 데이터를 전달하는 버스;
    상기 프로세서에 의해 준비된 상기 타이밍 셋 데이터를 저장하는 FIFO; 및
    상기 FIFO에 저장된 상기 타이밍 셋 데이터를 이용하여 타이밍 컨트롤 신호를 출력하는 펄스폭변조기를 포함하되,
    상기 메모리 인터페이스, 상기 고속 메모리 및 상기 프로세서는 상기 버스에 의해 상기 FIFO 및 상기 펄스폭변조기로부터 분리되어 독립적으로 작동하는 타이밍 컨트롤러.
  2. 제1항에 있어서, 상기 펄스폭변조기에서 출력되는 상기 타이밍 컨트롤 신호의 주파수는 상기 프로세서로부터 독립적인 타이밍 컨트롤러.
  3. 제1항에 있어서, 상기 타이밍 컨트롤 데이터는,
    복수의 서브필드 번호를 포함하는 프레임 테이블,
    상기 서브필드 번호에 의해 식별되고, 시퀀스 번호, 함수 번호 및 카운트 값을 포함하는 서브필드 테이블, 및
    상기 시퀀스 번호로 식별되고, 지속시간 및 신호 다발의 값을 포함하는 타이밍 셋 테이블로 구성되는 타이밍 컨트롤러.
  4. 제3항에 있어서, 상기 프로세서는 상기 카운트 값을 상기 FIFO에 더 전달하는 타이밍 컨트롤러.
  5. 제4항에 있어서, 상기 펄스폭변조기는 상기 타이밍 셋 데이터를 상기 카운트 값에 상응하는 회수만큼 반복하여 상기 타이밍 컨트롤 신호를 생성하는 타이밍 컨트롤러.
  6. 제5항에 있어서, 상기 FIFO는 이미 사용된 타이밍 셋 데이터를 유지하는 리피터블 FIFO인 타이밍 컨트롤러.
  7. 제3항에 있어서, 상기 프로세서는,
    (i) 상기 프레임 테이블에 포함된 상기 복수의 서브필드 번호 각각에 의해 식별되는 복수의 서브필드 테이블을 상기 고속 메모리로 읽어 오며,
    (ii) 상기 읽어온 서브필드 테이블에 대한 상기 타이밍 셋 데이터를 준비하며,
    (iii) 상기 FIFO가 완전히 채워질 때까지 상기 (i) 및 (ii)를 반복하되,
    상기 프로세서는 상기 서브필드 테이블을 순차적으로 상기 고속 메모리로 읽어오는 타이밍 컨트롤러.
  8. 제1항에 있어서, 상기 FIFO 및 상기 펄스폭변조기는,
    제1 출력 주파수로 상기 타이밍 컨트롤 신호를 생성하는 제1 FIFO 및 제1 펄스폭변조기; 및
    제2 출력 주파수로 상기 타이밍 컨트롤 신호를 생성하는 제2 FIFO 및 제2 펄스폭변조기를 포함하는 타이밍 컨트롤러.
  9. 제8항에 있어서, 상기 프로세서는,
    상기 제1 FIFO 및 상기 제1 펄스폭변조기를 위한 제1 타이밍 셋 데이터를 준비하는 제1 쓰레드; 및
    상기 제2 FIFO 및 상기 제2 펄스폭변조기를 위한 제2 타이밍 셋 데이터를 준비하는 제2 쓰레드를 포함하는 타이밍 컨트롤러.
  10. 제9항에 있어서, 상기 프로세서는,
    상기 제1 쓰레드 및 상기 제2 쓰레드의 작업 순서를 결정하는 쓰레드 핸들러를 더 포함하는 타이밍 컨트롤러.
  11. 제10항에 있어서, 상기 쓰레드 핸들러는, 상기 고속 메모리로 로딩된 상기 서브필드 테이블의 수를 카운트한 뒤, 미리 설정된 쓰레스홀드보다 낮은 서브필드 테이블의 수를 갖는 쓰레드에 우선권을 부여하는 타이밍 컨트롤러.
  12. 제1항에 있어서, 상기 타이밍 컨트롤 데이터의 주소를 변경할 수 있는 프로그래머블 레지스터 맵을 더 포함하는 타이밍 컨트롤러.
  13. 제1항에 있어서, 상기 프로세서는 상기 FIFO의 타이밍 셋 데이터가 재사용되는 구간에 다음 서브필드 테이블을 상기 고속 메모리로 로드하는 타이밍 컨트롤러.
KR1020110067867A 2011-07-08 2011-07-08 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러 KR101171296B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110067867A KR101171296B1 (ko) 2011-07-08 2011-07-08 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110067867A KR101171296B1 (ko) 2011-07-08 2011-07-08 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러

Publications (1)

Publication Number Publication Date
KR101171296B1 true KR101171296B1 (ko) 2012-08-07

Family

ID=46887040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110067867A KR101171296B1 (ko) 2011-07-08 2011-07-08 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러

Country Status (1)

Country Link
KR (1) KR101171296B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301277A (ja) 2004-04-13 2005-10-27 Thomson Licensing プラズマディスプレイパネルのユニバーサルパワータイミングコントローラ
JP2007079077A (ja) 2005-09-14 2007-03-29 Sharp Corp タイミングコントローラ及び画像表示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301277A (ja) 2004-04-13 2005-10-27 Thomson Licensing プラズマディスプレイパネルのユニバーサルパワータイミングコントローラ
JP2007079077A (ja) 2005-09-14 2007-03-29 Sharp Corp タイミングコントローラ及び画像表示装置

Similar Documents

Publication Publication Date Title
US10477140B2 (en) Video source device, display device, and video display system
JP3605107B2 (ja) Tftディスプレイ装置用コントローラ
US9019189B2 (en) Image display device and driving method thereof that varies driving frequency according to frequency of data received
KR102271628B1 (ko) 표시 패널의 구동 방법 및 이를 수행하기 위한 표시 장치
US20150049103A1 (en) Control circuit for frame memory, display device including the same and method of controlling the same
JP4482569B2 (ja) 適応ガンマ変換装置及び方法
CN114902325A (zh) 使用pwm对齐的帧周期的可变刷新率控制
US20140266996A1 (en) Low motion blur liquid crystal display
CN107644627B (zh) 显示控制设备和显示面板模块
KR102498281B1 (ko) 표시 장치 및 이의 구동 방법
KR101171296B1 (ko) 디커플드 구조를 가진 프로세서 기반의 타이밍 컨트롤러
CN102521141A (zh) 一种紧凑存储图像数据的读取装置及方法
KR20160082402A (ko) 표시 장치 및 이를 이용한 표시 패널의 구동 방법
KR100391986B1 (ko) 개선된 디더링 및 프레임 레이트 제어를 갖는 엘시디제어기 및 그것의 개선 방법
US10607550B2 (en) Digital control driving method and driving display device
US9965996B2 (en) Timing controller and display apparatus having the same
US7898539B2 (en) Display drive integrated circuit and method for generating system clock signal
US20130257486A1 (en) Data driver and method of driving the same
EP2911143A1 (en) Organic light emitting display and driving method thereof
JP2013008265A (ja) パイプライン演算装置
JP2019012276A (ja) 映像出力装置
CN115273734B (zh) 一种扫描控制电路及方法
CN101004882A (zh) 一种场致发射显示器的灰度调制驱动方法及其装置
US8022909B2 (en) System, method, and apparatus for generating grayscales in an LCD panel
TW201729176A (zh) 顯示裝置及其控制方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 8