My Projects/LED Dot Matrix Control

NIOS-II+FPGA를 이용한 LED Dotmatrix

LonleyEngineer 2010. 4. 17. 22:14
반응형

기존에 진행하였던 프로젝트를 1개의 글로 묶어보았다.
내용은 기존 글과 크게 틀리지 않다.

LED Dot Matrix를 이용한 전광판 만들기 프로젝트에서 사용할
도트매트릭스는 광전자의 P161MAN-B 이다.

주로 지하철이나 기차에서 목적지 안내 표시하는데 사용되었던 것을
녹이슬거나 기능에 문제가 있어서 버려지는 것을 주워다가 누군가가 팔았는데
내가 중고 장터에서 구매해서 이용해보려고 했다.

사양은 Green, Red, Amber(Green+Red)의 3색에 16x16 dot 를 가지고 있는 녀석이다.

일단 그러러면 핀번호나 데이터 시트가 필요한데 다행이 비슷한 정보를 가진 녀석들이 있어서 올려본다.



다른 도트 매트릭스 모듈의 동작 블럭다이어그램(Functional Block Diagram)이다.
워낙 보기 좋게 잘 그려져 있고 쉬우니까 따로 설명을 안해도 될 것 같다.
고맙게도 shift register 가 있어서 사용하기 편하다.













핀에 대한 설명이다.
빨간색으로 써놓은 부분이 P161MAN-B에 맞는 녀석이다.
주의할점은 Color 핀이 Low active 라는 것이다.
프로그래밍 할때 핀컨트롤을 바꿔서 해주거나 Not gate를 달아주면 편할 것이다.










타이밍 정보이다.
clock cycle이 50MHz 까지 가능하단다. 즉 20ns 이상에서 clock high/low를 반복하면 인식한다는 것이다.
나머지 녀석들은 뭐 말 안해도 알테니 설명 안할 것이고.
타이밍 다이어그램에서 보듯이 Line+1 의 데이터를 먼저 집어넣고 line display를 해줘야 하니까
프로그램을 코딩하면서 initial line address를 0x00으로 놓고 시작하면 되겠다.


이상 도트매트릭스의 정보이고 시간 되는대로 나머지 정보를 또 올려보겠다.




현재 내가 사용중인 Dot Matrix의 datasheet가 없어서 KLM-163CAN의 데이터 시트를 보고 있는데
데이터 시트의 내용을 참고해보면 1개가 AMBER모드로 계속 켜져있을 때 5V/2.3A를 먹는단다 ㅡ.,ㅡa

그럼 난 6개를 연결했으니까 못해도 5V/10A 는 있어야 된다는 소리인데....
이런 어뎁터가 있을지도 의문이고 해서....

컴터용 파워를 활용하기로 했다.
컴터용 파워에서 5V가 10A 정도 나오니까 활용하기로 하고 작업 돌입!!

아래는 KLM-163CAN의 데이터 시트 중 전원부분이다.


무지막지하게 전원을 잡아먹는구만..
그럼 대형 전광판은 대체 얼마나 먹는것인지 상상만 해도... ^^;

다 만들어 놓고 프로젝트 글을 쓸려고 하니까 정신이 없네...
디카도 없고.... 동영상 녹화도 힘들고..



현재 제작중인 LED Dot Matrix를 이용한 전광판의 가조립 상태이다.



6개를 연속하여 연결한 모습이다.
사이즈는 그리 크지 않다.




뒷면의 모습이다. 뒷면에는 Shift Register 기능이 있어서 바로 앞의 모듈에서 다음 모듈로 데이터를 전달해줄 수 있다.




전원부의 모습이다. PC Power를 이용하기 위해 전원잭을 개조했다.
일명 돼지코라는 이름의 잭을 이용하여 각 모듈에서 나오는 선을 취합하였고
5V의 전원을 이용한다.
PC 파워에서 Yellow(+), Black(-) 케이블이다.





data cable을 연결하기 위한 커넥터이다. 원래는 검정색 플라스틱으로 덧씌워져 있어서 전용 케이블 커넥터만
연결되는데 모두 깨서 제거하고 핀피치(pin pitch)가 맞는 커넥터를 구해서 플랫케이블(flat cable)을 땜하고 글루건(Glue gun)으로 쏴서  고정하고 마무리 하였다.
사용하던 모듈이라 지저분 하네...^^




도트매트릭스를 컨트롤하기 위한 보드이다. NIOS-2 Soft Core를 FPGA에 올려서 사용가능한 보드이다.
이름은 DE2-70 이고 설명은 이전글인
2009/01/07 - [FGPA/Verilog/VHDL/NIOS의 고수가되자] - NIOS 및 FPGA 공부를 위해 구매한 DE2-70 보드
에서 확인 가능하다.

본인은 GPIO 포트인 IDE cable connector를 이용하기로 하였다.



IDE 케이블과 매트릭스 모듈을 연결하기 위한 변환 커넥터이다. 핀이 나와 있는 곳이 IDE 케이블과 연결하기 위한 곳이다.
맞은편 검정 플라스틱이 있는 암놈(female)잭은 모듈로 들어간다.





컨트롤 보드와 모듈이 연결된 모습이다.
회사에서 점심먹고 와서 간단하게 사진만 찍느라 동작 모습은 차후에 준비해야 겠다.




위 사진은 나중에 도트매트릭스 컨트롤러를 만들기 위해 준비중인 MCU 보드이다.
-AT91SAM7S64 mini board+ extension board
-AT91SAM7S256 mini board
-Atmega2560 mini board 이다.

나중에 시간나는대로 저녀석들에게도 포팅해봐야겠다.





도트매트릭스 전광판을 만들어보고 싶다고 생각하고는 한참의 시간이
지나서야 도전해보았던 미니프로젝트이다.

2009년 초에 다 만들고 귀차니즘에 동작만 확인하고 박아두었던 것을
어제 밤에 생각나서 꺼내서 동작과정을 기록해보았다.

이전 과정들은
2009/01/05 - [My Projects/LED Dot Matrix Control] - 광전자(Kwang Jun Ja) P161MAN-B 의 데이터시트 내용
2009/01/06 - [My Projects/LED Dot Matrix Control] - LED Dot Matrix 전원(Power) 고려사항
2009/01/07 - [My Projects/LED Dot Matrix Control] - LED Dot Matrix의 연결 및 사용 보드
에서 볼 수 있다.


위의 사진에서 보이듯이 TerasIC에서 만든 DE2-70 보드에 ALTERA NIOS-II soft-core 프로세서를 올려서 만들었다.
도트매트릭스 모듈은 광전자의 P161MAN-B 6개 이다.

파워는 컴퓨터용 파워 5V를 사용하였다.
5V/12A짜리 어뎁터를 구하는 것도 쉽지 않고 해서 가장 편하게 원하는 양질의 전압을 얻을 수 있는 컴파워를 활용 하였다.

한글폰트 56개, 영문폰트 49개를 넣었더니 HEX파일이 1MBytes 가 넘어갔다.
참으로 비 효율적이지만 그래도 메모리 공간도 여유있고 해서 집어 넣어 보았다.

간단하게 동작 영상을 만들어서 올려본다.
이제는 업무에 치여서 더이상 신경을 못쓰겠기에 허접한 녀석이지만 이만 덮어두고 영상으로 마무리 지어보려고 한다.


간단한 인사말 정도를 만들어 보았다.





한글 폰트들이 무엇이 있는지 한번씩 출력해보았다.
앞에 숫자는 HEXA-DECIMAL 로 표시하였다.
거기서 거기인 폰트들이 많아서 여러가지로는 안보이기도 한다.





영문 폰트들이다.
역시 앞의 숫자는 16진수로 표시하였다. 실제로 보기 좋은 폰트는 몇가지 안되는 것 같다.

SLIDE와 FADE-IN-BOTTOM, FADE-OUT-TOP 효과만 보이는데
실제로는 FADE-IN(OUT)-LEFT, FADE-IN(OUT)-RIGHT, BLINKING, ITALIC 효과도 있다.


이상 이렇게 도트매트릭스 작업은 마무리 짓기로 한다.

사실 학부과정중에 이정도는 마스터 했어야 했는데 워낙 실력이 부족하다보니
이제서야 만들게 되었다.
프로세서에 프로그램을 집어넣고 동작을 확인 하는 것이 프로세서의 태반이라고 생각했던
내 생각을 새로오신 직장 상사분의 가르침으로 완전히 변하였다.

프로세서가 동작하기까지 기초부터 하드웨어를 꾸미고 거기에 펌웨어와 어플리케이션들을 올릴 수 있는 사람이
정말 실력자라는 말씀을 해주신 분이 계셔서 배울 것 이 많아 졌다.

8/16/32bit 프로세서로 이것저것 만들어보려던 생각이 이제는 전자회로 기초부터 새로 시작해야겠다는 생각으로
바뀌게 되었고 그로인해 공부해야 할 것이 태산처럼 많아졌다^^
앞으로 시간되는대로 계속 공부해서 정진해야겠다.


반응형