[H8-ML(2531)] ボーレート誤差について
From: "Hiroshi Tada" <tada@xxxxxxxxxxxxxxxxxxxxxxx>
Date: 2002年12月11日(水)14時11分13秒
皆さん初めまして。多田と申します。

現在、H8-3048/Fを使ったシステムを構築しています。

H8に外付けで通信デバイスを接続しており、外部シリアルの
送受信クロック(TxCLK,RxCLK)をタイマ(ITU)出力にて生成しようと
考えています。外部シリアルを使って通信(非同期通信)するための
ボーレートは19200bpsなので、これの16倍の307.2KHzのクロックを
作りたいのです。

H8のシステムクロックは16MHzなのですが、これから307.2KHzの
クロックを出力するためタイマにセットするカウンタを計算しようとすると、
割り切れません(下記参照願います)。

【タイマの設定】
 ・カウントクロックは内部クロックφ/1(16MHz)
 ・GRAのコンペアマッチでトグル出力

【GRAレジスタにセットする値の計算】
 ①19200bpsの16倍の周期を求める。
   19200bps×16 = 307200
 ②307.2KHZの1周期分の時間を求める。
   1÷307200 = 3.25520833us
 ③パルス時間を求める(デューティ50%)。
   (1÷30720)÷2 = 1.627604166us
 ④タイマ分解能を算出。
   1÷16MHz = 0.0625us
 ⑤上記データ群から、GRAにセットするカウンタ値を求める。
   1.627604166us÷0.0625us = 26.04166...

上記の計算から、タイマのGRAレジスタには「26」という値をセットする
ことになるのですが、割り切れていない結果なのでボーレート誤差が出ると
思います。このタイマから出力されるクロックはボーレート誤差の
許容範囲に入っていることになるのでしょうか?
また、どれくらい誤差があるか数値で表したいのですが、誤差はどのように
計算したら求められるのでしょうか?

以上、よろしくお願い致します。



スレッド概略
[表示中](起点)
 ├[2532(1)]
 ├[2533(2)]
 ├[2535(3)]
 ├[2536(4)]
 ├[2537(5)]
 └[2542(6)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]