cancel
Showing results for 
Search instead for 
Did you mean: 

SSD1963 Initialization

Ethan_Daugherty
Associate II

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. 

8 REPLIES 8
SofLit
ST Employee

Hello,

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

See this old thread.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
PMato.1
Associate II

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

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.

I have also been successful to drive the SSD1963 using FSMC

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


@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

 

@Ethan_Daugherty You seem to have marked the wrong post as the solution?  now unmarked by @SofLit - please mark the actual solution.

 

I edited your post to format the code - See https://community.st.com/t5/community-guidelines/how-to-write-your-question-to-maximize-your-chances-to-find-a/ta-p/575228 

SofLit
ST Employee

Unmarked the "wrongly marked" solution.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.