FT232Rのボーレートの設定は次の式によります。Windows XPの場合です。他のOSではまた違うかもしれません。
n = 3,000,000 / (Baud Rate[bps])
nが整数になれば(割り切れれば)そのボーレートぴったりで通信が可能です。式を見ればわかるとおり最大ボーレートは3Mbpsです。
割り切れない場合でも小数点以下が0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875になるのであればそのボーレートぴったりで通信が可能です。小数点以下が前記のいずれかにならない場合はその近似値でボーレートを設定することになります。
さらにn=2以下の場合、小数点以下の端数は認められません。小数点以下0のみ。
つまりボーレートの速い順に下の通りになります。
(n=0とn=1は式の通りにならない例外的な扱いになっています。n>=2は式の通りになります)
n:分周比
n=0で3,000,000bps(3Mbps) ←最高設定スピード
n=1で2,000,000bps(2Mbps)
n=2で1,500,000bps(1.5Mbps)
n=2.125で1,411,765bps
n=2.25で1,333,333bps
n=2.375で1,263,158bps
n=2.5で1,200,000bps
n=2.625で1,142,857bps
n=2.75で1,090,909bps
n=2.875で1,043,479bps
n=3で1,000,000bps(1Mbps)
n=3.125で960,000bps
n=3.25で923,077bps
n=3.375で888,889bps
n=3.5で857,143bps
n=3.625で
n=3.75
n=3.875
n=4
n=4.125
n=4.25
||
(省略)
||
n=16384で183.1bps ←最低設定スピード
のようになります。高速で通信したい場合、選択肢が限られ1.5Mbps, 2Mbps, 3Mbpsのどれかしか選べませんので、通信するマイコン等の水晶の周波数選定に注意してください。
実際のボーレートの設定はn(分周比)を与えるのではなくボーレートのbpsを設定します。
ボーレートを例えば950,000bpsに設定しても実際は960,000bpsか923,077bpsのどちらかに丸められるので実際には950,000bpsで通信していないことに注意してください。実際は誤差の範疇で通信に支障ないはずです。ただし速い側(例えば2,500,000bps)や遅すぎる設定(100bps)は近似値にならず全然関係ないおかしなボーレートになってしまう値もあります。184〜1,000,000の範囲であれば問題はないでしょう。
遅い方はnが取ることができる16384(=2^14)が最大になります。ボーレート設定としては整数しか指定ができないので184bpsが最低スピードになります。183bpsを指定するとおかしくなります(115200bps前後のスピードになる)FT232RLの内蔵12MHz発振子の精度は±1667ppm(±0.16%)となっています。調歩同期の場合ボーレートは±3%以下の誤差であれば通信に問題ないとされています。
|