USB-シリアル変換チップ

2012-04-24   treby   IDm Snatcher  , , このエントリーをはてなブックマークに追加

A500とArduinoの通信ができる根拠としたJuJuさんの事例であるが、理解できていない部分がある。

FTDIと「UNOは使用不可」の意味が理解できない。

すなわち、FTDIという用語と「UNOは使用不可」の根拠がわからなかったのだ。

サンプルプログラムを動かそうと試行錯誤している間にはその裏付けというか、どういう意味かを理解する必要があった。特に「UNOでは使えない」という記述に気付いたのがUNOを購入した後だったので、内心ドキドキしながら調べていた。FTDIでググると、チップメーカーらしきサイトが出てくる。そこでふとながてぃ~の。上のICを眺めていると、

FTDIのチップ

あった、FTDI。

ATmega16U2。ATMELと読める……

一方のUNO R3はというと似たようなパーツがあるにはあるが、なんか違う。ATMEL……?細かい。

どうもこれら、調べてみるとどちらもUSB-シリアル変換するためのチップらしい。USBケーブルをつないでマイコン上にプログラムを書きこむにしても、プログラム実行中にUSBを介して通信を行うにしても、このチップがゲートウェイになっている感じなのかな。前の投稿で、ながてぃ~の。をPCにつないだときにはドライバの手動インストールが必要なかったのに、その後つないだUNO R3では必要だったと書いたが、これもUSB-シリアル変換チップの種類の違いに起因するものなのだろう。すなわち、ながてぃ~の。はFTDIのチップを、UNO R3はAtmelのATmega16U2を使っているため、必要なドライバが別物なのだ。

スイッチサイエンスさんのサイトによると、Arduino のUSB-シリアル変換チップは次のように変遷している模様。

なるほど、JuJuさんが使われたAndroid – Arduino 間の通信を実現させるライブラリはFTDIという種類のUSB-シリアル変換チップ用で、UNOシリーズにはそれが搭載されていないから「UNOでは使用不可」なのだ。きっと。

いろいろと奥が深いのだな。とにもかくにも、FTDIのチップをのっけている「ながてぃ~の。」なら問題なさそうでよかった。