¿Qué interfaz es mejor para mi pantalla OLED?

5

Tengo un módulo de pantalla OLED Amarillo-Azul 128x64 de 0.96 pulgadas como este: OLED module y quiero usarlo para un proyecto. El controlador de la misma es SSD1306. Si ve en la hoja de datos del SSD1306, sabrá que admite interfaces paralelas 68xx / 80xx de 8 bits y SPI e I2C de 3/4 hilos. Ahora, tengo varias preguntas:

  1. Si fueras yo, ¿cuál elegirías para conectarlo a MCU? (¿8-bit 68xx? 80xx paralelo? 3- / 4- cable SPI? y I2C?) y ¿por qué?
  2. ¿Cuál es mejor para simplificar?
  3. Creo que las interfaces paralelas son más rápidas (¿verdad?) pero no puedo encontrar nada acerca de 8-bit 68xx y 80xx! (artículo o página web o etc. Si tiene alguna información sobre estos, por favor hágamelo saber). Además, podría encontrar esto: ¿Qué son las interfaces paralelas serie 6800 / serie 8080? y ¿Existe algún estándar de Interfaz paralela de la serie 8080? pero esto no es suficiente. ¿Cuál es la diferencia entre el 68xx y el 80xx de 8 bits? ¿Cuál es más rápido? Totalmente, en tu opinión, ¿cuál es mejor?

B.T.W: Mi MCU es STM32F1 (admite todas las interfaces, incluso las paralelas 80xx y 68xx) y todas las series AVR.

    
pregunta Roh

4 respuestas

3

Todos son comparables, con las ventajas y desventajas de ser Pins vs Speed. Realmente se reduce a su preferencia. ¿Cuántos pines libres tiene (puede ahorrar 8 datos + 4/5 pines de control para datos paralelos?), ¿Ya está utilizando SPI o I2C? La versión I2C lo limitará a solo 2 lcds sin usar múltiples buses I2C o búferes / conmutadores, pero solo requiere 3 líneas de datos (SDA / SCL / Reset) y simplifica el comando / código de datos al incluirlo en un byte en lugar de requerir una conexión externa. alternar pin.

Si fueras yo, usaría i2c, pero principalmente porque lo prefiero. Si ya está utilizando SPI, ese es el camino a seguir.

En cuanto al direccionamiento de 6800 vs 8080 lcd, son bastante similares y no tienen diferencia de rendimiento. La interfaz 6800 es un poco más fácil de implementar y, en su mayor parte, es exactamente igual a la interfaz lcd de caracteres HD44780 común.

    
respondido por el Passerby
2

Tenga cuidado aquí: SPI muy a menudo no permite leer desde la pantalla LCD. Y porque tienes que dirigir 4 u 8 píxeles adyacentes. Por lo tanto, la asignación de memoria LCD para soltar una imagen completa a la vez, sin manipulación de píxeles. 8080/6800 bueno para microcontroladores pequeños. Compruebe el estado de los píxeles (leído en la pantalla LCD), cambie el grupo completo de píxeles (para no alternar vecinos) y ¡listo!

    
respondido por el smajli
1

Según mi experiencia, SPI es la mejor opción con 4 cables, ya que es fácil de usar con HW SPI y en combinación con DMA (sí, no todas las MCU tienen DMA), puede enviar todo el buffer de cuadros en segundo plano sin tocar desde la pantalla principal. Programa que puede hacer otras cosas durante este tiempo.

También es posible usar SPI con 3 cables, pero con DMA será más complicado cuando necesite enviar, en cambio, 8 bits, también un comando / datos de bits adicionales como nueve bits.

Con I2C también es posible usarlo en combinación con DMA para transferir todo el buffer de fotogramas a la vez en el fondo. pero algunas MCU tienen periféricos I2C más complicados y necesitan más esfuerzo para que funcionen.

Pero a veces no hay otra posibilidad porque algunas pantallas, especialmente las de 96x16 o 128x32, solo tienen I2C o SPI.

También es posible utilizar simples golpes de bits, pero con muchas desventajas.

Nunca intento la interfaz paralela 8080 o 6800 con pantallas OLED, porque necesita muchos cables, pero en general es la interfaz más simple y está bien descrita en SSD1306 datasheet en las secciones 8.1.1 y 8.1.2.

    
respondido por el vlk
-2

Seleccionaría la interfaz I2C, ya que puedes usar el código bit bang de cualquiera de los pines micro IO de repuesto si los UARTS ya están en uso.

    
respondido por el stefanh

Lea otras preguntas en las etiquetas