1
Discussion - EVE / BT817 external clock not turning on
« on: May 12, 2022, 07:35:15 PM »
I am working with the Riverdi EVE4 display RVT70HSBNWC00B and I noticed when using the Riverdi recommended initialization values that I was getting a wierd flicker when drawing using primitives.
I have used both the Riverdi examples and Rudolphsexamples and both give the same behavior. (https://github.com/RudolphRiedel/FT800-FT813 https://github.com/riverdi/riverdi-eve)
It seems like the PCLK never gets set to the frequency we want.
We verified the PCLK frequency by proving the PCLK frequency with an oscilloscope.
When using Riverdi’s recommended settings the PCLK should be 51MHz but instead we found it to be 30MHz.
When using the change I made pushing the PCLK up to what should be 60MHz the PCLK was about 33MHz when probing.
This does fix the flickering though.
At this setting as long as I’m not rendering from flash the screen looks flawless.
We also found that with BOTH settings the external 12MHz oscillator never turned on! 😲
This is really confusing because the revised version of the bt817/8 datasheets don’t even have an option for an internal oscillator so I'm surprised it's even successfully displaying anything...
We were able to determine that the oscillator is functional by using one of bridgetek’s usb-to-spi boards I use to update the display flash.
When using the EVE Asset Builder tool and the usb-to-spi FT232, when it reads the flash of the display the 12MHz oscillator turns on.
Is there something I am missing??
I would think the following code should enable the external oscillator:
I have tried changing the delays and adding more in between the host commands and nothing changes.
I have used both the Riverdi examples and Rudolphsexamples and both give the same behavior. (https://github.com/RudolphRiedel/FT800-FT813 https://github.com/riverdi/riverdi-eve)
It seems like the PCLK never gets set to the frequency we want.
We verified the PCLK frequency by proving the PCLK frequency with an oscilloscope.
When using Riverdi’s recommended settings the PCLK should be 51MHz but instead we found it to be 30MHz.
When using the change I made pushing the PCLK up to what should be 60MHz the PCLK was about 33MHz when probing.
This does fix the flickering though.
At this setting as long as I’m not rendering from flash the screen looks flawless.
We also found that with BOTH settings the external 12MHz oscillator never turned on! 😲
This is really confusing because the revised version of the bt817/8 datasheets don’t even have an option for an internal oscillator so I'm surprised it's even successfully displaying anything...
We were able to determine that the oscillator is functional by using one of bridgetek’s usb-to-spi boards I use to update the display flash.
When using the EVE Asset Builder tool and the usb-to-spi FT232, when it reads the flash of the display the 12MHz oscillator turns on.
Is there something I am missing??
I would think the following code should enable the external oscillator:
Code: [Select]
// reset display
HAL_GPIO_WritePin((GPIO_TypeDef*)nDispRst_GPIO_Port, nDispRst_Pin, GPIO_PIN_RESET);
HAL_Delay(10u); /* 10 millisecond delay */
HAL_GPIO_WritePin((GPIO_TypeDef*)nDispRst_GPIO_Port, nDispRst_Pin, GPIO_PIN_SET);
HAL_Delay(25u);
// setup display system clock
host_cmd(HCMD_CLKEXT, 0u);/* Host Command Select External CLock */
host_cmd(HCMD_CLKSEL, SYSCLK_72M);
host_cmd(HCMD_ACTIVE, 0u); /* set state to active */
// 300 millisecond delay
HAL_Delay(300u);
I have tried changing the delays and adding more in between the host commands and nothing changes.