Requisitos mínimos del circuito ARM

12

He hecho algo de desarrollo con ATMega y estoy buscando ampliar mis horizontes. Tengo un par de chips de la serie Cortex M4 y me gustaría hacer un ARM equivalente al Breadboarduino

Planeo grabar mi propia tabla o usar una tabla de ruptura para el BRAZO y hacer el resto del tablero. Una referencia o esquema de los componentes mínimos sería muy apreciado.

¿Existen buenos recursos para determinar los componentes mínimos requeridos para operar y, idealmente, programar un chip ARM?

ACTUALIZAR :

Estoy abierto a sugerencias de hardware alternativas. A continuación se muestra el chip con el que estoy tratando de trabajar:

pregunta ZnArK

6 respuestas

9

Esto realmente depende de los chips que estés usando, no especificaste cuál obtuviste. Por lo general, necesitaría al menos un cristal, tapas de desacoplamiento y lógica de restablecimiento. La interfaz de programación podría ser una interfaz JTAG simple.

Pero todo esto debe indicarse en la hoja de datos de chips.

Actualización (para el STM32F407):

Mire las siguientes páginas en la hoja de datos

  • 23ff. para los voltajes necesarios (1.8-3.6V, por lo que necesita un regulador), y cómo usar el regulador interno (tirando del pin PDR_ON alto)
  • 69ff. para los pinouts
  • 69 + 74 para el esquema de la fuente de alimentación (estas son las páginas más interesantes, ya que muestran las conexiones de la fuente de alimentación y los condensadores necesarios)

No necesitará un circuito de reinicio (está integrado - vea la página 23) o un oscilador (el oscilador integrado de 16MHz se selecciona al inicio, vea la página 22). Por lo tanto, podría ser suficiente usar un tablero de ruptura LQFP144 (como el de futurlec (ver la parte inferior de la página).

También puede consultar el esquema de la placa STM32F4DISCOVERY (consulte it manual del usuario , página 33. Lo que ve es el circuito básico, e incluso contiene los cristales externos.

    
respondido por el hli
10

¿Seguro que quieres hacer esto para un Cortex-M4? Es un gran salto de AVR, y no veo cómo utilizarías todas las funciones que proporciona. Para comenzar, un Cortex-M4 generalmente viene en un paquete grande, generalmente más de 80 pines para las partes de nivel de entrada, y 200+ no es una excepción, piense en QFP o BGA. ¿Se va a hacer una tabla de ruptura con dos filas de 40 pines a la placa?

El Cortex-M4 también está diseñado para alta velocidad: de 120 a 200 MHz por lo general. De acuerdo, es posible que no necesite diseñar su PCB para esas velocidades si utiliza un PLL en el chip. Pero ¿qué pasa con los periféricos, como USB o Ethernet?

Por supuesto, puede ejecutarlo a velocidades más bajas y dejar de lado gran parte de la funcionalidad en el chip, pero me pregunto cuál es el uso de un Cortex-M4 para empezar. Creo que un Cortex-M3 o incluso -M0 es más apropiado para empezar. No quiero desanimarte, quiero ser realista.

Si do quiere seguir adelante con el Cortex-M4, puede hacerlo con un mínimo de hardware externo. El NXP LPC407x , por ejemplo, tiene un oscilador RC interno que es el oscilador predeterminado en el reinicio, así que Ni siquiera necesito un cristal. Un circuito de reinicio y el desacoplamiento adecuado de la fuente de alimentación será todo lo que necesita para ponerlo en funcionamiento.

Para un Cortex-M0, el NXP LPC111x puede valer la pena echarle un vistazo. Por supuesto, no viene con mucha memoria, pero está disponible en un paquete DIL-28 , lo cual es una rareza para los ARM. Alternativamente, puede usar una placa de desarrollo como LPCXpresso ,

donde la mitad derecha es la placa de aplicación, que se puede separar del enlace LPC. Como puede ver, casi no hay hardware externo requerido para la aplicación. Y si suelda un conjunto de encabezados, puede enchufarlo a una placa de pruebas.

    
respondido por el stevenvh
8

Como Steven dice que es un gran salto a ARM desde un micro de 8 bits, por lo que espera un poco de aprendizaje / tiempo dedicado en el camino.
Tampoco apostaría por el M4 para tu primera ARM, simplemente porque no ha salido demasiado tiempo y hay menos soporte / información por ahí. Creo que un M3 o M0 es una mejor opción, y será suficiente para seguir adelante.

Ciertamente puedes hacer tu propio tablero, pero tal vez sería mejor tomar primero un tablero de desarrollo pequeño / barato. En cuanto al desarrollo, hay muchas opciones, desde free (eclipse + GCC + OpenOCD) hasta costoso (Keil, Rowley, etc.). Personalmente uso el IDE de Raisonance Ride7 y herramientas con la serie STM32 ARM M3 / M4s, que es un poco más barato. que Keil / Rowely pero lo suficientemente bueno.

Eche un vistazo a uno de los tableros de desarrollo simples de alguien como ST, Olimex, etc. Este dev board tiene sobre el esquema más simple Pude encontrar, para un STM32 Cortex-M3.

    
respondido por el Oli Glaser
5

El Arduino Due debería salir bastante pronto:

Chipesun SAM3X8 Cortex-M3 de Atmel. Podría valer la pena esperar si ya está familiarizado con los tableros de estilo Arduino y la documentación de estilo Atmel. Y dado que será de código abierto para satisfacer los requisitos de Arduino, por supuesto, podría utilizarlo.

    
respondido por el embedded.kyle
4

Le recomendaría que compruebe Mbed es un dispositivo cortex-m3 con algunos periféricos agradables, nxp proporciona compilador y muchos de bibliotecas y bibliotecas comunitarias, una forma realmente fácil de programarlo y ya está en un paquete para usar en una placa de pruebas. Creo que sería la forma más fácil de hacer la transición de AVR a ARM.

    
respondido por el Kvegaoro
2

Muchas de las partes ST pueden, al menos si no utilizan un transceptor USB, funcionar con su oscilador interno de alta velocidad.

Eso significa básicamente que su "circuito" consiste en tapas de derivación y algunas resistencias en cosas como el reinicio y como terminación en la interfaz SWD.

Los tableros de evaluación de $ 8-10 de ST programarán las piezas que usted coloque en su propio tablero sobre el bus SWD; También hay herramientas de código abierto para ellos, por lo que puede colocar la operación de programación directamente en su Makefile.

Ir por algo en el 48 PQFP probablemente hará la vida más fácil en su primer intento de la junta. Puede armarlos sin aumento (solo tenga disponible una trenza fina para arreglar el puente o dos que probablemente creará por lado), pero sería útil tener una lupa disponible para verificar su trabajo.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas