Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - jcasey

Pages: [1]
1
OLEDs / spontaneous reverse mode with NHD-0420CW
« on: August 09, 2017, 12:30:03 PM »
Hi -   I used an NHD-0420CW for a recent product.   Early on, I noted that sometimes it powered up reversed, so I appended a control 0x20 to the init sequence, and that seemed to fix it.   I have delivered a couple units, and now the customer says that one of them spontaneously reversed itself and won't go back normal on powerup.   I'm perplexed.

Below is my init sequence, applied once at powerup.  I never use reverse at all, but I do go back and forth between 3-line and 4-line format (3-line with middle line double size), so am regularly sending control sequences for this.      (Edit - I'm talking to this in SPI mode, if that matters.)

Possibilities:
  1)  I don't understand something, and need to be sending additional init, or regularly goosing mode.
  2)  The LCD is damaged (client did mention something about a power outage during an electrical storm, but system is well grounded and good filtering on line input).
  3)  I'm using the ribbon connector soldered on the back, and perhaps it came loose during shipment, might be an intermittent pin connection.
  4)  ???

This is high end hardware for a national lab, high visibility.  I'm a bit embarrassed over this, need a confident fix fast.  Please help.
(System is running ARM-ASM on an NXP LPC2468 cpu, bare assy, no os.)

Thanks!
Jeff Casey
Rockfield Research Inc.
Las Vegas, NV

init sequence:

   bl   msec1

   write   FIO4CLR,1<<12         ; pull DRESET low for display
   bl   usec500            ; pause a bit
   write   FIO4SET,1<<12
   bl   usec500

   dcom   0x2A      ; function set extended
   dcom   0x71      ; function sel A
   ddata   0      ; disable internal VDD reg, enable reg 5V
   bl   flushd

   dcom   0x28      ; func set
   dcom   0x08      ; displ off, curs off, blink off
   bl   flushd

   dcom   0x2A      ; func set
   dcom   0x79      ; oled com set enabled
   bl   flushd

   dcom   0xD5      ; set clock
   dcom   0x70      ; set clock
   dcom   0x78      ; OLED com set disabled
   bl   flushd

   dcom   0x09      ; ext func 4 lines
   dcom   0x06      ; com seg dir
   dcom   0x72      ; func sel B
   ddata   0      ; ROM cgram sel
   bl   flushd

   dcom   0x2A      ; func set
   dcom   0x79      ; OLED com set enabled
   bl   flushd

   dcom   0xDA      ; set seg pins config
   dcom   0x10      ; ...
   dcom   0xDC      ; func sel C
   dcom   0      ; ..
   bl   flushd

   dcom   0x81      ; set contrast control
   dcom    0x7F      ; ...
   bl   flushd

   dcom   0xD9      ; set ph length
   dcom   0xF1      ; ...
   bl   flushd

   dcom   0xDB      ; set VCOMH
   dcom   0x40      ; ...
   bl   flushd

   dcom   0x78      ; OLED com set disabled
   dcom   0x28      ; func set
   dcom   0x01      ; clear
   dcom   0x80      ; set addr 00
   dcom   0x0C      ; display on

   dcom   0x20      ; added *** later, ensures display is not reversed....?

   bl   flushd

Pages: [1]