2012年10月22日

RS232Cボードを動かす(3)

  先にアップしたプログラムの一部を改定しました。

rs232c_2.zip

  パラメータ設定で、ボーレート倍率に x64 を追加しました。

  これは、8251 の分周する回路の選択で、1/16、1/64、以外に 1/1 を選べるようにしたものです。


  これを使うと、RS232Cのボード上の速度を600bps にして、x64 にすると、38400bps になるはずなんですが...
  1/1 のクロックを使ってデータを受信した場合、受信データ化けを起こします(データ落ちはない)。


  マニュアルではこの事には特に触れていませんが、よく読んでみるとデータのサンプリングタイミングが記載されており、これがこのクロックの立ち上がりになります。

  分周クロックの場合、スタートビットの立ち下がりから、データのサンプリングタイミングを決定できますが、分周しない場合は、外部から入力されるクロックをそのまま使うようです。

  そのため、データとのタイミング関係が分からない、外部のクロックの立ち上がりで取り込むため、データ化けが起こると考えられます。


  ただ、送信側は 1/1 を使っても特に問題がありません。

  ちなみに試した所、307200bps(4800×64)まで、正常に送信できました。ただ、フロー制御を効かせているので、データが途切れてる可能性はあります。


  ボーレート設定が面倒なので、ソフトから制御できるようにしようかな...

posted by えすび at 19:13| Comment(0) | SW:ツール | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。