El Teensy 4.1 es la iteración más reciente de la plataforma de desarrollo asombrosamente popular que cuenta con un procesador ARM Cortex-M7 a 600 MHz, con un chip NXP iMXRT1062, memoria flash cuatro veces más grande que el 4.0 y dos nuevas ubicaciones para agregar más memoria opcionalmente. El Teensy 4.1 tiene el mismo tamaño y forma que el Teensy 3.6 (2,4 pulgadas por 0,7 pulgadas) y proporciona una mayor capacidad de E/S, incluido un PHY de ethernet, un zócalo de tarjeta SD y un puerto host USB.
Cuando se ejecuta a 600 MHz, Teensy 4.1 consume aproximadamente 100 mA de corriente y brinda soporte para la escala dinámica del reloj. A diferencia de los microcontroladores tradicionales, donde cambiar la velocidad del reloj provoca velocidades de transmisión incorrectas y otros problemas, el hardware de Teensy 4.1 y el soporte de software de Teensyduino para las funciones de temporización de Arduino están diseñados para permitir cambios de velocidad dinámicos. Las velocidades de transmisión en serie, las frecuencias de muestreo de transmisión de audio y las funciones de Arduino como delay() y millis(), y las extensiones de Teensyduino como IntervalTimer y elapsedMillis, continúan funcionando correctamente mientras la CPU cambia de velocidad. Teensy 4.1 también proporciona una función de apagado. Al conectar un botón al pin de encendido/apagado, la fuente de alimentación de 3,3 V se puede desactivar por completo manteniendo presionado el botón durante cinco segundos y volver a encenderla presionando brevemente el botón. Si una celda de moneda está conectada a VBAT, el RTC de Teensy 4.1 también continúa realizando un seguimiento de la fecha y la hora mientras está apagado. Teensy 4.1 también se puede overclockear, ¡mucho más allá de los 600 MHz!
El ARM Cortex-M7 trae muchas funciones de CPU potentes a una verdadera plataforma de microcontrolador en tiempo real. El Cortex-M7 es un procesador superescalador de doble problema, lo que significa que el M7 puede ejecutar dos instrucciones por ciclo de reloj, ¡a 600 MHz! Por supuesto, ejecutar dos simultáneamente depende de que el compilador ordene las instrucciones y los registros. Los puntos de referencia iniciales han demostrado que el código C ++ compilado por Arduino tiende a lograr dos instrucciones entre el 40% y el 50% del tiempo mientras realiza un trabajo numéricamente intensivo utilizando números enteros y punteros. El Cortex-M7 es el primer microcontrolador ARM que usa predicción de rama. En M4, los bucles y otros códigos que se bifurcan mucho toman tres ciclos de reloj. Con M7, después de que un bucle se haya ejecutado varias veces, la predicción de bifurcación elimina esa sobrecarga, lo que permite que la instrucción de bifurcación se ejecute en un solo ciclo de reloj.
La memoria estrechamente acoplada es una característica especial que permite a Cortex-M7 un rápido acceso de ciclo único a la memoria mediante un par de buses de 64 bits de ancho. El bus ITCM proporciona una ruta de 64 bits para obtener instrucciones. El bus DTCM es en realidad un par de rutas de 32 bits, lo que permite que M7 realice hasta dos accesos de memoria separados en el mismo ciclo. Estos buses de velocidad extremadamente alta están separados del bus AXI principal de M7, que accede a otra memoria y periféricos. Se puede acceder a 512 de memoria como memoria estrechamente acoplada. Teensyduino asigna automáticamente su código de croquis de Arduino en ITCM y todo el uso de memoria no malloc para el DTCM rápido, a menos que agregue palabras clave adicionales para anular el valor predeterminado optimizado. La memoria a la que no se accede en los buses estrechamente acoplados está optimizada para el acceso DMA por parte de los periféricos. Debido a que la mayor parte del acceso a la memoria de M7 se realiza en los dos buses estrechamente acoplados, los potentes periféricos basados en DMA tienen un excelente acceso a la memoria que no es TCM para una E/S altamente eficiente.
El procesador Cortex-M7 de Teensy 4.1 incluye una unidad de punto flotante (FPU) que admite “doble” de 64 bits y “flotante” de 32 bits. Con la FPU de M4 en Teensy 3.5 y 3.6, y también los chips Atmel SAMD51, solo el flotante de 32 bits se acelera por hardware. Cualquier uso de funciones dobles, dobles como log(), sin(), cos() significa que el software implementado es lento. Teensy 4.1 ejecuta todo esto con hardware FPU.
Nota: tenga en cuenta que el Teensy 4.1 no incluye encabezados y deberá comprarlo por separado y soldarlo usted mismo.
Descripcion:
- ARM Cortex-M7 a 600MHz
- 1024K RAM (512K está estrechamente acoplado)
- Flash de 8 Mbytes (64 K reservados para recuperación y emulación de EEPROM)
- Puerto anfitrión USB
- 2 chips más memoria de programa
- 55 pines de E/S totales
- 3 CAN Bus (1 con CAN FD)
- 2 audios digitales I2S
- 1 audio digital S/PDIF
- 1 SDIO (4 bits) SD nativa
- 3 SPI, todos con FIFO de 16 palabras
- 7 señales de almohadilla SMT inferior
- 8 puertos serie
- 32 canales DMA de propósito general
- 35 pines PWM
- 42 E/S compatible con placa de pruebas
- 18 entradas analógicas
- Aceleración criptográfica
- Generador de números aleatorios
- RTC para fecha/hora
- FlexIO programable
- Canalización de procesamiento de píxeles
- Disparo cruzado periférico
- 10/100 Mbit DP83825 PHY (6 pines)
- Ranura para tarjeta microSD
- Gestión de encendido/apagado