procesador ARM en una PCB

-5

He estado trabajando en una PCB que tendrá un LED, 3 botones, un procesador ARM7, un receptor de bluesmirf y una fuente de voltaje (por ejemplo, una batería). Algo como this , pero con más componentes.

  1. ¿Cómo puedo programar el procesador ARM (quiero ponerle un RTOS)? Una vez que esté colocado en el PCB , ¿podré programarlo)?

  2. Quiero comprar el procesador por sí mismo (sin placas de desarrollo). ¿Voy a www.arm.com para eso o hay algún lugar mejor?

pregunta Coder404

6 respuestas

11

0. Estrictamente hablando, ARM7 no es un procesador, es un microcontrolador. (Es difícil encontrar un procesador que no requiera RAM externa ni memoria flash para el almacenamiento del programa).

0.5. Parece que asumes que podrás instalar un RTOS en él y lanzar aplicaciones como si fuera una PC. Este no va a ser el caso. (No es del todo imposible, pero no merece la pena.) Este es un microcontrolador , ejecuta el firmware desde flash. Usted recompila el firmware y reprograma el chip usando, por ejemplo, JTAG cada vez que hagas un cambio. Un RTOS en este contexto es solo una biblioteca de subprocesos, quizás con controladores periféricos estandarizados (no siempre).

1. Deberá usar JTAG (recomendado) o un gestor de arranque personalizado diseñado por un fabricante de chips específico. SWD no es compatible con ARM7TDMI a mi leal saber y entender. Tanto el código abierto barato como las costosas herramientas comerciales de JTAG están disponibles para ARM, incluido ARM7TDMI. JTAG ofrece soporte de depuración remota, no solo programación.

2. Lo que hace ARM son los núcleos, es decir, las descripciones de los circuitos que los proveedores reales de silicio implementan en los CI reales (al tiempo que agregan una gran cantidad de periféricos personalizados). Debe familiarizarse con los productos reales basados en su núcleo ARM que están disponibles. Hay muchos de ellos, y son bastante diferentes, tanto en las funciones básicas como en los periféricos. ARM en sí no vende fichas. Atmel, ST y muchos otros lo hacen. Es demasiado pronto para pensar en un PCB hasta que hagas esto.

2.5. Cualquier microcontrolador ARM, ya sea un ARM7 o un Cortex-M (ver más abajo), consta de dos partes grandes: el núcleo (suministrado y documentado por ARM) y los periféricos (diseñados y documentados por el fabricante del chip). Necesitará estudiar al menos dos manuales de referencia (y probablemente también una hoja de datos) para implementar cualquier chip en su dispositivo. Esta será una lectura obligatoria de al menos 2.000 páginas que aún no parece haber comenzado.

3. ARM7 está obsoleto y en gran parte reemplazado por Cortex-M. ARM7TDMI es una implementación de la arquitectura ARMv4, mientras que los núcleos Cortex-M se ajustan al ARMv7-M más reciente (con ciertas variaciones) o a ARMv6 (Cortex-M0). Los microcontroladores ARM7TDMI todavía se están produciendo, por supuesto, pero tiene poco sentido utilizarlos en nuevos diseños. Una vez más, las MCU de Cortex-M son producidas por ST, TI, Atmel, Energy Micro y muchas otras.

    
respondido por el Thorn
9

Parece que quieres usar un lanzacohetes de la era soviética para matar a una mosca. Su tarea es muy simple, pero usted habla de usar un microcontrolador bastante potente y un sistema operativo para controlarlo.

El ARM7 es MCU de 32 bits razonablemente potente con multiplicador de hardware. Por lo general, tiene una gran cantidad de pines de entrada / salida. Aquí hay una foto de uno:

Miratodasesascosasgenialesqueestáhaciendo.Seestáejecutandounapantalla,conunmontóndecolores.Nopuedodecirlo,peroapuestoaquetambiénestáanimandoesoentiemporeal.EsprobablequeestechiptengamáspotenciadecálculoquemiprimeraPC(ysolíajugarWingCommandereneso).

Noestoyseguroexactamentedecuántapotenciadecomputacióndeseaensuaplicación,peroporsusonido:unLED,tresbotonesyunUARTparaBluetooth,sospechoquenoloes.tmucho.

MisugerenciaseríaseleccionarunMCUmuchomássimple.Talvezundispositivode8o16pines.Algocomoun PIC16F1823 . O algo con un poco más de poder, un PIC18F1220 quizás:

Ambos pueden programarse en C y tienen muchas funciones, incluido un UART.

    
respondido por el Rocketmagnet
2
  1. Coloque un encabezado JTAG o SWD en una PCB y podrá programar el chip en el circuito. Necesitará un programador JTAG compatible.

  2. ARM no vende chips, vende (o más bien licencia) núcleos (diseños). Es difícil recomendar un lugar mejor sin conocer su ubicación, pero intente con distribuidores como Digikey, Farnell o RS. Habrá una tonelada de chips de brazo. Si no sabe cuál desea, intente buscar en la línea STM32 desde la línea ST o LPC desde NXP.

respondido por el Armandas
1

Como todavía no ha elegido su ARM, puede obtener fichas de Farnell, RS, Digikey, Mouser, etc. ARM no fabrica chips, solo diseñan el núcleo del procesador. LPC2100 es una serie ARM7 de NXP. No sé por ST, pero sí sé que otros fabricantes fabrican chips ARM.

La mayoría de los chips ARM vienen en TQFP, QFN o BGA. Evite QFN y especialmente BGA, no el tiempo de soldadura divertido. La mayoría de los chips TQFP son de 0,5 mm, que es bastante pequeño. Sin embargo, el video que ha mostrado con pasta de soldadura (???) y aire caliente (???) en un TQFP puede ser un poco excesivo. Es posible con un poco de flujo, estaño pequeño (< 0.5 mm), mecha de soldadura y un hierro razonable. Los PCB grabados en casa también están bien, sin embargo, creo que los dispositivos de paso de 0,5 mm son bastante pequeños para PCB de bricolaje.

Puede programar el micro en PCB a través de JTAG o SWD. Creo que JTAG es el más común para ARM7. Para esto necesitas un programador o depurador JTAG compatible con ARM. Olimex es un fabricante externo que los fabrica, pero también hay varios 'hacks' que circulan alrededor de un chip FT2232. Alternativamente, puede utilizar el cargador de arranque serie. Sé que NXP tiene esto, no estoy seguro para los otros fabricantes. Olimex tiene esto en algunos de sus tableros, lo que permite la programación (sin depuración) de un nuevo archivo HEX a través de Flashmagic o la utilidad de cargador de arranque LPC2100. Es posible que pueda utilizar su circuito para ello. Creo que consiste en conectar un puerto serie a uno de los UART y un determinado pin de "habilitación del cargador de arranque" que debe mantenerse bajo durante el reinicio.

Tenga en cuenta que un RTOS solo ayudará a realizar tareas múltiples en un microcontrolador, no servirá para ayudar al microcontrolador a obtener un nuevo programa.

    
respondido por el Hans
0

Encontrará las cosas mucho más fáciles si crea un prototipo de su aplicación utilizando una placa LPCXpresso:

enlace

Cuando esté funcionando, diseña tu PCB con el mismo chip y software.

    
respondido por el Leon Heller
0
  1. Utilice un ISP (consulte la hoja de datos / nota de la aplicación).
  2. Puede obtener un microcontrolador ARM de cualquier distribuidor (mouser, digikey ...). La hoja de datos del microcontrolador elegido contiene información sobre el diseño del ISP.
respondido por el suha

Lea otras preguntas en las etiquetas