2013年04月20日

AE-FT232HL



秋月から FT232HL 採用のモジュール AE-FT232HL が出ている。以前記事を書いた UM232H と互換。ピンだけじゃなくて、回路やサイズまで互換のようだ。値段も 1200 円と安くなって お薦めだとは思う。

ただ、単にシリアルを使いたいという向きには、オーバースペック。それだけでなく (5.0V トレラントではあるものの) 3.3V 固定 というデメリットもある。(例えば 1.8V で I/O したい場合レベルシフタが必須になる)。また、2ch ある FT2232H なんかと比べると機能が劣る。微妙な面もあるのでツボを押さえた使い方をしたいところ。

    機能差のほかに、バッファの量が少ない。できる限り性能を引き出したいという場合には不利だったりする。

このモジュールのメリット

    足がハンダ付けされてない

      これは地味だけども メリットだと思う。最初からハンダ付けされていると そのまま使うしかない。自由度が高くなるのは嬉しい。

        細ピンのピンヘッダでも 丸ピンソケットに挿すのは厳しい。アイテムラボのピッチ変換基板用連結ピンを使うと 背を低くした上で 丸ピンソケットに挿せる。

      2個ある 2mm ジャンパも自分でハンダ付けする。バスパワー前提ならジャンパピンを使わずにショートしてしまった方がすっきりする。

      上向きにソケットを付けることさえできる。 JTAG アダプタとかしか(今は)思いつかないが、Arduino 的な使い方ができるかも。

    片側のピンだけで使える

      ADBUS が片側に寄っていて、3V3 と GND がある。ブレッドボードで便利そう。最初から片側にしか足を付けないというのもアリだろうし、L型の ピンヘッダで 縦に挿すことさえアリだと思う。

      別の基板に取り付ける場合でも、片側のみなら 基板スペースを有効に使える。ぐらぐらしないようにしたいなら GND,5V0 の 2ピンだけ付けるとか変則的な使い方もありだろう。

      ACBUS は 使えないわけだが、シリアルを使うのがメインなら割り切ることはできそう。

    SYNC Bitbang を使う場合のメリット

      FT232R と比べると Bitbang がはるかに高速。AVRライタレベルだと 速度が出ないという不満は出ないはず。ただ、ライタソフトも対応が若干必要になるので そこの確認は必要。

      対応として必須なのは、USB の ID の対応。あと 必須ではないが望ましい対応としては、ビットクロックの上限の変更と バッファ量(読み書き単位)の 増大ぐらいか。

      忘れてた。API で デバイスをチェックできる。これも対応が必要な場合がある。

    MPSSE を (BitBang として)使う

      FT232Rを PIC32MXライタに の記事で書いたのだが、MPSSE もまた SYNC Bitbang のように使える。プロトコル体系が違うから単純に比較はできないが、最大の違いは (速度低下のペナルティなしに)入出力を切り替えられること。 これを使うと 頻繁に 入出力を切り替えるようなプロトコルにも対応できる。PIC32MX の ICSP 対応はいけたので AVR の TPI/PDI にも対応できそう。

      SYNC BitBang では 8bit しか使えなかったが、うまく使えば 16 bit までいける。これもメリット。

    JTAGKEY cloneもどきにする

      USB の ID が違うという問題はあるが、JTAGKEY もどきにはできるんじゃないかと思う。このモジュールを使えば、お安く作れるとか コンパクトなものが作れるというメリットがある。

      JTAGKEY clone にする場合 EEPROMの 設定を変えないといけないと思われがちだが、MPSSE は SYNC BitBang と同じで単なるモード。問題なのは、シリアルと MPSSE では 入出力の方向が逆になるピンが出ること。具体的には 出力がぶつかる ADBUS2 の RTS (MPSSE TDO)が問題。

      JTAGKEY clone にする場合、レベルシフタ目的に バッファを入れるが、ADBUS2 に 抵抗を直列に入れてやれば、EEPROM を書き換えなくとも 安心して使えるように思う。

        回路図例を見ると ADBUS2 は Tri-State 制御してないケースもある。設定を書き換えない場合は要注意。

        直列に入れる抵抗の値はいくつが適切なのだろう。3.3V の電圧差で 4mA とかなら 82Ω? 。あまり抵抗値が大きいと高クロックにできないし 壊れないと思えるぎりぎりの値で良いとは思う。

        これは MPSSE 共通の問題。シリアルも使いたいなら抵抗は忘れずに。

      あとは、OpenOCD で使えるかのチェック。MPSSE といっても完全には互換ではない。FT2232H とかと ちょっと違う部分があるが、普通に使う分には関係ない。大丈夫だと思うが未確認ではある。

      ググっただけだが、OpenOCD は、0.6.0-rc2 以降で対応?

FT232H 応用メモ

このモジュールが発売されたおかげで MPSSE が身近になった。MPSSE が使えると便利な 応用は何だろう?。まず MPSSE は高速だというのが最大のメリット。入力と出力を頻繁に切り替える BitBang も使える。FT232R と違って EEPROM に設定することでシリアル以外の様々な機能も使える。

    MicroSD アクセス

    FAT を使う .. だけなら 意味はない。だが、情報を読み取ったり、パスワードを付けたり、書き込みロックをしたり するなら 汎用のものでは無理。FT232R や AVR を使っても良いのだが 速度の点で不満が出るケースもありそうだ。あと、ターゲットは マイクロコントーラだとしても プロトタイプはこれで作ってみるのも良さそう。

    I2C アクセス

    実用として使うのは疑問だとしても、プロトタイプを作ってみたりするには良いかも知れない。FT232R では 付加回路が必要だが、これだとそれも不要。AVR など マイクロコントーラではいちいち書きこまねばならないし、結果の出力も悩ましい。お試しなら PC でダイレクトに操作するのもありだと思う。

      FT232R での 付加回路について記しておくと ... 多分 デジトラ 1個が余分に必要なだけの話。... なんだが、まぁ単純なほうが良いとは思う。

    パラレル通信

    FPGA を使うメリットのひとつは高速処理。だが、PC と通信するのに難がある。PC の持つ高速インターフェイスを直接接続するのは荷が重い。MPSSE が高速だと言っても 30M bps 程度で 4MB/sec にも届かない。パラレル通信は高速らしく 60MB/sec とかいう数字を見たことがある。単純なインターフェイスでここまで性能が出せるものはあまりない。

    ちなみに、途切れなく読み(書き)続けるのは無理。ロジアナもどきとかフレームバッファもどきにするのは難しい。

    CPU スタイル FIFO

    よく分からないのだが、こういうのもある。8bit の LCD なら直結できそう。通信 オーバヘッドが減って嬉しいような気もするが EEPROM を書き換えて 専用機を作るときぐらいしか役に立たないような気もする。

ピン配置



パーツメモ

    FT232HL チップ単体でも入手できるし、パーツについてメモしてみた。ただ、Hi-Speed だしモジュールで済ませた方が楽で良さそう。

    BLM18PG600SN1D フェライトビーズ(FB)

      これは、オリジナル UM232H と同じように入っている。

    FA238V-12MHz

      ひょっとして、このモジュールに合わせて 12MHz も販売するようになったのだろうか? それはともかく、FA232 の 12MHz が入手できるようになったのは喜ばしい。

    12KΩ (1%)

      REF に接続する抵抗で 1% 精度指定。入手が面倒。これは FT2232H なども同じ。

    PGB1010603

      USB の D+/D- に入れる パルスガード。オリジナル UM232H と同じ。データシートにも載っている。デジキーだと入手できるものの結構高い。類似っぽい、ESD9B も使えるのかどうか? (こちらは安い)

      あるいは、FT2232H と同じようになしで済ませられたりしないのだろうか? さらには回路図の記号の通りツェナーダイオード直列ではどうなんだろう?

        ちょっと見た限りでは、両方とも IEC61000-4-2 とは書いてある。だが、ESD9B の方は寄生容量が 15pF と大きい。多分超高速インターフェイス向けではないのだろう。となるとツェナーダイオード直列も無謀か。ところで、D+/D- は直列に 0 Ωの抵抗が入っているんだが、なんのためだろう? PGB1010603 を使わないなら 信号線用の FB でも入れるのかな?

        ... と思ったら ムラタの資料(pdf)に Hi-Speed(HS) では FB を使うと波形が崩れるからダメと書いてあった。使うのなら コモンモードチョークコイルだとか。

        FT2232H のデータシートと見比べてみたが ESD プロテクションは同レベルのようだ。なら無理していれなくとも良いのかも。

    93LC56B

      これは、B でないとダメだとか。16bit モードを持っているかどうかが重要らしい。

      なしで済ませるのも可能そうだが、シリアル がベースになり パラレルとか試せなくなる。付いている LED も 点灯できなかったり。高いものではないが、これも入手が面倒。

    こんな風にパーツの選定と入手が面倒でおっくうになってしまう。

おまけ TXS02612

    デジキーで SDIO を検索したところ TXS02612 というものが見つかった。

    これは、SDIO ポートエクステンダというもので、1 つの インターフェイスで 2 つのデバイスを使えるようにするスイッチ。 QFN-24 パッケージがあって、200 円以下。

    データシートをひもといて見ると... 2つのポートは、それぞれ別電圧にすることが可能。(ただし、1.1V 〜 3.6V の範囲) 。(CLK 以外の)信号線 はアナログスイッチのような 双方向。

    オーバースペックだが、下は 1.1V まで対応しているし JTAG 用の レベルシフタとして使えるような気がする。実際に使おうとするならちゃんと調べないとダメだが気になっている。

おまけ FTDI の FIFO バッファ量

    RX TX
    FT2232H 4KB 4KB
    FT232H 1KB 1KB

    FT231X 512 512
    FT230X 512 512
    FT232R 128 256

    FT232H は 1KB と FT2232H と比べれば全然すくない。これだけ違うと BitBang でのピーク性能にだいぶ差がでるかも。

    改めて調べてみたら、FT232R は結構少ない。12Mbps 版の新しいチップ FT231X/FT230X では 512B と増えている。性能的に変わらないかと思っていたが、ちょっと変わってくるかも。

     FT231X : SSOP 20 pin と小さくなった。シリアルのピンは省かれておらず、CBUS も 0-3 があり CBUS4 だけが省かれた。
     FT230X : SSOP 16 pin 。シリアルが 4つ省かれて TXD/RXD/CTS/RTS だけに。あとは同じ。
     共通: VCCIO 3.3V まで (5Vトレラント)。USB D+/D- に 27Ωが必要。VID 6015 に。
posted by すz at 00:06| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/65099152
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック