Author Topic: M0216SD-162SDAR2-1 Jumper Settings  (Read 6779 times)

Mike_B

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
M0216SD-162SDAR2-1 Jumper Settings
« on: March 25, 2016, 06:14:11 PM »
I am attempting to configure a M0216SD-162SDAR2-1 for serial interface, but cannot get the module to display anything.  I have the jumpers as follows:

J2 open
J3 short (solder bridge)
J5 short

J4 = 10k (default)
J6 = 0 (default)
J7 = open (default)

I have the connector signals as follows:
Pin 1: Gnd
Pin 2: +5V
Pin 3: Sdata
Pin 4: Strobe
Pin 5: N/C
Pin 6: Sclk

I am sending the following 16-bit groups after startup:

0xF838 (Function Set)
0xF806 (Display Entry Mode)
0xF80C (Display Enable)
0xF801 (Clear Display)
0xFA20, 0xFA30, 0xFA31, etc (Character data)

Display remains blank.  Any suggestions on what to check?  Many thanks.

Saurabh_B

  • Administrator
  • Hero Member
  • *****
  • Posts: 379
  • Karma: 10
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #1 on: March 29, 2016, 08:08:06 AM »
Mike,

Your jumper settings seem fine.

Would you possibly be able to share your commands for how you send bits to the display?
Are you also pulling the STB pin low for the 2 Bytes you send to the display?

Mike_B

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #2 on: March 29, 2016, 08:15:36 AM »
I am using a CPLD to generate the SPI-type interface, running the clock at about 32kHz.

Reset state is strobe high, clock high.

Strobe asserted low 1/2 clock period, then clock is set low.
16 cycles on clock, then strobe deasserted high 1/2 clock period later.
Data is driven on falling edges of clock, held stable on rising edges.  Sending MSB first.
strobe is deasserted one clock period between write cycles, clock held high during idle period.

I am waiting approx. 250 microseconds between power application and transmission of Function Set command.

Mike_B

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #3 on: March 29, 2016, 06:09:55 PM »
Update:

Presently the +5V power regulator is set up for a soft-start rise time of 15ms.  I see in the datasheet that the max rise time is specified at 10ms.  Could the 15ms rise time cause the malfunction I described?

Thanks!

Saurabh_B

  • Administrator
  • Hero Member
  • *****
  • Posts: 379
  • Karma: 10
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #4 on: March 30, 2016, 11:34:20 AM »
Mike,

That could be a possibility, however, you could always delay writing to the display until the voltage reaches 5 V

Yamamaxnano

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #5 on: October 05, 2017, 02:30:36 AM »
The answer is very good offline.

kpengwin

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #6 on: March 12, 2018, 03:46:58 PM »
I recently got one of these M0216SD-162SDAR2-1 and am having a problem with the same symptoms as Mike_B back in 2016 - the display does not seem to turn on at all. I'm trying to use the display by bit-banging serial with an arduino.

I've bridged J3 and J5 and left the other jumpers alone.

I'm using pins as follows:
Pin 1: Gnd
Pin 2: +5V
Pin 3: Serial I/O
Pin 4: Strobe
Pin 5: not connected
Pin 6: Clock

I set the pins as output, and then send the following bytes (same as Mike_B was sending above)
  send_byte(B11111000);
  send_byte(B00111000);
  send_byte(B11111000);
  send_byte(B00001100);
  send_byte(B11111000);
  send_byte(B00000001);

my send_byte function is:

// transmit byte serially, MSB first
void send_byte(unsigned char data)
{
   output_low(PORTD, 3); //begin write cycle
   delay(1);
   int i;

   // send bits 7..0
   for (i = 0; i < 8; i++)
   {
       // consider leftmost bit
       // set line high if bit is 1, low if bit is 0

       if (data & 0x80)
           output_high(PORTD, 2);
       else
           output_low(PORTD, 2);

       // pulse clock to indicate that bit value should be read
       output_low(PORTD, 4);
       delay(1);
       output_high(PORTD, 4);
       
       // shift byte left so next bit will be leftmost
       data <<= 1;
       delay(1);
   }
   output_high(PORTD, 3); //end write cycle
   output_low(PORTD, 2); //end write cycle
   output_high(PORTD, 4); //end write cycle
   delay(1);
}

Anyone have any thoughts on what i might be doing wrong?

Ted_M

  • Administrator
  • Jr. Member
  • *****
  • Posts: 36
  • Karma: 2
    • View Profile
Re: M0216SD-162SDAR2-1 Jumper Settings
« Reply #7 on: May 21, 2018, 11:41:01 AM »
Hi kpengwin,

Have you been able to resolve this issue?