MSP430F5438A Experimenter Board --LCD Interface

Hi,

It says in the MSP430F5438A Experimenter Board User guide that the LCD used on the board is 138 x 110 Hitachi HD66753. When I checked the code given in UserExperience example, it is using the SPI protocol for the LCD interface.  So I googled and found datasheets for HD66753.

  1. I was unable to find one which supports 138 x 110 resolution.
  2. All the data-sheets showed an I2C interface as opposed to an SPI.

Can someone at TI help me in getting the correct LCD data-sheet? I wanted to understand the lcd interface for which the HAL's were written and provided.

Thanks in advance

  • Genie,

    at some point in time [I think] we used to have that pdf as part of the MSP-EXP430F5438 support package.

    Here it is again, attached.

    5415.51933ace.pdf

    Regards,

    Dung

     

  • genie
    All the data-sheets showed an I2C interface as opposed to an SPI.

    Are you sure? LCD datasheets are usually a big mess. It seems to be more important to state which signs of defect of the device are not to be considered a defect (by lenngthily declaring the test conditions) but the really important information is kept so short that it is almost nonexistent.

    The datasheet you have been pointed to just tells 'data connection: serial' whcih can be anything. And hte naming of SDA and SCL indeed seems to indicate I2C, yet there is no sign of a programmable I2C address, only a chip select. And my experience form other LCD datasheets is that most of them implement either parallel, or serialized parallel interface, meanign that the usually used 8 bit parallel bus is optionally replaced by a serial shift (which is mostly SPI compliant) but neither a real SPI (you still need additional signals) nor a full-featured I2C (which will be too slow in most cases anyway).

    The timing diagrams for the interface in this datasheet are even more confusing. There are two SDA lines (usually, the serial interface is unidirectional even if the parallel interface would be bidirectional) and there seem to be two clock cycles per data bit. Strange. Since the pin list only shows one SDA, it seems to be a bi-directional data line (which is not SPI compliant) but uses a CS-signal (which isn't I2C compliant).

    VERY confusing.

    From this datasheet I wouldn't touch the device with pincers.

    But since it is on the experimenters board, there must be some code to address it. Look there and try to understand how the TI engineers did it.

     

  • In reply to Jens-Michael Gross:

    Jens,

    Our nickname for this LCD communication protocol is SPI2C :). 

    Essentially it is SPI with MISO & MOSI lines muxed together, the '430 MISO & MOSI pins are tied together and the '430 has to handle the switching between input/output. 

    @Genie,

    I believe you are already using/reading the hal_lcd.* files [latest version of the SW package], which we have optimized the communication for the LCD. The LCD datasheet is indeed a bit confusing, but the hal should shed some light on what we did in the code and why we did so.

    ~Dung

  • In reply to Dung Dang:

    Thanks a lot Dung!

    Dung Dang
    Essentially it is SPI with MISO & MOSI lines muxed together,

      That's what I thought you did :) . Yes I looked at the hal_lcd.* files. I am not sure if I have the latest one - I will download again and check.

    --Edited--

  • In reply to Dung Dang:

    Dung Dang
    Our nickname for this LCD communication protocol is SPI2C :)

    That explains it :)

    I wonder why almost none of the LCDs out there (and I checked a LOT datasheets lately) implements an industry standard interface.

    They may have an 80xx or 69xx processor interface (for the peripheral bus), alternatively an SPI that requires additional control lines for command/data and are write only. Others do weird things like this 'SPI2C'.

    And the datasheet explains on 30 pages what is not to be considered a failty display, but spares only one page or sometimes only one line for the interface.

    OLEDs, however, usually come with a real SPI or I2C and simply work.

  • In reply to genie:

    Hello Dung, I just bought the 5438 experimenter board and would like help programming my own logo. Could you explain why HAL_Lcd code uses 14 columns and not 138? I don't understand the addressing. Could you also explain how you took a bitmap and converted it to 16 bit data in 14 columns? Any help on the LCD is greatly appreciated.

    Thanks.

    Nick

  • In reply to Nick DiTrolio:

    Nick,

    The LCD has 110x138 resolution and it is in 2-bit gray-scale. Essentially each pixel requires 2 bits, and the LCD's on-chip display driver simply groups two consecutive bits in the  data byte/word together to store the pixel's value. The pixels are grouped by 8 together horizontally; their values are stored into a single 16-bit word. Hence, instead of having 138 individual single-bit columns, you'd end up with ~17 8-pixel-wide columns. 

    Graphic processing and manipulation do become a bit tricky, and hopefully the hal_lcd.* APIs alleviate some of that low-level pain. I do realize there are some small gaps in the explanation of how the low-level driver works, but hopefully the documentation will help clarify some of those details. Better yet, we also provide an image converter tool that can convert any image types on PC into a c structure compatible for the LCD data structure. Aforementioned info as well as the image tool can be found in the latest software package for the board. If you'd like, you can digest the LCD-specific data from the LCD datasheet, which is also included in the SW package. All of this info can be found on the MSP-EXP430F5438 Product Folder: http://www.ti.com/tool/msp-exp430f5438

    Some of the direct links from the page:

    - Latest Software Package: http://ti.com/lit/zip/slac227
    - Board HW & SW User's Guide: http://www.ti.com/lit/pdf/slau263

    Hope that helps!

    ~Dung

  • In reply to Dung Dang:

    Thanks, Dung. That was a big help.

    regards,

    Nick

  • In reply to Dung Dang:

    Hi Dung Dang,

         Is the LCD data sheet the same as http://www.optrex.com/SiteImages/PartList/CONTROLLER/HD66753e.pdf . Is there any documentation other than this?

    Thanks,

    Gautam.

  • In reply to Gautam Bhat:

    Gautam,

    the official datasheet for the LCD is provided in the board package, the link is available in my previous post. I'd recommend using that as the official document.

    I only took a quick glance at the sheet that you have, but it doesn't look the same. For starter the resolution is different.

    Regards,

    Dung