Genuino 101の中身に迫る

ここからは、もう少し中身を見てみたい。Photo10がGenuino 101のブロック図となる。Flashは、WinbondのSerial NOR Flashが搭載されている(Photo11)。

Photo10:この図を含む回路図全部はArduinoのサイトで公開されている

Photo11:容量は2MB。これは恐らくファームウェア用のものと思われる

また全てのArduinoのI/O PinにはLevel ShifterとしてTIの双方向レベルシフタが実装されている。CurieのI/Oは3.3V仕様なので、おそらくここで5VのShieldを利用可能にするためにLevel Shifterを挟み込んでいると思われる。Shield用のPinの配置は当然ながらまったく同じで、ICSP(In Circuit Serial Programming)端子も共通であるが、細かく言うと多少の差がある。

Photo12:スペックによれば変換の遅延は平均1.3ns程度だそうで、32MHz駆動のMCU向けのI/O用には十分に高速である

ちょっとPhoto05に戻ると、Arduino UnoはUSBコネクタの背面あたりにも6pinの端子が用意されているが、これはICSP1コネクタである。Arduinoの場合、Arduino Duemilanoveの世代ではUSB-Serialの変換にFTDIのFT232RLを搭載していたが、Arduino UnoではこれがまずAtmelのATmega8U2に置き換わり、次いでATMega16U2に変更された。

要するにArduino UnoにはATMegaチップが2つ搭載されており、片方はUSB-Serial変換のみに使われている形だが、2つ目のICSP端子はこのUSB-Serial変換用ATMega用に設けられたものである。一方、Genuino 101はUSB I/FもCurieに内蔵されているので、この部分は省かれている。その代わりに、同じ位置に2×5pinのJTAGポートが用意されている(Photo10では省かれているが、回路図には掲載されている)。

もう一つが、Photo05で言えばそれぞれ左列上側にある8-Pin Socketである。8-Pinの内訳は、Arduino Unoの場合は上からNC、IOREP、RESET、3.3V、5V、GND×2、Vinとなっているのだが、Genuino 101では一番上にATNというピンが追加されている。これはArduino Zeroから追加されたもので、SPIで接続されるShieldを繋ぐ際に利用する事を想定した実験的なもの(Experimental feature)である。正規のArduino IDEではこれを直接利用することはできないので、その意味ではNC(No Contact:未使用)のArduino Unoと違いは無いと考えてもいいだろう。

開発環境 - Arduino IDEも機能強化

Genuino 101の発表に合わせて、Arduino IDEも大きくバージョンアップした。Genuino 101を正式にサポートするのはArduino IDE 1.6.7以降で、最新版はArduino IDE 1.6.8となる(Photo13)。

Photo13:ロゴにもGenuinoの名前が

1.6.7以降の最大の特徴は、複数のArduino/Genuinoや互換ボードをまとめて取り扱えるようになったことだ。Arduino IDE 1.6.8の初期状態でサポートされるボードはPhoto14のような形である。

Photo14:サポートされるボードはもっと多いが、初期状態では登録されていない

ここでBoard Managerを呼び出すと、デフォルトでサポートされているのはAtmelのAVRベースの製品のみである(Photo15)。ここで利用したいボードを選んで"Install"を押すと(Photo16)、そのボードのサポートが追加される。インストールが終わる(Photo17)と、ボードの選択が広がるわけだ(Photo18)。

Photo15:これらはArduino.ccから提供されるサポートボードだが、後から追加も出来る。詳しくは後述

Photo16:ほとんどの場合、複数のCoreバージョンが選択できる。今回はCore 1.0.5を選択

Photo17:インストール完了後は"INSTALLED"が表示される。今回はGalileoも評価のために追加

Photo18:Photo14と比べると、Galileo/Galileo Gen2、Arduino/Genuino 101の3つが増えているのがわかるはずだ

ちなみにArduino.ccが提供する以外のボードのサポートも追加できる。例えばDigilentの提供するPIC32ベースのArduino互換ボードであるchipKitの場合、Arduino IDEの"File→Preference"を選んで設定画面を出し(Photo19)、ここの"Additional Board Manager URLs"にそのボード用のBoard ManagerのURL(chipKitシリーズならばこちら)を追加するだけだ。再びBoard Managerを開くと、chipKitシリーズを追加できるようになっているはずだ。

Photo19:chipKitシリーズの使い方はchipKitのwikiを参照

なお、IDEのインストール時には、同時にUSBのドライバもインストールされる。Arduino IDEそのものの際に2種類(Photo20,21)。後はGalileoなりCurieなり、新しいシリーズを追加するたびに、それに対応したUSBのドライバをインストールすることになる。

Photo20:Arduino SRLから提供されるドライバのインストール

Photo21:それとは別に、Arduino LLCからのドライバも別にインストール

Photo22:Arduino/Genuino 101用のドライバ