2017-06-15 16 views
1

私はUARTを通してデータを連続的に送信しているデバイスを持っています。作業デバイスのUARTボーレートを自動検出

私はWindowsベースのPC上のターミナルアプリケーションを使用してそれを読み取ろうとしています。問題は、デバイスがデータを送信しているボーレートがわからないことです。 私が上位ボーレートで得ているデータは意味をなさないので、ターミナルで利用可能な標準ボーレートの中で600以下に絞っています。

マイコンを使用してボーレートや方法を検出するソフトウェアはありますか?

+1

おそらくマイクロコントローラを使用していません。ピンがGPIOによって共有されている場合、状態の変化と測定をポーリング/中断することができます。最小の測定値はボーレートを与えるはずです。あるいは、あなたはちょうど間違っているかもしれないヒットを得るならば、単に周波数をスキャンすることができます、2倍、3倍、4倍なども遅すぎるかもしれません。あなたのボーを調整するだけで正確に並び替えることは不可能になりがちですが、フレーミングエラーがなくなるときに探すことができるデータパターン(フレームフォーマットなど)が必要です。 –

+0

特定のプログラム/デバイスについて話している場合は、スコープに置くか、マイクロコントローラを使用してgpioとタイマーを使用してパルスを測定し、そこからボーを見つけてください。 –

+0

ボーレートだけでなく、データビット、パリティ、またはストップビットの数も不一致になることがあります。 –

答えて

1

いいえ、すぐにやりたいのではないですか。このタイプの作業を行う10年は、オシロスコープ、または安価なUSBベースのロジックアナライザでさえ、ここでは最善のソリューションだと言います。これはまだソフトウェアの問題ではなく、信号検出の問題です。あなたは、適切な計器で数分でこれをクリアすることができます。

私はあなたがデータシートを見つけることができない送信部分であるため、この演習を行うことを前提としています。あなたが手元にデータシートを持っていれば、それはこれをクリアするか、少なくとも試すべきボーレートを示唆します。

0

私はRealtermソフトウェアを試して、データが300ボーレート、パリティなし、8データビット、1または2ストップビットで来ていることを知りました。残りのオプションについては、ソフトウェアでフレーミングエラーとブレーク条件が発生します。すべてありがとうございます...

関連する問題