Teensy 4.0 placa dezvoltare este ultima versiune Teensy si ofera cel mai rapid microcontroller alaturi de periferice puternice intr-un format de 1.4 x 0.77 inch. Pe placa se afla un procesor ARM Cortex-M7 de 600MHz cu un chip NXP iMXRT1062, fiind cel mai rapid microcontroller la ora actuala.
Teensy 4.0 are aceeasi dimensiune si forma ca Teensy 3.2 si pastreaza compatibilitatea cu majoritatea functiilor pinilor de la aceasta versiune. Cand opereaza la 600MHz, Teensy 4.0 consuma aproximativ 100mA. Ofera suport pentru scalarea dinamica a frecventei. Spre deosebire de microcontrollerele traditionale, acolo unde frecventa produce rate baud gresite si alte probleme, partea de hardware de la Teensy 4.0 si suportul software al Teensyduino pentru functiile de sincronizare Arduino permit schimbari dinamice de viteza. Ratele baud seriale, frecventa de esantionare la difuzarea audio si functiile Arduino ca delay() si millis(), precum si extensiile Teensyduino, ca IntervalTimer si elapsedMillis, continua sa functiuneze corespunzator in timp ce procesorul isi schimba frecventa.
Teensy 4.0 placa dezvoltare ofera, de asemenea, o functie de oprire a puterii. Conectand un buton cu apasare la pinul de On/Off, sursa de 3.3V poate fi dezactivata complet, tinand butonul apasat timp de 5 secunde, si reactivata cu o apasare obisnuita a butonului. Daca o baterie tip pastila este conectata la VBAT, RTC-ul de la Teensy 4.0 continua sa urmareasca data si timpul iar puterea este oprita.
Teensy 4.0 suporta si overclocking mult peste 600MHz. ARM Cortex-M7 aduce multe functii CPU puternice unei platforme microcontroller cu adevarat in timp real. Cortex-M7 este un procesor de superscalare cu dublu rol, in sensul ca poate executa doua instructiuni per ciclu de ceas la 600MHz. Desigur ca executarea a doua instructiuni simultan depinde de instructiunile compilatorului si de registrii. Referintele initiale au aratat ca programul in C++ compilat de Arduino ajunge la doua instructiuni in aproape 40%, pana la 50% dintre cazuri in timp ce executa intensiv operatii cu numere intregi si pointeri.
Cortex-M7 este primul microcontroller ARM care foloseste predictia ramurilor. La M4, buclele si alt cod necesita trei cicluri de ceas. Cu M7, dupa executarea unei bucle de cateva ori, predictia ramurilor indeparteaza partea superioara, permitand instructiunilor de ramura sa ruleze intr-un singur ciclu de ceas.
Memeoria strans cuplata este o caracteristica speciala care permite Cortex-M7 sa acceseze memoria intr-un singur ciclu rapid folosind o pereche de magistrale cu latime de 64 biti. Magistrala ITCM ofera o cale de 64 biti pentru preluarea instructiunilor. Magistrala DTCM este de fapt o pereche de cai de 32 biti ce permit M7 sa execute pana la doua accesari de memorie separate in acelasi ciclu. Aceste magistrale de viteza extrem de mare sunt separate de magistrala principala AXI de la M7 care acceseaza alta parte de memorie si periferice. 512K memorie poate fi accesata ca memorie strans cuplata.
Teensyduino aloca automat codul-schita Arduino in ITCM si toata memoria fara malloc la DTCM, valabil in cazul in care nu adaugi cuvinte-cheie in plus pentru a depasi ce este implicit optimizat. Memoria care nu este accesata pe magistralele strans cuplate este optimizata pentru acces DMA de periferice. Deoarece mare parte a accesului la memorie la M7 este realizat pe cele doua magistrale strans cuplate, perifericele puternice bazate pe DMA au un foarte bun acces la memoria non-TCM pentru I/O foarte eficient.
Procesorul Cortex-M7 de la Teensy 4.0 include o unitate cu punct flotant (FPU) care suporta atat double, de 64 biti, cat si float, de 32 biti. Cu FPU al M4 pe Teensy 3.5 si 3.6, precum si chip-urile Atmel SAMD51, numai float, de 32 biti, sunt accelerate de hardware. Orice utilizare a numerelor double si a functiilor double precum log(), sin() si cos() reprezinta matematica implementata in software lent. Teensy 4.0 executa toate aceste operatii cu hardware FPU.
Nota: Teensy 4.0 nu include terminatii si trebuie sa le achizitionezi separat ca sa le lipesti singur.
Specificatii:
- ARM Cortex-M7 la 600MHz
- 1024K RAM (512K foarte strans cuplat)
- 2048K Flash (64K rezervat pentru recuperare si emulare EEPROM)
- 2x porturi USB, ambele de 480MBit/sec
- 3x Magistrale CAN (1 cu CAN FD)
- 2x I2S Digital Audio
- 1x S/PDIF Digital Audio
- 1x SDIO (4 bit) nativ SD
- 3x SPI, toate cu FIFO de 16
- 3x I2C, toate cu FIFO de 4B
- 7x Seriale, toate cu FIFO de 4B
- 32x Canale DMA cu scop general
- 31x Pini PWM
- 40x Pini digitali, toti capabili de intreruperi
- 14x Pini analogici, 2x ADC-uri pe chip
- Accelerare criptografica
- Generator de numere aleatorii
- RTC pentru data/timp
- FlexIO programabil
- Conducta procesare pixeli
- Declansare incrucisata periferica
- Management pornire/oprire putere
Linkuri: