Shop OBEX P1 Docs P2 Docs Learn Events
RS-232 question — Parallax Forums

RS-232 question

TCTC Posts: 1,019
edited 2014-03-16 13:20 in General Discussion
Hello all,

I am working with Noritake's CU24063-Y100 display. I was having a little trouble with the SBUSY line. So I emailed Noritake support to figure out what is going on. The problem I am having is the SBUSY line stays HIGH, and from the datasheet it recommends that the SBUSY should be checked, and data should only be sent when the SBUSY is LOW. The display works great otherwize, but it would be nice to have the SBUSY work for some commands. I took voltage readings of the RESET and SBUSY lines for the Noritake tech. With nothing hooked up but Vcc and GND, the voltages I am getting are;

GND to Vcc = 4.9713V
GND to RESET = 3.8612V
GND to SBUSY = 4.2765V

From my understanding of the datasheet, RESET is HIGH, and SBUSY is HIGH.

But from what the Noritake tech is saying (and I quote)
The RS-232 Serial IF, logic level is inverted.

If SBUSY line is 4.0V-VCC, It means a LOW logically.

If SBUSY line is 0V-0.5V, It means a HIGH logically.



Sorry, Description of the specification is not sufficient.

The SBUSY line is 4.2765V.

Your saying that this is a HIGH level.

Probably, your mis-understanding?.



If SBUSY line is 4.2765V, It is a LOW logically.



SIN line is also the same.

If SIN line is 3.0-15V, it means a LOW logically.

If SIN line is -15-0.5V, it means a HIGH logically.

Since I am trying to understand stuff all over again, could someone please explain why the datasheet is saying something different? Or why am I just not understanding the datasheet?

the "Electrical Characteristics" for the display are on page 6 (sheet 7)

Thanks
TC

Comments

  • Mike GMike G Posts: 2,702
    edited 2014-03-14 04:29
    Since I am trying to understand stuff all over again, could someone please explain why the datasheet is saying something different? Or why am I just not understanding the datasheet?

    the "Electrical Characteristics" for the display are on page 6 (sheet 7)
    Electrical characteristics have nothing to do with "Active High" or "Active Low" logic levels.
    "Datasheet wrote:
    Writing data when SBUSY=1 may cause data loss, so data should be written when SBUSY=0.
    Also see the flow chart on page 10.
  • TCTC Posts: 1,019
    edited 2014-03-14 04:41
    Mike G wrote: »
    Electrical characteristics have nothing to do with "Active High" or "Active Low" logic levels.
    Then where do I find the information on what is an "Active High" or "Active Low" for the display?
    Also see the flow chart on page 10.

    I looked at the flow chart, at first power up, no data going to the display, the SBUSY line never goes low(what I consider LOW). I have left the display sit for more than 10 minutes, and the voltage on the SBUSY line will never be less than 4.2765V.
  • Mike GMike G Posts: 2,702
    edited 2014-03-14 04:56
    Then where do I find the information on what is an "Active High" or "Active Low" for the display?
    See the timing diagrams. Pay close attention to the diagrams, 0 is on top of 1.

    Also verify connections.
  • TCTC Posts: 1,019
    edited 2014-03-14 05:25
    Mike G wrote: »
    See the timing diagrams. Pay close attention to the diagrams, 0 is on top of 1.

    Also verify connections.

    So, would it be that if I am seeing +4V on the SBUSY line(LOW or 0), I can write to the display? And if the input buffer is 32 bytes or more, the SBUSY line should be 0V(HIGH or 1)?
  • fengfeng Posts: 39
    edited 2014-03-14 06:39
    SBUSY is an output signal (Handshake) from the display.
    If the voltage is between 4.0V and Vcc then its H-Level signal from the display.
    If the voltage is between 0V and 0.5V then its L-Level signal from the display. Data should be written during this condition.
    Other voltages would indicate a faulty display or load resistance.

    /RESET is an input signal to the display.
    If the voltage is between 0V and 0.8V then the voltage is treated as /RESET-signal by the display.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-14 07:06
    Could be that you need to take the receive line to the inactive state which if it is inverted normally means it should idle low but it might mean it's inverted from RS232 in which you need to take it high. So try both and observe the SBUSY signal and the one that allows SBUSY to go low (ready) is the "idle" state.

    Normally at the logic level the line idles high with a start bit going low. When this is translated to RS232 it effectively goes through an inverter which converts the high to a negative voltage and the low to a positive voltage. RS232 lines idle negative.

    So the trick here is not to assume anything but be methodical not missing any combinations. You will find once you get into this habit you will solve most problems in a heartbeat.

    EDIT: just sighted the datasheet but it doesn't sound right. Yes, the receive data should idle low with a start bit going high but the timing diagram shows the data being sent when SBUSY is high, waiting while it is low, and recommencing once it goes high, yet the datasheet says "Please write data when SBUSY = 0" so if I took a guess I would say that that statement is incorrect.

    If you are trying to get the thing to work you shouldn't be holding back waiting for Christmas, just send serial data to find out what works.

    Screenshot from 2014-03-15 00:09:30.png

    EDIT AGAIN: Ah, I see, the timing diagram shows the "high' level as a 0. It is a really weird way of showing this and it's easy to miss. So the serial data is normal logic level with the start bit going low and the SBUSY is active logic high so this goes back to what I was saying earlier about the receive line idle state, it must idle at a normal logic high in this case
  • TCTC Posts: 1,019
    edited 2014-03-14 10:17
    As I said in my first post,

    The display works great otherwize. I am only having problem understanding what I SHOULD have on the SBUSY line under normal conditions. But the datasheet is so confusing on what is a LOW and what is a HIGH

    Here is a video of the display working like it should, I am just not reading the SBUSY line.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-14 18:32
    TC wrote: »
    As I said in my first post,

    The display works great otherwize. I am only having problem understanding what I SHOULD have on the SBUSY line under normal conditions. But the datasheet is so confusing on what is a LOW and what is a HIGH

    Here is a video of the display working like it should, I am just not reading the SBUSY line.

    Thanks for the video, the display and the formatting look nice. As mentioned earlier for some weird reason Noritake prefer to show their diagrams upside down in that up is 0 and down is 1, I suppose they reason that up is active and it's active low. However the SBUSY should only go high (looks low in the diagram) if it can't receive any more characters because it's too busy, but it doesn't need to go busy if it ain't. If you are writing to it from Spin it is unlikely that you could overrun it's buffer so it will never be busy. On character LCDs the only time it is ever really busy is when you issue a clear display command.
  • TCTC Posts: 1,019
    edited 2014-03-15 17:57
    Thanks for the video, the display and the formatting look nice.

    Thank you. That video is just an idea I had for my reflow oven I am working on. I am still running through ideas, and picking out the ones I like.
    As mentioned earlier for some weird reason Noritake prefer to show their diagrams upside down in that up is 0 and down is 1, I suppose they reason that up is active and it's active low. However the SBUSY should only go high (looks low in the diagram) if it can't receive any more characters because it's too busy, but it doesn't need to go busy if it ain't.

    Thats why I was getting confused. I am use to diagrams being 1 is up, and 0 is down.
    If you are writing to it from Spin it is unlikely that you could overrun it's buffer so it will never be busy. On character LCDs the only time it is ever really busy is when you issue a clear display command.

    I agree with you there. I have tried everything I can think of (using SPIN), and I could not get the SBUSY line to go LOW. I am just going to move forward, and forget that the SBUSY line exists.

    Thank you everyone for your help.
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2014-03-16 13:20
    SBUSY is a "1" when it's LOW for the same reason that SIN and SOUT are "1" when they are LOW.
    That's "RS-232", the Idle state is HIGH
    [PDF page 12 (Doc page 11).]
Sign In or Register to comment.