elchikaタグ百科

Arduino_Zero

Arduinoシリーズのマイコンボード。ArduinoとAtmelによる共同開発で、初心者向けボードArduino Unoと同じフォームファクタで作られている。

概要

Arduino Zeroは、Atmel社と共同で設計された32bitのArduinoボードである。

マイコンには、ARM Cortex M0+コアを搭載したAtmelのSAMD21 MCUを使用しており、優れた処理速度や高性能さが求められるプロジェクト開発に向いている。

Arduinoシリーズの機能拡張ボードはZeroの他に、Mega 2560DueMKR ZEROがある。

特徴

Arduino ZeroはUnoのフォームファクタで作られた、32bit ARM Cortex M0+コアのATSAMD21G18を搭載したマイコンボードである。

価格は42.90ドル。

サイズは68mm×53mmで、USBコネクタと電源ジャックははみ出して取り付けられている。

3つのネジ穴によりボートを固定できる。

オンボード

Zeroの主なコンポーネントは以下のとおり。

  • ATSAMD21G18
  • EDBG
  • GPIOピン:20
  • USBポート
    • ネイティブUSBポート
    • プログラミングポート
  • リセットボタン

マイコン

Zeroは32bit ARM Cortex M0+コアのATSAMD21G18Aと、オンボードICEとしてEDBGを搭載している。

SAMD21

SAMD21は32bit ARM Cortex M0+コアを使用したマイコンチップである。

ARMコアのメリットとして以下の点が挙げられる。

  • 単一のCPUクロック内で4byte幅のデータを操作できる
  • 48MHzのCPUクロック
  • 12チャネルのDMAコントローラ
  • クロック/カレンダー機能付き32bitのリアルタイムカウンタ(RTC)
  • 32bitのCRCジェネレータ
  • 2チャネルのインターICサウンド(I2S)インターフェース
  • ペリフェラルタッチコントローラ(PTC)

EDBG

Zeroの最大の特徴は、Atmel Embedded Debugger(EDBG)というオンボードICEを搭載していることである。

これはCMSIS-DAPの通信プロトコルを使用しており、追加のハードウェアなしでデバッグインターフェースを提供する。

EDBGはデバイスとブートローダのプログラミングに使用できる仮想COMポートもサポートしている。

電源

Zeroへの給電方法は、USB接続か外部電源(AC/DCアダプタ、バッテリ)接続である。複数の電源に同時に接続された場合は、最適な電源を自動的に選択する。

電源を接続すると「ON LED」が点灯する。

また、Zeroは3.3Vで駆動するボードで、1.0Arduinoピン配列に準拠した仕様である。そのため3.3V用の全てのシールドと互換性がある。

USB接続

ZeroのUSBコネクタはmicro USB-Bである。

パソコンに接続するときはUSB A-microBタイプを使用する。5Vでの電源供給が可能。

AC/DCアダプタ

AC/DCアダプタ経由で電源を供給する場合、2.1mmセンタープラスプラグをオンボードの電源プラグに差し込む。

7~12Vでの電源供給が可能。

バッテリ

バッテリから電源を供給する場合、GNDピンにマイナス側を、Vinピンにプラス側を接続する。

GNDピンとVinピンを反対に接続するとボードが壊れるので注意。

7~12Vでの電源供給が可能。

電源ピン

  • Vin:外部電源から供給する場合、プラス側を接続するピン
  • GND:外部電源から供給する場合、マイナス側を接続するピン
  • 5V:オンボードレギュレータによって調整された5Vを出力
  • 3V3:オンボードレギュレータによって調整された3.3Vを出力。最大電流は50mA。SAMD21への電源供給にも使用されている
  • IOREF:基本的にはI/Oピンと同じ3.3Vで出力するが、5V駆動のシールドを接続した場合は電圧トランスレータによって5Vに調整して出力される

USBポート保護用ポリヒューズ

接続しているパソコンのUSBポートをショートや過電流から守るリセット可能なポリヒューズを備えている。

USBポートに500mAを超える電流が流れると、その状態が解消するまで自動的にヒューズが切断される。

入出力

デジタル入出力できるGPIOピンが20ピンで、各ピン最大7mAまでの供給・受信が可能。20~50kΩの内部プルアップ抵抗を備えている。
全てのピンは3.3Vで動作する。

20GPIOのうち、6本のピンで最大12bitの分解能を持つアナログ入力が可能。

オンボードLED

他の多くのArduinoボードと同じく、13ピンはオンボードのLEDに接続されている。

HIGHのときに点灯し、LOWのときに消灯する。

開発環境

Arduinoの開発環境についてを参照。

Zeroには、USBポートが2つある。

  • プログラミングポート:EDBGをUSB-SWDチップとして使用
  • ネイティブUSBポート:SAMD21に直接つながっている

どちらのUSBポートにつないでも開発は可能だが、プログラミングポートの使用が推奨されている。

また、ブートローダへの書き込みはプログラミングポートから行う。

リセットについて

他のArduinoでは、IDEのシリアルモニタが開かれるたびにリセットされるように設計されているが、Zeroはこの方法でリセットされない。

スケッチを再起動するにはボード自体のリセットボタンを押す必要がある。

もしくはリセットピンをLOWにすることでもリセットが可能。

仕様

バージョン Arduino Zero
CPU ATSAMD21G18
メモリ 内蔵フラッシュメモリ: 256KB / 32KB SRAM
動作電圧 3.3V
入力電圧 7V ~ 12V(制限値 6V ~ 20V)
IO デジタル入出力 ×20(内12ピンはPWM出力が可能)PWM出力: 2と7以外の全てのピン / アナログ入力: 6(12bit ADC)アナログ出力: 1(10bit DAC)
外部割込み 4以外の全てのデジタルピン
UART 2(ネイティブ, プログラミング)
LED POWER, TX, RX, DEBUG, LED(13番ピン)
USBポート microUSB Type-B ×2
ボタン リセット
DC電流 IOピンあたり: 7mA
クロック速度 48MHz
電源 USB接続(5V), 外部電源(7V ~ 12V)
サイズ 68mm × 53mm / 重さ: 12g

参考