usar sirve registros que puertos para microcontroladores microcontrolador digitales definicion configurar embedded arm microcontroller pic

embedded - sirve - ¿Qué plataforma integrada(microcontrolador) para mover a



registros en arduino (14)

He estado programando con 8bit PIC desde hace bastante tiempo, pero ahora necesito pasar a algo más poderoso.

Me gustaría una familia de chips que:

  • Puedo obtener un buen IDE (gratis) para
  • Paquetes soldados, QFN o similares (arm9 out)
  • Escala bien: algunos de mis proyectos requerirán un pequeño chip para PWM / switches, etc. ¡Pero finalmente me gustaría poder programar una pantalla táctil TFT LCD a color con widgets gráficos sin tener que aprender una nueva plataforma de nuevo! (¿Los chips ARM7TDMI grandes tienen suficiente potencia para esto?)

Cualquier consejo / consejo muy apreciado.


¿Supongo que conoces la gama de productos Arduino? http://arduino.cc

Aún es de 8 bits, pero tiene un IDE y puede comprar / hacer "escudos" para agregar más funciones, por ejemplo, Ethernet, LCD, LED, controladores de motor, audio, etc., etc.

He utilizado el siguiente "Pantalla LCD a color y Joystick para Arduino"

http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=10

Pantalla LCD y joystick a color para Arduino http://www.nuelectronics.com/estore/images/nustore/Color_LCD.jpg


Agregando mis propios dos centavos, también debería estar reduciendo sus criterios con el soporte del microcontrolador. He trabajado con AVR, PIC y ARM. Bajo ARM usé específicamente un LPCxpresso. Pasar de Arduino a PIC no fue malo ya que PIC tenía un buen soporte. Lo que encontré desafiante fue mudarme a LPCxpresso ya que no había mucho apoyo comunitario como la comunidad de LPCxpresso. Hay apoyo, pero también debería estar pensando en cuánto apoyo quiero cuando me quedo atascado con un problema específico, ¿quiero hacerlo a través de la fuerza bruta o quiero una comunidad en línea que lo respalde?


Considere los dispositivos basados ​​en ARM Cortex M3. Eso tendría la ventaja de no encerrarlo en un solo proveedor ya que el núcleo Cortex M3 tiene licencia para muchos proveedores, y ARM es la arquitectura integrada más ubicua del planeta. El Cortex-M3 reemplaza la arquitectura ARM7, y es una mejora considerable.

La gama de piezas abarca desde piezas de gama baja, como las de Luminary, destinadas a ser utilizadas en aplicaciones tradicionalmente ocupadas por 8 bits con un núcleo más potente de 32 bits, hasta dispositivos más caros con un gran chip / SRAM en el chip y numerosos dispositivos periféricos como USB, Ethernet , CAN, controladores LCD, controladores de memoria externos, etc.

Hay literalmente cientos de partes para elegir, de muchos proveedores, todas con la misma arquitectura y que soportan las mismas cadenas de herramientas, incluyendo GNU / GCC. Las partes con memoria suficiente o las interfaces de memoria externa pueden incluso arrancar Linux si siente la necesidad (uCLinux - nota de la aplicación ), y cualquier número de kernels RTOS, libres y comerciales, están disponibles.


El TI MSP430 tiene una serie de ventajas:

  • puede ser programado con mspgcc en bloques de código,
  • 16 bits,
  • Escala bien con chips pequeños y grandes,
  • viene en paquete soldable

En realidad, creo que la arquitectura AVR no es tan poderosa como PIC. Hemos utilizado un ATMEGA128 para controlar una pantalla táctil monocromática de 240x80. Funciona, pero no es algo que recomiendo hacer. Pasa a algo más grande con más bits. :)

Si desea una GUI real con widgets, no creo que valga la pena trabajar con algo así como 8-Bit. Además de esto, no creo que el programador incorporado promedio pueda manejar esta tarea.

Creo que me gustaría un módulo listo con 64 + MB de RAM y 32 Bit (o ARM Thumb2) para controlar los TFT de color. Probablemente la mayoría de los controladores de 32 bits no vienen en paquetes que pueden venderse. Pero no sé si puedes soldar BGA con aire caliente.


Estaba en una situación similar (excepto que no tengo un requisito de compilador gratuito).

Soy un consultor de I + D para la industria de dispositivos médicos. He estado utilizando PIC de 8 bits durante mucho tiempo. Sin embargo, algunos de mis proyectos se hicieron más grandes y más complejos, y necesitaba una unidad de usuario más poderosa o una pequeña computadora de una sola placa. Me mudé a la familia LPC2000 (ARM7) con compilador IAR y construí mi primer instrumento basado en LPC2368.

El controlador más pequeño de la familia LPC2000 es de 48 pines, y requiere una cantidad modesta de circuitos externos. Entonces, para proyectos en miniatura seguiré usando PICs.

  • Mella

Hay una nueva ola interesante de mcu: s con núcleos ARM Cortex-M3, M1 y M0 que están llegando al mercado ahora mismo. (Los jugadores de Cortex ahora mismo parecen ser ST, NXP y Atmel).

Y el STM32, tal vez una opción interesante para empezar. Para desarrollarlo, puede utilizar el gnu toolchain, OpenOCD y un cheep jtag.

En realidad, es una cadena de herramientas / flujo de trabajo muy similar a la ARM7 ...

Como IDE, algunos usan Eclipse.

Una pequeña nota adicional, mis sugerencias anteriores están todas basadas en herramientas de código abierto, por lo que ningún proveedor se queda inmóvil.

Debería poder cambiar entre M3, M1 y M0 mcu con la misma cadena de herramientas, si tiene cuidado con las diferencias entre ellos. Entonces, comenzar con un mcu basado en M3 y aprender el núcleo ARM Cortex podría ser una buena idea.

E incluso si no hay tantos M0 mcu: s hoy, creo que veremos muchos de ellos en el futuro.

Pero como la mayoría de los clientes pueden encontrarse en la industria electrónica de gran volumen, los factores de forma que pueden soldarse a mano probablemente no serán tan comunes. Esa fue en realidad una de las razones por las que empecé con una tabla de cabecera barata.

Y por último, ya que estamos hablando de un mcu de 32 bits en la misma escala de precios que los mcu: s de 8 bits de tamaño mediano / grande, obtiene mucha más potencia por el mismo dinero.


Los micros Propeller parecen ser una buena opción para probar. Tienen un enfoque diferente al de otras CPU pequeñas (todas tienen múltiples núcleos que se ejecutan simultáneamente) y, dependiendo de su aplicación, podrían ser el boleto. También hay una buena cantidad de código disponible, y parece que su cadena de herramientas está disponible para descarga gratuita.

El alto grado de paralelismo puede ser un poco difícil de trabajar con la primera vez que lo intentas, pero después de haberlo metido en tu cabeza, es muy bueno (nunca he trabajado con Propellers, pero he trabajado con pequeños arrays de INMOS Transputers antes, lo que también produce un entorno altamente paralelo.)


Me cambié a microchip dspic de 16 bits (uso dpic 33Fja64mc510 y mc804, así como pic18F67j60 para algunos dispositivos más pequeños habilitados para Ethernet)

ventaja:

  • muchos rangos disponibles del mismo proveedor, utilizables con la misma cadena de herramientas. (mplab / c30). Tableros de desarrollo combinables y ofertas de soporte, todo bajo el mismo techo. Dado que la programación de uc es solo un negocio secundario para mí (5-10% del tiempo), esto es importante para mí.
  • mucha periferia (2 uarts, 2 spi / i2c PMP, 6/8 temporizadores, etc.).
  • Necesitaba hardware de codificador en cuadratura.
  • Una solución de chip para la mayoría. No necesita ram / flash, etc. Cristal, uart + poder y listo. bueno para BOM.
  • dispositivos de pincount relativamente altos disponibles.

desventaja

  • a pesar de estar originalmente en la hoja de ruta para el verano pasado, todavía no hay un chip de 16 bits con Ethernet incorporado.
  • Las piezas MC de alto pincount no se actualizan con algunas de las otras golosinas recientes (RTC, selección de pines periféricos). Que afaik también estaba originalmente en la hoja de ruta.

De alguna manera, ya sea una crisis o PIC32 provocaron retrasos en las líneas de 16 bits.



Si desea permanecer en familias de 8 bits, considere usar micros AVR. El gran beneficio es el compilador AVR-GCC gratuito y muy bueno ( WinAVR para Windows).

Sin embargo, también puede considerar las arquitecturas ARM. Probablemente los chips ARM7TDMI son la mejor solución para alguien que viene del mundo de 8 bits. Estos chips se utilizan en el iPod y otros reproductores de mp3, sin duda están a la altura de la tarea que está describiendo. Incluso pueden ejecutar una versión de Linux (ucLinux).

Muchos fabricantes están poniendo chips ARM7TDMI: serie ATMEL AT91, serie NPX (Philips) LPC, serie STM STR. El compilador GCC para ARM es muy bueno. Se puede integrar con Eclipse (ver YAGARTO , por ejemplo). Hay herramientas y kits económicos disponibles para la depuración. Echa un vistazo a Olimex . Le tomará algún tiempo configurar sus herramientas (cadena de herramientas, IDE, depuradores JTAG). Si está dispuesto a gastar algo de dinero, hay muchas soluciones comerciales que le ahorrarán mucho tiempo y le harán la vida más fácil.

No sé si ya estás usando C, pero si no, necesitas aprenderlo ahora. No puedes dar el salto sin él.


Si ya conoce los PIC de 8 bits, entonces pasar a sus PIC de 16 o 32 bits le permitirá usar todos los mismos IDE / compilador / programador / depurador que está acostumbrado a usar.

Microchip ofrece chips con soporte específico para LCD, control de motor (PWM) y (por supuesto) interruptores. Echa un vistazo a la placa Explorer 16.


Tenemos buenas experiencias con los dispositivos de Atmel, como el AVR . Hay un IDE gratuito llamado AVR Studio que es bastante bueno.


Dependiendo de sus requisitos, puede ver .Net Micro Framework y un dispositivo como uno de los tableros de DeviceSoutions.net (hay varios otros, pero esta es la única marca que he usado).

Esta plataforma es buena para pantallas interactivas simples pero actualmente no funciona como un sistema operativo en tiempo real. (Solo he usado .Net Micro Framework 2.0 y 3.0 versiones más recientes y el hardware puede ser diferente.)

Mis partes favoritas de esta configuración de microcontrolador fue la capacidad de usar C # y .Net para desarrollar proyectos integrados. En cuanto a un IDE gratuito ... esto funciona muy bien con Visual Studio Express.

(y no, no trabajo para Microsoft ni para DeviceSolutions.Net ... solo soy un fan de la plataforma)