LPC1114でソフトUSBシリアル
LPC1114でソフトUSBを実現するファームウェアを開発された方がおり、 楽しそうだったので、自分も作ってみることにしました。
開発されたのはBequest333さんという方で、このほかにもソフトUSB関連のソフトウェアを公開されているようです。
この記事の回路および、ソフトウェアはBequest333氏開発のものを利用させていただきました。ありがとうございました。
LPC1114というマイコンは高性能のわりに安く、人気です。 そして、なぜかこのご時世に幅広600milDIPという、かなり個性的なマイコンです。
シリアル経由で書き込めるため、特にライタを用意する必要はありません。
私は、ユニバーサル基板に実装することにしました。
USBオスのコネクタと600milのICが同時に載っている基板というのはなかなか見ないので新鮮です。
注意する点としては
・D-は1.5kΩでプルアップする。 ・5vから赤LEDで降圧する
点です。
1.5kΩの抵抗を持っていなかったので、1kΩの抵抗を3本使って、1k+(1k//1k) = 1.5kΩ にして使いました。
赤LEDのかわりにダイオード3本を直列にして使ってもよいと思います。 赤LEDを使う場合は回路全体の電流がLEDの定格を超えないように使います。
半田付けが終わったらTxとRxをジャンパワイヤなどでショートしてからPCに接続します。
HIDなので特にドライバは不要です。認識されない場合は何かがおかしいので回路を確認してみます。
開発者の方が配布しているzipファイルの中に、LoopBackHostというディレクトリがあるので開き、loopback1114.exeを実行すると、うまくいけばすぐに通信ができます。入力した文字列がそのまま帰ってきたら成功です。
RTSとDTRが制御できるようになっているので、LEDやロジアナなどを使い、電圧を確認してみるとよいと思います。
認識されると、デバイスマネージャに表示されます。
認識されない場合は、クロック周波数の補正が必要になるようです。 CR発振なので、正しい12MHzは出せません。ある程度人の手で補正する必要があります。
せっかく600milで余裕があるので、パスコンは、ICソケットの下につけるとよいと思います。 600milなので、たぶんピンからリードフレームを通ってダイにいくまで、結構な距離があると思います。 少しでも距離を短くするため、ICソケットの下につけるとよいと思います。