create every day - 福野泰介の一日一創

LPC1114でロースピードモード限定のUSBホスト、USBキーボード解析編

2016/07/31 23:55:00
#maker #lpc1114 

省メモリ実装のためPS/2キーボードにのみ対応としていた、IchigoJam。
USBホスト機能がついたコンピューターを使うと高くなってしまうので、ソフトウェアでなんとかする実験。
参考図書「改訂新版 USBハード&ソフト開発のすべて

USB1.1の規格では速度は2種類、12Mbpsのフルスピードモードと、1.5Mbpsのロースピードモード。 USBキーボードは遅い方なので、48MHzで動かしているCPU、LPC1114では1.5Mbpsの1信号時間に32命令(=48/1.5)実行できる計算。

常に信号を待たないといけないUSBデバイス側と違って、USBホスト(パソコン側)は、ホスト側の都合で信号が送れるのでなんとかなりそうです。


IchigoJamに接続したPS/2、USB両対応のキーボードをUSBキーボードとして接続して、キー入力した際の信号をオシロスコープでみた様子!

あとは、この信号をデコードすれば晴れてUSBキーボード対応ともできるはず!
(ただし、実装にメモリを結構使ってしまうので保存領域は最悪4つから1つに減らさなくてはいけないかも・・・)


こちらは送信信号と受信信号が混ざってしまった失敗中の様子。
オシロスコープ、便利!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image