Monday, January 11, 2016

AGENA AG12864 Graphic LCD

1/14/2016 Schematic No. 2Pin(GND) 누락사항 반영
2/11/2016 SPI Interface Schematic에서  사용하지 않는 핀(E_RD,RW_WR) 제거

Modification Serial(SPI) Interface
AGENA AG12864
SAMSUNG KS0723이 사용된 128x64 Mono Graphic LCD입니다.
KS0723은 단일칩으로 3가지 Interface 방식을 지원하지만 해당 제품은 8080-series 8-bit parallel interface로 고정되어있고 백라이트는 EL(Electroluminescence) 방식입니다,  EL(Electroluminescence) Backlight는 LED와 달리 열을 내지 않고 소비전력이 매우 작은 특징이 있습니다.

Feature

  1. Resolution : 128 x 64 
  2. Dimension : 60mm x 44mm x6mm(Outside)
  3. Power : DC +3.3V for Logic
  4. SAMSUNG KS0723  single-chip driver & controller 
  5. Backlight : IPM560 Power Efficient EL(Electroluminescence) Lamp Driver
  6. 18핀 FFC Connector(1mm Pitch)
  7. Segment Icon 지원.
  8. Serial or 8-bit parallel Microprocessor Interface
  • High-speed 8-bit parallel bi-directional interface with 6800-series or 8080-series(factory default)
  • Serial interface (only write operation) available
60mm x 44mm x 6mm (WxHxD)

Interface


8-bit Parallel  Inrerface Pintout
KS0723 TCP LAYOUT
LCD의 8페이지(페이지는 0에서부터 시작합니다)가 Segment Icon 위치입니다
Icon이 자리잡고 있는 위치에 0xff를 출력하면 Segment Icon이 화면에 표시 됩니다
88:88 부분은 따로 구현하지 않았지만 7-segment 와 동일한 방법으로 어렵지 않게 구현할수 있을거 같습니다,

main.c
demo_segment_icon(void) 를 참고하세요.
Segment Icons Address

Schematic

8080 Series 8bit Parallel Interface
EL Backlight는 LED와 달리 켜져있어도 표시가 잘 나지 않습니다
주변을 좀 어둡게 하면 차가운 느낌의 연한 파랑색이 확연히 보입니다.
EL Backlight

Modification

Serial(SPI) Interface
IC 칩이 필름과 같이 결합된 형태를 TCP (tape carrier package)라고 합니다, TCP 모듈을 제거하고 필요한 작업을 수행하는게 간편하지만, Hot Bar Soldering 장비가 있어야 하므로 PCB에 부착된 상태에서 필요한 작업만 수행합니다.
Data bus에 8개를 사용하는 전통적인 8-bit parallel 방식에 비해 Serial 방식은 2개만 있으면 되므로 여러모로 편리한점이 많습니다, 작업순서는 1,2,3,4 시계방향입니다
  1. 작업해야할 PCB 패턴은 안쪽에 숨어있습니다, LCD유리는 폭이 대략 3mm 정도 되는 양면접착제가 사용되었지만 견고하게 부착되어 있지 않으므로 칼같은 얇은 도구로 유리와 EL backlight 사이를 조금 벌려주시면 쉽게 분리됩니다 분해된 사진은 판매자의 상품정보 혹은 More Photos를 참고하세요.
  2. TCP 모듈도 양면접착제로 붙어있습니다(파란색부분)  TCP 모듈에 손상이 가지 않도록 조심히 분리해야 합니다.
  3. 왼쪽에서 4번째 PC핀이 바로 Parallel/Serial Interface 을 결정하는 PS핀입니다, 제조당시 VCC에 연결되어 Parallel방식으로 고정되어 있으며 VCC에 연결된부분을 예리한 도구로 끊고 GND로 연결하면 Serial 방식이됩니다.
  4. PS핀을 양쪽 GND VIA에 납땜후 마무리.


코드는 8080,6800 8-bit Parallel Interface, SPI Interface 모두 지원하도록 작성되어 있습니다.
#define INTERFACE_MODE만 IF_MI_80 에서 IF_SPI 로 바꿔주면 Serial(SPI) 모드로 동작합니다.

#ifndef _KS0723_H_
#define _KS0723_H_
/*
 * $Id: ks0723.h 11/23/2015 12:53:50 PM AM ssk  $
*/

// Determine data Interface
#define IF_MI_80               0       // 8080-series MPU,  8 Bit Parallel Interface  *Default
#define IF_MI_68               1       // 6800-series MPU,  8 Bit Parallel Interface
#define IF_SPI                 2       // SPI(Serial Peripheral Interface)
#define INTERFACE_MODE         IF_SPI
SPI Interface

NOTES : Avoid Damage

TCP (tape carrier package)는 얇은 필름으로 구성되어있습니다, 
특히 아래 사진 흰색 점선부분은  보호장치 없이 외부에 노출되어있으므로  필름이 손상되지 않도록 주의가 필요합니다.
만약 필름이 손상을 입는다면 LCD 화면 전체 혹은 일부 정보가 제대로 표시 되지 않습니다.


간편하게 아크릴조각, 두꺼운 종이같은걸 LCD보다 조금 크게 잘라 덧붙이는 방법도 괜잖습니다.
참고사진1.
참고사진2.

Downloads

Source code
Schematic(Eagle cad, pdf, jpg)
Datasheet 
More Photos. & Movies

Useful Links

LCD IC (Driver IC)의 개요 및 분류
COF (Chip-On-Film) Technology for LCD Driver ICs Using Reel-to-Reel System
ST7565 LCD tutorial - Ladyada.net

추가 2016.11.02

ATMEGA328 Pinout


AVR GCC Version
avr-gcc (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Complier Optimize Option
OPT = s -mcall-prologues

8 BIT PARALLEL(6800-series or 8080-series) AVR Memory Usage
----------------
Device: atmega328p
Program:   32260 bytes (98.4% Full)
(.text + .data + .bootloader)
Data:        354 bytes (17.3% Full)
(.data + .bss + .noinit)
   text    data     bss     dec     hex filename
  31932     328      26   32286    7e1e main.elf

SPI Mode  AVR Memory Usage
----------------
Device: atmega328p
Program:   32456 bytes (99.0% Full)
(.text + .data + .bootloader)
Data:       1378 bytes (67.3% Full)
(.data + .bss + .noinit)
  text    data     bss     dec     hex filename
  32128     328    1050   33506    82e2 main.elf


Tuesday, January 5, 2016

OCULAR OG16801 Controllerless Graphic LCD

Working with unusual LCD modules from Local Surplus 2
OCULAR OG16801

160x80 해상도 그리고 SA3086 이라는 Common/Segment Driver가 사용되었다는거 말고는
일전에 ELEC&ELTEK CMBG12864G 과 기능상 동일한 LCD입니다.
C 코드는 그대로 활용하였고, 해상도가 작아 C 코드로도 충분한 성능이 나옵니다.
* 기존  Assembly 코드에 오류가 여러곳 발견되어 이것만 다시 작성하였습니다.

80mm x 50mm(Outside)

Feature

  1. Resolution : 180 x 80 
  2. Dimension : 80mm x 50mm(Outside)
  3. Power : DC +5V for Logic 
  4. Redwood SA3086 80CH COMMON / SEGMENT DRIVER x 3 (삼성 KS0086, S6B0086 NEOTEC NT7086과 동일한 핀배열입니다)
  5. ME7660 Voltage Converter x 2  (AIC162같은 Inverting칩은 1개로도 LCD Drive하기 위한 전압을 만들어냅니다)
  6. 4-Bits Parallel Interface.
  7. Backlight : Yellow Green LED Backlight (대략 200mA)
  8. Non Controller (Controller less)
  9. 1개 1,000원 ^^;
* 계측장비에 사용된 Graphic LCD는 대부분 Controller 가 없습니다, 제가 사용하는 Agilent DSO3152A도 그렇고 Tektronix TDS-220같은 오실로스코프가 대표적인 사례입니다.
이 방식은 화면 크기와 Interface 규격만 맞다면 특정회사에 종속되지 않고 다양한 회사 제품을 사용할 수 있으며  빠른 속도로 LCD를 제어할 수 있는 장점이 있습니다 물론 펌웨는 그대로 유지하면서 말이죠,
만약 EPSON사 Controller를 사용하다 단종/비용/정책등 여러 이유로 Hitachi사 Controller가 장착된 LCD를 사용해야 한다면 펌웨어 수정은 불보듯 뻔한 사실입니다, 품질/성능의 일관성 유지면에서 보면 이것또한 Risk입니다(화면 전환 속도는 Movie 를참고하세요)


Interface

  1. Datasheet 에는 동작 전압이 DC +3.3/5V로 표시되어 있지만 +3.3V에서는 화면이 흐려 볼 수 없습니다,  +3.3V를 사용하실려면 LCD PCB 에 부착된  Voltage Divider R3를 기존 10k에서 7k로 바꾸던지, +5V를 사용해야 합니다, 각 핀별 연결은 Schematic을 참고하세요. 
  2. 13핀 FFC 리본케이블은 1mm Pitch입니다.

Schematic

  1. LED Backlight는 1/4W 22R 저항 두개를 병렬로 연결 사용 (0.5W)
  2. M Signal은 Software적으로 처리하였지만, Flip Flop을 이용 하드웨어 방식도 테스트 하였습니다 (Schematic의 점선 부분 참조)

Downloads 

To Do 



정상적인 환경에서는 보이지 않지만 주변을 어둡게 하고 특정각도에서 보면 얼룩이 보입니다 차후에 LCD를 분해해서 파악해봐야겠습니다.


추가
(판매자분께서 이글을 보셨는지) 다른 주문건에 LCD를 하나 더 보내주셨더군요
화면에 티가 나거나 불편함이 없는 사항인데,  세심한 배려에 감사드리며 잘~ 간직하겠습니다.