uC plataformas a considerar para una CPU más rápida y más de 30 pines GPIO

4

Estoy creando un proyecto Persistence of Vision con 120 leds RGB (= 360 líneas totales para controlar). Nos hemos decidido por el TLC5940 para controlar los LED (y podríamos estar abiertos a cambiar esto), sin embargo, ahora tenemos un Problema para obtener los datos lo suficientemente rápido para los chips de controlador de LED. Actualmente estamos utilizando chips de clase ATmega328 / ATmega128 que superan los 20Mhz, y no podemos procesar los datos que se cargarán en los TLC5940 con la rapidez suficiente. ¿Debemos considerar otro uC? Los desiderata son:

  • bajo costo / uC
  • Bajos costos de inicio (por ejemplo, los CPLD requieren una cierta inversión inicial para comenzar)
  • 3.0-5.0V
  • Idealmente disponible en un paquete DIP para un prototipado fácil
  • 30+ líneas GPIO (para cargar los controladores LED en paralelo)

Esta pregunta puede ser un primo pobre intelectual de esta pregunta , sin embargo, creo que nuestra Los requisitos son algo diferentes.

Detalles: por qué ATmega328 no es lo suficientemente rápido (hasta ahora)

En el mundo ideal, deberíamos poder cargar los datos para todos los LED en menos de 746uS (esos son los requisitos del proyecto), y nuevamente, en teoría, si hacemos bitbang en 2clocks / bit deberíamos poder hacerlo en 108uS @ 20Mhz, sin embargo, todo el cambio de bit para decidir qué intensidad enviar a cada LED en este momento nos da 1536uS tiempos de carga. Esto es con avr-gcc OPTLEVEL=2 o OPTLEVEL=3 , todo tipo de bucles que se desenrollan manualmente, carga paralela de todos los controladores de LED y cada técnica de ahorro de tiempo que podemos imaginar.

    
pregunta angelatlarge

4 respuestas

7

Me gustaría un ARM barato. Puede obtener la Freedom Board que es un Cortex-M0 + que puede Corre hasta 48Mhz. Además, al ser un brazo obtendrá registros de 32 bits para que pueda hacer más por código de operación. También tiene un motor DMA, por lo que puede descargar la carga de los LED a DMA mientras el procesador actualiza la memoria. Puede obtenerlos en Digikey así como en los otros sospechosos habituales.

En cuanto a las herramientas de desarrollo, hay CooCox , mbed y CodeWarrior .

    
respondido por el Rex Logan
1

La línea XMEGA de Atmel tiene una capacidad de hasta 32 MHz, es bastante económica y viene en paquetes de hasta 100 pines.

Sparkfun tiene una ruptura prefabricada para el xmega128A1 para creación de prototipos: enlace - también hay un montón de desarrolladores kits que incluyen el tablero XPLAIN de Atmel.

    
respondido por el Jason Wright
1

Probablemente buscaría en la plataforma mbed . Es posible que pueda usar uno de sus módulos DIP como su "UC DIP", aunque también contendrá los periféricos circundantes necesarios (cristal, energía, etc.). Si bien esto será significativamente más costoso que comprar chips de microcontroladores simples, parece que no lo está produciendo en masa, por lo que no debería ser un problema.

Hay una gran comunidad de desarrolladores y el hardware definitivamente puede cumplir con sus requisitos de E / S y velocidad. Debido a las herramientas de desarrollo de fácil acceso, estos microcontroladores bastante complejos todavía casi no tendrán tiempo de inicio.

    
respondido por el NickHalden
0

El PIC24EP256GP204 es una máquina de 16 bits, se puede ejecutar a 70 MIPS y cuenta con 35 líneas de E / S. Desafortunadamente no está disponible en DIP.

No necesita un oscilador externo y es un dispositivo de 3.3V. Puede ser programado en el circuito con programadores de bajo costo como PICkit3 (alrededor de $ 70), tiene un compilador C no optimizador gratuito (XC16 - otorgándole licencias de optimización) y dos IDEs gratuitos con simuladores (MPLAB 8 y MPLAB X) .

Según mi experiencia, trabajar en el ensamblaje en esta parte no es tan malo: uso la versión gratuita del compilador y optimizo manualmente el ensamblaje cuando sea necesario.

    
respondido por el Adam Lawrence

Lea otras preguntas en las etiquetas