Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

Similar documents
RL78/G1G タイマRD(相補PWM モード)とPWM・オプション・ユニットによるPWM出力の強制遮断 CC-RL

スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

ミニマイコンカー製作キットVer.2 C言語走行プログラム解説マニュアル

RX210 グループ MTU2 を用いた相補 PWM モードの波形出力 要旨 本サンプルコードでは MTU2 を用いて相補 PWM モードの波形を出力する方法について説 明します 対象デバイス RX210 1 / 41

赤外線受光モジュール C言語リモコンプログラム解説マニュアル

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

スライド 1

スライド 1

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

スライド 1

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

RL78/I1D 中速オンチップ・オシレータでのUART 通信の実現 CC-RL

Microsoft Word - N-TM307取扱説明書.doc

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

/* モジュールストップ解除 */ SYSTEM.MSTPCRA.BIT.MSTPA24 = 0; /* MSTPA24(S12ADA 制御部 ) クロック供給開始 */ SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; /* MSTPA17(S12ADA0) クロック供給開始 */

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

Microsoft Word - 本文.doc

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

RX コード生成 V リリースノート

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

スライド 1

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

PowerPoint プレゼンテーション

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

< 動作マトリクス > 停止 REQ 固定位置 REQ 往復 REQ 停止 () 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止 ( 固定位置 ) 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止パルス中 ( 停止パルス終了後 ) ( 停止パルス終了後動作 )

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

スライド 1

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

R8C/22グループ、R8C/23グループ データシート

ターゲット項目の設定について

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

デュアルショック2制御基板 製作・プログラム解説マニュアル(R8C/38A版)

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

Microsoft PowerPoint - 3.3タイミング制御.pptx

VLSI工学

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

dsA4

形式 :PDU 計装用プラグイン形変換器 M UNIT シリーズ パルス分周変換器 ( レンジ可変形 ) 主な機能と特長 パルス入力信号を分周 絶縁して単位パルス出力信号に変換 センサ用電源内蔵 パルス分周比は前面のスイッチで可変 出力は均等パルス オープンコレクタ 電圧パルス リレー接点パルス出力

Microsoft PowerPoint - kougi7.ppt

1 1 TA, ,9 1. ( 2. TM TM GUI TM 1. P7-13 TM Notepad, Meadow, ( P109 ). 2. (shisaku01/sys test)

形式 :WYPD 絶縁 2 出力計装用変換器 W UNIT シリーズ パルスアイソレータ ( センサ用電源付 2 出力形 ) 主な機能と特長 パルス入力信号を絶縁して各種のパルス出力信号に変換 オープンコレクタ 電圧パルス リレー接点パルス出力を用意 センサ用電源内蔵 耐電圧 2000V AC 密着

スライド 1

SP-1221 LIN I/F 基板 ユーザーズマニュアル 作成日 :2017 年 10 月 17 日

R8C/38Aマイコン R8C/35Aマイコン 制御ライブラリ解説マニュアル

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

形式 :RPPD 計装用プラグイン形変換器 M UNIT シリーズ パルスアイソレータ ( センサ用電源付 ロータリエンコーダ用 ) 主な機能と特長 ロータリエンコーダの 2 相パルス入力信号を絶縁して各種の 2 相パルス出力信号に変換 オープンコレクタ 電圧パルス パワーフォト MOS リレー R

CSM_H5S_SGTA-024_2_15

GR-SAKURA-SAのサンプルソフト説明

基本条件 (1Slot 版用 ) 機能 MR-SHPC 端子名 設定内容 備考 CS 空間 -CS CS6 空間 ( キャッシュ無し ) キャッシュ無し空間を使用 (B h) RA25 0 固定 レジスタ空間 RA24 0 固定 RA23 0 固定 B83FFFE 4h~B83FFFF

dsA4

NCB564個別00版

PIC24F Family Reference Manual Section 9 WDT

スライド 1

ETCB Manual

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

Taro-DSノート

057 { 058 int i; 059 timecounter=0; 060 pwmvalue=0;x=0;v=0; 061 requestdisplaydata=1; 062 tick=1; 063 for (i=0; i<rbuffsize; i++) { 064 ringbuffer[i]=

<4D F736F F D B D A778F4B835A EC B290882E646F63>

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx

RL78/G10 シリアル・アレイ・ユニット (UART通信)(C言語編) CC-RL

RL78/G14、R8C/36Mグループ アプリケーションノート R8CからRL78への移行ガイド:割り込み

スレーブ用システム設計ガイド アプライアンス社モータビジネスユニット 2012/2/15 Rev. 2 Page 1

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

KDC

VelilogHDL 回路を「言語」で記述する

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

Microsoft PowerPoint - RX62N動画マニュアルDMAC.ppt [互換モード]

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

ブロック図 真理値表 入力出力 OUTn (t = n) CLOCK LATCH ENABLE SERIAL-IN OUT 0 OUT 7 OUT 15 SERIAL OUT H L D n D n D n 7 D n 15 D n 15 L L D n No Change D n 15 ( 注 )

M16C M16C/50 M16C/5M R5F35MD6JFB 128K + 24K 12K PLQP0100KB-A 100P6Q-A ( 1) R5F35MD6KFB PLQP0100KB-A 100P6Q-A ( 1) R5F35MDEJFB 256K + 24K 20K PLQP0100K

形式 :KAPU プラグイン形 FA 用変換器 K UNIT シリーズ アナログパルス変換器 ( レンジ可変形 ) 主な機能と特長 直流入力信号を単位パルス信号に変換 オープンコレクタ 5V 電圧パルス リレー接点出力を用意 出力周波数レンジは前面から可変 ドロップアウトは前面から可変 耐電圧 20

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

目次 コード生成概要ページ 03 汎用アンプを使ったデモ概要ページ 05 CS+ でプロジェクト作成ページ 07 コード生成で周辺機能設定ページ 09 ソースコードを自動生成ページ 19 プログラム編集ページ 20 デバッグツールの設定ページ 26 プログラムの実行ページ 28 e 2 studio

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

NI P1200 Release Notes Cover

untitled

Microsoft PowerPoint LC_15.ppt

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

PowerPoint プレゼンテーション

Microsoft Word - TC4538BP_BF_J_2002_040917_.doc

スライド 1

必要システム ( お客様ご用意 ) 形式 :MSRPAC-2010 MSRPAC 仕様書 NS-7404 Rev.2 Page 2/13

Transcription:

RL78/G14 周辺機能紹介タイマ RD ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A

コンテンツ タイマ RD の概要 PWM 機能のプログラム サンプル紹介 相補 PWM モードのプログラム サンプル紹介 2

タイマ RD の概要 3

タイマ RD の機能 モード 使用チャネル チャネル0, チャネル1 独立で使用 動作モード タイマモードインプットキャプチャ機能 タイマモードアウトプットコンペア機能 タイマモード PWM 機能 チャネル0 チャネル1 組み合わせて使用 リセット同期 PWM モード 相補 PWM モード PWM3 モード 4

PWM 機能の動作概要 チャネル毎に使用チャネルを組み合わせて使用 PWM 機能 リセット同期 PWM 相補同期 PWM PWM3 PWM 出力 f HOCO f CLK /X TRDCLK クロック設定 カウンタ TDR0 TRDGRA0 周期 TRDGRB0 出力変化点 TRDGRC0 TRDIOA0 TRDIOB0 TRDIOC0 2 本 3 本 バッファ TRDGRD0 TRDIOD0 同期動作設定 チャネル0 TRDGRA1 周期 TRDIOA1 3 相計 6 本 ( 正相 逆相 ) f HOCO f CLK /X TRDCLK クロック設定 カウンタ TDR1 TRDGRB1 出力変化点 TRDGRC1 バッファ TRDGRD1 TRDIOB1 TRDIOC1 TRDIOD1 3 本 チャネル 1 5

PWM 機能のプログラム サンプル紹介 6

PWM とは PWM(Pulse Width Modulation: パルス幅変調 ) はパルス波のデューティ比を変化させて変調する変調方法 デューティ比を変化させることで 電圧や電流を制御できる デューティ比 波形例 平均電流 アクティブ期間 非アクティブ期間 小 小さい 大 大きい キャリア周期 デューティ比 = アクティブ期間 / キャリア周期 アクティブ期間が H の場合 7

仕様 タイマRD0のPWM 機能を使用し 周期 100μsのPWM 波形を3 本出力します 出力する信号は以下のとおりです TRDIOB0 端子出力 :Lレベル出力期間(25μs) Hレベル出力期間 (75μs) TRDIOC0 端子出力 :Lレベル出力期間(50μs) Hレベル出力期間 (50μs) TRDIOD0 端子出力 :Lレベル出力期間(75μs) Hレベル出力期間 (25μs) パルス出力強制遮断入力機能は禁止し 1 周期経過ごとに割り込みを発生させます また PWM 波形を連続出力します < 設定条件 > カウントソースに fclk(16mhz) を使用します 周期設定値 出力変化点設定値 3 出力変化点設定値 2 出力変化点設定値 1 PWM 周期 :100μs TRDIOB0 端子出力 TRDIOC0 端子出力 TRDIOD0 端子出力 25μs 50μs 75μs 75μs 50μs 25μs 8

初期設定のフロー _@cstart hdwinit R_Systeminit 初期設定関数 hdwinit() マスカブル割り込み禁止 周辺 I/O リダイレクション機能禁止 main() 周辺機能初期設定 R_Systeminit() CPU 初期設定 R_CGC_Create() _@cend マスカブル割り込み許可 タイマ RD 初期設定 R_TMR_RD0_Create() return return 9

タイマ RD の設定フロー (1/3) R_TMR_RD0_Create タイマ RD へのクロック供給許可 タイマ RD0 のカウント設定 タイマ RD0 割り込み禁止 タイマ RD 割り込み優先レベル設定 タイマ RD モードレジスタ設定 タイマ RD PWM 機能選択 タイマ RD の設定フロー (2/3) TRDGRD0 レジスタ機能 : ジェネラルレジスタ TRDGRC0 レジスタ機能 : ジェネラルレジスタ TRDIOD0 端子 : PWM 機能 TRDIOC0 端子 : PWM 機能 TRDIOB0 端子 : PWM 機能 10

タイマ RD へのクロック供給許可 周辺イネーブル レジスタ 1(PER1) 各周辺ハードウエアへのクロック供給許可 / 禁止を設定する 11

タイマ RD0 のカウント設定 タイマ RD スタートレジスタ (TRDSTR) タイマ RD のカウント動作とカウント開始 / 停止を設定 12

タイマ RD0 割り込み処理禁止 割り込みマスク フラグ レジスタ (MK2H) 対応するマスカブル割り込み処理の許可 / 禁止を設定 13

タイマ RD0 割り込み要求フラグクリア 割り込み要求フラグ レジスタ (IF2H) 対応する割り込み要求の発生または命令の実行によりセット リセット信号発生時または命令の実行によりクリア 割り込みが受け付けられた場合は自動的にクリア 14

割り込み優先レベルの設定 優先順位指定フラグ レジスタ (PR02H, PR12H) PR0xy レジスタと PR1xy レジスタを組み合わせて, 対応するマスカブル割り込みの優先順位レベルを設定 15

タイマ RD モードレジスタ設定 タイマ RD モードレジスタ (TRDMR) ジェネラルレジスタの機能選択や同期の許可 / 禁止を設定 PWM 使用時は必ずジェネラルレジスタ 16

タイマ RD PWM 機能選択 タイマ RD PWM 機能選択レジスタ (TRDPMR) タイマ RD の端子を PWM として使用するか それ以外の機能として使用するかを設定する 17

タイマ RD の設定関数 (1/3) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= 0xfe; TRDMK0 = 1; TRDIF0 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0x00; TRDPMR = 0x07; TRDDF0 = 0x00; TRDOER1 &= 0xf0; TRDOER1 =0x01; TRDOCR = 0x00; TRDCR0 = 0x20; TRDIER0 = 0x01; TRDPOCR0=0x07; TRDGRA0 = 1599; TRDGRB0 = 399; TRDGRC0 = 799; TRDGRD0 = 1199; P1 &= 0x1f; PM1 &= 0x1f; } 18

タイマ RD の設定フロー (2/3) タイマ RD の設定フロー (1/3) パルス強制遮断禁止 全端子パルス強制遮断禁止 タイマ RD 出力設定 PWM 出力端子は出力許可 それ以外の端子は出力禁止 初期出力レベル設定 出力端子は全て非アクティブレベル タイマ RD 制御レジスタ設定 TRDGRA0 レジスタとのコンペア一致で TRD0 レジスタクリア コンペア一致割り込み設定 1 周期経過時に割り込み発生 タイマ RD の設定フロー (3/3) 19

パルス強制遮断禁止 タイマ RD デジタルフィルタ機能選択レジスタ (TRDDF0) PWM 機能では 端子出力の強制遮断の許可 / 禁止 強制遮断時の出力レベルを設定 DFB DFD PENB1 DFA DFC PENB0 TRDIOD 端子パルス強制遮断制御 TRDIOC 端子パルス強制遮断制御 TRDIOB 端子パルス強制遮断制御 0 0 強制遮断禁止 R/W 0 1 ハイインピーダンス出力 1 0 L 出力 1 1 H 出力 これらのモードで対応する端子をタイマRDの出力ポートとして使用しない場合 強制遮断禁止の 00Bに設定してください また カウント停止中に設定してください R/W INTP ELC によって強制遮断 出力を変更 20

タイマ RD 出力設定 タイマ RD 出力マスタ許可レジスタ 1(TRDOER1) タイマ RD で使用する端子からの出力許可 / 禁止を設定 21

初期出力レベル設定 タイマ RD 出力制御レジスタ (TRDOCR) タイマ RD で使用する端子の初期出力を設定 22

タイマ RD 制御レジスタ設定 - カウンタクリア選択 - タイマ RD 制御レジスタ (TRDCR0) カウンタクリア クロックエッジ カウントソースを設定 コンペア一致 TRD0 カウンタ カウンタクリア 23

タイマ RD 制御レジスタ設定 - カウントソース選択 - タイマ RD 制御レジスタ (TRDCR0) カウンタクリア クロックエッジ カウントソースを設定 24

コンペア一致割り込み設定 タイマ RD 割り込み許可レジスタ (TRDIER0) インプットキャプチャ / コンペア一致割り込みの許可 / 禁止を設定 25

タイマ RD の設定関数 (2/3) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= 0xfe; TRDMK0 = 1; TRDIF0 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0x00; TRDPMR = 0x07; TRDDF0 = 0x00; TRDOER1 &= 0xf0; TRDOER1 =0x01; TRDOCR = 0x00; TRDCR0 = 0x20; TRDIER0 = 0x01; TRDPOCR0=0x07; TRDGRA0 = 1599; TRDGRB0 = 399; TRDGRC0 = 799; TRDGRD0 = 1199; P1 &= 0x1f; PM1 &= 0x1f; } 26

タイマ RD の設定フロー (3/3) タイマ RD の設定フロー (2/3) 出力レベル選択 全ての出力はアクティブレベル H PWM 周期設定 PWM 周期 : 100μs PWM 出力変化点設定 ポートレジスタ設定 TRDGRB0 出力変化点 : 25μs TRDGRC0 出力変化点 : 50μs TRDGRD0 出力変化点 : 75μs "0" を出力 出力モード return 27

出力レベル選択 タイマ RD PWM 機能出力レベル制御レジスタ (TRDPOCR0) PWM を出力する場合のアクティブレベルを設定 28

PWM 周期のカウント設定 タイマ RD ジェネラルレジスタ A0(TRDGRA0) TRDGRA0 に PWM の周期を設定 m=1599 m 1 1 PWM 100周期 [ μms ] 1599 ( m 1) ( m 1) 16[ fk MHz] 周期 100μs m+1 カウント 29

PWM 出力変化点のカウント設定 タイマ RD ジェネラルレジスタ B0 C0 D0(TRDGRB0 TRDGRC0 TRDGRD0) PWM 機能では 出力変化点を設定 n 16[MHz] 25[ s] 1 399 o 16[MHz] 50[ s] 1 799 p 16[MHz] 75[ s] 1 1199 Lレベル期間 75μs Lレベル期間 50μs L レベル期間 25μs n+1 o+1 p+1 カウント 30

ポートレジスタ設定 ポート レジスタ (Pxx) ポートの出力ラッチの値を設定 ポート モード レジスタ (PMxx) ポートの入力 / 出力を 1 ビット単位で設定 31

タイマ RD の設定関数 (3/3) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= 0xfe; TRDMK0 = 1; TRDIF0 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0x00; TRDPMR = 0x07; TRDDF0 = 0x00; TRDOER1 &= 0xf0; TRDOER1 =0x01; TRDOCR = 0x00; TRDCR0 = 0x20; TRDIER0 = 0x01; TRDPOCR0=0x07; TRDGRA0 = 1599; TRDGRB0 = 399; TRDGRC0 = 799; TRDGRD0 = 1199; P1 &= 0x1f; PM1 &= 0x1f; } 32

PWM モードの設定例 (1/3) 33

PWM モードの設定例 (2/3) 34

PWM モードの設定例 (3/3) 35

main のフロー main timer_rd0_start タイマ RD カウント開始設定 timer_rd0_start() コンペア一致フラグ A クリア タイマ RD0 割り込み要求フラグクリア タイマ RD0 割り込み許可 タイマ RD0 カウント開始 return 36

タイマ RD のカウント開始関数 void timer_rd0_start(void) { unsigned char work = 0; } work = TRDSR0; TRDSR0 = work & 0x1E; TRDIF0 = 0; TRDMK0 = 0; TRDSTR = 0x01; timer_rd0_start コンペア一致フラグ A クリア タイマ RD0 割り込み要求フラグクリア タイマ RD0 割り込み許可 タイマ RD0 カウント開始 return 37

タイマ RD 割り込み関数 interrupt static void r_tmr_rd0_interrupt(void) { unsigned char work = 0; } work = TRDSR0; TRDSR0 = work & 0x1E; 38

相補 PWM モードのプログラム サンプル紹介 39

相補 PWM とは 正相のPWM 出力信号と逆相のPWM 出力信号の組合せ 短絡防止時間をもつ 正相 逆相 短絡防止時間 PWM 出力信号のアクティブレベルをアクティブローとしたときの例 40

仕様 相補 PWM モードを使用し 350μs 周期の PWM 波形の正相を 3 本 逆相を 3 本の計 6 本 PWM の 1/2 周期ごとの反転出力を 1 本出力します 出力する PWM 波形は 4 種類です 10 パルス出力したタイミングで波形を切り替えます PWM 波形は 波形 1 波形 2 波形 3 波形 2 波形 4 波形 1 の順に繰り返し出力します パルス出力強制遮断入力機能は禁止し 1 周期経過ごとに割り込みを発生させます また PWM 波形を連続出力し 出力レベルのアクティブは L 初期出力レベルは H とします < 設定条件 > カウントソースは fclk(16mhz) を使用します 41

PWM 波形 1 の仕様 正相出力 : 非アクティブレベル H 期間 (50μs) アクティブレベル L 期間 (250μs) 非アクティブレベル H 期間 (50μs) 逆相出力 : アクティブレベル L 期間 (25μs) 短絡防止時間 (25μs) 非アクティブレベル H 期間 (250μs) 短絡防止時間 (25μs) アクティブレベル L 期間 (25μs) 42

初期設定のフロー _@cstart hdwinit R_Systeminit 初期設定関数 hdwinit() マスカブル割り込み禁止 周辺 I/O リダイレクション機能禁止 main() 周辺機能初期設定 R_Systeminit() CPU 初期設定 R_CGC_Create() _@cend マスカブル割り込み許可 タイマ RD 初期設定 R_TMR_RD0_Create() return return 43

タイマ RD の設定フロー (1/4) 44

タイマ RD1 のカウント設定 タイマ RD スタートレジスタ (TRDSTR) タイマ RD のカウント動作とカウント開始 / 停止を設定 45

タイマ RD1 割り込み処理禁止 割り込みマスク フラグ レジスタ (MK2H) 対応するマスカブル割り込み処理の許可 / 禁止を設定 46

タイマ RD0 割り込み要求フラグクリア 割り込み要求フラグ レジスタ (IF2H) 対応する割り込み要求の発生または命令の実行によりセット リセット信号発生時または命令の実行によりクリア 割り込みが受け付けられた場合は自動的にクリア 47

タイマ RD の設定関数 (1/4) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= (uint8_t)~0x03; TRDMK0 = 1; TRDIF0 = 0; TRDMK1 = 1; TRDIF1 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0xE0; TRDFCR = 0x02; TRDDF0 = 0x00; TRDDF1 = 0x00; TRDOER1 = 0x01; TRDCR0 = 0x00; TRDCR1 = 0x00; TRDIER0 = 0x01; TRDIER1 = 0x00; TRDOCR = 0x00; TRD0 = 400; TRDGRA0 = 3198; TRDGRB0 = 799; TRDGRA1 = 799; TRDGRB1 = 799; TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; P1 &= 0x80; PM1 &= 0x80; } 48

タイマ RD の設定フロー (2/4) タイマ RD の設定フロー (1/4) タイマ RD モードレジスタ設定 バッファレジスタの設定 タイマ RD 機能制御レジスタ設定 出力レベル : 初期出力 "H" アクティブレベル "L" ( 正相 逆相ともに ) パルス強制遮断禁止 全端子のパルス強制遮断禁止 タイマ RD 出力設定 TRDIOA0 端子のみ出力禁止 タイマ RD の設定フロー (3/4) 49

タイマ RD モードレジスタ設定 - ジェネラルレジスタの機能選択 - タイマ RD モードレジスタ (TRDMR) ジェネラルレジスタの機能選択や同期の許可 / 禁止を設定 出力変化点を変更するためには これらに対応するバッファレジスタを使う必要がある 50

タイマ RD モードレジスタ設定 - タイマの同期動作設定 - タイマ RD モードレジスタ (TRDMR) ジェネラルレジスタの機能選択や同期の許可 / 禁止を設定 51

タイマ RD 機能制御 - 出力レベル選択 - タイマ RD 機能制御レジスタ (TRDFCR) 出力レベルの選択 PWM 機能を使用したモードの選択 52

タイマ RD 機能制御 - コンビネーションモード選択 - タイマ RD 機能制御レジスタ (TRDFCR) 出力レベルの選択 PWM 機能を使用したモードの選択 バッファレジスタ 53

パルス強制遮断禁止 タイマ RD デジタルフィルタ機能選択レジスタ (TRDDF0 TRDDF1) PWM 機能では 端子出力の強制遮断の許可 / 禁止 強制遮断時の出力レベルを設定 DFB DFD PENB1 DFCK1 DFA DFC PENB0 DFCK0 TRDIOD 端子 TRDIOC 端子 TRDIOB 端子 TRDIOA 端子 パルス強制遮断制御 0 0 強制遮断禁止 R/W 0 1 ハイインピーダンス出力 1 0 L 出力 1 1 H 出力 これらのモードで対応する端子をタイマ RD の出力ポートとして使用しない場合 強制遮断禁止の 00B に設定してください また カウント停止中に設定してください R/W 54

タイマ RD 出力設定 タイマ RD 出力マスタ許可レジスタ 1(TRDOER1) タイマ RD で使用する端子からの出力許可 / 禁止を設定 55

タイマ RD の設定関数 (2/4) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= (uint8_t)~0x03; TRDMK0 = 1; TRDIF0 = 0; TRDMK1 = 1; TRDIF1 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0xE0; TRDFCR = 0x02; TRDDF0 = 0x00; TRDDF1 = 0x00; TRDOER1 = 0x01; TRDCR0 = 0x00; TRDCR1 = 0x00; TRDIER0 = 0x01; TRDIER1 = 0x00; TRDOCR = 0x00; TRD0 = 400; TRDGRA0 = 3198; TRDGRB0 = 799; TRDGRA1 = 799; TRDGRB1 = 799; TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; P1 &= 0x80; PM1 &= 0x80; } 56

タイマ RD の設定フロー (3/4) 57

タイマ RD 制御レジスタ設定 タイマ RD 制御レジスタ (TRDCR0 TRDCR1) カウンタクリア クロックエッジ カウントソースを設定 58

コンペア一致割り込み設定 タイマ RD 割り込み許可レジスタ (TRDIER0 TRDIER1) インプットキャプチャ / コンペア一致割り込みの許可 / 禁止を設定 チャネル01 59

TRDIOC0 端子出力レベル設定 タイマ RD 出力制御レジスタ (TRDOCR) パルスの初期出力レベルを設定 60

タイマ RD の設定関数 (3/4) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= (uint8_t)~0x03; TRDMK0 = 1; TRDIF0 = 0; TRDMK1 = 1; TRDIF1 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0xE0; TRDFCR = 0x02; TRDDF0 = 0x00; TRDDF1 = 0x00; TRDOER1 = 0x01; TRDCR0 = 0x00; TRDCR1 = 0x00; TRDIER0 = 0x01; TRDIER1 = 0x00; TRDOCR = 0x00; TRD0 = 400; TRDGRA0 = 3198; TRDGRB0 = 799; TRDGRA1 = 799; TRDGRB1 = 799; TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; P1 &= 0x80; PM1 &= 0x80; } タイマRDの設定フロー (2/4) タイマRDカウントソース設定コンペア一致割り込み設定 TRDIOC0 端子出力レベル設定タイマRDの設定フロー (4/4) 61

タイマ RD の設定フロー (4/4) 62

相補 PWM のカウント設定値の考え方 1/2 周期 短絡防止時間 63

短絡防止時間の設定 タイマ RD カウンタ 0(TRD0) 相補 PWM モードでは短絡防止時間を設定 400 短絡防止時間 1 fk 1 25μ ps 400 16MHz p p p: 短絡防止時間 25μs 64

PWM 周期設定 タイマ RD ジェネラルレジスタ A0(TRDGRA0) 相補 PWM モードでは PWM 周期を設定 3198 1/2 周期 1 1 PWM 350 周期 m s 3198 ( m ( 2m p 2) 2400) 2 16 fkmhz 65

PWM 出力変化点計算方法 タイマ RD ジェネラルレジスタ B0 A1 B1(TRDGRB0 TRDGRA1 TRDGRB1) 相補 PWM モードでは PWM 出力変化点を設定 799 n: 出力変化点 50μs 799 799 1 1 PWM 出力変化点 50 ns 799 ( n 1) ( n 1) 16 fkmhz 66

バッファレジスタ設定 タイマ RD ジェネラルレジスタ D0 C1 D1(TRDGRD0 TRDGRC1 TRDGRD1 ) バッファレジスタとして使用するため TRDGRB0 TRDGRA1 TRDGRB1 と同じ値を設定 799 67

ポートレジスタ設定 ポート レジスタ (Pxx) ポートの出力ラッチの値を設定 ポート モード レジスタ (PMxx) ポートの入力 / 出力を 1 ビット単位で設定 68

タイマ RD の設定関数 (4/4) void R_TMR_RD0_Create(void) { TRD0EN = 1; TRDSTR &= (uint8_t)~0x03; TRDMK0 = 1; TRDIF0 = 0; TRDMK1 = 1; TRDIF1 = 0; TRDPR10 = 1; TRDPR00 = 1; TRDMR = 0xE0; TRDFCR = 0x02; TRDDF0 = 0x00; TRDDF1 = 0x00; TRDOER1 = 0x01; TRDCR0 = 0x00; TRDCR1 = 0x00; TRDIER0 = 0x01; TRDIER1 = 0x00; TRDOCR = 0x00; TRD0 = 400; TRDGRA0 = 3198; TRDGRB0 = 799; TRDGRA1 = 799; TRDGRB1 = 799; TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; P1 &= 0x80; PM1 &= 0x80; } 69

相補 PWM モードの設定例 (1/3) 70

相補 PWM モードの設定例 (2/3) 71

相補 PWM モードの設定例 (3/3) 72

main のフロー 73

タイマ RD のカウント開始関数 void timer_rd0_start(void) { unsigned char work = 0; } work = TRDSR0; TRDSR0 = work & 0x1E; TRDIF0 = 0; TRDMK0 = 0; TRDSTR = 0x03; timer_rd0_start コンペア一致フラグ A クリア タイマ RD0 割り込み要求フラグクリア タイマ RD0 割り込み許可 タイマ RD0 カウント開始 return 74

タイマ RD0 割り込みのフロー A B A B 75

タイマ RD0 割り込み関数 interrupt static void r_tmr_rd0_interrupt(void) { unsigned char work = 0; } work = TRDSR0; TRDSR0 = work & 0x1E; int_cnt++; if (int_cnt >= 10) { int_cnt = 0x00; output_chg_mode++; if(output_chg_mode >= 5) { output_chg_mode = 0; } switch (output_chg_mode) { case 0: TRDGRD0 = 1999; TRDGRC1 = 1999; TRDGRD1 = 1999; break; case 1: TRDGRD0 = 0; TRDGRC1 = 0; TRDGRD1 = 0; break; A interrupt static void r_tmr_rd0_interrupt(void) { A case 2: TRDGRD0 = 1999; TRDGRC1 = 1999; TRDGRD1 = 1999; break; case 3: TRDGRD0 = 3600; TRDGRC1 = 3600; TRDGRD1 = 3600; break; case 4: TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; break; default: output_chg_mode = 4; TRDGRD0 = 799; TRDGRC1 = 799; TRDGRD1 = 799; break; } } } 76

END ルネサスエレクトロニクス株式会社