本日取り上げさせていただく会社は、Future Technology Devices International Ltd.と長い名前の会社です。多分、略称の“FTDI”の方がずっと良く知られているような気がします。そして、半導体業界人に“FTDI” と問いかければ、合言葉のように、
“USB”
と返事がくるくらい、この会社はUSBと何かを繋ぐことに徹した会社です。この会社のマイコン製品においてもそれは例外ではありません。
※「鳥なき里のマイコン屋」投稿順Indexはこちら
細かいところで言えば、マイコン屋が普段から使っている自社マイコンの開発ボード、多くはシリアルポート接続が必要なものが多いです。ところが、最近のパソコンにはシリアルポートなど「レガシーインタフェース」とか言われてついていないことが多いです。それでどうするか、
FTDIのチップを乗せたUSB-シリアルケーブル
を使うことが多いです。何気に遍く使われているのがFTDIのUSB関連チップです。そんなFTDIにもプログラム可能なマイコン(シングルチップ・マイクロコントローラ)製品ラインが存在します。(FTDI社のマイコン製品にはちょっと事情 -Bridgetek社- があるので、こちらもご覧ください)
-
- 32ビットはFT32およびFT32Bコア
- 8ビットは8051コア
の2系統です。ここではArmが登場しないので自説「Armのお供に8051説」は対象外ですが、やはり米国メーカ、レガシー8051が好きですね。良かった。ユーザーは言うでしょう、
FTDIなんだからUSB入っているよね
当然すぎる期待です。安心してください、入ってますよ。
-
- 8ビットの8051コアのシリーズには、USBスレーブかUSBハブ
- 32ビットのFT32コアでも比較的ローエンドのFT93XにはUSBスレーブ
- 32ビットのFT32コアでも比較的ハイエンドのFT90XにはUSBホストとUSBスレーブ
と用途に合わせた機能をラインナップしています。しかしUSBだけではUSBと何かを繋ぐことにはなりません。シリーズのラインナップに存在する、「接続する」ことに使えるI/Fを列挙すると以下のようなリストになります。
SPI, UART, I2C、Ethernet, Camera I/F, SDcard I/F, I2S, CAN, ADC, DAC, PWM, GPIO
どこの会社にもありそう、といえばありそうです。しかし、徹底して複数のI/F+漏れなくUSBというスタイルはFTDI独特のものだと思います。また、よく見てみるとFTDIのこだわりというか、ポリシーを感じるポイントがいくつもあるのです。まずは、
Flash(プログラムを格納する)以外に、プログラム実行用RAMを搭載
と言う点です。普通のマイコン屋はFlashにプログラムを書きこむのなら、そこから実行すれば良いと考えます。しかし、FTDIはわざわざFlashからRAMにコピーして実行しているようです。これの理由として、実はFTDIが持っているFlashのタイプがプログラムの実行に向かないタイプ、ということもあるんじゃないかと想像しています。しかし、利点もあるのです。当然、こちらを「推し」で説明しています。
高速クロック動作時でもゼロウエイトステートで実行できる
一般に、ROM(Flashも含む)はアクセスに時間がかかります。ゆっくりしたクロックで動作させる場合は良いのですが、高速なクロックで動作させようとすると、ROMの速さが間に合わなくなって、「ちょっと待ってね」という感じでウエイトステートを挿入しなければならないマイコン、というのは実は多いです。当然、クロックを上げても期待ほど早くなりません。その点、RAM(マイコンに搭載されるのは通常SRAM)は早いです。ウエイトステートなど必要とせず高速クロックで動作可能。クロック速度アップはそのまま性能に反映します。ただ、多くのマイコン屋さんは、データメモリにはRAM積みますが、プログラムメモリにRAMを利用しないのにも理由があって、それは単位面積あたりの単価がお高い、ということにつきます。RAM積むなら必要最小と。それに対して、FTDIの場合、いろんな制約もあるのでしょうが、裏RAMという技に徹しているようです。
それ以外にもこだわりを感じるのが、開発ツール(IDE)が
Eclipse + CDT
でFT32/FT32B/8051みなカバーという点です。Eclipseは他のマイコン屋の多くでも利用されている人気のIDEですし、CDTはEclipse上でC言語で開発するときのプラグインの定番です。流石に裏で動かすコンパイラはFT32系と8051では違いますが、IDEが同じなので、見た目は一緒の筈。あちこちのマイコン屋さんで複数のIDEが乱立している(これには歴史的な経緯もあるのですが)のを見るにつけ、このスッキリ感は見事だな、と思います。(8051世界で人気だったKeilは、いまやArmのツールになってしまったので、そういうものを混ぜて物事を複雑にしたくない、ということなのかもしれませんけれど。)