Nuevo día parcial: STM32F7, ARM Cortex-M7
Se anunció el año pasado, pero ST finalmente está lanzando el STM32F7, el primer microcontrolador en producción basado en el ARM Cortex-M7.
La parte delantera del catálogo ST fue el STM32F4, un chip extremadamente potente basado en el procesador ARM Cortex M4. Este chip era increíblemente poderoso en su día y sigue siendo una opción respetable para cualquier aplicación que necesite muchos caballos de fuerza, pero no un sistema Linux completo. Vimos el chip ~ F4 bombear 800 × 600 VGA, manejar una cámara termográfica e insertar OpenCV en una cámara web. Ahora hay una parte nueva, aún más poderosa en el mercado, y la mente está vacilante pensando en lo que podría ser posible.
En este momento, algunos STM32F7 están compartiendo, ambos con velocidades de hasta 216 MHz, Lightning entre 512k y 1MB, y 320kB de RAM. Los dispositivos laterales incluyen Ethernet, USB OTG, soporte SPDIF e ISIS. El chip más avanzado de la línea incluye un controlador TFT LCD y un procesador encriptado en un chip. Todos los chips de la línea STM32F7 son compatibles con la línea STM32F4, con paquetes BGA y QFP disponibles.
Al igual que con la introducción de todos los microcontroladores ST, están lanzando una nueva placa Discovery con este lanzamiento. Cuenta con Ethernet, muchos periféricos de audio, USB OTG, un diseño de pines aparentemente ardiente y una pantalla LCD de 4,3 pulgadas, 480 × 272 píxeles con toque capacitivo. Cuando esté disponible a través de los distribuidores normales, se venderá por alrededor de $ 50. Los chips mismos ya están disponibles en algunos de los distribuidores habituales, por $ 17 a $ 20 en una sola cantidad. Eso es un cambio para un microcontrolador, pero las posibilidades de lo que esto puede hacer solo están limitadas por la imaginación de un ingeniero.
astronave dice:
Necesita más RAM si está ejecutando Linux. Hay un controlador de memoria, pero tendrá que girar su propia placa para agregar memoria. Espero que les guste la soldadura BGA.
tekkieneet dice:
La parte del laúd no me asusta, es fácil. Mételo en un horno de reflujo y hornea a la temperatura adecuada.
Es capaz de romper los pines de una pieza sólida de fundición fina en PCB de 4 capas (buena suerte con eso), alinear el paquete BGA con el PCB, radiografiar la soldadura en busca de espacios. Estos pueden costar, necesitar tiempo y un poco sin presupuesto. Afortunadamente, si eres de los que toma al menos 3 intentos, haz las cosas bien para las cosas simples.
Kirby dice:
Eche un vistazo a i.MX283 o i.MX283 de Freescale ... Los diseñadores pensaron cuando crearon esta pieza, porque cuando fijaron el BGA prestaron especial atención al enrutamiento de la memoria DDR ... El resultado es que puede hacer un proyecto básico con DDR, etc. en 4 capas ...
Cuando se trata de trabajar con BGA ... En realidad, alinear el BGA durante la colocación es importante, pero si se aleja un poco, la pieza se alineará sola durante el reflujo. Poner la pieza a mano es difícil, pero con una mano firme y una serigrafía bien definida (para grabar) no fue un problema para mí ... pero esto fue para piezas de 1mm y 0,8mm tonificadas ... Partes más pequeñas no soy tan cierto. Ahora tengo mi propio PnP, por lo que solo confío en la máquina para colocar la pieza. Acerca de la radiografía de los BGA ... No era necesario. He tenido o ensamblado más de 1000 placas BGA y hasta ahora no hay problemas ... y esto es después de 10 años de uso 24/7/365. ¿Una buena idea para XRay? puedes apostar, pero no todo el mundo tiene el equipo
tekkieneet dice:
La pantalla de seda en la casa de huéspedes china es terrible. Incluso tengo una pantalla de seda en mis pads BGA. Por otro lado, estaba lo suficientemente loco como para poner un BGA de escala de chip de 0,4 mm en un proto-PCB chino barato con extremos HASL. Su gran apertura de máscara de soldadura era lo suficientemente grande para mi error de colocación de la mano. Coloqué algunos de estos sin patrones con buen éxito. OSHW PCB con el proveedor sugirió que las trazas, por otro lado, realmente necesitan patrón y selección.
El lanzamiento de la pelota y la regla de la distancia del tablero determinarían si puedes escapar de las pistas. Un poco de lo que quiero obtener son placas de circuito impreso y plantillas fabricadas correctamente si tengo que pagar de mi propio bolsillo.
Me quedaré con las piezas de QFN por ahora. Quito y reemplazo cualquier pieza tan pequeña sin ningún problema. Son mucho más fáciles que trabajar con TQFP / QFP que no creo que me moleste si el paquete QFN está disponible.
licenciado en Derecho dice:
Haré buenas pistas exteriores tonificadas, pero cuando las pistas estén "ocultas" (bolas), crearé la línea para el bricolaje. si necesita un microscopio, entonces no es realmente de bricolaje (para la mayoría de nosotros). e incluso si puedes hornear la pieza, ¿qué pasa cuando quieres arreglar la tabla o en diagonal? bga sigue siendo un nivel profesional y los aficionados no querrán tener una relación con bga crudo. tablas rotas, bien. pero chips crudos como ese? neniel.
Kirby dice:
Tiene toda la razón en que reescribir una placa BGA es extremadamente difícil ... Si tengo que procesar una parte BGA, entonces el baord se tira (es decir, se recicla). Dicho esto, los QFP más grandes no son tan fáciles de procesar ... Dependiendo de la calidad de la placa, algunas almohadillas pueden aumentar debido a los tiempos de reflujo y la extracción mecánica necesaria. Lo positivo es que reemplazar QFP en una PCB reescrita es mucho más fácil, ya que cada pin puede adaptarse a cualquier irregularidad de la superficie de aterrizaje de la PCB. Mientras que el BGA no puede.
En general, no tendría mucho miedo de los BGA ... solo necesita diseñar correctamente su PCB (es decir, el enrutamiento de escape para el acceso necesario de los pines), usar la pasta de soldadura correcta (tamaño de la pasta de soldadura) y un horno de reflujo preciso (tengo una pequeña empresa, pero también una que hice con una tostadora. Ambas funcionan muy bien).
Palmadita dice:
Alinear BGA no es realmente tan difícil, pero si está realmente asustado (y el chip realmente vale la pena), puede usar una plantilla stencilquik.
http://www.solder.net/products/stencilquik/
Cuestan alrededor de $ 10, lo cual, bueno, apesta, pero si los BGA son como $ 20-30, no es un costo adicional tan grande. Sigue siendo mucho más económico que montar la placa.
Y si el costo te molesta y tienes acceso a un cuchillo láser, puedes hacerlo tú mismo ...
http://www.instructables.com/id/Easy-BGA-alignment-with-Laser-Cut-Kapton/
O simplemente puede solicitar un patrón de poliimida de p. Ej. OSHStencil y pegamento en aerosol en un lado.
Kirby dice:
Mis disculpas ... Debería haber dicho antes que una plantilla de buena calidad es imprescindible para los BGA ... Personalmente, solo uso plantillas de corte láser y son (ahora) baratas ... como $ 20 por una plantilla enmarcada, $ 20 para el envío, y llegan entre 4 y 5 días.
Palmadita dice:
No, estos no son patrones de PCB normales, como cree. Estos son patrones finos y pegajosos que puede adjuntar a la placa justo donde está el BGA.
¿Por qué da miedo esto? Porque el grosor adicional del patrón adjunto a la placa le permite alinear el BGA con la sensación. Deslícelo y cuando "caiga", se alineará. Luego retrocede con el patrón que queda entre el BGA y la placa: es delgado, por lo que a nadie le importa que esté causando problemas.
tekkieneet dice:
Uno solo necesitaría alinear las bolas en los bordes exteriores del BGA. Entonces, teóricamente, alguien puede hacer una sola fila de eso en cinta o incluso longitudes fijas y funcionaría bastante bien.
¿Kickstarter para cintas de 1 mm, 0,8 mm, 0,5 mm y 0,4 mm o tiras precortadas? 🙂
f4grx dice:
el BGA es solo para principiantes, por supuesto. La pieza vendrá en QFP, a partir de 100 pines.
Kirby dice:
Mouser tiene la versión QFP100 disponible ahora ...
charliex dice:
o, y me vuelvo loco aquí por un momento y renuncio a todas las historias locas sobre 0101 BGA en una capa con un soplete de soldadura. No use una parte BGA para la RAM.
Jeroen dice:
+1
Bob Alexander dice:
Solía usar partes STM32, pero el entorno de desarrollo era demasiado laborioso y carecía de muchas de las características que ofrecían los paquetes comerciales. Si no está dispuesto a pagar por una serie cara o vivir con una serie estropeada, necesita colaborar en su propio juego de herramientas basado en GNU. Eso funcionó, pero carece de muchas herramientas para generar código específico de ST.
ST necesita empaquetar y mantener una cadena de herramientas inalámbricas gratis, al igual que muchos otros fabricantes de microcontroladores.
cristóbal dice:
Utilizo con éxito Code :: Blocks para compilar STM32F0 y STM32F4 con gcc, y uso el código de inicio generado por CubeMX. Esto no es compatible con ST, pero después de la instalación, realmente funciona incluso en Linux. Code :: Blocks te permite escribir asistentes de proyectos personalizados, lo que hace que sea bastante cómodo.
El gran dice:
¿Tiene documentos para principiantes sobre lo que hace (o cosas que ha escrito usted mismo o fuentes de las que ha recopilado su información)? Estoy pensando en lanzarme a la programación ARM y tengo el software STM32F4 con el que puedo jugar, pero no he pasado de las cosas parpadeantes de hola mundo.
Me gusta tener una cadena de herramientas abierta tanto como sea posible, pero encuentro que la curva de aprendizaje para las cosas ARM es muy empinada en comparación con AVR.
Álvaro dice:
Hice un proyecto de gcc barebones para la placa con instrucciones aquí: https://github.com/alvarop/stm32f4xx-gcc-barebones
También hay afiliados para soporte USB si desea usarlo.El gran dice:
¡Genial, muchas gracias! Parece que eso es exactamente lo que estaba buscando. El rap está marcado 🙂
cristóbal dice:
Míralo aquí: https://la-tecnologia.io/project/4277-stm32f030f4p6-breakout-board
Tengo algo de información en los protocolos del proyecto, pero todo se basa principalmente en
- Código generado por CubeMX (inspeccione el archivo del proyecto, ¡es texto sin formato!)
- Léame del compilador / digital (gcc-arm-none-eabi y newlib)
- prueba y error
Sin embargo, queda mucho por hacer correctamente. Si tiene preguntas específicas, encontrará las respuestas.El gran dice:
Ahh, ese eres tú 🙂 Ya estoy siguiendo ese proyecto, de hecho (parece que me olvidé de tocarlo; eso ahora está corregido). Este proyecto me dio la esperanza de que trabajar directamente con chips ARM solo es posible para humanos.
Tendré que profundizar en los protocolos ahora ... hasta ahora me he centrado en el hardware en sí, pero estoy empezando a ver que la cadena de software / herramientas es la parte más complicada de todo.
(Sin embargo, puede que me lleve un tiempo completar todo ... Estoy comenzando un nuevo proyecto basado en la placa de audio Teensy 3.1+; aunque estoy completamente engañado al usar bibliotecas existentes para todo, quiero hacerlo rápidamente empezar mi repaso inicial. ;-))
Hola
iwasz dice:
http://www.iwasz.pl/electronics/toolchain-for-cortex-m4/
Depositar dice:
¿Algún error sobre Em :: Blocks?
Lo miré brevemente (me gusta Code :: Blocks) pero no hice un proyecto con él.
cristóbal dice:
Nunca probé Em :: Blocks principalmente porque ya tenía Code :: Blocks ejecutándose en mi computadora, y ya lo usé para el desarrollo de AVR y Teensy. Nunca escuché muchas cosas negativas sobre Em :: Blocks, por lo que probablemente se trate de.
Ren dice:
De acuerdo, no ha tenido noticias mías en una red mundial, pero ST y Keil ahora tienen una licencia de prueba extendida de 3 años ... Comuníquese con su representante local de ST.com (tal vez esta noticia sea solo para EE. UU.)
stm32 dice:
sin secretos:
STM32F0
http://www2.keil.com/stmicroelectronics-stm32/mdko XMC1000
http://www2.keil.com/infineon/mdk/
conocido dice:
Son compatibles con http://www.openstm32.org/HomePage
El cubemx más nuevo generará proyectos para openstm32.Darren dice:
"El acceso a OpenSTM32.org es gratuito, pero debe iniciar sesión para tener acceso a ciertas partes del sitio, como el Sistema de documentación para la documentación de STM32 y las instrucciones de descarga"
Obligarlo a registrarse solo para ver la documentación me dice que no es muy abierto. Yo voy a pasar.
Husam dice:
Desafortunadamente, ahora es un precio. Tanto Freescale como Atmel requieren que inicie sesión para acceder a sus propios IDE (Kinetis Studio y Atmel Studio). TI requiere que inicie sesión a través de una serie de acuerdos de no exportación, etc. para descargar CCS studio y TivaWare. Curiosamente, LPCXpresso de NXP se puede descargar sin crear cuentas.
tekkieneet dice:
Hay enlaces de atmel studio si buscas en Google, pero dejé de tener una cuenta.
Kinetis Studio es un error en mi configuración: sucedió algo extraño con la GUI que tuve que volver a su antiguo Processor Expert para generar un código de inicio de reloj. Ese era el tipo de código que preferiría no escribir desde cero. Su código generado está empaquetado porque asumen que desea su marco.Darren dice:
Cypress solía requerir una cuenta para descargar PSOC Creator. Me gustaría pensar que la nota que recibieron en la función de reacción cambió esa política. La siguiente tarea es lograr que todos los proveedores se estandaricen en una interfaz de depuración abierta.
tekkieneet dice:
Se estandarizan ligeramente en el SWD para los chips Cortex.
Para estandarizar una forma de hacer SWD, existe un CMSIS-DAP. Es una implementación un poco lenta. Los depuradores específicos del proveedor siguen siendo populares en los tableros de evaluación.
Artenz dice:
Simplemente cree una cuenta desechable falsa.
Bogdan dice:
Tenía el mismo problema: trabajando en un proyecto con un software comercialmente caro, estaba bien.
Por un pasatiempo, me di por vencido después de algunos intentos de construir un entorno. Ojalá quisieran atmel y ofrecieran un IDE completo basado en algunas herramientas abiertas / gratuitas.tekkieneet dice:
Es CooCox http://www.coocox.org/ Están patrocinados por proveedores, pero son compatibles con muchas familias de proveedores.
Darren dice:
El software tiene GPL, pero una descarga requiere una cuenta que requiere el consentimiento de los términos con los que no estoy de acuerdo.
Jeroen dice:
¿A qué condiciones te opones? Solo tengo curiosidad porque hice clic en "aceptar" sin leer el EULA completo.
Husam dice:
Además de la herramienta de generación de código CubeMX de stm32. ST está desarrollando actualmente una herramienta de programación basada en eclipse (IDE, depuración, compilador, bibliotecas, etc.). Se llama "Taller de sistemas para STM32" http://www.openstm32.org/System+Workbench+for+STM32. No lo he probado yo mismo, pero se puede descargar una versión de Windows de forma gratuita (todavía tiene que registrarse en el sitio). . La versión de Linux funciona.
Tenía la intención de usarlo, pero me encuentro siempre volviendo al diseño de "enrolla tu propio". Rara vez necesito las funciones de depuración y termino usando stm32flash “https://github.com/ARMinARM/stm32flash” para arrancar un chip con el lanzador USART residente. La herramienta dfu-util cli también se puede utilizar para arrancar chips que tienen un cargador USB DFU. No se requiere programador.
Si necesita el depurador / programador ... st-linkv2 / stlinkv2-1 está disponible en cada placa de descubrimiento / nuclear, y se pueden comprar clones chinos por tan solo $ 3. El stlinkv2 oficial de ST cuesta como $ 18. desarrolladores todos tienen habilidades de depuración / programación y trabajan con OpenOCD (mi opción favorita) o STLink de Texane.
Ya ni siquiera uso un eclipse. Solo confío en usar archivos MAKE para la compilación, ATOM como editor de texto y Nemiver como un depurador (no es tan capaz como me gustaría ... pero está bien). Utilizo Linux para mi configuración.
Mis dos chips STM32F0 favoritos son el stm32F072 y el stm32F411. Ambos son bastante fáciles de usar, vienen en paquetes de 48 qfn fáciles de vender y ofrecen una gran explosión.
Capitán Cumbria dice:
stm32f103 tiene tableros de proyectos muy baratos de China, no estoy muy seguro de por qué parece que les gusta ese chip, los periféricos son bastante calendario. Dicho esto, lo uso con un entorno gcc bare metal. Los documentos ST apestan, y todo supone que quieres usar sus bibliotecas hinchadas. Cambiaría a otro si pudiera identificar un silicio igualmente barato que tenga dispositivos laterales completamente funcionales y documentos claros. Quizás las ofertas ARM de Atmel. * suspiro *
ottosbuildlog dice:
"Los documentos ST apestan"
Empiece por esperar que su SW sea mejor que sus documentos y termine rezando para que su HW sea mejor que su SW.
Hola,
Colin
tekkieneet dice:
No he visto un vendedor sin un error de silicio.
El problema de las piezas chinas populares se debe principalmente al precio. Algunos productos los usan en gran volumen, por lo que están disponibles mucho más baratos que piezas similares. Entonces todo el mundo interviene porque son baratos.
En uno de mis proyectos, utilicé piezas de Freescale. El manual del usuario habla mucho sobre la especificación I2C real (¡creo que puedo leer una especificación I2C por mi cuenta!), Pero no hable sobre cómo funciona su propia implementación I2C. Su código generado también es muy malo porque también asumen que quieres su marco hinchado.
fede.tft dice:
Como efecto secundario del desarrollo de un kernel de sistema operativo de programa gratuito para MCU Cortex, publico un kit de herramientas GNU preconstruido para stm32 que incluye instrucciones para configurar IDE (Netbeans). Además, obtiene el código de inicio para la mayoría de las placas de programa stm32 (script de enlace y demás) y multiproceso con interfaz pthread. Puedes encontrarlo aquí https://miosix.org
Husam dice:
ST está trabajando en una herramienta de eclipse basada en IDE / dev “System Workbench for STM32”. Actualmente, hay una versión de Windows disponible para descargar (no la he usado yo mismo, pero vale la pena echarle un vistazo ... deberá registrarse en el sitio para acceder a ella). Se acerca una versión de Linux.
http://www.openstm32.org/System+Workbench+for+STM32Forrest Voight dice:
Me gusta usar libopencm3, que tiene proyectos de ejemplo con los que puede copiar Makefile para comenzar.
neon22 dice:
O usa Micropython ...
Andy dice:
La versión Atmel de Cortex M7 (ATSAME70) es mucho mejor que la ST.
-Mayor frecuencia de reloj
- caché I / D más grande
- mejor consumo de electricidad.
- mejores periféricosUna gran ventaja del chip Atmel es el cifrado cifrado para descifrar las memorias externas.
También puede usar el tablero de aplicaciones para la parte de Atmel ahora, y solo cuesta $ 130.
charliex dice:
esos parecen interesantes, trabajé en una placa para usar el STM32F4 pero no era lo suficientemente rápido, así que eran buenas noticias, pero el puerto SSC es realmente útil en ATSAM, SAME70 Series 300 MHz 2 MB Flash 384 kB SRAM por $ 13 no es desagradable, aunque no puedo encontrar nada en stock.
Kirby dice:
Normalmente evito Atmel por problemas de suministro. Quizás esto haya cambiado ahora, pero en el pasado era difícil conseguir un producto.
tekkieneet dice:
Evito las piezas de Atmel porque no son las más baratas.
Darren dice:
Hace años juré no comerciar nunca con Atmel debido al tremendo soporte de producto.
Husam dice:
Me gustan los productos Atmel. He estado usando AVR desde finales de los 90. Pero ahora prefiero STM32 porque las partes son más baratas, los desarrolladores / depuradores son más baratos y las plataformas de desarrollo son más baratas. Seguro que las placas ST Core / Discovery están lejos de ser perfectas, pero son baratas y hacen el trabajo. La combinación Mbed + STNucleoF411RE cuesta alrededor de $ 12- $ 15 y tiene mucho más que ofrecer que las placas SAMD / SAM4 Xplained de $ 40 + o Dios no quiera las placas Arduino Zero / Due de $ 55 +.
Habiendo dicho eso, Atmel Studio es agradable, aunque prefiero un IDE multiplataforma como Eclipse sobre el shell de Visual Studio. También creo que las bibliotecas ASF de Atmel, aunque no son perfectas, son un poco más fáciles de trabajar que las bibliotecas STM32Cube.
Darren dice:
Nunca he sido fan de AVR, pero no fue el producto lo que me apagó, me dijeron que no me importaba porque mis compras eran pocas.
Lucas dice:
Aquí hay un video de esto en acción.
Ren dice:
$ 50 en Digikey
Alan dice:
SPDIF IN pero no SPDIF OUT? Las personas que proyectan los tableros de The Discovery toman algunas decisiones "interesantes".
Al menos esta placa tiene HS USB OTG. Eso faltaba en un descubrimiento anterior. tableros.
8r13n dice:
Estoy emocionado. Ayer fui a mi EE en el trabajo y pedí este chip para reemplazar nuestros F4. Es el doble de rendimiento y compatible con binarios / pines. El futuro luce bien ahora.
Adán dice:
Esperaré hasta que NXP haga una versión de triple núcleo
Sheldon dice:
Desafortunadamente, la arquitectura ARM en la que se basan los núcleos Cortex-M (v7-M) no funciona muy bien en arreglos de multiprocesador a diferencia de los núcleos Cortex de Clase A y R, por lo que los dispositivos "multinúcleo" actuales tienden a distorsionar el sistema para ser efectivamente dos núcleos departamentales (en lugar de iguales).
Para justificar una versión 'N'-core, debe seleccionar roles específicos para cada uno de los núcleos como lo hizo NXP en el LPC4300 & LPC54100; casi lo diferenciaron para los sistemas M4 / M0 haciéndolo un poco "grande LITTLE" (similar a los sistemas de procesador Cortex-A de alta calidad) pero probablemente no sea mucho mejor que tener dos chips de un solo núcleo en una PCB debido a su roles y limitaciones, así que intentar hacer un microcontrolador general de 3 núcleos probablemente sea aún más difícil.
iluminado dice:
¿La especificación dice host USB? ¿Puede este problema acceder a una clave para el registro de datos?
iluminado dice:
Para responder a mis propias preguntas y a cualquier otra persona a la que le importe: (a través del documento de configuración STM32CubeF7)
1) ¿La biblioteca de alojamiento USB admite dispositivos compuestos (por ejemplo, Massstorage
+ HID)? Sí, proporcionando a los usuarios la posibilidad de escribir un controlador de clase de composición personalizado para el dispositivo compuesto.
2) ¿Puedo utilizar el host OTG HS y el host OTG FS al mismo tiempo? sí
3) ¿Puede la biblioteca de alojamiento USB manejar dispositivos conectados a través de USB HUB? No.
4) ¿La biblioteca de alojamiento USB permite trabajar con varios dispositivos de configuración? No.Haldor dice:
4) ¿La biblioteca de alojamiento USB permite trabajar con varios dispositivos de configuración? No.
Al igual que el controlador HID de Windows.
Rebelde dice:
¿Crees que sería lo suficientemente rápido para ejecutar Leap Motion en él?