Skip to main content
Visitor II
March 27, 2024
Question

SSD1963 Initialization

  • March 27, 2024
  • 3 replies
  • 6631 views

I am trying to get a 7" LCD to interface with a STM32F407VET6 microcontroller. I am using a display from winstar which the product number is WF70A2TIFGDBT0. The screen is 800x480 pixels and uses 8080 interface. The display uses a SSD1963 driver and I am trying to use FSMC to interact with it. My problem is that the screen is not being initialized properly and I am confused why. I have attached my code so if anyone is willing to look at it and help me out that would be a great help. I am thinking that it is a timing issue but I am not sure the screen is just black throughout all of my testing. I am using FSMC Address 18 for my data/command select and an 8 bit data bus. 

    This topic has been closed for replies.

    3 replies

    Technical Moderator
    March 27, 2024

    Hello,

    Seems one of the community members succeeded to drive an LCD (SSD1963):

    See this old thread.

    Visitor II
    August 22, 2024

    I have also been successful to drive the SSD1963 using FSMC

    Visitor II
    August 27, 2024

    @PMato.1 wrote:

    I have also been successful to drive the SSD1963 using FSMC


    Hi

    I am still struggling with SSD1963 and FSMC (works fine with direct GPIO control). could you share your updated and now working project ?

    Thanks

     

    Visitor II
    August 16, 2024

    Hello, @Ethan_Daugherty  did you finally sort out the issue, I am facing the same challenge, my display is showing blank display even after watching a YouTube video and following what the guy was doing exactly, i still dont know where I'm going wrong, kindly help me
    let me attach my full project here for reference in case you find time

    Visitor II
    August 18, 2024

    Hello @PMato.1 , I was able to figure out the problem I was dealing with. My problem was that I was addressing the wrong bits when for the data lines because it functioned differently than the resources I was looking at. I was using an 8-bit data bus with the FSMC to control my screen which is slightly different than a 16-bit data line. I realized that this driver does not really have a standard so I had to adjust some different sources for my initialization code. The main issue was that with an 8-bit data line the bits are shifted over from the 16-bit data line so my code was not initializing the screen properly because it was not receiving the correct data from write data command. Here is a resource that I used to help me https://github.com/hampussandberg/HexConnect/wiki/LCD-ER_TFTM070_5 

    In the screen shot I attached is the section that helped me figure out my issue. On this it was different for the what to use for commands and data. I am not really sure why it is different but I think the resource might have been wrong or it is just different for an 8-bit bus than for a 16-bit bus. Here is what my write command and data functions looked like: 

     

     

    void Write_Command(uint8_t command)
    {
     //IC_RD = 1;
     //IC_A18 = 0;
     //IC_WR = 0;
     //IC_CS = 0;
     
     //Send Command to the Data Bus
     *(__IO uint8_t *)(0x60000000) = command;
     
     //IC_CS = 1;
     //IC_WR = 1;
    }
    
    //=================================
    void Write_Data(uint8_t data1) //8bit data
    {
     //IC_RD = 1;
     //IC_A18 = 1;
     //IC_WR = 0;
     //IC_CS = 0;
     
     //Send data to the Data Bus
     *(__IO uint8_t *)(0x60040000) = data1;//test
     //IC_CS = 1;
     //IC_WR = 1;
    }

     

     
    As you can see sending data is different from the resource that I was using. I just had to shift my stuff over a bit and then it worked. A lot of this is dependant on my project, considering I was using A18 for my select bit and I had an 8-bit data bus and how I wired things up. I am not sure if this helps because I do not know if you are using an 8-bit or 16-bit line or what your exact issue is. This is just how my issue was solved so I hope it can be some help for you to figure out your issue. Reading the datasheets of the STM32 and the LCD driver, helped me understand a lot of what was going on and figure out what issues could be arising.
    Visitor II
    August 22, 2024

    Hey @Ethan_Daugherty  thank you so much for this detailed explanation, i have managed to figure it out using the 16 bit.

    Thank you so much

    Technical Moderator
    August 27, 2024

    Unmarked the "wrongly marked" solution.