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

スライド 1

N/A
N/A
Protected

Academic year: 2021

シェア "スライド 1"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

ルネサス

エレクトロニクス株式会社

RX62N 周辺機能紹介 TMR

(2)

© 2013 Renesas Electronics Corporation. All rights reserved.

2

コンテンツ

TMRの概要

プログラムサンプル(1)

パルス出力機能(8ビットモード)

プログラムサンプル(2)

インターバルタイマ機能

(16ビット、コンペアマッチカウントモード)

プログラムサンプルのカスタマイズ

(3)
(4)

© 2013 Renesas Electronics Corporation. All rights reserved.

4

(5)

TCNT

TCORA

TMRの動作概要

外部クロック

コンペアマッチ

設定

比較

(6)

© 2013 Renesas Electronics Corporation. All rights reserved.

6

(7)

プログラムサンプル(1)

パルス出力機能仕様

■パルス出力機能のプログラム例

チャネル0のパルス出力機能を用い出力端子から100KHz(10μs周期)、デューティ

比50%のパルスを出力する。

仕様

・動作モード

パルス出力

・チャネル

チャネル0(8ビットモード)を使用

・クロックソース

PCLK[48MHz]

・カウンタクリア

コンペアマッチA

・カウントスタート

ソフトウェアトリガ

・割り込み

なし

・出力端子

TMO0端子

(8)

© 2013 Renesas Electronics Corporation. All rights reserved.

8

パルス出力の動作

MAX = 0xFF

時間

カウンタ

設定値

コンペアマッチでカウンタをクリア

デューティ比50%のパルス

出力端子

電圧

カウンタ

(9)

プログラム・フローチャート

パルス出力(H/W)

init_TMR0

TMR0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

※CPU内部レジスタ、クロック

レート、およびメモリ内の静的

変数領域はスタートアップ・

ルーチン内で初期化されます。

start_TMR0

TMR0 カウントスタート

リセット・スタート

スタートアップルーチン

main

初期化

カウント開始

(10)

© 2013 Renesas Electronics Corporation. All rights reserved.

10

パルス出力機能の初期化フロー

初期化開始

モジュールストップ解除

出力信号の設定

コンスタントレジスタの設定

カウンタクリア条件の設定

初期化終了

(11)

モジュールストップコントロールレジスタA(MSTPCRA)

(12)

© 2013 Renesas Electronics Corporation. All rights reserved.

12

時間

設定値

出力端子

電圧

カウンタ

カウント値の設定

100KHzのパルスは、

5μsごとに信号がトグルする

5μs

5μs

ビット

 

 

値=

コンスタントレジスタ

48

[

MHz

]

×

5

[

µ

s

]

1

=

240

1

<

8

(13)

タイムコンスタントレジスタA(TCORA)

チャネル0

(カウント値

-

1)を設定

カウント値

=

240

239

(14)

© 2013 Renesas Electronics Corporation. All rights reserved.

14

タイマコントロールレジスタ(TCR)

TCORA

時間

設定値

出力端子

電圧

カウンタ

5μs

5μs

(15)

タイマコントロール/ステータスレジスタ(TCSR)

設定値

出力端子

(16)

© 2013 Renesas Electronics Corporation. All rights reserved.

16

パルス出力機能の初期化関数

出力信号の設定

カウント値の設定

カウンタクリア条件の設定

初期化開始

モジュールストップ解除

初期化終了

void init_TMR0(void)

{

MSTP(TMR0) = 0;

//set count

TMR0.TCORA = 5*48-1;

// TCNT0 clear by compare match A

TMR0.TCR.BIT.CCLR = 0x01;

// TMO0 is toggle

TMR0.TCSR.BYTE = 0xE3;

(17)

タイマカウンタコントロールレジスタ(TCCR)

0x08

初期状態

カウント停止

(18)

© 2013 Renesas Electronics Corporation. All rights reserved.

18

パルス出力機能のカウント開始関数

init_TMR0

TMR0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_TMR0

TMR0 カウントスタート

main

void start_TMR0(void)

{

// count start

// - CSS internal clock

// - CKS is PCLK

TMR0.TCCR.BYTE = 0x08;

}

(19)

パルス出力機能のメイン関数

void main(void)

{

// Initialize timer (TMR0)

init_TMR0();

// TMR0 and TMR1 start

start_TMR0();

while(1){

// CPU sleep

wait();

}

}

init_TMR0

TMR0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_TMR0

TMR0 カウントスタート

main

(20)

© 2013 Renesas Electronics Corporation. All rights reserved.

20

プログラムサンプル(2)

インターバルタイマ機能

(21)

プログラムサンプル(2)

インターバルタイマ機能仕様

■インターバルタイマ機能のプログラム例

チャネル0、1のインターバル・タイマ機能を用い1000ms毎にLED1を点滅する。

仕様

・動作モード

インターバルタイマ

・チャネル

チャネル0、1(

16ビット、コンペアマッチカウントモード)を使用

・クロックソース

PCLK[48MHz]

・コンペアマッチ

チャネル0=20msec周期

チャネル1=TMR0のコンペアマッチ50回

(20ms×50=1000ms)

・カウンタクリア

チャネル0=コンペアマッチA

チャネル1=コンペアマッチA

・カウントスタート

ソフトウェアトリガ

・割り込み

チャネル1のコンペアマッチA割り込み

(22)

© 2013 Renesas Electronics Corporation. All rights reserved.

22

コンペアマッチカウントモードの動作

MAX = 0xFF

設定値

チャネル0のカウンタ

チャネル0と1を組み合わせて使用する

MAX = 0xFF

設定値

チャネル1のカウンタ

20ms

50回

クロックをカウント

チャネル0のコンペアマッチ回数をカウント

(23)

プログラム・フローチャート

init_TMR01

TMR0,1初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

※CPU内部レジスタ、クロック

レート、およびメモリ内の静的

start_TMR01

TMR0カウントスタート

init_PORT

LEDの初期化

LED制御

リセット・スタート

スタートアップルーチン

main

RTE

TMR1割り込み関数

(Excep_TMR1_CMI1A)

setpsw_i(組み込み関数)

割り込み許可

初期化

カウント開始

(24)

© 2013 Renesas Electronics Corporation. All rights reserved.

24

コンペアマッチカウントモードの初期化フロー

チャネル1のクロックソースの設定

チャネル0,1のカウント値の設定

チャネル0,1のカウンタクリア条件の設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

初期化終了

割り込み要求の許可

(25)

ビット

 

 

 

コンスタントレジスタ

48

[

MHz

]

×

20

[

ms

]

1

960

K

1

>

8

カウント値の設定

【チャネル0

1

-117.1875

1

8192

]

ms

[

20

]

MHz

[

48

=

×

1

50

値=

コンスタントレジスタ

【チャネル1】

ビット

117

1

<

8

]

s

32[

8192

48[MHz]

]

[

1875

.

0

]

[

時間

 

µ

誤差

(26)

© 2013 Renesas Electronics Corporation. All rights reserved.

26

タイムコンスタントレジスタA(TCORA)

116

チャネル0

(カウント値

-

1)を設定

チャネル0のカウント値

=

117

チャネル1のカウント値

=

50

チャネル1

49

(27)
(28)

© 2013 Renesas Electronics Corporation. All rights reserved.

28

コンペアマッチカウントモードの初期化関数(1)

void

init_TMR01(void)

{

//

Wakeup

TMR0,TMR1

MSTP(TMR0)

=

0;

//

TCORA

is

20ms

count

//

48000KHz(48MHz)*20/8192

TMR0.TCORA

=

48000*20/8192-1;

//

TCORA

is

50

count

TMR1.TCORA

=

50-1;

//

TCNT0

clear

by

compare

match

A

TMR0.TCR.BIT.CCLR

=

1;

TMR1.TCR.BIT.CCLR

=

1;

//

TCNT0

counts

for

compare

match

of

TCORA

TMR1.TCCR.BIT.CSS

=

3;

//

CMIEA

is

enable

TMR1.TCR.BIT.CMIEA

=

1;

//

CMIA1

is

enable

IEN(

TMR1,

CMIA1

)

=

1;

//

CMIA1

interrupt

Level

is

1

IPR(

TMR1,

CMIA1

)

=

1;

}

チャネル1のクロックソースの設定

チャネル0,1のカウント値の設定

チャネル0,1のカウンタクリア条件の設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

初期化終了

(29)

割り込みのタイミング

MAX = 0xFF

設定値

チャネル0のカウンタ

MAX = 0xFF

設定値

チャネル1のカウンタ

クロックをカウント

割り込み

(30)

© 2013 Renesas Electronics Corporation. All rights reserved.

30

(31)

割り込みコントローラの設定

(32)

© 2013 Renesas Electronics Corporation. All rights reserved.

32

割り込み要求許可レジスタm(IERm)(m

=

02h

1Fh)

(33)

割り込み要因プライオリティレジスタm(IPRm)(m=

00h~8Fh)

(34)

© 2013 Renesas Electronics Corporation. All rights reserved.

34

コンペアマッチカウントモードの初期化関数

~割り込みの設定~

void

init_TMR01(void)

{

//

Wakeup

TMR0,TMR1

MSTP(TMR0)

=

0;

//

TCORA

is

20ms

count

//

48000KHz(48MHz)*20/8192

TMR0.TCORA

=

48000*20/8192-1;

//

TCORA

is

50

count

TMR1.TCORA

=

50-1;

//

TCNT0

clear

by

compare

match

A

TMR0.TCR.BIT.CCLR

=

1;

TMR1.TCR.BIT.CCLR

=

1;

//

TCNT0

counts

for

compare

match

of

TCORA

TMR1.TCCR.BIT.CSS

=

3;

//

CMIEA

is

enable

TMR1.TCR.BIT.CMIEA

=

1;

//

CMIA1

is

enable

IEN(

TMR1,

CMIA1

)

=

1;

//

CMIA1

interrupt

Level

is

1

IPR(

TMR1,

CMIA1

)

=

1;

}

チャネル1のクロックソースの設定

チャネル0,1のカウント値の設定

チャネル0,1のカウンタクリア条件の設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

初期化終了

(35)

割り込み関数の作成とベクタテーブルの登録

LED制御

RTE

TMR1割り込み関数

(Excep_TMR1_CMI1A)

// TMR1_CMI1A

#pragma interrupt (Excep_TMR1_CMI1A(vect=177))

void Excep_TMR1_CMI1A(void)

{

// Invert P47(LED)

PORT4.DR.BIT.B7 ^= 1;

}

(36)

© 2013 Renesas Electronics Corporation. All rights reserved.

36

タイマカウンタコントロールレジスタ(TCCR)

0x0E

初期状態

カウント停止

カウント動作

(37)

コンペアマッチカウントモードのカウント開始関数

init_TMR01

TMR0,1初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_TMR01

TMR0カウントスタート

init_PORT

LEDの初期化

main

setpsw_i(組み込み関数)

割り込み許可

void start_TMR0(void)

{

// count start

// - CSS internal clock

// - CKS is PCLK/8192

TMR0.TCCR.BYTE = 0x0E;

}

(38)

© 2013 Renesas Electronics Corporation. All rights reserved.

38

コンペアマッチカウントモードのメイン関数

void main(void)

{

// Initialize for LED

init_PORT();

// Initialize timer (TMR0,TMR1)

init_TMR01();

// TMR0 and TMR1 start

start_TMR01();

// Interrupt enable (CPU)

setpsw_i();

while(1){

// CPU sleep

wait();

}

}

init_TMR01

TMR0,1初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_TMR01

TMR0カウントスタート

init_PORT

LEDの初期化

main

setpsw_i(組み込み関数)

割り込み許可

(39)
(40)

© 2013 Renesas Electronics Corporation. All rights reserved.

40

16ビットモード(16ビットカウントモード)の動作

16ビットの

比較

外部クロック

チャネル1:下位8ビット

チャネル0:上位8ビット

(41)

8ビットモードから16ビットモード(16ビットカウントモード)への変更

void

init_TMR0(void)

{

//

Wakeup

unit

0

of

TMR

MSTP(TMR0)

=

0;

//

set

count

TMR0.TCORA

=

48*5-1;

//

48M*5μ=24*5

//

TCNT0

clear

by

compare

match

A

TMR0.TCR.BIT.CCLR

=

0x01;

//

TMO0

is

toggle

TMR0.TCSR.BYTE

=

0xE3;

}

void start_TMR0(void)

{

// count start

void init_TMR01(void)

{

// Wakeup unit 0 of TMR

MSTP(TMR0) = 0;

// Cascade

TMR0.TCCR.BIT.CSS = 3;

// set count

TMR01.TCORA =48*50-1;

// TCNT0 clear by compare match A

TMR0.TCR.BIT.CCLR = 0x01;

// TMO0 is toggle

TMR0.TCSR.BYTE = 0xE3;

}

void start_TMR01(void)

{

// count start

100KHzのパルス出力

10kHzのパルス出力

カスケード接続

カウントクリア

条件の設定は

チャネル0

16ビットアクセス

(42)

ルネサス

エレクトロニクス株式会社

© 2013 Renesas Electronics Corporation. All rights reserved.

参照

関連したドキュメント

[r]

不明点がある場合は、「質問」機能を使って買い手へ確認してください。

機能名 機能 表示 設定値. トランスポーズ

口腔の持つ,種々の働き ( 機能)が障害された場 合,これらの働きがより健全に機能するよう手当

備 考 瀬戸内海 300m 500m 1000m.

Should Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees,

さらに、1 号機、2 号機及び 3

更に、このカテゴリーには、グラフィックタブレットと類似した機能を