-13%

Teensy 4.0 開發板 600 MHz 的 ARM Cortex-M7 怪獸超跑等級 微控制器

原始價格:NT$1,211。目前價格:NT$1,050。 (未稅)

狀態: 已售完 貨號: DDB-006222 分類: 標籤: , , , ,

描述

Teensy 4.0 開發板 600 MHz 的 ARM Cortex-M7 怪獸超跑等級 微控制器

Teensy 4.0 是最新的 Teensy,它提供了速度最快的微控制器和功能強大的外設,其尺寸為Teensy 1.4(0.7英寸)。它具有600MHz的ARM Cortex-M7處理器和NXP iMXRT1062芯片,這是當今最快的微控制器。Teensy 4.0與Teensy 3.2的大小和形狀相同,並保留了與Teensy 3.2上大多數銷功能的兼容性。

處理器

Teensy 4.0具有600 MHz的ARM Cortex-M7處理器和NXP iMXRT1062芯片,這是當今最快的微控制器。

當以600 MHz運行時,Teensy 4.0消耗大約100mA電流。Teensy 4.0提供了對動態時鐘縮放的支持。與傳統的微控制器不同,在傳統的微控制器中,改變時鐘速度會導致錯誤的波特率和其他問題,Teensy 4.0硬件和Teensyduino對Arduino計時功能的軟件支持旨在動態改變速度。串行波特率,音頻流採樣率以及Arduino函數(例如delay()和millis())以及Teensyduino的擴展(例如IntervalTimer和elapsedMillis)在CPU改變速度時仍可正常工作。Teensy 4.0還提供了電源關閉功能。通過將按鈕連接到On / Off引腳,可以通過按住按鈕5秒鐘來完全禁用3.3V電源,並通過短暫按一下按鈕將其重新打開。如果將鈕扣電池連接到VBAT,則在電源關閉時,Tensys 4.0的RTC也會繼續跟踪日期和時間。Teensy 4.0也可以超頻,遠遠超過600MHz!

ARM Cortex-M7 為真正的實時微控制器平台帶來了許多強大的 CPU 功能。Cortex-M7 是 dual-issue  超純量處理器,這意味著M7可以在600MHz的每個時鐘週期執行兩條指令!當然,同時執行兩個取決於編譯器的排序指令和寄存器。最初的基準測試表明,由Arduino編譯的C ++代碼在使用整數和指針執行數字密集型工作時,往往會在大約40%到50%的時間內實現兩條指令。Cortex-M7是第一個使用分支預測的ARM微控制器。在M4上,循環和其他分支的代碼需要三個時鐘週期。使用M7,在執行了幾次循環之後,分支預測消除了該開銷,從而使分支指令僅在單個時鐘週期內運行。

緊密耦合內存是一項特殊功能,它允許Cortex-M7使用一對64位寬的總線快速單週期訪問內存。ITCM總線提供了一條用於獲取指令的64位路徑。DTCM總線實際上是一對32位路徑,從而允許M7在同一周期內最多執行兩次獨立的存儲器訪問。這些極高速的總線與M7的主AXI總線分開,後者可訪問其他內存和外圍設備。512K的內存可以作為緊密耦合的內存訪問。Teensyduino會自動將您的Arduino草圖代碼分配到ITCM,所有非分配內存的使用都分配給快速DTCM,除非您添加額外的關鍵字來覆蓋優化的默認值。緊密耦合總線上未訪問的存儲器針對外設的DMA訪問進行了優化。由於M7的大部分內存訪問都是在兩條緊密耦合的總線上完成的,

Teensy 4.0的Cortex-M7處理器包括一個浮點單元(FPU),它支持64位“ double”和32位“ float”。使用Teensy 3.5和3.6上的M4 FPU以及Atmel SAMD51芯片,僅32位浮點數在硬件上得到了加速。任何使用double,double函數(例如log(),sin(),cos())的方法都意味著軟件實現的數學運算速度很慢。Teensy 4.0使用FPU硬件執行所有這些操作。

技術指標

  • 600 MHz時的ARM Cortex-M7
  • 1024K RAM(512K緊密耦合)
  • 2048K閃存(64K保留用於恢復和EEPROM仿真)
  • 2個USB端口,均為480 MBit / sec
  • 3條CAN總線(1條帶有CAN FD)
  • 2 I2S數字音頻
  • 1個S / PDIF數字音頻
  • 1個SDIO(4位)本機SD
  • 3個SPI,全部帶有16字FIFO
  • 3個I2C,全部帶有4字節FIFO
  • 7個串行,全部帶有4字節FIFO
  • 32個通用DMA通道
  • 31個PWM引腳
  • 40個數字引腳,均可中斷
  • 14個模擬引腳,2個片上ADC
  • 加密加速
  • 隨機數發生器
  • RTC日期/時間
  • 可編程FlexIO
  • 像素處理管道
  • 外圍交叉觸發
  • 電源開/關管理

引腳排列

Teensy 4.0與Teensy 3.2的大小和形狀相同,並保留了與Teensy 3.2上大多數銷功能的兼容性。

 

功耗與管理

當以600 MHz運行時,Teensy 4.0消耗大約100 mA電流。

Teensy 4.0提供了對動態時鐘縮放的支持。與傳統的微控制器不同,在傳統的微控制器中,改變時鐘速度會導致錯誤的波特率和其他問題,Teensy 4.0硬件和Teensyduino對Arduino計時功能的軟件支持旨在動態改變速度。串行波特率,音頻流採樣率,Arduino函數(如delay()和millis())以及Teensyduino的擴展程序(如IntervalTimer和elapsedMillis)在CPU更改速度時仍可正常工作。

Teensy 4.0還提供了電源關閉功能。通過將按鈕連接到On / Off引腳,可以通過按住按鈕5秒鐘來完全禁用3.3V電源,並通過短暫按一下按鈕將其重新打開。如果將鈕扣電池連接到VBAT,則在電源關閉時,Tensys 4.0的RTC也會繼續跟踪日期和時間。

Teensy 4.0也可以超頻,遠遠超過600 MHz!

Cortex-M7處理器詳細信息

ARM Cortex-M7為真正的實時微控制器平台帶來了許多強大的CPU功能。

Cortex-M7是雙問題超標度處理器,這意味著M7可以在600 MHz的每個時鐘週期執行2條指令!當然,同時執行2取決於編譯器的排序指令和寄存器。最初的基準測試表明,由Arduino編譯的C ++代碼在使用整數和指針執行數字密集型工作時,往往會在大約40%到50%的時間內完成2條指令。

Cortex-M7是第一個使用分支預測的ARM微控制器。在M4上,循環和其他分支的代碼需要3個時鐘週期。使用M7,在執行了幾次循環之後,分支預測消除了該開銷,從而使分支指令僅在單個時鐘週期內運行。

緊密耦合內存是一項特殊功能,它允許Cortex-M7使用一對64位寬的總線快速單週期訪問內存。ITCM總線提供了一條用於獲取指令的64位路徑。DTCM總線實際上是一對32位路徑,從而允許M7在同一周期內執行多達2個單獨的存儲器訪問。這些極高速的總線與M7的主AXI總線分開,後者可訪問其他內存和外圍設備。512K的內存可以作為緊密耦合的內存訪問。Teensyduino會自動將您的Arduino草圖代碼分配到ITCM,所有非分配內存的使用都分配給快速DTCM,除非您添加額外的關鍵字來覆蓋優化的默認值。

緊密耦合總線上未訪問的存儲器針對外設的DMA訪問進行了優化。由於M7的大部分內存訪問是在2條緊密耦合的總線上完成的,因此基於功能強大的DMA的外設可以出色地訪問非TCM內存,從而實現高效的I / O。

Teensy 4.0的Cortex-M7處理器包括一個浮點單元(FPU),它支持64位“ double”和32位“ float”。使用Teensy 3.5和36上的M4 FPU以及Atmel SAMD51芯片,僅32位浮點數在硬件上得到了加速。任何使用double,double函數(例如log(),sin(),cos())的方法都意味著軟件實現的數學運算速度很慢。Teensy 4.0使用FPU硬件執行所有這些操作。

內存佈局

Teensy 4.0具有1 MB的RAM和2 MB的閃存。RAM分為2個物理上獨立的存儲區。

內存以下列方式使用。

  • 初始化變量 -這些是全局變量和靜態變量,它們定義了非零值。它們的數據在啟動時從Flash複製到RAM1。
  • 零位變量 -所有其他全局變量和靜態變量。
  • 局部變量 -局部變量,以及函數調用的返回地址和中斷的保存狀態都放在從RAM1頂部開始並向下增長的堆棧中。局部變量的空間量是FASTRUN代碼,初始化變量和清零變量未使用的RAM1部分。
  • DMAMEM變量 -用“ DMAMEM”定義的變量位於RAM2的開頭。通常在這裡放置緩衝區和大數組。這些變量無法初始化。
  • PROGMEM變量 -用“ PROGMEM”定義的變量僅放置在閃存中。可以正常訪問它們。
  • new / malloc() -C ++“ new”和C malloc()分配的內存來自RAM2,在DMAMEM變量之後立即開始。
  • FASTRUN代碼 -用“ FASTRUN”定義的功能分配在RAM1的開頭。副本也存儲在Flash中,並在啟動時復製到RAM1中。Cortex-M7 ITCM總線可訪問這些功能,以實現最快的性能。默認情況下,未定義任何內存類型的函數將被視為FASTRUN。通常不使用少量內存,因為ITCM總線必須訪問32K倍數的內存區域。
  • PROGMEM代碼 -由“ PROGMEM”定義的函數直接從Flash執行。如果Cortex-M7緩存尚未保存該功能的副本,則將閃存讀入M7的緩存時會導致延遲。PROGMEM應該用於啟動代碼和其他速度不重要的功能。
  • EEPROM仿真 -保留60K閃存用於EEPROM仿真。通常,使用Arduino EEPROM庫,但也支持AVR eeprom功能,以兼容舊代碼。在上傳過程中,不會擦除或更改閃存的這一部分,因此保留了保存在“ EEPROM”中的數據。
  • 還原程序 -按下Teensy 4.0按鈕15秒鐘(紅色LED上的快速閃爍將告訴您釋放的時間),除此4K以外的所有Flash均被擦除,並複制此已知良好的LED閃爍程序到Flash的開頭。此頂級4K是特殊的只讀內存,因此您始終可以使用這15秒的按下按鈕來完全擦除Teensy 4.0,並將其還原到已知良好的閃爍程序中。

待辦事項:使用FASTRUN,PROGMEM,F(),DMAMEM在此處添加代碼示例

RAM1由2條超高速64位總線訪問,ITCM用於運行代碼,而DTCM用於訪問數據。為了獲得最高的性能,請將代碼和變量放在RAM1中。緩存不與RAM1一起使用,因為RAM1中的所有位置都以與M7處理器的緩存相同的速度訪問。

RAM2由64位AXI總線訪問,該總線以CPU時鐘速度的1/4運行。雖然比ITCM和DTCM慢,但仍然非常快。通常,數據緩衝區和大型陣列位於RAM2中。該內存使用ARM Cortex-M7數據緩存。使用DMA傳輸時,必須使用數據緩存管理功能來刷新或刪除緩存的數據。來自外設的DMA可以訪問RAM2,而不會與ITCM和DTCM總線對RAM1的極高帶寬使用產生競爭。

FlexSPI訪問Flash,後者將整個Flash映射到M7的內存中。可以讀取Flash芯片中的任何位置,就好像它是普通存儲器一樣。使用緩存,因此通常很少有性能損失。但是緩存未命中確實需要很多時鐘週期才能填充閃存芯片中的緩存行。通常,應僅從閃存訪問大型表,啟動代碼以及其他對速度沒有要求的資源。只能使用F(“ string”)語法在Flash中放置字符串常量。

技術文件與說明

Teensy 4.0 is the latest Teensy, offering the fastest microcontroller and powerful peripherals in the Teensy 1.4 by 0.7 inch form factor. It features an ARM Cortex-M7 processor at 600MHz, with a NXP iMXRT1062 chip, the fastest microcontroller available today. Teensy 4.0 is the same size and shape as Teensy 3.2, and retains compatibility with most of the pin functions on Teensy 3.2.

Technical Specifications

  • ARM Cortex-M7 at 600 MHz
  • 1024K RAM (512K is tightly coupled)
  • 2048K Flash (64K reserved for recovery & EEPROM emulation)
  • 2 USB ports, both 480 MBit/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 interrrupt 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

The ARM Cortex-M7 brings many powerful CPU features to a true real-time microcontroller platform. Cortex-M7 is a dual-issue superscaler processor, meaning the M7 can execute two instructions per clock cycle, at 600MHz! Of course, executing two simultaneously depends upon the compiler ordering instructions and registers. Initial benchmarks have shown C++ code compiled by Arduino tends to achieve two instructions about 40% to 50% of the time while performing numerically intensive work using integers and pointers. Cortex-M7 is the first ARM microcontroller to use branch prediction. On M4, loops and other code which much branch take three clock cycles. With M7, after a loop has executed a few times, the branch prediction removes that overhead, allowing the branch instruction to run in only a single clock cycle.

商品評價

目前沒有評價。


搶先評價 “Teensy 4.0 開發板 600 MHz 的 ARM Cortex-M7 怪獸超跑等級 微控制器”