Το Teensy 4.0 διαθέτει επεξεργαστή ARM Cortex-M7 στα 600 MHz, με τσιπ NXP iMXRT1062, τον ταχύτερο μικροελεγκτή που διατίθεται σήμερα. Το Teensy 4.0 έχει το ίδιο μέγεθος και σχήμα με το Teensy 3.2 και διατηρεί συμβατότητα με τις περισσότερες από τις λειτουργίες pin στο Teensy 3.2.
Όταν λειτουργεί στα 600 MHz, το Teensy 4.0 καταναλώνει ρεύμα περίπου 100 mA. Το Teensy 4.0 παρέχει υποστήριξη για δυναμική κλιμάκωση ρολογιού. Σε αντίθεση με τους παραδοσιακούς μικροελεγκτές, όπου η αλλαγή της ταχύτητας του ρολογιού προκαλεί λανθασμένους ρυθμούς baud και άλλα προβλήματα, το υλικό Teensy 4.0 και η υποστήριξη λογισμικού του Teensyduino για τις λειτουργίες χρονισμού Arduino έχουν σχεδιαστεί για να επιτρέπουν δυναμικές αλλαγές ταχύτητας. Οι ρυθμοί σειριακής baud, οι ρυθμοί δειγμάτων ροής ήχου και οι λειτουργίες Arduino όπως η καθυστέρηση() και η millis(), και οι επεκτάσεις του Teensyduino όπως το IntervalTimer και το elapsedMillis, συνεχίζουν να λειτουργούν σωστά όσο η CPU αλλάζει ταχύτητα. Το Teensy 4.0 παρέχει επίσης δυνατότητα διακοπής ρεύματος. Με τη σύνδεση ενός κουμπιού στην ακίδα On/Off, η τροφοδοσία 3,3 V μπορεί να απενεργοποιηθεί πλήρως κρατώντας πατημένο το κουμπί για 5 δευτερόλεπτα και να ενεργοποιηθεί ξανά με ένα σύντομο πάτημα του κουμπιού. Εάν μια κυψέλη νομίσματος είναι συνδεδεμένη στο VBAT, το RTC του Teensy 4.0 συνεχίζει επίσης να παρακολουθεί την ημερομηνία και την ώρα ενώ η τροφοδοσία είναι απενεργοποιημένη. Το Teensy 4.0 μπορεί επίσης να υπερχρονιστεί, πολύ πέρα από τα 600 MHz!
Το ARM Cortex-M7 φέρνει πολλές ισχυρές δυνατότητες CPU σε μια πραγματική πλατφόρμα μικροελεγκτή πραγματικού χρόνου. Ο Cortex-M7 είναι ένας επεξεργαστής superscaler διπλής έκδοσης, που σημαίνει ότι ο M7 μπορεί να εκτελέσει δύο εντολές ανά κύκλο ρολογιού, στα 600MHz! Φυσικά, η εκτέλεση δύο ταυτόχρονα εξαρτάται από τον μεταγλωττιστή που παραγγέλνει οδηγίες και καταχωρήσεις. Τα αρχικά σημεία αναφοράς έδειξαν ότι ο κώδικας C++ που έχει μεταγλωττιστεί από το Arduino τείνει να επιτυγχάνει δύο εντολές περίπου στο 40% έως 50% του χρόνου, ενώ εκτελεί αριθμητικά εντατική εργασία χρησιμοποιώντας ακέραιους αριθμούς και δείκτες. Ο Cortex-M7 είναι ο πρώτος μικροελεγκτής ARM που χρησιμοποιεί πρόβλεψη διακλάδωσης. Στο M4, οι βρόχοι και ο άλλος κώδικας που πολύ διακλαδίζεται χρειάζονται τρεις κύκλους ρολογιού. Με το M7, αφού ένας βρόχος έχει εκτελεστεί μερικές φορές, η πρόβλεψη διακλάδωσης αφαιρεί αυτό το γενικό κόστος, επιτρέποντας στην εντολή διακλάδωσης να εκτελείται σε έναν μόνο κύκλο ρολογιού.
Το Tightly Coupled Memory είναι ένα ειδικό χαρακτηριστικό που επιτρέπει στον Cortex-M7 γρήγορη πρόσβαση ενός κύκλου στη μνήμη χρησιμοποιώντας ένα ζεύγος διαύλων πλάτους 64 bit. Ο δίαυλος ITCM παρέχει μια διαδρομή 64 bit για τη λήψη οδηγιών. Ο δίαυλος DTCM είναι στην πραγματικότητα ένα ζεύγος διαδρομών 32 bit, που επιτρέπει στο M7 να εκτελεί έως και δύο ξεχωριστές προσβάσεις στη μνήμη στον ίδιο κύκλο. Αυτά τα λεωφορεία εξαιρετικά υψηλής ταχύτητας είναι ξεχωριστά από τον κύριο δίαυλο AXI της M7, ο οποίος έχει πρόσβαση σε άλλη μνήμη και περιφερειακά. Η πρόσβαση σε 512K μνήμης είναι δυνατή ως στενά συνδεδεμένη μνήμη. Το Teensyduino εκχωρεί αυτόματα τον κώδικα σκίτσου του Arduino στο ITCM και σε όλη τη χρήση της μνήμης που δεν είναι malloc στο γρήγορο DTCM, εκτός εάν προσθέσετε επιπλέον λέξεις-κλειδιά για να παρακάμψετε τη βελτιστοποιημένη προεπιλογή. Η μνήμη που δεν είναι προσβάσιμη στους στενά συνδεδεμένους διαύλους είναι βελτιστοποιημένη για πρόσβαση DMA από περιφερειακά. Επειδή το μεγαλύτερο μέρος της πρόσβασης στη μνήμη του M7 γίνεται στους δύο στενά συνδεδεμένους διαύλους, τα ισχυρά περιφερειακά που βασίζονται σε DMA έχουν εξαιρετική πρόσβαση στη μνήμη εκτός TCM για εξαιρετικά αποδοτικές εισόδους/εξόδους.
Ο επεξεργαστής Cortex-M7 του Teensy 4.0 περιλαμβάνει μια μονάδα κινητής υποδιαστολής (FPU) που υποστηρίζει τόσο "διπλό" και 32 bit "float". Με το FPU του M4 σε Teensy 3.5 & 3.6, καθώς και τα τσιπ Atmel SAMD51, η επιτάχυνση υλικού μόνο 32 bit επιταχύνεται. Οποιαδήποτε χρήση διπλών, διπλών συναρτήσεων όπως log(), sin(), cos() σημαίνει αργή εφαρμογή λογισμικού μαθηματικών. Το Teensy 4.0 εκτελεί όλα αυτά με υλικό FPU.
Features
- ARM Cortex-M7 at 600MHz
- 1024K RAM (512K is tightly coupled)
- 2048K Flash (64K reserved for recovery & EEPROM emulation)
- 2 USB ports, both 480MBit/sec
- 3 CAN Bus (1 with CAN FD)
- 2 I2S Digital Audio
- 1 S/PDIF Digital Audio
- 1 SDIO (4-bit) native SD
- 3 SPI, all with 16-word FIFO
- 3 I2C, all with 4-byte FIFO
- 7 Serial, all with 4-byte FIFO
- 32 general-purpose DMA channels
- 31 PWM pins
- 40 digital pins, all interrupt capable
- 14 analog pins, 2 ADCs on chip
- Cryptographic Acceleration
- Random Number Generator
- RTC for date/time
- Programmable FlexIO
- Pixel Processing Pipeline
- Peripheral cross triggering
- Power On/Off management
- Datasheet (MIMXRT1062 DVL6A)
- Manual (MIMXRT1062 DVL6A)
- Datasheet (W25Q16JV-DTR)
- Teensy Quick Start
- Teensyduino Software
- Pin Assignment Charts
- Teensy Help Page and FAQ