¿Cómo puedo aumentar la frecuencia de actualización de un LCD Nokia que estoy manejando con el microcontrolador STM32F103?
La pantalla LCD es 132 * 162 y toma una instrucción de 9 bits / DATOS con RGB para cada píxel en formato 565. Como SPI en STM32 no puede hacer 9 bits, estoy usando USART (funcionando a un máximo de 4,000,000 bit / s como lo estoy usando HSPI) en modo de 9 bits para controlar la pantalla LCD.
Esto funciona bien, pero la frecuencia de actualización no es tan buena. Ahora mismo me toma 230 ms aprox. Escribir toda la pantalla.
Haciendo cálculos aproximados, (132 * 162 * 2 * 9) / 4e6 = 97 ms. El mío es mayor debido a los gastos generales + el hecho de que necesito reflejar cada byte antes de enviarlo, ya que USART hace solo LSB primero.
Estoy buscando algunas sugerencias sobre cómo puedo reducir la frecuencia de actualización.
-
¿Usar DMA? No estoy seguro de lo útil que sería en este caso, ya que mi microcontrolador solo está manejando la pantalla LCD. Nada más.
-
Almacena la pantalla LCD en la memoria RAM y envíala a la pantalla LCD de una sola vez. No puedo hacerlo ya que el microcontrolador tiene solo 16 KB de RAM.
-
Bit bang GPIO para controlar la pantalla LCD. No estoy seguro de si esto lograría una velocidad superior a 4 MHz de USART. Además, con esto pierdo la capacidad de usar DMA en el futuro si es necesario.
La pantalla LCD que estoy usando se usa en la serie Nokia C100 y usa el controlador SPFD54124B.