概要
3.3V 32ビットの 84 MHzの ARMコア
アトメルSAM3X8E ARMのCortex-M3のCPUを利用したボード。
これは、32ビットのARMコアマイコンにを利用した初めてのボードです。
ポート構成は、54本のデジタル入力/出力ピン(うち12 本はPWM出力として使用可能)、12本のアナログ入力、4本のUART(ハードウェアシリアルポート使用)です。
CPUクロックは84 MHzで、USB OTG可能な接続部分をもち、2 本のDAC(デジタルアナログ) 、2本の TWI、電源ジャック、SPIヘッダ、JTAGヘッダ、リセットボタン、消去ボタンを搭載しています。
注意:3.3Vで動作し、I / Oピンが許容できる最大電圧は3.3Vです。(3.3Vよりも高い電圧を印加すると、基板に損傷を与える可能性があります。)
ボードは、マイクロコントローラをサポートするために必要なすべてのものが含まれています。
AC-DCアダプタまたはバッテリとマイクロUSBケーブルや電源を接続するだけで使用できます。
仕様
●Microcontroller ATmega328P
●Operating Voltage 5V
●Input Voltage (recommended) 7-12V
●Input Voltage (limit) 6-20V
●Digital I/O Pins 14 (of which 6 provide PWM output)
●PWM Digital I/O Pins 6
●Analog Input Pins 6
●DC Current per I/O Pin 20 mA
●DC Current for 3.3V Pin 50 mA
●Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader
●SRAM 2 KB (ATmega328P)
●EEPROM 1 KB (ATmega328P)
●Clock Speed 16 MHz
●Length 68.6 mm
●Width 53.4 mm
●Weight 25 g
ドキュメントダウンロード
EAGLE FILES IN .ZIP
SCHEMATICS IN .PDF
ARMコアのメリット
32ビット・コアは、4バイト幅のデータの操作を可能にします。(詳細についてはint型のページを)。
84MhzでのCPUクロック。
SRAMの96キロバイト。
コード用のフラッシュメモリの512キロバイト。
DMAコントローラは、メモリのタスクをCPUとは別に作動します。
電源
USBコネクタ、または外部電源で給電することができます。(電源は自動的に選択されます。)
AC-DCアダプタジャックは2.1φのセンタープラス型のプラグを利用します。また、バッテリからのリード線は、電源コネクタのGNDとVinのピンヘッダーに挿入することができます。
電圧は6〜20ボルトを使用することが可能です。
7V未満の場合は5Vピンより供給することも可能です。
しかし、5V未満電源を供給すると動作が不安定になることがあります。
12V以上を与えた場合はボード上の電圧レギュレータがボードを過熱し、損傷することがあります。(推奨範囲は7〜12ボルトです。)
電源ピンは、次のとおりです。
VIN. 外部電源5Vを供給します。
5V . ボード上から安定化5Vを出力します。
3V3. レギュレータにより生成された3.3ボルトの電圧を利用できます。最大消費電流は800ミリアンペアです。このレギュレータはまたSAM3Xマイクロコントローラへの電力供給を提供します。
GND. グランド端子。
IOREF. マイクロコントローラが動作する電圧リファレンスを提供します。
メモリ
SAM3Xは、コードを格納するためのフラッシュメモリの512キロバイト(256キロバイトの2ブロック)をもっています。ブートローダは工場出荷時に書き込まれており、専用のROMメモリに格納されています。
利用可能なSRAMは、64キロバイトと32キロバイトの連続した2つのバンクにより96キロバイトです。
すべての利用可能なメモリ(フラッシュ、RAMおよびROM)は、フラットなアドレス空間として直接アクセスすることができます。
ボード上の消去ボタンで、SAM3Xのフラッシュメモリを消去することが可能です。
これは、MCU上に現在ロードされているスケッチを削除します。数秒間消去ボタンを押し続けることで作動します。
入出力
デジタルI / O:0から53までのピン
54本のデジタルピンはすべてArduinoのpinMode() 、digitalWrite() 、およびdigitalRead()関数を利用することが可能です。
すべてのピンは3.3ボルトで動作します。
各ピンは、3mAまたは15mAの電流が供給されます。またはピンに応じて、6ミリアンペアまたは9ミリアンペアの電流を受けることができます。
それらのピンは、100KΩの内部プルアップ抵抗を持っています。
Serial:0(RX)および1(TX)
Serial1:19(RX)と18(TX)
Serial2:17(RX)と16(TX)
Serial3:15(RX)と14(TX)
すべては、3.3 V TTLレベルです。また0と1番ピンがATmega16U2のUSB-TTLシリアルチップに接続されています。
PWM:2〜13、
analogWrite()関数によって、8ビットのPWM出力として使用可能です。analogWriteResolution()関数によってPWMの分解能はで変更することができます。
SPI:SPIヘッダ(他のArduinoボードではICSPヘッダピン)
SPI通信をサポートするSPIライブラリを使用することが可能です。
SPIヘッダは、他のSPIデバイスと通信を行う機能のみで、インサーキットイミュレータなどを利用してプログラムを書き込むことはできません。
Extended SPI methods for Due.
CAN:CANRXとCANTX
CAN通信プロトコルをサポートするピンですがまだArduinoのAPIでサポートされていません。
“L” LEDは:13
標準に装着されているLEDは13番ピンに割り当てられています。Active HIGHでの制御となりHIGHで点灯します。またPWMの機能を持っています。
TWI 1:20(SDA)及び21(SCL)
TWI 2:SDA1およびSCL1。
ワイヤライブラリを使用してサポートTWIコミュニケーションポートを2つもちます。
SDA1およびSCL1はWire1クラスによって制御することができます。
SDAとSCLは内部プルアップ抵抗をもちますが、SDA1およびSCL1は持っていません。
SDA1およびSCL1ライン上の2つのプルアップ抵抗を追加することはWire1を使用するために必要とされます。
アナログ入力:A11のA0からピン
12ビット分解能のアナログポートを12本持っています。
デフォルトでは、読み取りの分解能は他のArduinoボードとの互換性のために、10ビットに設定されています。(analogReadResolution()によって分解能を変更することができます)
入力可能なアナログ電圧は0~3.3Vです。それ以上はMCUを破損させます。
analogReference()関数はDueでは使用できません。
AREFピンは抵抗ブリッジを通じてSAM3Xアナログ基準端子に接続されています。AREFピンを使用するには、抵抗BR1は、PCBから半田ゴテによってはずす必要があります。
DAC1とDAC2
12ビット分解能(4096レベル)のアナログ出力をanalogWrite()関数によって使用することができます。また、これらのピンは、オーディオライブラリーを使用して、オーディオ出力させることが可能です。
AREF
アナログ入力用のリファレンス電圧。analogReference()関数を利用します 。
Reset
マイクロコントローラをリセットするには、このラインをLOWににします。
コミュニケーション
Dueは別のArduino、または他のマイクロコントローラや携帯電話、タブレット、カメラ等の異なるデバイスと通信するためにURATを持っています。
SAM3Xは、TTL(3.3V)のUSARTを提供します。
プログラミングポートは、ATmega16U2を通してコンピュータと仮想COMポートとして接続できます。(デバイスを認識するために、Windowsマシンには、.infファイルが必要になりますが、OSXとLinuxマシンが自動的にCOMポートとしてボードを認識します)。
16U2もSAM3XハードウェアUARTに接続されています。
RX0とTX0のピンは、ATmega16U2マイクロコントローラを介してスケッチ転送用のUSB通信を提供します。
また、Arduinoのソフトウェアは、シリアルモニタという機能によって、テキストデータをボードにらPCに送信することができます。ボード上のRXおよびTX LEDが点滅します。
SAM3XにはネイティブUSBポートも用意されています。
それは、USB(CDC)通信を可能とします。それによって、シリアルモニタまたはコンピュータ上の他のアプリケーションへのシリアル接続が可能となります。
また、USBマウスまたはキーボードをエミュレートすることも可能になります。
これらの機能を使用するには、マウスとキーボードライブラリリファレンスページを参照。
ネイティブUSBポートはまた、マウス、キーボード、およびスマートフォンなどの接続された周辺機器用のUSBホストとして動作することができます。これらの機能を使用するには、USBHostリファレンスページを参照。
SAM3XはTWIおよびSPI通信をサポートしています。
ArduinoのソフトウェアはTWIバスの使用を簡単にするワイヤライブラリを用意しています。SPIライブラリを参照。
プログラミング
Arduinoのソフトウェア(IDE)からのSAM3Xへのスケッチ転送は他のArduinoと異なります。
SAM3Xにスケッチをアップロードする前には、フラッシュメモリをあらかじめ消去する必要があります。
どちらのUSBポートもプログラミングに使用することができます。
Programming Port:ArduinoIDEでは「Arduino Due (Programming Port)」を選択します。
このポートはSAM3X(RX0とTX0)の1つめのUARTに接続されたUSB の シリアルチップ16U2を使用します。
IDEは、スケッチを書き込む際、一時的にボーレート1200bpsに自動設定し、ポートオープンとクローズを行うことでフラッシュメモリーをいったん消しブートローダを起動します。この特殊な機能によって、万が一CPUがクラッシュしてシリアルポートのオープンとクローズが行われても、誤って内部のシステムプログラムが消されることはありません。
Native USB Port:ArduinoのIDEでは「Arduino Due (Native USB Port)」を選択します。
このポートはSAM3Xに直接接続されています。
IDEは、スケッチを書き込む際、一時的にボーレート1200bpsに自動設定し、ポートオープンとクローズを行うことでフラッシュメモリーをいったん消しブートローダを起動します。この特殊な機能によって、万が一CPUがクラッシュしてシリアルポートのオープンとクローズが行われても、誤って内部のシステムプログラムが消されることはありません。
USB過電流保護
DueはUSBなどのショートなどによる過電流から守るためにを保護リセット可能なポリヒューズを持っています。
USBより500mA以上の電流が流れた場合稼働します。