메뉴 건너뛰기

자료실

Dynamic Drive Type LED Matrix Module 전광판 설명 및 도면

파일

Dynamic Drive Type LED Matrix Module전광판 설명

 

전광판은 수십~수십만의 화소(LED)를 이용하여 동영상, 그래픽, 문자 등을

표시하는 장치로 광고, 공공의 정보 등을 표시하는데 사용된다.

많은 수의 화소를 동시에 점등시키는 것은 회로제작이나 전력의 측면에서

비효율적이므로 대부분 눈의 착시현상을 이용하여 매우 빠르게 순차적으로 한 줄씩 점등한다.

이러한 드라이브 방식의 LED MATRIX MODULEdynamic drive type이라 부른다.

1줄 당 1초에 정보를 표시하는 시간은1/n(n:전체줄수)초가 되며 줄 수가 많을수록 눈에는

깜박거림이 심하게 보이거나 또는 매우 빠른 주파수를 사용한다면 밝기가 줄어든다.

본 회로는 16(LED)x16(LED)LED MATRIX10(가로모듈)*5(세로모듈) 개로 연결하여

50개의 LED MATRIX모듈을 사용한다.

그림1처럼 가로 10개씩 직렬로 연결하면 총 16(LED)*5(세로모듈)=80줄의 LED가 되며

줄 당 표시시간은 1()/80()=12.5ms가되어 깜박거림을 없애기 위해 주파수를 빠르게 하면

밝기가 약하게 되어 전광판의 효과를 보기 힘들게 된다.

따라서 그림 2처럼 각 줄의 각 모듈을 모두 직렬로 연결하면50개가 한 줄이 되어

전류소모는 많아지지만 1()/16()=62.5ms 5배 더 밝아진다

 

본 회로에서 사용한 clock 주파수는 10MHz 주기는 100ns 이며,

한줄(160(LED)¡¿5(MATRIX)=800)을 표시하는 시간은 (뒤의 timing chart 참조)

32clock4화소출력이므로 800/4*32(CLK)*100(ns)=640us이며,

16줄이므로 16(DOT)*640us=10.24ms 이므로 1/10.24ms = 97.65

초당 약 97번 화면을 갱신하게 된다.

전체 시스템의 구조는 그림3과 같으며 PCeditor 프로그램에 의해서 생성된 Graphic DATA

직렬통신에 의해 Controller의 주 메모리에 저장되고 저장된 DATAController

프로그램된 Animation의 순서로 Video RAM으로 전송된다.

Video RAM에 전송된 DATA는 전송된 순간 LED MATRIX 화면도 동시에 갱신된다.

 


 

 

                                 [그림3 ] system block diagram

 

Refresh Counter에서 연속된 Address를 생성하고 생성된 어드레스는 controller

Video RAM에 대한 BUS 요구가 없을 때 Video RAM으로 공급된다.

그후 RD 신호가 공급되고 Video RAM에서 DATA가 출력되면 Shift Register에 의해

2bit(,적색) Serial로 바뀐후 DOT matrix로 흐르게 된다.

바로 직후 DOT MATRIXCLOCK 신호가 Trigger되고 MATRIXCLOCK

Rising-Edge에서 DATA신호를 내무의 SHIFT REGISTERSHIFT하게 된다.

이러한 과정을 50개의 MATRIX에 공급할 한 후에 LATCH ENABLE을 신호를 주게 되며,

이때 MATRIX화면의 DATA가 갱신되며 갱신직후 바로 MATRIX ADDRESS CLOCK 신호가

들어오게 되며 현재 출력하고 있는 바로 다음 줄로 방금 들어왔던 데이터들이 출력되게 된다.

CPUVideo RAM BUS의 요구와 Refresh CounterVideo RAM BUS 요구신호가

동시에 들어오는 경우 Refresh counter의 내용을 그대로 보존한 채 CPU의 요구를 먼저 처리하고

처리가 끝나면 바로 다시 Refresh counter의 내용을 처리하게 된다.

 

            DOT MATRIX MODULE 과 전원

16X164color dot matrix 모듈로 검정, 빨강, 녹색, 주황색을 낼 수 있는 모듈로 내부의

SHIFT REGISTER를 이용하여 모든 dot matrix module이 직렬로 연결 하게 된다.

Address BusCLK, LATCH, ENABLE 신호는 모두 병렬로 연결되며,

R, G (데이터 신호)는 모두 Serial 로 연결되어 Clockrising-edge에서 한 DOTShift된다.

LED는 개당 약 20mA의 전류를 소모하며 한줄(160)를 한가지 색으로 전부 점등시킬 경우

20mA¡¿160=3200mA(3.2A), 그리고 5줄을 동시에 점등시킬 경우 3.2Ax5=16A의 전류를 소모한다.

주황색을 내기 위해서는 DOT하나 당 2개의 LED를 점등시켜야 하므로 16Ax2=32A의 전류를 소모한다.

거기다가 LED 드라이버에서 소모하는 전류 와 controller에서 소모하는

전류를 고려하면 35A이상의 전원이 필요하다.

본 회로에서는 30A의 전원과 PC power를 사용하였는데 그 이유는 냉각팬에 필요한 전원12V

그리고 ControllerLED 모듈의 전원을 분리시키기 위함이다.

MATRIX에서 에니메이션 효과를 처리할 때 많은양의 전류의 변화가 있으므로

같은 전원을 사용하게 되면 Controller가 오동작 하거나 심한 경우 CPURESET되는

경우가 발생할 수도 있기 때문에 이를 방지하기 위한 수단으로 전원을 두 개를 사용하였다.

 


 

                          [그림 4] LED Moduleblock diagram

 

                          [1]  LED Modulespec


 


 

                              [그림4.5] LED ModuleTiming chart

 

            MATRIX MODULE 연결 CABLE

DATA cable은 그림6 처럼 연결되며 10번 모듈과 11번 모듈사이를 연결 할 수 있는

cable이 공급되지 않으므로 그림5와 같은  1,2번 사이의 cable 2개를 이용하여 제작하여야 한다.

 



   (a) data cable  



 (b) power cable

 

[그림 5] 연결 케이블


 

 

[그림6] 케이블 연결도


 

[그림 7] 전원 케이블 연결도

 

         SHIFT REGISTER

74LS244는 양방향 Shift register1BYTE의 데이터를 받아서 2bit(RED,GREEN)

나누어 DOT MATRIX모듈로 전송하는 역할을 한다.


 

              [그림8] shift register

 

 


 

               [그림9] truth table

 

위의 진리표를 살펴보면 S_0S_1?H"일때 CLOCKrising-edge에서

DATA BUS로부터 8bitLoad한다.

그리고 S_0?H" 이고 S_1?L"일때는 clock에서 right shift가 된다.

따라서 다음과 같이 구동한다.

S_0=VCC에 연결하고 S_1 만을 이용하여 LOADShift를 선택한다

S_1=?H"일 때 Address-MUXRefresh CounterData-MUXShift Register를 선택한다.

AddressVideo-RAM에 흐르고 이때 RD신호가 떨어진다.

RD신호가 RAM에 떨어지고 있을 때 (DATADATA BUS를 통해 Shift Register에 도착했을 때)

Shift RegisterClock 신호를 준다

Shift RegisterData를 내부의 F/F에 각각 LOAD한다.

AIA| Shift Register DATA BusMUXRAM에서 끊고 MATRIX모듈로

연결하고 Shift RegisterS_1"L"로 만든다.

±×·?¸e Shift RegisterData BUS에는 방금 LOAD한 값이 그대로 출력되게 된다.

bit6bit7이 각각 RG에 연결되어 있으므로 이 상태에서

MATRIX CLOCK을 주면 2비트가 그대로 MATRIXLOAD된다.

´U½A Shift register2bit shift 시킨후 MATRIX CLOCK을 공급 (반복3)

±×EA Refresh counterClock을 가하고 위의 과정을 반복하게 된다.

            BUS DRIVER - MUX

74LS245 는 양방향 tri-state 버스 드라이버로 CPU module에서 Video-RAM

데이터를 기록할때는 REFRESH COUNTER의 출력을 HIGH IMPEDENCE상태

로 만들고 반대로 CPU module에서 Video-RAM에 접근하지 않을 때는

REFRESH COUNTER의 출력을 RAM과 연결해주는 역할을 한다.

 


 

 

                                       [그림10] MUX

 

                  CLOCK-GENERATOR Timing Chart

 


 

            CPU module

80c196KC-20MHZ , 32K-ROM, 32K-RAM, RS-232C통신포트 이용

 


 

                                                               [그림 ] memory map

에디터 만들기

4가지 색만을(검정,초록,빨강,분홍) 표현할 수 있기때문에 사진을 바로 전광판에 출력할 수 는 없다.

따라서 비슷한 색으로 바꿔주는 기능이 필요하며, 에니메이션을 효과를 넣기 위해서 여러장의 그림을

편집할 수 있는 기능이 필요하다.

데이터는 시리얼 통신을 통해서 콘트롤러에 들어가며 콘트롤러는 수신된 데이터를 비디오램

또는 데이터공간 어디에든 저장할 수 있다.

이미지 한장은 4Kbyte를 차지하므로 32Kbyte의 RAM공간에서 실제로 사용할 수 있는 장수는 4~5장 정도 이다.

하지만 시리얼 통신이 115200bps로 비교적 고속이기 때문에 OnLine으로 화면을 업데이트 시켜도 보는데 큰 지장은 없다.

자료실의 다른 글