This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

R/W for the LCD Interface

Other Parts Discussed in Thread: AM1707

Hello,

If one wants to use a parallel-interface character-based LCD with standard

interface RS, R/W, EN, and D0-D8.  The AM1707 datasheet describes the

LIDD interface and has connections for everything except R/W. 

Can you tell me how to connect R/W for the LCD interface?

 

  • Hi, folks.  This question was asked on my behalf.

    Just to add to it:  We're using a character display that emulates the universal standard Hitachi HD44780 interface.  Surely the LIDD on the AM1707 is made to accommodate the most ubiquitous and popular type of LCD interface?

    I've been using the application note sprufv5a.pdf, and they describe LIDD Character-mode interface signals for all the signals other than R/W.  They have some LIDD Graphics signals defined that look sort of like what I need, but they don't explain them and I certainly can't expect to mix LIDD Character and LIDD Graphics specs.  The enable lines are different, etc.

    I suspect there's either a misprint or the LIDD Character mode is one of those "features' that has never worked and people just program around it with PIO.  It's pretty sad now that I've spent almost more time trying to get an answer on interfacing the HD44780 than it would have taken to do the programming.

    Regards,

    John

     

  • Varun, John

    We regret the delay. The LCD expert is on time bank since last week, till end of this week, so no one has been able to address this query from the factory side. It might take us additional time to clarify.

    It does look like in most case HSYNC is used for LIDD i/f , similar to what is shown here in a UI card that is supported on a device very similar to AM707

    http://support.spectrumdigital.com/boards/assy511240/revc/files/assy511240_schematic_RevC.pdf

    Can you share the datasheet for the LCD that you are planning to use, and I can see if we can get a more solid answer on this talking to other in house experts.

    John

    You can share it via Varun, if you prefer to send it offline.

    Regards

    Mukul

  • Thanks for the effort, Mukul, but you're way off the mark.  That's a completely different type of LCD.  It's NOT using the LIDD interface, it's using the Raster Controller mode.  The LIDD-type "character" displays don't use HSYNC, VSYNC, PCLK or MCLK.  They use different signals that overlay them on the AM1707, a simple handshaking that reads and writes bytes to the parallel 8-bit data port for putting characters on the screen.  They simply use Register Select (RS), Enable (EN), Read/Write# (R/W), and D0-D7.  RS selects command or data mode, EN strobes the data, and R/W selects reading (status byte, mainly) or writing (all LCD data) mode.

    The LIDD character interface is extremely well known, and is in use in millions if not billions of LCD's today.  It's based on the Hitachi HD44780 controller interface.  It's so well known it's even in Wikipedia.

    http://en.wikipedia.org/wiki/HD44780_Character_LCD

    The particular display we're using is the Crystalfontz CFAH1602Z-YYH-ET Parallel Character LCD.  You can download the datasheet from the Crystalfontz page but it's the same as the HD44780 listed on the Wikipedia page.

    http://www.crystalfontz.com/product/CFAH1602ZYYHET

     

    Regards,

    John

     

  • John Haggis said:
    Mukul, but you're way off the mark.  That's a completely different type of LCD.  It's NOT using the LIDD interface, it's using the Raster Controller mode.  The LIDD-type "character" displays don't use HSYNC, VSYNC, PCLK or MCLK. 

    Just to make sure you are looking at the right page in the schematics that talks about an Hantronix char display (pg 10) , not Pg 9. Also have you looked at Table 3 in the LCD user guide??

    We will review the datasheet you shared and get back to you too.

  • John,

      I apologize for the confusion in the documentation. There are a number of inconsistencies that we will resolve.

      If you look in the AM1707 documentation ( http://www.ti.com/lit/ds/symlink/am1707.pdf ), you can see in figure 6-45, the hookup for a standard HD44780 character display. 

    LCD_D[7:0]                    DATA[7:0]

    LCD_VSYNC                  RS

    LCD_HSYNC                 R/W

    LCD_AC_ENB_CS       E (E0)

    LCD_MCLK                    E1   (not needed for your part)

    This is the correct hookup for your character display.  Unfortunately, in the sprufv5a.pdf document, Table 1 is incorrect in that it shows LCD_HSYNC as not being used for LIDD character displays when it is actually the R/W pin.  Also, Table 3 is incorrect in that it shows LCD_PCLK as the primary strobe enable (ie E0) when in reality the primary strobe enable is LCD_AC_ENB_CS. 

      Again, I apologize for the confusion.

    Thanks,

    Erik

     

     

  • Ahhh...  Thank you Mukul.  I had missed both -- I was looking at pg 9 in the schematic, a different display, and somehow I had missed table 3 in the LDCD user's guide.  .

     

    Now my problem is too much information, and it's all conflicting.  Even in the TI LCDC user's guide, table 2 is in direct conflict of table 1.  Table 2 says for the HD44780 character display, LCD_PCLK is the primary enable strobe.  But Table 1 says it's Not Used in LIDD Character mode (only in LIDD Graphics mode). 

    In addition, in the schematic you showed me, the Hantronix HDM24216H-2-S00S is an HD44780 emulator.  Yet the schematic showed me, they had the Enable strobe going to either LCD_AC_ENB_CS#, which according to Table 1, is the primary Enable strobe in LIDD Character mode, or selectably to the LCD_MCLK, which is the secondary Enable strobe in LIDD Graphics mode.  The schematic seems more correct, which throws Table 2 into question. 

    If Table 2 is wrong on this topic, why would it be correct for anything else?

    Of course, both Table 2 and the schematic agree that the R/W signal should be on LCD_HSYNC, which just disagrees with Table 1, unless you accept the LIDD Graphics Mode usage of this signal.  They all seem to be treating the HD44780 as an LIDD Graphics Mode display, even though it technically isn't. 

    But even if you accept that the LIDD is meant to be used in Graphics Mode with the HD44780, it still doesn't reconcile why the schematic ignores the Graphics Mode Enable Strobe and instead goes to the trouble to provide resistor selectors for the two Character Mode Enable Strobes (primary and secondary).

    So if I follow the tables for the Graphics Mode R/W signal, which table do I follow for the Enable Strobe?  Do  I stay with LIDD Graphics Mode and use LCD_PCLK, or switch to Character Mode signals for this one signal and use LCD_AC_ENB_CS#??

  • John,

      I'm not sure if you missed my post, but I wanted to address your issue.  Unfortunately, there are some conflicts in our documentation and we are working to resolve those.

      You can find the correct hookup in the AM1707 documentation ( http://www.ti.com/lit/ds/symlink/am1707.pdf ), you can see in figure 6-45, the hookup for a standard HD44780 character display. 

    LCD_D[7:0]                    DATA[7:0]

    LCD_VSYNC                  RS

    LCD_HSYNC                 R/W

    LCD_AC_ENB_CS       E (E0)

    LCD_MCLK                    E1   (not needed for your part)

    This is the correct hookup for your character display. 

    As far as the LCDC user's guide (sprufv5a.pdf),  there are two issues:  

        1) Table 1 (LCD External I/O Signals) is incorrect in that it shows LCD_HSYNC as not being used for LIDD character displays when it is actually the R/W pin.

        2) Table 3 (LIDD I/O Name Map) is incorrect in that it shows LCD_PCLK as the primary strobe enable (ie E0) when in reality the primary strobe enable is LCD_AC_ENB_CS. 

    Hopefully this resolves the confusion with the documentation.

    Thanks,

    Erik