Change SYSCLK from 180Mhz to 168Mhz - effect on Framebuffer if placed in external flash (dummy cycle issue?)
Hello,
I am using the STM32F469 Disco with a custom display connected.
Everything wiorks fine.
Now i want to use the USB Port, which needs 48Mhz.
For that i had to change the SYSCLK to 168 which was 180 Mhz originally.
Everything works still fine, but when i do a fade-in of a picture, it flickers.
Then i was looking to the Datasheet of the SDRAM N25Q128A and on some other websites i found that this may be a problem of the dummy cycles which needs to be changed.
APB1 was 90Mhz with 180 Sysclk and now i have 84Mhz.
This are the parameters in the header file of the N25Q128A:
#define N25Q128A_DUMMY_CYCLES_READ 8
#define N25Q128A_DUMMY_CYCLES_READ_QUAD 10I played around, increase by 1, decrease by 1 and so on, no better result. Still flicker during a fade-in of a picture (Alpha from 0 to 255).
In the "stm32469i_discovery_qspi.c" there is the "s_command.DummyCycles" in every function like read, write, erase.... which is mostly set to 0, only in "Read" and "EnableMemoryMappedMode" is is linked to the "N25Q128A_DUMMY_CYCLES_READ_QUAD" define.
If i change back to 180Mhz Sysclk which gives me 90 Mhz it works. But i need the 48 Mhz for the USB so 168 needs to be set up.
Does anyone had the same problem and a solution or can explain the effect on changing the clock to other peripherals?
Thanks a lot.