Soy solo un entusiasta en busca de consejo.
Me gustaría usar un microcontrolador para leer fotogramas de una cámara y escribir esos fotogramas en una pequeña pantalla LCD. La cámara y la pantalla están en el mismo bus SPI. He estado prototipando con un Arduino pero me gustaría pasar eventualmente a un AVR.
El problema es que un fotograma de imagen tiene 9600 bytes y la SRAM de Arduino es de 2.5KB. No puedo almacenar en búfer un fotograma completo. Intenté leer de la cámara y escribir en la pantalla unas cuantas líneas a la vez, pero debido a que están en el mismo bus SPI, necesito desactivar la cámara, activar la pantalla y luego volver a activar la cámara. Si desactivas la cámara a mitad de un fotograma, pierdes la sincronización.
Necesito encontrar una forma de pasar 9600 bytes de la cámara a la pantalla sin desactivar la cámara. Parece que tengo 2 opciones: Aumentar la SRAM para almacenar en búfer un fotograma o separar los buses SPI.
Aumentar la SRAM:
- Cambiar a AVRs - El único ATmega con suficiente SRAM es el ATmega1284 y tiene 44 pines.
- ¿SRAM externa? Nunca he trabajado con eso.
Separar los buses SPI:
- Mover la pantalla del hardware SPI a pines regulares y escribir en software SPI. (Dudo que esto sea lo suficientemente rápido.
- Parece que hay varios ATtinys y ATmegas con 2 o más buses SPI. Algunos con tan solo 20 pines. Esto aún retrasaría la lectura de fotogramas individuales, pero con suerte no demasiado.
¿Algo... más?
- ¿FPGA? Nunca he trabajado con ellos...
- ¿Algún otro tipo de microcontrolador?
¡Gracias!
1 votos
El software SPI podría ser lo suficientemente rápido. SPI es un protocolo muy simple, por lo que no debería llevar mucho tiempo probarlo y descubrirlo.
0 votos
Un Cortex-M0 en un paquete DIP8 con 3x USART + 2x SPI: nxp.com/documents/data_sheet/LPC81XM.pdf
0 votos
La página 3 muestra un paquete DIP con solo 1 SPI. 3x USART + 2x SPI son solo para los paquetes TSSOP y XSON.
0 votos
Meh, debería haber leído más. Aun así, sería capaz de hacer lo que necesitas.