FDD エミュレータ
FDDエミュレーターについて解説します。
USB-シリアルアダプタの注意点
何かと便利なUSB-シリアル変換アダプタで、ArduinoやBlue Pill/Black Pillといった、Arduinoライクな使い方ができるSTM32でも(ブートローダやスケッチ書き込みなどで)便利に使えるのですが、実は困った問題もあります。
今回は購入ガイドととともに、この問題も皆さんにお知らせし、対策も書いておきます。
出力を確認する(購入時の注意点)
USB-シリアル変換アダプタで使用される変換チップは、FT232、CP210x系(CP2102など)、CH340などがあります。
以前はCH340はドライバが自動では組み込まれず、ダウンロードしてインストールする必要がありましたが、最新のWindows10(Ver.1909)では、自動で組み込んでくれるようです。
いろいろな種類のUSB-シリアル変換基板がありますが、「Gotekで必要なのは、+5V出力をしながら、信号のレベルは3.3Vで取り出せるもの」になります。
つまり、動作モードは3.3Vですが、5V出力も同時にできるものが必要なわけです。
STM32は5Vトレラントな部分もあるので、5Vでもいいかもしれませんが、基本は3.3V動作なので、信号は3.3Vのほうが望ましいというのがあります。
もしどちらかでしか動かない、というのであれば、3.3Vのタイプを選び、5Vは別のACアダプタ経由で入れるというちょっとめんどくさいことをしないといけません。
これは、Gotekの電源は、FDD電源から入れることを前提にしているので(3.3V端子から入れてもいいかもしれないが回路の関係上レギュレータに逆電圧の負荷がかかるのであまりお勧めしない)、素直に5Vから入れたほうが安全です。
必要な端子は、+5V,、TXD、RXD(RXI)、GND (TXDとRXDは3.3V駆動)になります。
これに対応しているUSB-シリアルを購入しましょう。
私は、少し値段は高いですが、ICソケット(DIP)タイプのものや、両出力に明確に対応しているアダプタをお勧めします。
動作速度の問題
USB-シリアル変換アダプタを使う場合、書き込みなどで気をつけなければならないところがあります。
それは、「反応が遅い場合がある」ということです。
シリアル通信になる以上、USBよりも当然速度は遅いので(たいたい57600bps:これ以上速いとエラーレートがひどくなる可能性がある)、ソフトなどで書き込みを行う場合も、反応速度は落ちます。
ただ、これはいろんな要素があります。
通信の場合もありますし、LAN側(例えば無線LANと有線のギガビットだったらどっちが速いかはすぐにわかりますよね?)の要素もあります。USBへのデータ受け渡しの問題ということもあると思います。
なので、一動作(例えば書き込むボタンをクリックする)にしても、一呼吸二呼吸おいてクリックするほうが安全です。
偽物に注意(CP2102)の場合
CP2102の場合、比較的「おかしな」回路になっていることがよくあります。
例えば、このタイプの場合、TXO(TXD)/RXI(RXD)の電圧は本来3.3Vなんですが、なぜか4V強とかになっています。
私も実際に購入しましたが確かにその通り、4.2~4.3Vでした。
参考サイトにある通り、一部パターンが間違っていて(要するに回路が偽物)、そのパターンをカットすることで本来の電圧になります。(左写真はカットしたもの:超わかりづらいですが・・・・)
ただ、正直私でもちょっとてこずりましたので・・(苦笑)
デザインナイフとルーペは必須です(笑
参考サイト:
https://ehbtj.com/electronics/beware-of-cp2102-module/
偽物に注意(FT232の場合)
実はこの偽物が一番正直言って厄介です。
というのも、見た目では全く区別がつかず(写真左上:左側の赤いほうが偽物、右がスイッチサイエンス購入の本物)、実際につなげて使ってみても、しばらくわからない(というか謎のトラブルに悩まされる)ことになるからです。
少し前になりますが、FT232の偽物が出回った際、本家であるFTDIは、偽物を使えなくするドライバを作ってWindowsなどのアップデートに乗せていました。
ところがこれが世界で大不評で(そりゃそうでしょう、突然本物と思っていたものが使えなくなってしまうんですから)、結局FTDIは偽物も「ある程度」使えるドライバに戻しています。
ところが、これはこれで厄介で、普通の通信は問題ないのですが、ファームウェアのアップデートなどのちょっと「特殊」な通信ではエラーを出します(写真左中)。
一見普通のエラーのように見えるので、この癖が分かっていないと、USB-シリアルでトラウマになるほどファームウェア書き換えで頭を抱えることになります。
偽物は、FTDIの純正のユーティリティ「FT_Prog」でしらべると、シリアルナンバーがA5もしくはA9で始まるものが多くあります。大体中国から直で購入した安いものは十中八九それに該当します。(ただシリアルはたぶん随時増えてきますので、ほかのシリアルナンバーでも出る確率は大いにあります)
我が家に来た「偽物」も、A9で始まるものでした(写真左下)。
外観で見分ける方法などもネットでは見かけますが、大きさなどからして普通に見分けることは限りなく不可能に近いです。偽物製造業者も〇カではないので、徹底してそっくりに作ってきますからね。実際私は両方持ってて見比べてみましたが、ほとんどわかりませんでした。
日本の場合、少し高いですが、スイッチサイエンス、もしくは秋月電子通商で購入するのが安全です。
私自身ここの2つで購入したものに外れがありませんでしたので、信頼して使用しています。
この2つで購入したものは、上記の偽物のシリアルとは違う番号で始まっていました。
(特にスイッチサイエンスは、偽物で相当苦労したという話をよく聞いていますので、そのあたりはかなり神経質になっているはずです。逆に言えばその分我々には安心なものを販売しているといえるでしょう)