cancel
Showing results for 
Search instead for 
Did you mean: 

Please help with my FMC ADDSET and DATASET calculations?

NNagy.1
Senior

I've been trying for some time now to get my F767ZI writing to an ILI9341 8080 LCD.

The equations detailed in the AN2790 datasheet:

(1) DATASET*tHCLK = tWP

(2) ((ADDSET+1) + (DATASET+1))*tHCLK >= MAX(tWC)

(3) DATASET >= ((tAVQV + tsu(Data_NE) + tv(A_NE))/tHCLK) - ADDSET - 4

I am not super confident I am applying all these equations properly, though.

My system is running at 168MHz (tHCLK = 5.95ns).

Here's the data for 8080 timings for the ILI9341 (found on page 226 of the ILI9341 datasheet):

tWC >= 66ns

tWRL (write low pulse width) = tWRH (write high pulse width) >= 15ns

tRAT (read access time) <= 40ns

And here's some data for the values in (3) that I found from here

(https://www.st.com/resource/en/datasheet/stm32f767zi.pdf:(

tv(A_NE) = 0

tsu(Data_NE) >= tHCLK - 1

Assumptions:

tWP = tWRL = tWRH

tAVQV = tRAT = 40ns (??)

I can't find tAVQV anywhere. It's defined as "address valid to output valid time", but I'm not sure where to deduce that. I'm using "read access time" right now as a fill-in value?

Equation 1:

DATASET = tWP / tHCLK = (15ns / 5.95ns) ~= 2

Equation 2:

ADDSET + DATASET + 2 >= tWC/tHCLK

ADDSET + 4 >= (66/5.95)

ADDSET >= 7

Equation 3:

ADDSET + 6 >= (tAVQV + tsu(Data_NE) + tv(A_NE))/tHCLK

ADDSET + 6 >= 44.95/5.95

ADDSET >= 1

So all in all I find that DATASET = 2, and ADDSET >= 7.

Did I screw up anywhere?

0 REPLIES 0