FTDI FT2232H(USB <-> UART)ボーレート?


8

誰でもFTDI のFT2232Hチップの1つを使用しましたか?

具体的には、どのようにして許容ボーレートを把握しますか?

データシートは漠然としており、1〜3 MBaudの範囲で何かを選択する必要がありますが、私の選択肢を知る必要があります。

回答:


7

私もこの問題を抱えていました。FTDIは、チップの問題よりもドライバーの問題を考慮しています。オーバーヘッドFTDIアプリケーションノートの面積と見て「AN_120エイリアシングVCPボーレート」 PDFのAPPNOTE。


アプリケーションノートでは、選択できるものが正確に示されているので、マイクロコントローラーが同じボーレートを10%未満のエラーで実行できることを確認する必要があります。
Kortuk、2009

10%?10%のエラーは、優れたUART通信には高すぎます...通常、これは+/- 3%のようなものです。
Jason S、

片側に完全なクロックがある場合、エラーなしでもう一方に最大10%のエラー(8ビットデータ、1スタート、1ストップを使用)がある可能性があります。パリティを追加し、その最大エラーを減らす必要があります。ただし、通常、両側は完璧ではなく、両方にオーバーヘッドがあるため、オーバーヘッドを減らす必要があります。
Kortuk

@Kortuk:エラーが特定の方向にあることがわかっている場合は、リモートエンドの許容範囲を0〜10%高速にすることができますが、そうすると、リモートエンドが0.01%遅い場合、通信が失敗する可能性があります。多くのUART設計にはほぼ対称的なエラー範囲がありますが、4xオーバーサンプリングされたものは非対称です。しかし、ユーザーがスタートビットのタイミングを調整して、より高速または低速のリモートを優先できるものを見たことはありません。
スーパーキャット2011年

@supercat、私たちが使用していたMSP430は、「変調」を使用できると思います。これは、最初のビットでエラーが高くなりますが、ビットが改善されました。
Kortuk、2011年

2

また、注目に値するのは、Linuxドライバーが現在460800ボーまでの速度(のみ?)をサポートしていることです。


2
間違いは簡単ですが、間違いです。LinuxでのBPSレートの選択はPOSIX互換である必要があり、70年代からの感情的な荷物もたくさんあります。たとえば、以前は38400までしか選択できませんでした。後で、ビットを反転すると、57600と115200も使用可能になります。これはすべてOS側であり、ハードウェア側ではありません。現代のドライバーは依然として由緒あるBxxxx旗をサポートする必要がありますが、カスタムレートを行うこともできます。get_ftdi_divisor()ドライバーの(1077行目)を見てください。FT232Hでは、最大12,000,000のカスタムBPSレートを設定できます。
アレクシオス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.