2014-01-16 6 views
6

ウィンドウ内のFiFoバッファチェック(デバイスマネージャからのアドバンストCOMポート設定時)の役割をここで説明できますか?ウィンドウ内のCOMポートのFIFOバッファの役割

FIFOバッファのチェック/チェック解除がCOMポートからのデータの読み取りにどのように影響しますか?

多くの場合、お役に立ちましたか?

答えて

7

IBM-PCデザインで使用された元のUARTチップは8250でした。受信機が次のバイトを受信して​​いる間に受信バイトを1つしか格納できませんでした。これは、オペレーティングシステムのシリアルポートドライバの応答性に対する高い要求を「データ受信」割り込みに応答します。受信側がそのバイトを上書きする前に、そのバイトを読み取るのに十分速くなければなりません。十分に速くないと、オーバーランエラーや回復不能なデータ損失が発生します。高い割込み速度も有害である。

このデザインは、16550 UART chipによって改良されました。これは、より大きなバッファ、すなわちFIFOを持ち、オーバーランが発生する前にバッファに空きを書き込む時間をOSに与えます。シリアルポートドライバは、特定のフィルレベルで割り込みを生成するようにプログラムすることができ、割り込みレートも低下させます。

しかし、チップデザインにはソフトウェアと同じ種類の問題がありますが、元の16550はFIFO実装にバグがありました。 16550Aで修正され、ソフトウェアのバージョン1.1が話す。

問題は、ドライバがマシンに16550のバグのあるバージョンか良いバージョンがあるかどうかを知ることができなかったことです。そのようなシンプルなチップには、GetVersion()に相当するものはありません。そこで、ユーザがFIFOサポートをオフにしてバグをバイパスすることを可能にするプロパティページを提供しました。

今日、あなたがバギーバージョンを使用する確率はゼロです。 FIFOをオフにする必要はなくなりました。

+1

ありがとう、とても素敵で詳細な返事教授:) – adi

関連する問題