O Teensy 4.1 é a mais nova iteração da plataforma de desenvolvimento incrivelmente popular que apresenta um processador ARM Cortex-M7 a 600 MHz, com um chip NXP iMXRT1062, memória flash quatro vezes maior que o 4.0 e dois novos locais para adicionar opcionalmente mais memória. O Teensy 4.1 tem o mesmo tamanho e formato do Teensy 3.6 (2,4 pol. por 0,7 pol.) E oferece maior capacidade de E/S, incluindo Ethernet PHY, soquete de cartão SD e porta host USB. o Teensy 4.1 consome aproximadamente 100mA de corrente e fornece suporte para escalonamento dinâmico de clock. Ao contrário dos microcontroladores tradicionais, onde alterar a velocidade do clock causa taxas de transmissão erradas e outros problemas, o hardware Teensy 4.1 e o suporte de software do Teensyduino para funções de temporização do Arduino são projetados para permitir mudanças de velocidade dinamicamente. Taxas de transmissão serial, taxas de amostragem de streaming de áudio e funções do Arduino como delay() e millis(), e extensões do Teensyduino como IntervalTimer e elapsedMillis, continuam a funcionar corretamente enquanto a CPU muda de velocidade. Teensy 4.1 também oferece um recurso de desligamento. Ao conectar um botão ao pino On/Off, a fonte de alimentação de 3,3 V pode ser completamente desativada mantendo o botão pressionado por cinco segundos e ligada novamente com um breve toque no botão. Se uma célula tipo moeda estiver conectada ao VBAT, o RTC do Teensy 4.1 também continuará monitorando a data e a hora enquanto a energia estiver desligada. Teensy 4.1 também pode ter overclock, muito além de 600 MHz!
O ARM Cortex-M7 traz muitos recursos poderosos de CPU para uma verdadeira plataforma de microcontrolador em tempo real. O Cortex-M7 é um processador superscaler de dupla emissão, o que significa que o M7 pode executar duas instruções por ciclo de clock, a 600MHz! É claro que a execução de dois simultaneamente depende do compilador ordenar instruções e registros. Os benchmarks iniciais mostraram que o código C++ compilado pelo Arduino tende a atingir duas instruções cerca de 40% a 50% do tempo enquanto realiza trabalho numericamente intensivo usando números inteiros e ponteiros. O Cortex-M7 é o primeiro microcontrolador ARM a usar previsão de ramificação. No M4, loops e outros códigos que se ramificam levam três ciclos de clock. Com o M7, após a execução de um loop algumas vezes, a previsão de ramificação remove essa sobrecarga, permitindo que a instrução de ramificação seja executada em apenas um único ciclo de clock.
Memória firmemente acoplada é um recurso especial que permite ao Cortex-M7 acesso rápido de ciclo único ao memória usando um par de barramentos de 64 bits. O barramento ITCM fornece um caminho de 64 bits para buscar instruções. O barramento DTCM é na verdade um par de caminhos de 32 bits, permitindo ao M7 realizar até dois acessos à memória separados no mesmo ciclo. Esses barramentos de velocidade extremamente alta são separados do barramento AXI principal do M7, que acessa outras memórias e periféricos. 512 de memória pode ser acessada como memória fortemente acoplada. Teensyduino aloca automaticamente seu código de esboço do Arduino no ITCM e todo o uso de memória não-malloc para o DTCM rápido, a menos que você adicione palavras-chave extras para substituir o padrão otimizado. A memória não acessada nos barramentos fortemente acoplados é otimizada para acesso DMA por periféricos. Como a maior parte do acesso à memória do M7 é feita em dois barramentos fortemente acoplados, periféricos poderosos baseados em DMA têm excelente acesso à memória não TCM para E/S altamente eficiente.
O processador Cortex-M7 do Teensy 4.1 inclui um ponto flutuante unidade (FPU) que suporta "double" de 64 bits e "float" de 32 bits. Com o FPU do M4 no Teensy 3.5 e 3.6, e também nos chips Atmel SAMD51, apenas o float de 32 bits é acelerado por hardware. Qualquer uso de funções duplas, duplas como log(), sin(), cos() significa matemática implementada por software lento. O Teensy 4.1 executa tudo isso com hardware FPU.
Nota: Esteja ciente de que o Teensy 4.1 não inclui conectores e precisará ser adquirido separadamente e soldado em você mesmo.
ARM Cortex-M7 a 600 MHz
1.024K de RAM (512K fortemente acoplados)
8 Mbyte Flash (64K reservados para recuperação e emulação de EEPROM)
Porta USB
2 chips mais memória de programa
55 pinos de E/S no total
3 barramentos CAN (1 com CAN FD)
Áudio Digital 2 I2S
1 áudio digital S/PDIF
1 SD nativo SDIO (4 bits)
3 SPI, todos com FIFO de 16 palavras
7 sinais de pad SMT inferiores
8 portas seriais
32 canais DMA de uso geral
35 pinos PWM
42 E/S compatíveis com placa de ensaio
18 entradas analógicas
Aceleração Criptográfica
Gerador de números aleatórios
RTC para data/hora
FlexIO programável
Pipeline de processamento de pixels
Disparo cruzado periférico
10/100 Mbit DP83825 PHY (6 pinos)
Soquete para cartão microSD
Gerenciamento de ligar/desligar