鳥なき里のマイコン屋(28) FTDI、繋ぐに徹するMCU

JosephHalfmoon

本日取り上げさせていただく会社は、Future Technology Devices International Ltd.と長い名前の会社です。多分、略称の“FTDI”の方がずっと良く知られているような気がします。そして、半導体業界人に“FTDI” と問いかければ、合言葉のように、

 “USB”

と返事がくるくらい、この会社はUSBと何かを繋ぐことに徹した会社です。この会社のマイコン製品においてもそれは例外ではありません。

細かいところで言えば、マイコン屋が普段から使っている自社マイコンの開発ボード、多くはシリアルポート接続が必要なものが多いです。ところが、最近のパソコンにはシリアルポートなど「レガシーインタフェース」とか言われてついていないことが多いです。それでどうするか、

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のツールになってしまったので、そういうものを混ぜて物事を複雑にしたくない、ということなのかもしれませんけれど。)

鳥なき里のマイコン屋(27)  Ambiq Micro、サブスレッショルドな超低消費電力 へ戻る

鳥なき里のマイコン屋(29) MediaTek MT2523 MCU? それとも SoC? へ進む