Wednesday, October 16, 2013

Noritake Itron GU256X64-901A VFD(Vacuum Fluorescent Display)

Digital Thermometer vs. NTC thermistors


Why VFD (Vacuum fluorescent Display)?

Compared to LED, VFD (Vacuum Fluorescent Display) is compact and light weighted, has excellent readability with a wide viewing angle, high reliability and long life span. VFD is a self-illuminating display with high brightness and visibility whereas LCD can be seen only when there are added backlight since it does not emit backlight itself. VFD also has higher color representation, better graphic display quality than LED

That's the why.



A few month ago, i got a Vacuum-Fluorescent-Display (VFD),  Unfortunately No longer display the data
GU256X64-901A

GU256X64-901A 256 x 64 Dot Graphic VFD
Operating Temp -40°C to +85°C
Single 5V Supply.
High Brightness Blue Green Display
8 bit High Speed Parallel Interface
ASCII + Extended Character Font
Twin Graphic/Character RAM
4 Level Brightness Control Function

ELECTRICAL SPECIFICATION
Parameter Symbol Value Condition
Power Supply Voltage VCC 5.0VDC +/- 5% GND=0V
Power Supply Current ICC 1.4ADC typ. Vcc=5V
Logic High Input VIH 3.5VDC min. -
Logic Low Input VIL 1.5VDC max. -
Logic High Output VOH 4.0VDC min. IOH = -2mA
Logic Low Output VOL 0.4VDC max. IOL =4mA
The power on rise time should be less than 100ms.The inrush current at power on can be 2 x ICC






Some repair by the former owner, Missing Inductor, Damage PCB Trace, Crushed Capacitor
Are you all right?













Fuse OK, Soldered the damage trace and missing part back together(temporarily)
Fix Inductor, 47uH,DC Resistance Max : 0.079Ω, RMS Current (Irms) : 3.7A
after completing repairs

Self Test(Top Left Coner Pin 1,2 Short), 
VFD phosphors will burn in with repetitive images.
shows common legends from the convenience store Warning mesage
"19세 미만의 청소년에게는 술, 담배를 판매하지 않습니다" 
"We don't sell drink and cigarette for under 19"

Stil Alive! anyway.
Self Test(Top Left Coner Pin 1,2 Short)

Voilà!









Color filters(Smoke, Orange, Red)



Caveats: 
1. Font data to interface with a serial EEPROM using the I2C, refer to font.h
2. VFD module has Pixel orientation per Byte: D7..D0 (MSB First) characteristics,
refer to font.c

fonts.h
If you dont want Serial EEPROM, Modify fonts.h (see below, read comment)
#define FONT_EXTERNAL_EEPROM      1  // 1:External EEPROM,0:Internal Flash
#define FONT_HANGUL               1  // 1:Hangul are used in this program
/*
 * Internall Flash memory
 * Select desired fonts. (Simply comment out those not needed)
*/
/////#define FONT_ARIAL_NARROW_8_X12        
#define FONT_ARIAL_NARROW_9_X12B
/////#define FONT_ARIAL_NARROW_12_X16
/////#define FONT_ARIAL_NARROW_13_X16B
/////#define FONT_ARIAL_NARROW_18_X23B

font.c
static uint8_t _reverse_bits(uint8_t data)
/*
 * Reverse Bits of a byte
 *
 * Why reverse bits?
 *
 * I do not create work, use existing Column Major Font Data.
 * SAMSUNG KS0108 is a representative Controller of the Column Major
 * And Pixel orientation per Byte: D0..D7 (LSB First) characteristics.
 * LSB First rules generally apply to Column Major Coltroller
 * But Noritake VFD is D7..D0(MSB First) that is the reverse (Futaba Dot Matrix VFD are the same)
 *
 * That's the why.
 *
 * Column Major Display Pixel orientation per Byte (from top to bottom)
 *
 *      row             most cases   Noritake,Futaba
 *       0                 0               7
 *       1                 1               6
 *       2                 2               5
 *       3                 3               4
 *       4                 4               3
 *       5                 5               2
 *       6                 6               1
 *       7                 7               0
 *       8                 0               7
 *       9                 1               6
 *      10                 2               5
 *       .                 .               .
 *       .                 .               .
 *       .                 .               .
 *      64                 7               0
 *
 * Time Complexity: O(log n)
 *
 * O(n log n) is better performace but i cannot found googgle
 * http://www-graphics.stanford.edu/~seander/bithacks.html#BitReverseTable
 *
 */


Useful Links
in 1967, He is the inventor of a Vacuum fluorescent display called the VFD
has passed away on March 25, 2013.

32 comments:

  1. Hi, can you help me to use a GU256x64-372 with arduino? Thanks.

    ReplyDelete
    Replies
    1. Hi Camacho,
      I had GU256x64-372 Datasheet, There is no different GU256X64-901A
      Which part diffcult the most?
      Please be more specific.

      You should understand Datasheet
      There are information you want inside its.

      Delete
    2. Hi, thanks for your reply.

      In your code, how can I define D0-D7? pin by pin.

      Or create a small code for init and write data. Please take a look at this library: http://www.noritake-elec.com/specification.php?id=Arduino_Noritake_VFD_GU7000&category=10&type=gu7000, inside has a GU7000_Parallel.h file, maybe change this can communicate corretly with the display.

      Or in your code, try to use pinMode(pin, OUTPUT), pinMode(pin, INPUT), digitalWrite(pin, HIGH) and digitalWrite(pin, LOW)...

      Thanks a lot.

      Delete
    3. Look at the data&control Port Definition in the vfd.h

      // data port
      #define VFD_DATA_PORT PORTB
      #define VFD_DATA_INPUT PINB
      #define VFD_DATA_DDR DDRB

      // control port
      #define VFD_CTRL_PORT PORTA
      #define VFD_CTRL_DDR DDRA

      // control signals
      #define VFD_WR_PIN PA5 // Write Signal signal. (Input)
      #define VFD_CD_PIN PA6 // Command/Data Select Signal (Input), CD= 1':Command, CD='0':Data
      #define VFD_RD_PIN PA7 // Read Signall signal. (Input)

      GU256X64 is Seems like SAMSUNG KS0108 128x64 Dot Matrix LCD
      Here are the some Keyword "Arduino KS0108 128x64"
      Check out Google for more information.

      Good Luck~

      Delete
  2. Okay. Thanks.

    About your code, when I try to compile in WinAVR 4.3.3:

    In file included from main.c:48:
    ../bitmaps.h:44:42: error: ./bitmaps/_252x32_noritake.h: No such file or directory
    ../bitmaps.h:48:41: error: ./bitmaps/_196x32_manmool.h: No such file or directory
    ../bitmaps.h:52:39: error: ./bitmaps/_misc_bitmaps.h: No such file or directory

    Can you include this library in your source?

    Thanks.

    ReplyDelete
    Replies
    1. Oh.. This is a serious omission.
      I have corrected,
      So, You can download parts of a bitmap, or a bitmaps folder or the full source.zip ^^;;
      Camacho, thanks for letting me know~

      Delete
    2. Now it's possible to compile. Thanks.

      But I have a lot of modifications to run it in arduino, every attempt without sucess.

      This controller is not a KS0108 compatible, since there is no reset pin.

      Thanks.

      Delete
  3. Will this library work with Noritake Itron GU256X-312? The datasheets look very similar.

    ReplyDelete
    Replies
    1. Hi,
      Yes, that’s right
      Except Size they are identical in all ways.

      Delete
    2. Hi,
      thank you for this post.
      Please, can you answer, will your code work with GU256x64D-3900 VFD?

      Delete
    3. Hello,
      I’m not sure, I think you need a test.
      Merry X-mas~.

      Delete
  4. Well, my display is GU256X64-312R. It does not work with your library. Maybe i did something wrong. Anyway, the library looks like a huge piece of work. Thanks for that. By the way, why isn't CS connected anywhere? And what is the purpose of that 100R resistor at WR pin? Is it necessary?

    ReplyDelete
    Replies
    1. Hi,
      Please check again, This is more difficult as you think

      So,
      /CS(Chip Select Signal) is Active Low, That is why
      100Ohm Resistor is might be reduce the risk of malfunctioning(over or under shooting. etc) you can Omit.

      Good Luck.

      Delete
    2. So I connected the /CS pin to GND and now it works. Thank you again. Later I will do some more experiments.

      Delete
  5. My GU256X64-312R works when I use my own program WITHOUT your library. Here it is: http://www.youtube.com/watch?v=-iUlpHyCg4c

    ReplyDelete
    Replies
    1. I use ATmega644 with a 16MHz crystal. Can that be a problem?

      Delete
    2. Well, not. Now it works with ATmega644 and with 16 MHz crystal.

      Delete
  6. 24m01 eeprom의 데이타는 어떻게 만드나요.
    main.c를 컴파일하면 main.hex와 main.eep가 만들어집니다.

    eeprom 데이타 생성방법을 알고싶습니다.

    ReplyDelete
    Replies
    1. 글꼴 데이터를 EEPROM에 어떻게 넣는지? 라는 질문이라 이해하겠습니다

      /font 폴더의 폰트 데이터를 EEPROM에 넣어주는 프로그램은 eeprom.c 입니다.

      Delete
  7. 답변 고맙습니다.
    쉬운 질문을 어렵게 물어봤네요.
    글꼴 데이터를 EEPROM에 넣는 방법에 대해 물어본것입니다.

    그렇다면 24m01을 외부에 연결만하면 되겠네요.

    고맙습니다.

    ReplyDelete
  8. Will this work with GU256X128D-3900?

    Best,
    J

    ReplyDelete
    Replies
    1. Hello,
      I’m not sure, I think you need a test.
      Please Replay me the results.

      Delete
  9. how did you know what kind of inductor you need for the repairs?

    ReplyDelete
  10. Hello,
    I confirmed Normal operating product(47 µH, 3.7 A)
    http://www.farnell.com/datasheets/1359652.pdf?_ga=2.75370706.1970462149.1531877842-469383081.1531877842

    ReplyDelete
    Replies
    1. [MULTICOMP]
      MCSDRH125B-470MHF
      INDUCTOR, 47µH, 20%, 2PINS

      Delete
  11. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. 질문을 요약하면

      Atmega128로 가능하냐 - 가능합니다 뿐만 아니라 어떤 Micro Controller라도 가능합니다
      32번 PA5와 WR사이에 100옴저항이 필수냐 - 위에도 나오지만 노이즈등으로 예기치못한 오동작 방지용입니다, 생략하셔도 됩니다

      Delete
    2. 안녕하세요. 답변 감사드립니다.
      한동안 답변이 없으셔서 댓글을 지웠는데 이렇게 답변을 주셔서 너무 송구하네요.
      막히는 부분이 자꾸 생겨서 고민하다 앓느니 죽는다고 그냥 여쭤보겠습니다.
      26번핀 BL은 AVR의 어느 핀에 인터페이싱을 해야 하는건가요?
      워낙에 아는 것이 없다보니 제가 못 알아보는거 같아서 정말 죄송합니다.

      Delete
    3. 죄송할거없습니다 처음부터 잘 아는사람은없으니깐요 BL은 연결 안하셔도 동작됩니다.

      Delete
    4. 감사합니다.
      질문드리기전에 뭣도 모르고 Vcc도 연결하고 GND에도 연결하고 했더니만
      아무래도 모듈이 고장난것 같습니다.
      잘되던 셀프테스트도 안 먹히고 살짝 붉게 켜지던 필라멘트도 켜지질 않네요.
      도와주신 만큼의 결실을 보여드리지 못한 점 죄송합니다.
      감사합니다^^)

      Delete
  12. The materials metal bellow seals are made of can determine their quality. Some of the best are made from carbon and other quality materials to give them the properties to withstand high pressures and temperatures. Vacuum Valves

    ReplyDelete