LPC1114でソフトUSBシリアル

LPC1114でソフトUSBを実現するファームウェアを開発された方がおり、 楽しそうだったので、自分も作ってみることにしました。

開発されたのはBequest333さんという方で、このほかにもソフトUSB関連のソフトウェアを公開されているようです。

www3.hp-ez.com

f:id:naitsuku:20150907124612j:plain

Bequest333のページ LPC1114でUSB

この記事の回路および、ソフトウェアはBequest333氏開発のものを利用させていただきました。ありがとうございました。

LPC1114というマイコンは高性能のわりに安く、人気です。 そして、なぜかこのご時世に幅広600milDIPという、かなり個性的なマイコンです。

シリアル経由で書き込めるため、特にライタを用意する必要はありません。

私は、ユニバーサル基板に実装することにしました。

f:id:naitsuku:20150907124456j:plain

f:id:naitsuku:20150907124612j:plain

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やロジアナなどを使い、電圧を確認してみるとよいと思います。

f:id:naitsuku:20150907124444p:plain

f:id:naitsuku:20150907124457j:plain

f:id:naitsuku:20150907124510j:plain

認識されると、デバイスマネージャに表示されます。

認識されない場合は、クロック周波数の補正が必要になるようです。 CR発振なので、正しい12MHzは出せません。ある程度人の手で補正する必要があります。

f:id:naitsuku:20150907130709j:plain

せっかく600milで余裕があるので、パスコンは、ICソケットの下につけるとよいと思います。 600milなので、たぶんピンからリードフレームを通ってダイにいくまで、結構な距離があると思います。 少しでも距離を短くするため、ICソケットの下につけるとよいと思います。