[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用
ċ
ser2nxt19200bps.zip
(7k)
Matsubara Takuya,
2013/10/09 23:04
ċ
sio_echoback.nxc
(1k)
Matsubara Takuya,
2013/10/10 0:24
Comments