Seeeduino XIAO ボードの概要(内容説明)

〔Seeeduino XIAOの使い方に戻る〕


「Seeeduino XIAO」も、Seeed社オリジナルのマイコンボードで、XIAOは中国語の小という意味で
名付けたものらしい。
これは小さなサイズで設計されており、ウェアラブルデバイスや小さなプロジェクトに使用できます。

今までの"Arduino"ボードとブレッドボードは何だかぁ、配線時どうもシックリこない感じでした私は、
でもぉ、これは良い、組み込みにも良い、実験しやすく良いとぉ、これからは頻繁に使うかもぉ。

XIAOピンの構成図
図はこちらのSeeedからちょいとぉ拝借した。
arduinoZeroPro概要
・マイクロコントローラ:Atmel ATSAMD21G18A−MU
(ARM Cortex M0+)48ピンQFN
・フラッシュメモリ:256kB(ブートローダーを含む)
・SRAM:32kB
・EEPROM:なし
・クロック周波数:48MHz(内蔵クロック)
・動作電圧:3.3V (I/Oピンも含む)(MCU:1.62V-3.63V)
・USB端子はType−Cコネクターで接続する

ピンの割り当て構成情報はGitHubのvariant.cpp/variant.hを見ましょう。
ハードウェアの回路図はこちらのPDFです。


電源

・ 3.3Vに変更できる内蔵DC-DCコンバーター回路が有るので、USB端子からの5.0Vと5V-VINピンからの
  入力は3.3Vに変更されMCUの電源とI/O電源に使用されます。
  (電圧レギュレータはXC6206P332MRが付いているらしい出力電流は200mAの様だ)

・ 5.0V外部端子(VIN)から電源を入力する時はXC6206P332MRの仕様から6.0Vまでが最大値の様です。

・ 3V3端子は、5.0Vを接続した場合は3.3Vの電圧出力となります。
  3V3端子に外部から3.3V電源を入力する場合は、5.0V電源は接続できません。

LED

LED USB端子の横に4個接続されています。
・ []緑色で左上です。
  電源が入ると点灯します。
・ []黄色で右上です。
  デジタル13番(LED_BUILTIN)出力で点灯/消灯できます。
  リセット時に点滅します。
・ []青色で左下です。
  UART-RX通信の受信時に点灯します。
  デジタル12番(PIN_LED2)出力で点灯/消灯できます。

・ []青色で右下です。
  UART-TX通信の送信時に点灯します。
  デジタル11番(PIN_LED3)出力で点灯/消灯できます。

デジタル11-13番出力は"LOW"指示で点灯し、"HIGH"指示で消灯します注意しましょう。
  又、デジタル11-13番出力はLEDのみでピン接続はありません。

リセット

リセットパッド USB端子の横に丸いパッドが2個ありますね、これがリセットを行う場所です。

説明書によると、ユーザープログラミングプロセスが失敗すると、
Seeeduino XIAOポートが消える事が有る
(USB機能を利用するスケッチを書き込むと消えるような塩梅です。)
この問題はリセットの操作で解決できます。
ジャンパー線でこのパッド部に素早く2回ショート(ON/OFF)させて行う様です。

リセットすると黄色のLEDライトが点滅し、点灯します。
この時、チップはブートローダーモードに入り、書込みポートが再び表示されます。
(表示されている間にスケッチを書き込みます、"Blink"辺りで良いでしょう)
SAMD21チップには2つのパーティションがある為、1つはブートローダーで、
もう1つはユーザープログラムです。
製品は、工場出荷時にシステムメモリのブートローダーコードを書き込みます。
クイックリセットでモードを切り替える事ができます。

デジタルI/O

・ デジタルピンはD0-D10の11ピンがあります。

・ 3.3Vで最大出力電流は7mA(因みに、"Uno"の場合は40mAほど)です。

・ 内部プルアップは、pinMode(PIN,INPUT_PULLUP) ; としましょう。

・ 割り込みは、attachInterrupt( )関数を利用して全てのポートで使用可能ですが、
  5ピンと7ピンの2つのピンを同時に使用する事はできません。(ってか同じ割込み番号が発生する)

アナログ入出力

・ アナログピンはA0-A10の11ピンがあります。
  (全てのデジタルピンをアナログピンにできると言う事です)

・ アナログ入力は、12ビット入力なのでanalogReadResolution(12);を使えば0-4096で読込まれる様に
  変更出来ます、そうしないと0-1023で読込まれる事になります。

・ アナログ出力は、端子からPWM(8ビット)が出力可能です。(計測では733Hzで出力されていました)

・ A0端子からはDAC出力(8ビット)のPWM出力でなくDAアナログコンバータによる真のアナログ出力
  として機能します。
  (ATSAMD21G18のDACは10Bitありますが、"analogWriteResolution(10)"関数は機能しません)

USART

・ デジタル端子の7番(RX)と6番(TX)で通信可能です、ハードウエア通信です。

・ この端子からシリアル通信を行う場合は、Serial1.begin( )関数で動作させます。

・ ”SoftwareSerial”も利用できます。

USBのシリアル通信

・ USB経由でのシリアル通信はSerialUSB.begin( )関数で動作可能ですが、
  variant.h にて"#define Serial SerialUSB"が記述されているので通常のSerial.begin( )でOKです。
     例)USBポート利用時は下記の様に記述しましょう。 *1)
       Serial.begin(9600) ;
       while (!Serial) {
          ; // シリアルポートが接続するのを待ちます(ネイティブUSBポートにのみ必要)
       }
SPI

・ デジタル端子の8番(SCK)と9番(MISO)に10番(MOSI)で通信可能です、ハードウエア通信です。
  又、SS信号はどのデジタル端子でもOKですが、variant.h
  "static const uint8_t SS = 4 ;"とぉ記述されています。
  尚、"SS(CS)=4ピン"以外を使う場合、使用するピンは下記の宣言が必要です。
      pinMode(CS,OUTPUT) ;
      digitalWrite(CS,HIGH) ;

・ SPI標準ライブラリ("SPI.h")を使用します。

I2C(TWI)

・デジタル端子の4番(SDA)と5番(SCL)で通信可能です、ハードウエア通信です。
  I2C通信用のプルアップは外部で施しましょう。

・ Wire標準ライブラリ("Wire.h")を使用してサポートTWI(I2C)コミュニケーションを行う。

USB

・ USB通信のシリアル通信(CDC)/キーボード(HID)/マウス(HID)はこちらを参照ください。
  キーボード(HID)のサンプルスケッチはコンパイルと書込みはできますが、
  PCの標準キーボードドライバーでエラーが発生しました、よって記述は途中で中断したままです。



※ 国内の主な販売先は、秋月通商スイッチサイエンス辺りが宜しいでしょう。
※ 販売元の”Seeeduino XIAO”のページはこちらです。
※ Microcontroller(ATSAMD21G18)のデータシートはこちらから。



一部追記*1) 2021/01/24


【きむ茶工房ガレージハウス】
Copyright (C) 2006-2021 Shigehiro Kimura All Rights Reserved.