Author Topic: NHD-1.1-9696G  (Read 134 times)

kishanmbhat

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
NHD-1.1-9696G
« on: November 26, 2019, 05:29:48 AM »
Hi,

I am currently working on NHD-1.1-9696G for my project, which communicates with a P-NUCLEO-WB55 evaluation board (based on STM32 MCU) over 4-wire SPI protocol. The display circuit is as per the wiring diagram provided in the display datasheet (please refer attachment).

I had initially powered VDD and VDDIO from a separate source but found that the voltage between MCU output pins and display GND was 4.3 V. Now, I am powering VDD, VDDIO at 3.3V and VSS (GND) from the MCU board, which in turn is powered through the debug port (USB) when connected to the PC. The VCCR (12V) and VSSH (GND) is powered by a separate 12V regulator, which can supply at least 200 mA.

Looks like I am able to communicate with the display as the write messages are being executed one after another during the initialization sequence (as viewed on the debugger). However, I am unable to switch on the display even after writing the value 0x01 to the index register 0x02. Also, I am unable to read from the index registers and check their values.
(EDIT: Please check my latest messages below for an update. Now I'm able to write and read to index registers)

Can you please help me with any verification method to test if the display is fine or if its damaged?

regards,
Kishan
« Last Edit: November 29, 2019, 07:22:51 AM by kishanmbhat »

kishanmbhat

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: NHD-1.1-9696G
« Reply #1 on: November 26, 2019, 09:13:53 AM »
Hi,

I had not connected SDO pin (D2) as it was mentioned in the SEPS114 datasheet that in the SPI mode, it should not be connected. I took a risk and connected the SDO pin to MCU MISO and I am now able to read the index values as well.

It is confirmed that the values are getting written to the index registers and also being able to read. The initialization sequence is as per the example provided in the NHD-1.1-9696G datasheet (page 13).

However, still not getting the display On. Kindly help.

regards,
Kishan

kishanmbhat

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: NHD-1.1-9696G
« Reply #2 on: November 26, 2019, 09:38:26 AM »
Below is my initialization sequence. Please let me know if I have to modify.

      OLED_RESET_LOW();
      OLEDStatus = OLED_RESET;

      OLED_Delay(10);
      OLED_RESET_HIGH();
      OLED_Delay(10);

      OLED_Write(OLED_SOFT_RESET, 0x00);
      OLED_Write(OLED_STANDBY_ON_OFF, 0x01);
      OLED_Delay(1);
      OLED_Write(OLED_STANDBY_ON_OFF, 0x01);
      OLED_Delay(1);

      OLED_Write(OLED_DISP_ON_OFF, 0x00);

      OLED_Write(OLED_ANALOG_CONTROL, 0x40);
      OLED_Write(OLED_OSC_ADJUST, 0x03);
      OLED_Write(OLED_DISPLAY_X1, 0x00);
      OLED_Write(OLED_DISPLAY_X2, 0x5F);
      OLED_Write(OLED_DISPLAY_Y1, 0x00);
      OLED_Write(OLED_DISPLAY_Y2, 0x5F);

      OLED_Write(OLED_RGB_IF, 0x00);
      OLED_Write(OLED_RGB_POL, 0x00);
      OLED_Write(OLED_DISPLAY_MODE_CONTROL, 0x80);
      OLED_Write(OLED_CPU_IF, 0x00);
      OLED_Write(OLED_ROW_SCAN_DIRECTION, 0x00);
      OLED_Write(OLED_ROW_SCAN_MODE, 0x00);
      OLED_Write(OLED_COLUMN_CURRENT_R, 0x6E);
      OLED_Write(OLED_COLUMN_CURRENT_G, 0x4F);
      OLED_Write(OLED_COLUMN_CURRENT_B, 0x77);
      OLED_Write(OLED_ROW_OVERLAP, 0x00);
      OLED_Write(OLED_DISCHARGE_TIME, 0x01);
      OLED_Write(OLED_PEAK_PULSE_DELAY, 0x0);
      OLED_Write(OLED_PEAK_PULSE_WIDTH_R, 0x02);
      OLED_Write(OLED_PEAK_PULSE_WIDTH_G, 0x02);
      OLED_Write(OLED_PEAK_PULSE_WIDTH_B, 0x02);
      OLED_Write(OLED_PRECHARGE_CURRENT_R, 0x14);
      OLED_Write(OLED_PRECHARGE_CURRENT_G, 0x50);
      OLED_Write(OLED_PRECHARGE_CURRENT_B, 0x19);
      OLED_Write(OLED_ROW_SCAN_ON_OFF, 0x00);
      OLED_Write(OLED_SCAN_OFF_LEVEL, 0x04);

      OLEDStatus = OLED_OK;

      OLED_ClearScreen(); /* routine to write all bits in DDRAM to 0x0 */
      OLED_Write(OLED_DISPLAYSTART_X, 0x00);
      OLED_Write(OLED_DISPLAYSTART_Y, 0x00);

      OLED_Write(OLED_DISP_ON_OFF, 0x01);
      OLED_Delay(100);

      OLED_SetDDRAMSize(0x00, 0x5F, 0x00, 0x5F);
      OLED_SetDisplaySize(0x00, 0x5F, 0x00, 0x5F);

Is there any troubleshooting that i can do in terms of wiring connection or in the driver to check what's wrong?

regards,
Kishan

kishanmbhat

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: NHD-1.1-9696G
« Reply #3 on: November 29, 2019, 06:03:38 AM »
Hi,

I am currently working on NHD-1.1-9696G for my project, which communicates with a P-NUCLEO-WB55 evaluation board (based on STM32 MCU) over 4-wire SPI protocol. The display circuit is as per the wiring diagram provided in the display datasheet (please refer attachment).

I had initially powered VDD and VDDIO from a separate source but found that the voltage between MCU output pins and display GND was 4.3 V. Now, I am powering VDD, VDDIO at 3.3V and VSS (GND) from the MCU board, which in turn is powered through the debug port (USB) when connected to the PC. The VCCR (12V) and VSSH (GND) is powered by a separate 12V regulator, which can supply at least 200 mA.

I had not connected SDO pin (D2) as it was mentioned in the SEPS114 datasheet that in the SPI mode, it should not be connected. I took a risk and connected the SDO pin to MCU MISO and I am now able to read the index values as well.

It is confirmed that the values are getting written to the index registers and also being able to read. The initialization sequence is as per the example provided in the NHD-1.1-9696G datasheet (page 13).

Hi,

Please let me know if there's any resolution available for the problem started earlier as I am not able to figure it out by myself and my project is not making any further progress. Do let me know if I need to share any other information.

Kindly help.

Looking forward to hearing from you.

Regards,
Kishan
« Last Edit: November 29, 2019, 08:49:49 AM by kishanmbhat »