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.

MCBTM570 TMS570 MDK LCD mirrored image

Hi All,

I have 3 MCBTM570 boards.

When I flash them with ConfidenceTest demo 2 of them work fine but on 1 the image on LCD display is mirrored / fliped see picture belowe:

Do you have any idea how to fix this problem?

P.S. Touch screen works as if the display was correct.

  • Bartosz,

    I'm assuming by the touch screen observation you mean that touching the 'Sensors' button on the reversed display actuates the 'Memory' button -- i.e. it's the button that would be there if the display were not reversed.

    I think the most likely reason for this would be in the ILI9320 controller - where there are register bits that can reverse the scan order.  Now the root cause could be a problem on the data bus between the MCU and the display controller such that a bit in the display controller register is being written wrong.

    You might check especially R01, R02, and R03 of the ILI9320 chip to see if the values are as expected.  These registers can swap the scan order of the LCD controller to display or the order of writing to the graphics ram by the MCU.

     

  • Hi Anthony,

    thx for quick replay.

    Your assumption is correct.

    I'll look for hints how to check ILI9320 registers and I'll be back once I verify that.

  • Hi All,

    I have analysed the spec for ILI9320 (Datasheet Preliminary V0.46).

    Please review my findings and correct me if I’m wrong:

    1. The LCD is connected on MCBTMS570 board to TMS microcontroller over MIBSPI3.
    2. To read from R02 I shall send following data (assuming ID = 0)
    1. nCS LOW - start
      0x70 (start byte - set an index register)
      0x02 (set index to 0x02)
      nCS HIGH - end
    2. nCS LOW - start
      0x73 (start byte - read a register)
      ready dummy byte (only 1)
      read 2 bytes with R02 content
      nCS HIGH - end
    • To write to R02 I shall to following (assuming ID = 0)
    1. nCS LOW - start 0x72 (start byte - write a register)
      0x02 - register index
      0xXX - new register data upper 8 bits
      0xXX - new register data lower 8 bits
      nCS HIGH - end

    And now questions:

    1. To communicate with LCD I need to know the ID (bit 6 in Start Byte format). How to determine this? Spec describes: The ID pin sets the least significant bit of the identification code. Where to find identification code?

     

  • Bartosz,

    This is where there's a gap in information because the ILI9320 is the IC that is on the display module.

    So depending on how that pin is tied on the LCD module it could be a '1' or a '0'.   There is also a specification available for the LCD module - according to the Keil documentation it is part # AMPIRE AM240320L8TNQW.

    I don't know where to get the official datasheet for this part but I googled it and found one here.

    On page 13 there is a table showing that the IM0, IM1, IM2, IM3 are jumpers and so you can check them to see if they are not set to the default.  But, if they are at the default then IM0 = 0.

    However - Maybe a better way is to look at the Keil example code that writes to the LCD and see what they are doing.