[Mindstorms]nxtserial 19200bps
nxtSerialの通信速度を9600bps→19200bpsに上げるための改造方法です。
ソフトウェアでの修正だけでは処理が間に合わず、データ化けが頻発してしまいますので、CPUの動作速度を上げることで対策してみます。
赤色で表した部分が改造する部分です。
(改造点)
・CPUクロックを内部発振8MHz→外部発振12MHzに変更します。処理速度が間に合うようにします。
・SCL/SDAの接続ポートをPB4/PB5→PA4/PA5に変更します。
・ファームウェアを改造します。ソフトウェア制御でI2C通信を行っていますので、DEFINEを書き換えるだけでポートの割り振りを変更できます。
・ヒューズビットを外部発振に変更します。
▲モジュラージャックの端子とR1とR2につながっている基板上のパターン2か所を切断します。
ドリルを使って削りました。
発振子を付けるためコネクタのプラスチック部分も削っています。
▲端子PB4とPB5に12MHzの発振子を取り付けます。
端子PA4とPA5を100kΩの抵抗でプルアップします。
▲写真のようにジャンパ線を接続します。
発振子に22pFのセラミックコンデンサを取り付けます。ここでは、基板の裏側に取り付けました。
最後にファームウェアを書き換えたら完成です。
▲動作中の様子です。
パソコンと接続しています。
▲インテリジェントブロックNXTでエコーバック(sio_echoback.nxc)を実行中の様子です。
受信した内容が液晶画面に表示されます。
▲パソコン側の様子です。「Tera Term」を実行しています。
ボーレートを19200bpsに設定します。
キーボードを押すと、押したキーがエコーバックされます。
改造ファームウェア
AVR Studio 4 + WinAVR用
↓