• 検索結果がありません。

パルス幅測定モード

ドキュメント内 J-TMP86CK74AFG_Customer.book (ページ 95-98)

第 5 章 入出力ポート

7.2 デバイダ出力 (DVO)

8.3.5 パルス幅測定モード

パルス幅測定モードは、TC1 端子の入力パルスをトリガにしてカウントをスタートし、入力パル ス 幅 を 内 部 ク ロ ッ ク で 測 定 す る モ ー ド で す。カ ウ ン ト ス タ ー ト 用 の ト リ ガ の エ ッ ジ は、

TC1CR<TC1S> によって、立ち上がりエッジ、または立ち下がりエッジのいずれかを選択すること

ができます。またキャプチャを行うエッジは、TC1CR<MCAP1> によって、片エッジまたは両エッ ジのいずれかを選択することができます。

• TC1CR<MCAP1>=“1”(片エッジキャプチャ)の場合

H レベルまたは L レベルのいずれか一方の入力パルス幅を測定することができます。H レベルの入力パルス幅を測定する場合は TC1CR<TC1S> を立ち上がりエッジに、Lレベル の入力パルス幅を測定する場合はTC1CR<TC1S>を立ち下がりエッジに設定してください。

タイマスタート後、カウントスタート用のトリガのエッジと逆方向のエッジを検出する と、アップカウンタの内容を TC1DRB に取り込み、INTTC1 割り込み要求を発生します。

このときアップカウンタはクリアされます。その後カウントスタート用のトリガのエッジ を検出するとアップカウンタはカウントアップを再開します。

• TC1CR<MCAP1>=“0”(両エッジキャプチャ)の場合

Hレベルと周期、または Lレベルと周期のいずれかの入力パルス幅を測定することがで きます。Hレベルと周期を測定する場合はTC1CR<TC1S>を立ち上がりエッジに、Lレベ ルと周期を測定する場合はTC1CR<TC1S>を立ち下がりエッジに設定してください。

タイマスタート後、カウントスタート用のトリガのエッジと逆方向のエッジを検出する と、アップカウンタの内容を TC1DRB に取り込み、INTTC1 割り込み要求を発生します。

アップカウンタはカウントアップを継続し、その後カウントスタート用のトリガのエッジ を検出すると、アップカウンタの内容をTC1DRB に取り込み、INTTC1割り込み要求を発 生します。このときアップカウンタはクリアされた後、カウントアップを継続します。

注 1) キャプチャ値は、次のトリガエッジが検出されるまでにTC1DRB から必ず読み出してください。読み出 しを行わない場合、キャプチャ値は不定となります。このときTC1DRB は、16 ビットアクセス命令によ る読み出しを推奨します。

注 2) 片エッジキャプチャ時、キャプチャ後のカウンタは次のエッジを検出するまで “1”で停止するため、2 回目のキャプチャ値は、スタート直後のキャプチャ値よりも “1”大きくなります。

注 3) タイマスタート後の最初のキャプチャ値は不定となりますので、タイマスタート後の1回目のキャプチャ 値は読み捨ててください。

( プログラム例 )デューティの測定。 (分解能fc/27 [Hz] 時)

CLR (INTTC1SW). 0 ; INTTC1のサービススイッチの初期設定 (INTTC1SW):

INTTC1ごとに反転するように設定したアドレス

LD (TC1CR), 00000110B ; TC1のモード, ソースクロックを設定

DI ; IMF= “0”

SET (EIRL). 5 ; INTTC1割り込みを許可。

EI ; IMF= “1”

LD (TC1CR), 00100110B ; MCAP1 = 0TC1を外部トリガスタート。

:

PINTTC1: CPL (INTTC1SW). 0 ; INTTC1割り込み, INTTC1のサービススイッチの

反転/テスト

JRS F, SINTTC1

LD A, (TC1DRBL) ; TC1DRBの読み出し (“H” レベルパルス幅)

LD W,(TC1DRBH)

LD (HPULSE), WA ; “H” レベルパルス幅をRAMに格納

RETI

SINTTC1: LD A, (TC1DRBL) ; TC1DRBの読み出し (周期)

LD W,(TC1DRBH)

LD (WIDTH), WA ; 周期をRAMに格納

:

RETI ; デューティ計算

:

VINTTC1: DW PINTTC1 ; INTTC1割り込みベクタ設定

WIDTH HPULSE

TC1┵ሶ INTTC1 INTTC1SW

第 8章 16ビットタイマカウンタ1 (TC1)

8.2 制御 TMP86CK74AFG

図 8-6 パルス幅測定モード

TC1DRB

INTTC1ഀࠅㄟߺⷐ᳞

TC1┵ሶ౉ജ

ࠞ࠙ࡦ࠲

ౝㇱࠢࡠ࠶ࠢ

(a)  ࠛ࠶ࠫࠠࡖࡊ࠴ࡖ (MCAP1 = "1") n 2 3

ࠞ࠙ࡦ࠻ࠬ࠲࡯࠻ ࠞ࠙ࡦ࠻ࠬ࠲࡯࠻

࠻࡝ࠟ (TC1S = "10")

1 3

2

1 4

0

n 0

ࠠࡖࡊ࠴ࡖ n - 1

[ᔕ↪] "H"࡟ࡌ࡞߹ߚߪ"L"࡟ࡌ࡞ߩࡄ࡞ࠬ᏷ߩ᷹ቯ

TC1DRB

INTTC1ഀࠅㄟߺⷐ᳞

TC1┵ሶ౉ജ

ࠞ࠙ࡦ࠲

ౝㇱࠢࡠ࠶ࠢ

(b) ਔࠛ࠶ࠫࠠࡖࡊ࠴ࡖ (MCAP1 = "0")

1 2 n

ࠞ࠙ࡦ࠻ࠬ࠲࡯࠻ ࠞ࠙ࡦ࠻ࠬ࠲࡯࠻

(TC1S = "10")

3 2

1 4

0

n

ࠠࡖࡊ࠴ࡖ ࠠࡖࡊ࠴ࡖ

n + 1

[ᔕ↪] (1) ๟ᦼ߹ߚߪ๟ᵄᢙߩ᷹ቯ (2) ࠺ࡘ࡯࠹ࠖ࡯ߩ᷹ቯ

m - 2 n + 3

n + 2

n + 1 m - 1 m 0

m

ドキュメント内 J-TMP86CK74AFG_Customer.book (ページ 95-98)