cada vez mayor AVR de 8 bits, no estoy seguro de a dónde avanzar

8

He estado usando AVRS de 8 bits durante algunos años. Últimamente, me he sentido limitado por las velocidades de transferencia de datos periféricos y las bibliotecas de nivel superior.

Tengo problemas para encontrar / elegir una nueva línea de microcontroladores para explorar. He mirado

  • NXP: no se puede encontrar un programador
  • Freescale - Tiene que registrarse para IDE
  • AVR32 - Selección de chip limitada en digikey

Los chips NXP se ven muy bien, pero como con cualquier cosa que no sea PIC / AVR / Ardiuno, la curva de aprendizaje es bastante empinada.

Me preguntaba si alguien podría sugerir una línea de microcontroladores que satisfagan (en orden de importancia) los siguientes requisitos

  1. Chips aptos para soldar a mano. (Puedo hacer LQFP 100)
  2. 32 bit
  3. Host de Linux
  4. Cadena de herramientas gratis
  5. IDE bueno / gratis
  6. Costo de inicio de <500 $ para programación / depuración / compilación ilimitadas
  7. Puede apoyar
  8. Ethernet / soporte USB

Estoy dispuesto a mirar Freescale y NXP nuevamente, si alguien puede mostrarme que me he perdido alguna información sobre su cadena de herramientas y programadores. Supongo que se podría decir que los AVR32 son exactamente lo que estoy buscando, pero no estoy contento con su selección de chips. Todos tienen un mayor número de pines y un bajo stock de digikey.

Gracias.

Chris H
fuente
2
¿Cuál es el problema con registrarse para el IDE de Freescale?
stevenvh
55
¿Saltar a través de aros para tener el privilegio de usar las fichas que has comprado?
XTL
Sí, bueno, dirán que necesitan saber quién eres para brindar un mejor servicio, leer para vender sus cosas. Empeora si tienes que registrarte solo para descargar una hoja de datos (me pasó varias veces). La vida es dura :-)
stevenvh
Tener que "registrarse" para las cosas en línea, seguramente es un movimiento sin precedentes. FWIW, sus foros también requieren ese registro, por lo que es bueno estar preparado para eso también.
Nick T
1
@stevenvh, en el caso de Wavecom, fue imposible encontrar algo (hojas de datos, publicaciones en foros, documentos, etc.) usando un motor de búsqueda, ya que todo requería registrarse. Descargar la versión anterior del IDE también es un dolor ahora que se han adquirido.
Peter Gibson

Respuestas:

4

Definitivamente recomendaría NXP: rango decente de chips, buenos periféricos (UART con baudgen flexible y FIFOS, SPI con FIFO, etc.) excelente documentación * y opciones de programación flexibles. Obtenga un depurador JTAG / SWD (las piezas Cortex usan SWD: menos pines que JTAG y pueden hacer cosas como establecer puntos de interrupción mientras se ejecutan). Utilizo la versión de arranque gratuito de IAR Embedded Workbench: tiene un límite de código de 32K, lo cual está bien para mí, pero tenga en cuenta que las actualizaciones de tamaño de código son caras. Mucha gente parece estar bien con GCC / winarm. Algunas partes de Cortex (por ejemplo, LPC1343) pueden cargar firmware desde una memoria USB usando el gestor de arranque integrado. La disponibilidad de piezas es generalmente buena: nunca he tenido problemas para encontrar existencias. También hay muchos paneles de control / desgloses disponibles para piezas de NXP.

  • la documentación en los Manuales del usuario es buena, sin embargo, la mayoría de las cosas se mencionan con precisión una sola vez, por lo que vale la pena el tiempo dedicado a leer la totalidad de cada sección relacionada con cada periférico que usará. Los manuales para las partes posteriores han mejorado, ya que al comienzo de cada sección le indican algunas cosas críticas no obvias, como las habilitaciones de reloj / pin documentadas en otros lugares que son necesarias para que ese periférico funcione
mikeselectricstuff
fuente
12

BRAZO, BRAZO, BRAZO.

ARM licencia sus núcleos de procesador a muchas empresas. Esto significa que encontrará buenas herramientas, soporte y documentación de más de una fuente.

PIC, AVR y MSP430 sufren el problema de ser propiedad exclusiva de una empresa.

Tenga en cuenta con los microcontroladores ARM que un Cortex-M3 de NXP estará más cerca de un Cortex-M3 de ST o Luminary que un ARM9 o ARM7TDMI de NXP. La mayoría de las veces, los compiladores, depuradores y programadores son comunes en todos los núcleos en lugar de los fabricantes.

Obtener la cadena de herramientas Codesourcery GCC ARM y un dongle ARM JTAG barato lo llevará lejos.

Toby Jaffey
fuente
1
dongle JTAG de ARM barato == OpenOCD
Johan
@Johan O puedes convencer al ATmega existente en uno.
Maxthon Chan
5

Yo iría por NXP. En poco tiempo, Cortex-M3 se ha convertido en el estándar para los controladores ARM (supongo que por Freescale te refieres a Coldfire). Desde ARM7TDMI NXP también tiene una tradición de una extensa familia de dispositivos para elegir.
En cuanto a un programador para NXP, IMO cualquier programador JTAG debe hacer el trabajo (CMIIW).

editar
Actualmente estoy leyendo sobre mbed , que parece la forma más fácil de comenzar con el NXP Cortex M3 (el controlador utilizado es LPC1768). Usted programa / compila en línea (por lo que Linux no es un problema) y programa a través de USB (el dispositivo aparece como un dispositivo de almacenamiento masivo en el que puede copiar su programa compilado). No se requiere programador. Los programas escritos para mbed deben ser directamente portátiles a LPC1768 en otras placas.

stevenvh
fuente
2

Pruebe el PIC24 de 16 bits y los dsPIC. Muchos de ellos están disponibles en DIL y entregan hasta 40 MIPS. El software de desarrollo gratuito está disponible y el depurador / programador PICkit 3 es bastante barato a $ 50. La próxima versión de MPLAB tendrá soporte para Linux, una versión beta está disponible.

Leon Heller
fuente
1

Pensé que podría obtener herramientas gratuitas como en libertad para ARM. La programación debe ser posible desde el cargador de arranque en serie o JTAG (abierto). Hay algunos chips y módulos STM32 y NXP que he visto que me dejaron con esta impresión.

También me recordó esta pregunta .

XTL
fuente
1

Si realmente quieres ir a 32 bits, prueba los PIC32. Alta disponibilidad de Microchip. Para la depuración de Linux, MPLAB X está en versión beta 4 y es compatible con Linux, Windows y Mac OS X. Creo que también necesitará un programador PICkit 3 o similar por $ 50-60.

Sin embargo, estaría más inclinado hacia los dsPIC y PIC24 de 16 bits porque son mucho más baratos, se pueden depurar con un PICkit 2 y son fáciles de programar. También están disponibles en paquetes DIP, aunque esto no le importa (?) Estoy un poco sesgado hacia ellos dado que los uso en mi proyecto.

Thomas O
fuente
Ahora hay más de una docena de PIC32 disponibles en un paquete DIP de 28 pines, lo que los hace ideales para la creación de prototipos. Además, la nueva línea PIC32MZ (solo disponible en SMD) tiene hasta 2 MB de Flash, 512K de RAM y es compatible con Host CAN / Ethernet / USB 2.0.
tcrosley
1

El único procesador de 32 bits que se fabrica actualmente en un paquete DIP es el Parallax Propeller . (El mismo chip también está disponible en paquetes QFP de 44 pines y QFN de 44 pines mucho más pequeños, todos con 32 pines de E / S de uso general). También hay algunas herramientas de desarrollo que se ejecutan en Linux .

Por lo tanto, cumple fácilmente sus primeros 2 criterios y la mayoría (por desgracia, no todos) de los criterios restantes.

davidcary
fuente
0

Echa un vistazo a FEZ Domino . No cumple con todos sus requisitos, pero ofrece bastante si no necesita el control de nivel más bajo posible.

avra
fuente
0

La serie de chips Cypress PSoC tiene una combinación de características que no he visto en ningún otro IC.

El chip PSoC5 incluye un ARM Cortex M3 de 32 bits, pero por lo que puedo decir, todos están empaquetados en algo así como un TQFP100. Las series de chips PSoC1 y PSoC3 incluyen muchos chips DIP, pero todos tienen un núcleo de 8 bits u otro.

Además de la CPU, el chip también tiene una interconexión programable, algo así como un pequeño FPGA, y algunos amplificadores operacionales analógicos en el chip.

http://www.psocdeveloper.com/

davidcary
fuente
0

Atmel ARM puede cumplir con los requisitos, principalmente

Chips aptos para soldar a mano. (Puedo hacer LQFP 100)

Vienen en TQFP, y puede usar uno de los más pequeños con 64 pines.

32 bit

Cheque

Host de Linux

Me desarrollo exclusivamente en Linux

Cadena de herramientas gratis

GCC ARM Toolchain, que ahora es más fácil de configurar con scripts de compilación como la cadena de herramientas de brazo de invocación.

IDE bueno / gratis

Me tienes ahi Presumiblemente uno podría configurar eclipse o quizás kdevelop para hacer el trabajo, pero no lo he intentado. Yo uso vim y kate.

Costo de inicio de <500 $ para programación / depuración / compilación ilimitadas

Programar y compilar le costaría unos $ 100, tal vez, prototipar una placa mínima. Los chips vienen con un gestor de arranque incorporado en ROM que le permite programar el chip. No necesita un depurador para programarlo. Puede obtener el segger de marca Atmel (y bloqueado) por aproximadamente 100 $. Si puede pagarlo, le sugiero que no elija uno bloqueado, sino que pague 200 o 300 por el desbloqueado. También hay otras opciones que son mucho más baratas que no he probado. El usbprog se ve muy prometedor.

Puede apoyar

Es bastante seguro que está allí, aunque debe verificar para estar seguro. No lo uso, así que no estoy seguro de si todos lo tienen.

Ethernet / soporte USB

El soporte USB está ahí. El soporte de Ethernet debe agregarse externamente. Sin embargo, hay muchos ejemplos para elegir.

Chintalagiri Shashank
fuente
Tenemos CAN en ATSAM. Al menos ATSAM3X8E tiene uno, ya que Arduino Duo, usando este chip, ha expuesto uno.
Maxthon Chan
0

Uso la placa de demostración lpc4330-xplorer para LPC4330 de NXP. Utilizo una cadena de herramientas hecha a mano, pero puedes usar Yagarto (si no te importa el FP duro), o cualquier compilador ARM realmente, si puedes profundizar en los scripts del enlazador. NXP tiene algunos periféricos realmente ingeniosos, como el temporizador configurable por estado (puede leer: generador de funciones) que es capaz de hacer muchas cosas. También tienen algunos buenos SGPIO. Además, tienen una gran cantidad de temporizadores a bordo. También es un procesador dual (chip basado en M4-M0). Por supuesto, toda su línea de LPC es bastante agradable.

Para ser justos, la línea Cypress pSOC también se ve bien, pero no tuve la oportunidad de usarla. Todos los demás definitivamente tienen sus usos y audiencias, pero yo uso un entorno de desarrollo de Linux, sin IDE y un puñado de herramientas de línea de comandos. Elijo este camino porque cuando algo sale mal, y siempre sucede, me resulta más fácil buscar el problema si no tengo que quitar capas de herramientas. Además, no hay límites de código. Y, aunque no está suficientemente claro en las búsquedas en Internet, la línea LPC es bastante compatible con el código abierto.

Finalmente, LPC proporciona una buena cantidad de código de muestra en LPCOpen. Nuevamente, para ser justos, si desea que se compile con herramientas de código abierto, requiere un poco de trabajo, pero no es difícil. Incluso tenían un buen ejemplo de servidor web en su. También tienen un libro de cocina SCT (la SCT tarda un poco en comprender, pero una vez que lo hace, es realmente agradable), pero puede llevar un poco trabajar con los ejemplos, y los ejemplos SCT en LPCOpen son lamentables. Pero bien vale la pena poner en funcionamiento los chips NXP. Incluso estoy pasando un poco de tiempo con NuttX (estaba cansado del código de metal desnudo TODO el tiempo) y el lpc4330-xplorer.

De todos modos, buena suerte con lo que elijas.

roboknight
fuente
0

Aquí están mis opciones:

  • Un montón de IO pero baja velocidad aceptable? Gang up AVRs. He intentado hablar SMBus sobre líneas I2C y es al menos aceptable.
  • ¿Necesitas velocidad? La serie ATSAM parece buena con los paquetes TQFP100 y TQFP144. Tenemos Arduino SAM3X8E en Arduino Duo. ATSAM también tiene MII / RMII, pero el chip de interfaz puede ser un desafío. Si desea que la línea ATSAMA5 siga leyendo y piense de nuevo, Allwinner A20 probablemente la supere.
  • ¿Más velocidad, multimedia, probablemente soporte para Linux? Como soy de China, un fabricante nativo particular es realmente interesante: Allwinner. Sus SoC Cortex-A7, A20 de doble núcleo de $ 5 y A31 de cuatro núcleos de $ 10, así como un grande octa-core SoLITTLE Cortex-A15 / 7 SoC A80 a $ 20, todo con GPU compatible con OpenGL respetable y OpenCL incorporado, a pesar de que en los paquetes BGA, son lo suficientemente buenos para tabletas Android de nivel medio a alto, más que suficiente para Ubuntu Server completo, algunos demonios que queman GPUs que rompen números, paquetes de enrutamiento a una velocidad de línea de 1 Gbps, o manejan dos 1080P o un Pantalla 4K.
Maxthon Chan
fuente