14

最新の PC の rs232 シリアル ポートの潜在的な最大速度はどれくらいですか? 仕様では 115200 bps と書かれていることは知っています。しかし、私はそれがより速くなると信じています。rs232 ポートの速度に影響を与えるものは何ですか? 水晶振動子だと思いますが、よくわかりません。

4

3 に答える 3

15

これは元の IBM PC に戻ります。それを設計したエンジニアは、安定した周波数を生成する安価な方法を必要としていました。そして、当時広く使用されていた、アメリカのあらゆるカラーテレビで使用されていたクリスタルに変わりました。NTSC テレビ規格のカラー バースト周波数で発振回路を動作させるために作られた水晶。これは 315/88 = 3.579545 メガヘルツです。そこから、ボーレートを設定するために変更するプログラム可能な分周器を最初に通過しました。次に、UART 自体がそれを 16 で分周して、データ ラインのサブサンプリング クロックを生成します。

したがって、取得できる最高のボーレートは、分周器を最小値 2 に設定することです。これにより、3579545 / 2 / 16 = 111861 ボーが生成されます。理想的なボーレートからの 2.3% の誤差。しかし、十分に近い場合、クロック レートは正確である必要はありません。非同期シグナリングのポイントである UART の A であるスタート ビットは、常にレシーバーを再同期します。

実際のRS-232 ハードウェアを115200ボーで確実に動作させることは、大きな課題です。電気規格はノイズに非常に敏感で、誘導ノイズをキャンセルする試みも、インピーダンス整合伝送ラインを作成する試みもありません。9600 ボーで推奨される最大ケーブル長はわずか 50 フィートです。115200 では、実際には非常に短いケーブルのみで十分です。さらに進むには、RS-422 の差動信号のような別のアプローチが必要です。

これはすべて古い歴史であり、現代のハードウェアにはまったく当てはまりません。16550 のような UART チップに基づく真のシリアル ハードウェアは急速に姿を消し、USB エミュレーターに取って代わられています。シリアルポートをエミュレートするためのカスタムドライバーがあります。それらはボーレートの選択を受け入れますが、USB バス自体については無視するだけで、デバイスを接続したドングルの最後の 0.5 インチにのみ適用されます。ドライバーが最大値として 115200 を受け入れるかどうかに関係なく、ドライバーの実装の詳細は通常、より高い値を受け入れます。

于 2012-11-02T13:45:10.293 に答える
2

はい、より高速で実行することは可能ですが、主な制限は環境です。ノイズの多い環境では、速度を制限する破損したデータが多くなります。別の制限は、デバイス間のケーブルの長さです。信号を強化するために、リピーターまたはその他のデバイスを追加する必要がある場合があります。

于 2012-11-02T11:15:37.917 に答える