Teensy 4.0 dispose d'un processeur ARM Cortex-M7 à 600 MHz, avec une puce NXP iMXRT1062, le microcontrôleur le plus rapide disponible aujourd'hui. Teensy 4.0 a la même taille et la même forme que Teensy 3.2 et conserve la compatibilité avec la plupart des fonctions de broches du Teensy 3.2.
Lorsqu'il fonctionne à 600 MHz, Teensy 4.0 consomme environ 100 mA de courant. Teensy 4.0 prend en charge la mise à l'échelle dynamique de l'horloge. Contrairement aux microcontrôleurs traditionnels, où la modification de la vitesse d'horloge entraîne des débits en bauds erronés et d'autres problèmes, le matériel Teensy 4.0 et la prise en charge logicielle de Teensyduino pour les fonctions de synchronisation Arduino sont conçus pour permettre des changements de vitesse dynamiques. Les débits en bauds série, les fréquences d'échantillonnage du streaming audio et les fonctions Arduino telles que delay() et millis(), ainsi que les extensions Teensyduino comme IntervalTimer et elapsedMillis, continuent de fonctionner correctement pendant que le processeur change de vitesse. Teensy 4.0 fournit également une fonction de mise hors tension. En connectant un bouton-poussoir à la broche On/Off, l'alimentation 3,3 V peut être complètement désactivée en maintenant le bouton enfoncé pendant 5 secondes, et réactivée par une brève pression sur le bouton. Si une pile bouton est connectée au VBAT, le RTC du Teensy 4.0 continue également de suivre la date et l'heure lorsque l'alimentation est coupée. Teensy 4.0 peut également être overclocké, bien au-delà de 600 MHz !
L'ARM Cortex-M7 apporte de nombreuses fonctionnalités de processeur puissantes à une véritable plate-forme de microcontrôleur en temps réel. Cortex-M7 est un processeur superscaler à double problème, ce qui signifie que le M7 peut exécuter deux instructions par cycle d'horloge, à 600 MHz ! Bien entendu, l’exécution simultanée de deux dépend des instructions et des registres du compilateur. Les premiers tests ont montré que le code C++ compilé par Arduino a tendance à réaliser deux instructions environ 40 à 50 % du temps tout en effectuant un travail numérique intensif à l'aide d'entiers et de pointeurs. Cortex-M7 est le premier microcontrôleur ARM à utiliser la prédiction de branchement. Sur M4, les boucles et autres codes qui se branchent prennent trois cycles d'horloge. Avec M7, après l'exécution d'une boucle plusieurs fois, la prédiction de branchement supprime cette surcharge, permettant à l'instruction de branchement de s'exécuter en un seul cycle d'horloge.
La mémoire étroitement couplée est une fonctionnalité spéciale qui permet au Cortex-M7 d'accéder rapidement à un seul cycle. mémoire en utilisant une paire de bus de 64 bits de large. Le bus ITCM fournit un chemin de 64 bits pour récupérer les instructions. Le bus DTCM est en réalité une paire de chemins de 32 bits, permettant au M7 d'effectuer jusqu'à deux accès mémoire distincts dans le même cycle. Ces bus extrêmement rapides sont distincts du bus AXI principal du M7, qui accède à d'autres mémoires et périphériques. 512 Ko de mémoire sont accessibles sous forme de mémoire étroitement couplée. Teensyduino alloue automatiquement votre code d'esquisse Arduino dans ITCM et toute l'utilisation de la mémoire non malloc au DTCM rapide, à moins que vous n'ajoutiez des mots-clés supplémentaires pour remplacer la valeur par défaut optimisée. La mémoire non accessible sur les bus étroitement couplés est optimisée pour l'accès DMA par les périphériques. Étant donné que la majeure partie de l'accès à la mémoire du M7 s'effectue sur les deux bus étroitement couplés, les puissants périphériques basés sur DMA ont un excellent accès à la mémoire non TCM pour des E/S très efficaces. Le processeur Cortex-M7 de Teensy 4.0 comprend un processeur à virgule flottante. unité (FPU) qui prend en charge à la fois le "double" 64 bits et le "float" 32 bits. Avec le FPU de M4 sur Teensy 3.5 et 3.6, ainsi que les puces Atmel SAMD51, seul le flottant 32 bits est accéléré matériellement. Toute utilisation de fonctions doubles, doubles comme log(), sin(), cos() signifie des mathématiques implémentées par logiciel lent. Teensy 4.0 exécute tout cela avec du matériel FPU.
Remarque : veuillez noter que le Teensy 4.0 n'inclut pas d'en-têtes et devra être acheté séparément et soudé sur vous-même.
ARM Cortex-M7 à 600 MHz
1024 Ko de RAM (512 Ko sont étroitement couplés)
Flash 2 048 Ko (64 Ko réservés à la récupération et à l'émulation EEPROM)
2 ports USB, tous deux 480 Mbit/s
3 bus CAN (1 avec CAN FD)
2 Audio numérique I2S
1 audio numérique S/PDIF
1 SD native SDIO (4 bits)
3 SPI, tous avec FIFO de 16 mots
3 I2C, tous avec FIFO 4 octets
7 séries, toutes avec FIFO 4 octets
32 canaux DMA à usage général
31 broches PWM
40 broches numériques, toutes capables d'interruption
14 broches analogiques, 2 ADC sur puce
Accélération cryptographique
Générateur de nombres aléatoires
RTC pour la date/l'heure
FlexIO programmable
Pipeline de traitement des pixels
Déclenchement croisé périphérique
Gestion marche/arrêt