mathjax

2018年5月19日土曜日

Arduino M0 Pro

Arduinoを3Vで使いたいのでArduino M0 Proを買った。初めはArduino Zero Proという名前だったようだ。電圧以外はUnoと同じだろうと思ったら、USBコネクタが2つある。DCジャックもある。理解しないと使えないので、仕方なし、文章を読む。
Arduino M0 Pro
こちら↑が恐らく、公式情報。

概要

  • メインチップがAtmel社 SAMD21 MCU(CPU: ARM社 Cortex-M0+。Flash 256KB、SRAM 32KB):IOは3.3V 48MHz動作になっている。
  •  Atmel社の Embedded Debugger (EDBG) がボード上に組み込まれていて、外付け不要でデバッグが可能。
    • EDBGはvirtual COM portもサポートしていて、programmingや従来のArduinoのboot loader機能に使われる。

端子の説明

  • 電源
    • DCジャックから推奨の6V~15V(限度4.5V~20V)を入れるか、USB Micro ABから入れるか。USB Hostとして動作するときには、DCジャックからの供給が必須の回路になっているように見えるが、説明の文章はそのようにはなっていないように思われる。
  • Digital IO
    • 14本。入出力としてpinMode(), digitalWrite(), and digitalRead() functionsで使用可能。3.3V。
    • Serial。DIGITAL 0,1がSerialのRX, TXとして利用可能。
    • TWI。SDAとSCL。Wire libraryで利用する。
    • PWMはDIGITAL 2~13が8-bit PWMとして利用可能。pin 4と10は同時動作不可。pin5とpin12は同時動作不可。
    • SPIはICSPヘッダで。コネクタ類の反対側の板端中央にある6pinのピンヘッダ。SPI libraryで利用する。
      • 「ファイル>スケッチ例>SPI」のコードでSPI libraryの使い方が分かる。
    • LEDがDIGITAL 13に接続されていて、Hのとき点灯する。
  • Analog Inuputs
    • A0~A5。12bit。デフォルトでは3.3Vを最大値として測定を行うがAREFピンに最大値とする電圧を入れて analogReference() で変更をすることが出来る。
  • DAC
    • A0ピンはanalogWrite() functionで10bitのDAC出力にできる。
  • RESET
    • 外部からLを入れることでマイコンをリセットすることが出来る。

Programming

  • sketchをuploadする方法が、一般的なAVR microcontrollersとは異なる。
  • Re-program前にFlash memoryをeraseする必要がある。
  • ChipへのUploadはSAMD21の専用のROM areaに管理される。
  • ボードをプログラムするのにどちらのUSB portでも利用可能。
    • Programming port(USB micro B。DCジャックに近い方)
      • Native USB Portよりもこちらを使ったprogramが推奨される。
        • Programming portは"hard erase"でmain MCUがcrashしていても動作できる。Native USB Portは"soft erase"。
      • こちらのポートを使用する場合はArduino IDEで「ツールメニュー>ボード>Arduino M0 Pro (Programming Port)」をデバイスとして選択する。
      • DCジャックに近い方のポートとPCを接続する。
      • Programming port は EDBGをSAMD21の1番目のUART(RX0, TX0)に接続するUSB-to-serialチップとして使用する。
      • Programming portを1200bpsでOpenやcloseすると、SAMD21チップの"hard erase"の処理がトリガされ、UART通信に先立ってSAMD21チップのEraseとResetピンがactiveになる。
    • Native USB port(USB micro AB。リセットボタンに近い方)
      • こちらのポートを使用する場合はArduino IDEで「ツールメニュー>ボード>Arduino M0 Pro (Native USB Port)」をデバイスとして選択する。
      • Native USB portはSAMD21との直接接続。
      • Native USB portを1200bpsでOpenやcloseすると、"soft erase"の処理がトリガされ、flash memoryがeraseされ、ボードはbootloaderでリスタートされる。
      • 1200bps以外のボーレートでNative USB portをopenやcloseをしても、SAMD21のリセットは起きない。

IDE環境

  • Arduino - Software から、IDE 1.8.5のWindows app版をダウンロードしてインストール。
  • Arduino - ArduinoM0Pro (Getting started with the Arduino M0 Pro)に従い、「ツールメニュー>ボード>ボードマネージャ」で「M0 pro」を検索して出てくるArduino SAMD Boardsをインストール。LED blink example sketchを File > Examples >01.Basics > Blinkで開き、ボードを選んで焼きこみを行うと無事に動作した。
ボードマネージャ

0 件のコメント:

コメントを投稿