このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

SAMD ポートに関する一般的なこと

SAMD21/SAMD51 MCU ファミリーは、MicroChip社製の高性能デバイスファミリーです。SAMD21 デバイスは ARM M0+ コアを、SAMD51 デバイスは ARM Cortex M4 コアをベースにしています。これらのデバイスは、中小規模のデバイスを構築するために多くのオンチップ I/O ユニットを提供します。

豊富なボード

SAMD21/SAMD51 チップを搭載したモジュールやボードは、様々なところから多数提供されています。MicroPython は、できるだけ多くのボードやモジュールで動作する汎用ポートの提供を目指していますが、制限がある場合があります。Adafruit ItsyBitsy M0 Express、Adafruit Feather M4 Express、Adafruit ItsyBitsy M4 Express 開発ボードが、ポートリファレンスのボードとして使われています(たとえば、テストはこれらのボードで行っています)。利用するボードについては、データシート、回路図、その他の参考資料を用意し、ボード固有の機能を調べられるようにしておいてください。

現在のところ、ポートでサポートしているボードは次のとおりです:

  • ADAFRUIT FEATHER M0 EXPRESS

  • ADAFRUIT FEATHER M4 EXPRESS

  • ADAFRUIT ITSYBITSY M0 EXPRESS

  • ADAFRUIT ITSYBITSY M4 EXPRESS

  • ADAFRUIT TRINKET M0

  • MINISAM M4

  • SAMD21 XPLAINED PRO

  • SEEED WIO TERMINAL

  • SEEED XIAO

一般的な SAMD ポートを作成し、可能な限り多くのボードをサポートするために、次の設計と実装の決定が行われました。

  • GPIO ピン番号はボードがつけている番号に基づいています。ボードのピンと実際の SAMD21/SAMD51 ピンの対応を見つけるには、ボードのマニュアル/ピン図を用意してください。上記のボードについて、ボードのピン番号とGPIO番号の関係は、 SAMD の machine モジュールにおけるピン配列 で確認できます。

  • MicroPython で使えるピンは、ボード定義ファイルに記載されているものに限定されます。

技術仕様および SoC データシート

SAMD21/SAMD51 チップのデータシートおよびその他の参考資料は、ベンダーのサイト https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/32-bit-mcus/sam-32-bit-mcus から入手できます。これらは、チップの技術仕様、機能、動作モード、内部機能などの主要な参考資料となっています。

便宜上、いくつかの技術仕様を以下に示します。

SAMD21:

  • アーキテクチャ: ARM Cortex M0+

  • CPU 周波数: 最大 48MHz

  • 使用可能なRAMの合計: 最大 32kB

  • 内部フラッシュROM: 最大 256kB (ボードによっては追加の外部 SPI フラッシュがあります

  • GPIO: 最大 52 (GPIO は外部フラッシュROM、UART など、他の機能と多重化されています)

  • UART: 最大6つのシリアルデバイス(UART、SPI、I2C として利用可能)

  • I2S: 1つの I2S インタフェース

  • ADC: 1 (16 チャンネルの 12 ビット SAR ADC)

  • プログラミング: USB から BootROM ブートローダーを使用。

SAMD51:

  • アーキテクチャ: ARM Cortex M4

  • CPU 周波数: 最大 120MHz

  • 使用可能なRAMの合計: 最大 256kB

  • 内部フラッシュROM: 最大 1MB (ボードによっては追加の外部 SPI フラッシュがあります

  • GPIO: 最大 99 (GPIO は外部フラッシュROM、UART など、他の機能と多重化されています)

  • UART: 最大8つのシリアルデバイス(UART、SPI、I2C として利用可能)

  • I2S: 1つの I2S インタフェース

  • ADC: 2 (16 チャンネルの 12 ビット SAR ADC)

  • プログラミング: USB から BootROM ブートローダーを使用。

詳細については SAMD21/SAMD51 データシートまたはリファレンスマニュアルを参照してください。

現時点で、MicroPython の SAM21 ポートは 256kB のフラッシュを必要とし、そのうち 64kB は小さなファイルシステムに使います。SAM51 ポートは 512kB のフラッシュを必要とし、そのうち 384kB を超える残りすべてのフラッシュはファイルシステムに使います。いくつかのボードには追加のフラッシュメモリがあり、追加のファイルスペースとして使えます。