Genuino 101の中身に迫る
ここからは、もう少し中身を見てみたい。Photo10がGenuino 101のブロック図となる。Flashは、WinbondのSerial NOR Flashが搭載されている(Photo11)。
Photo10:この図を含む回路図全部はArduinoのサイトで公開されている |
また全てのArduinoのI/O PinにはLevel ShifterとしてTIの双方向レベルシフタが実装されている。CurieのI/Oは3.3V仕様なので、おそらくここで5VのShieldを利用可能にするためにLevel Shifterを挟み込んでいると思われる。Shield用のPinの配置は当然ながらまったく同じで、ICSP(In Circuit Serial Programming)端子も共通であるが、細かく言うと多少の差がある。
ちょっと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)。
1.6.7以降の最大の特徴は、複数のArduino/Genuinoや互換ボードをまとめて取り扱えるようになったことだ。Arduino IDE 1.6.8の初期状態でサポートされるボードはPhoto14のような形である。
ここでBoard Managerを呼び出すと、デフォルトでサポートされているのはAtmelのAVRベースの製品のみである(Photo15)。ここで利用したいボードを選んで"Install"を押すと(Photo16)、そのボードのサポートが追加される。インストールが終わる(Photo17)と、ボードの選択が広がるわけだ(Photo18)。
ちなみに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のドライバをインストールすることになる。