

シリアル通信の速度が上がらない原因がだいたい分かったので,dsPIC30F4012でリベンジを仕掛ける.
おそらく秋月電子のUSB-シリアル変換器に使われているIC(prolific PL-2303)で設定可能なbps値とSHマイコンで設定できるbps値の相性が悪い.
dsPICのほうがSH2-Tinyに比べてX'talの周波数の相性がいいのでこちらで再トライしてみることにした.
dsPICで内部RC発振子(7.37MHz)を使い再度ボーレートの限界をみたところ,921600kbpsまで通信できた.予想通り,今度はうまくいった.
ただし,RS-232Cレベル変換ICのほうが460kbpsまでしか保証されていなので,920kbpsではかなり波形がなまってしまった.また,dsPIC内蔵クロックはRC発振なのでそもそも精度がイマイチなのが気になる.ちゃんとした外付けクリスタルを使い,TTLからダイレクトにUSBにした方が有利だろう.
いったんMbpsオーダー近くまでUARTで通信可能ということがわかったので,次は無線の安定化などをやっていきたい.
