Teensy 4.0 cuenta con un procesador ARM Cortex-M7 a 600 MHz, con un chip NXP iMXRT1062, el microcontrolador más rápido disponible en la actualidad. Teensy 4.0 tiene el mismo tamaño y forma que Teensy 3.2 y conserva la compatibilidad con la mayoría de las funciones de pines de Teensy 3.2.
Cuando funciona a 600 MHz, Teensy 4.0 consume aproximadamente 100 mA de corriente. Teensy 4.0 proporciona soporte para escalado dinámico de reloj. A diferencia de los microcontroladores tradicionales, donde cambiar la velocidad del reloj causa velocidades de baudios incorrectas y otros problemas, el hardware Teensy 4.0 y el soporte del software Teensyduino para las funciones de temporización de Arduino están diseñados para permitir cambios de velocidad dinámicamente. Las velocidades de baudios 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.0 también proporciona una función de apagado de energía. Al conectar un botón al pin de encendido/apagado, la fuente de alimentación de 3,3 V se puede desactivar completamente manteniendo pulsado el botón durante 5 segundos y volver a encenderla pulsando brevemente el botón. Si una celda de botón está conectada a VBAT, el RTC de Teensy 4.0 también continúa realizando un seguimiento de la fecha y la hora mientras la energía está apagada. Teensy 4.0 también se puede overclockear, ¡mucho más allá de 600 MHz! El ARM Cortex-M7 ofrece muchas funciones potentes de CPU a una verdadera plataforma de microcontrolador en tiempo real. Cortex-M7 es un procesador superescalador de doble función, lo que significa que el M7 puede ejecutar dos instrucciones por ciclo de reloj, ¡a 600 MHz! Por supuesto, la ejecución de 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érico intensivo utilizando números enteros y punteros. Cortex-M7 es el primer microcontrolador ARM que utiliza predicción de ramas. En M4, los bucles y otros códigos que se ramifican 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 acceso rápido de ciclo único a memoria utilizando un par de buses de 64 bits de ancho. El bus ITCM proporciona una ruta de 64 bits para recuperar instrucciones. El bus DTCM es en realidad un par de rutas de 32 bits, lo que permite a M7 realizar hasta dos accesos a memoria separados en el mismo ciclo. Estos buses de extremadamente alta velocidad están separados del bus AXI principal de M7, que accede a otras memorias y periféricos. Se puede acceder a 512 K de memoria como memoria estrechamente acoplada. Teensyduino asigna automáticamente su código de boceto Arduino a ITCM y todo el uso de memoria que no sea malloc al 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 periféricos. Debido a que la mayor parte del acceso a la memoria del 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.0 incluye un punto flotante. unidad (FPU) que admite 64 bits "doble" y 32 bits "flotante". Con la FPU de M4 en Teensy 3.5 y 3.6, y también los chips Atmel SAMD51, solo la flotación de 32 bits se acelera por hardware. Cualquier uso de funciones dobles, dobles como log(), sin(), cos() significa matemáticas implementadas por software lento. Teensy 4.0 ejecuta todo esto con hardware FPU.
Nota: tenga en cuenta que Teensy 4.0 no incluye encabezados y deberá comprarlo por separado y soldarlo usted mismo.
ARM Cortex-M7 a 600MHz
1024K RAM (512K están estrechamente acoplados)
Flash de 2048 K (64 K reservados para recuperación y emulación de EEPROM)
2 puertos USB, ambos de 480 MBit/seg.
3 CAN Bus (1 con CAN FD)
2 Audio Digital I2S
1 audio digital S/PDIF
1 SD nativa SDIO (4 bits)
3 SPI, todos con 16 palabras FIFO
3 I2C, todos con FIFO de 4 bytes
7 Serial, todos con FIFO de 4 bytes
32 canales DMA de uso general
31 pines PWM
40 pines digitales, todos con capacidad de interrupción
14 pines analógicos, 2 ADC en chip
Aceleración criptográfica
Generador de números aleatorios
RTC para fecha/hora
FlexIO programable
Canal de procesamiento de píxeles
Disparo cruzado periférico
Gestión de encendido/apagado