PIC32MX FRC で USB

2016年9月26日

以前何処かのHPで、内部 FRC では USB が使えないことを知りまして、マニュアルを見たら FRC は確かに PLL に繋がっていない。
それでも小細工をすれば USB を使えるらしい。
・情報源は多分ここ:PIC32MX220F032B クリスタル無し、内蔵FRCでUSB
クリスタルなど CLKI 入力でしか USB が使えないという。何故 FRC を直接 USB クロックに繋げられるのに PLL 経由出来ないのでしょう。
で、私も挑戦しようと言うわけです。
とりあえず FRC で起動させ、REFCLKO に出力する。その出力を CLKI に入れる。ここでクロックを CLKI を EC に切り替える。
FRC は REFCLKO から出力し続けるらしい。
ちなみに REFCLKO は PPS なので、幾つかのポートから選択して出力することが出来る。
と言うわけで、FRC で起動 → REFCLKO → CLKI(EC)切り替え → システムクロック&USB
と、言うわけらしい。

以下は、PIC32の情報が多いので参考になると思います。

まごころせいじつ堂

自分でもHID Keybordでやってみました。確かに動くのですが、USBを刺しなおすとかなりの確率で接続に失敗します。プログラムコード的には「USB_HID_DEVICE_HOLDING」状態になり無限ループに入ります。

そのため、「USB_HID_DEVICE_HOLDING」状態になったらソフトウェアリセットをかけるようにしました。SoftReset() です。やはりクリスタルよりはなにか問題を抱えるのかもしれません。
→マウス変換器は大丈夫な感じなので、電源のコンデンサ容量が足りないとか?

PIC32

Posted by saba