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

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

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

RX210 グループ FIT を用いたフラッシュメモリの書き換え 要旨 本サンプルコードでは FIT を用いて 特定の内蔵フラッシュメモリ (ROM および E2 デ ータフラッシュ ) のアドレスに特定の値を書き込む方法について説明します 対象デバイス RX210 1 / 50

スライド 1

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

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

スライド 1

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

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

スライド 1

スライド 1

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

スライド 1

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

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

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

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

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

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

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

(Microsoft Word - TBC\221\200\215\354\203K\203C\203hRev,A.doc)

インテル(R) Visual Fortran コンパイラ 10.0

CubeSuite+版RXシリアルデバッガ取扱説明書

スライド 1

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

画面上部 1 管理者設定検索自動振分一覧 説明管理者モード / 一般モードの切替を行います 詳細については 注意事項を参照下さい を押すとメニューが表示されます 管理者モードの操作方法は 管理者設定編 を参照下さい キーワードを元に 選択したFAXの文書の検索が出来ます FAX 自動振分の情報を確認

AI1608AYUSB手順V3

スライド 1

やってみようINFINITY-WingFan 編-

スライド 1

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

ブート領域、フラッシュ領域の分割方法 RL78ファミリ用Cコンパイラ CC-RL

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

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

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

BizBrowser SmartDevice Android開発用スタートアップガイド

Microsoft Word - Cubesuite+_78K0R.doc

Microsoft Word - Cubesuite+_V850_AM.doc

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

Biz/Designer Vインストールガイド

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

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

Microsoft Word - AV-LS300シリーズVista対応説明_5版.doc

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

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

Welcome-Kit ~STM32L4-Nucleo~

WebSAM System Navigator JNS isadmin SNMP Trap 連携設定手順書 NEC 2012 年 12 月

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

Library for Cadence OrCAD Capture ユーザマニュアル 2018 年 7 月 株式会社村田製作所 Ver.1.0 Copyright Murata Manufacturing Co., Ltd. All rights reserved. 10 July

3 アドレスバーに URL を入力し ( 移動ボタン ) をタップします 入力した URL のホームページに移動します ネットワークへのログオン 画面が表示された場合は ユーザー名 を確 認し パスワード を入力して OK をタップしてください ホームページがうまく表示されないときは Opera B

Studuino ライブラリ環境設定Windows編

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

ことばを覚える

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

AN1510 LCD-KIT サンプルプログラム解説(RX63N)

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

Microsoft Word - XOOPS インストールマニュアルv12.doc

Microsoft Word - プログラムをRAM.doc

目次 第 1 章はじめに 取扱いについて 記載内容について... 6 第 2 章基本操作 OneNote Online を開く ノートブックを開く ノート ( セクション ) を作成する... 11

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

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

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

RL78ファミリ CubeSuite+ スタートアップ・ガイド編

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

PowerPoint プレゼンテーション

Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manage

ETCB Manual

Microsoft Word - Mac版 Eclipseの導入と設定.docx

スライド 1

Studuinoライブラリ環境設定Mac編

CS+ コード生成ツール 統合開発環境 ユーザーズマニュアル 周辺機能操作編

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

SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します のチェックツールをルネサスエレクトロニクス株式会社のホームページ

Proselfの利用方法

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

CS+ 統合開発環境 ユーザーズマニュアル CC-RL ビルド・ツール操作編

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

やってみようINFINITY-写真管理 編-

RX210、RX21A、RX220グループ アプリケーションノート SCIを用いた調歩同期式通信

Microsoft Word PXシリーズプリンタドライバインストール説明書(Win8・10-32・64bit)

NetworkVantage 9

CS+ V 統合開発環境 ユーザーズマニュアル RL78 デバッグ・ツール編

SUD Hintergrund Information

SILAND.JP テンプレート集

CubePDF ユーザーズマニュアル

目 次 1. はじめに ソフトの起動と終了 環境設定 発助 SMS ファイルの操作 電話番号設定 運用条件 回線情報 SMS 送信の開始と停止 ファイル出力... 16

Microsoft Word - Qsync設定の手引き.docx

4 本体の入力を USB-B 端子に対応する入力に切り換える 下記の画面表示になります 手順 8 の画面になるまでしばらくお待ちください 5 解凍したフォルダー内にある "Setup.exe" をダブルクリックして実行する InstallShield ウィザードが表示されます xxxxxxxxxx.

AudioGate 4 取扱説明書

SHOFU SureFile for DentalX Manual

GettingStartedTK2

ポップアップブロックの設定

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

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

作業環境カスタマイズ 機能ガイド(応用編)

Microsoft PowerPoint - Outlook2016(新)

PIC24F Family Reference Manual Section 9 WDT

Transcription:

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

内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 4 3.1 使用端子一覧... 4 4. ソフトウェア説明... 5 4.1 動作概要... 5 4.1.1 出力する PWM 波形パターン... 6 4.1.2 PWM 波形切り替えタイミング図... 10 4.2 ファイル構成... 15 4.3 オプション設定メモリ... 16 4.4 定数一覧... 16 4.5 変数一覧... 17 4.6 関数一覧... 18 4.7 関数仕様... 19 4.8 作成する関数のフローチャート... 20 4.8.1 初期設定... 20 4.8.2 メイン処理... 21 4.8.3 割り込み関数... 22 5. PDG の設定... 23 5.1 SYSTEM 設定... 25 5.2 MTU2 の設定... 26 5.3 SYSTEM の端子設定... 30 5.4 ソースの生成... 31 5.5 CS+ への登録... 32 6. CS+ のプロジェクトに PDG のソースファイルを登録する際の設定... 33 7. デバッグについて... 35 7.1 ライブラリの内部処理をデバッグする準備... 35 7.2 デバッグ... 38 8. 動作確認方法... 41 9. 参考ドキュメント... 41 2 / 41

1. 仕様 MTU2( マルチファンクションタイマパルスユニット 2) を使用して 相補 PWM モードの波 形を出力します 2. 動作確認条件 本サンプルコードは 表 2.1 の条件で動作を確認しています 表 2.1 動作確認条件 項目 内容 使用マイコン R5F5210BBDFP (RX210 グループ ) 動作周波数 メインクロック:20MHz システムクロック(ICLK):20MHz( メインクロック 1 分周 ) 周辺モジュールクロック B(PCLKB):20MHz( メインクロック 1 分周 ) ボード電源電圧 5V マイコン動作電圧 5V エンディアン リトルエンディアン 動作モード シングルチップモード プロセッサモード スーパバイザモード 統合開発環境 ルネサスエレクトロニクス製品 CS+ for CC-RL V5.00.00 エミュレータ ルネサスエレクトロニクス製 E1 エミュレータ 使用ボード 北斗電子製評価ボード HSBRX210-100B(R5F5210BBDFP) 3 / 41

3. ハードウェア説明 3.1 使用端子一覧 表 3.1 に使用端子と機能を示します 表 3.1 使用端子と機能 端子名 入出力 内容 P14 出力 MTIOC3A(PWM 周期に同期したトグル出力 ) P16 出力 MTIOC3D(PWM 出力 1 逆相出力 ) P17 出力 MIIOC3B(PWM 出力 1 正相出力 ) P24 出力 MTIOC4A(PWM 出力 2 正相出力 ) P25 出力 MTIOC4C(PWM 出力 2 逆相出力 ) P30 出力 MTIOC4B(PWM 出力 3 正相出力 ) P31 出力 MTIOC4D(PWM 出力 3 逆相出力 ) 4 / 41

4. ソフトウェア説明 4.1 動作概要 MTU2 の相補 PWM モードを使用して 相補 PWM 波形と 1/2 周期ごとに反転する波形を出力する方法を説明します MTU2 から PWM 波形を正相 3 本 逆相 3 本 PWM の 1/2 周期の反転出力波形 1 本 計 7 本の波形を出力します 正相 3 本 逆相 3 本はそれぞれ同じ信号を出力し 正相と逆相のペア 3 相はそれぞれノンオーバラップの関係にあります ノンオーバラップ時間をデッドタイムと呼びます また PWM 波形は一定周期毎に異なる波形へ切り替えます 切り替える波形は 4.1.1 に示す PWM 波形 1 PWM 波形 2 PWM 波形 3 PWM 波形 4 です 各波形を 10 周期ずつ出力しながら PWM 波形 1 PWM 波形 2 PWM 波形 3 PWM 波形 4 PWM 波形 1 という順番で出力します 波形を切り替える際の動作については 4.1.2 を参照してください <MTU2 チャネル 3, チャネル 4> MTU2 を以下に設定します 相補 PWM モードにすると チャネル 3 チャネル 4 を組み合わ せて PWM 波形を 3 相出力します 合わせて 5.2 MTU2 の設定 も参照ください 初期設定 相補 PWM モード MTIOC3B MTIOC3D MTIOC4A MTIOC4C MTIOC4B MTIOC4D 端子の出力許可 初期出力を High アクティブレベルを Low PWM 同期出力のトグル出力を許可 PWM 周期を 350us デッドタイムを 25us バッファ動作を許可 5 / 41

4.1.1 出力する PWM 波形パターン図 4.1 に PWM 波形 1 を示します 正相出力 : 非アクティブレベル H 期間 (50μs) アクティブレベル L 期間 (250μs) 非アクティブレベル H 期間 (50μs) 逆相出力 : アクティブレベル L 期間 (25μs) 短絡防止時間 ( デッドタイム )(25μs) 非アクティブレベル H 期間 (250μs) 短絡防止時間 ( デッドタイム )(25μs) アクティブレベル L 期間 (25μs) PWM 波形 1 P17/MTIOC3B P24/MTIOC4A P30/MITOC4B P16/MTIOC3D P25/MTIOC4C P31/MITOC4D 25us アクティブレベル幅 250us 25us 25us 25us P14/MTIOC3A PWM1/2 周期 175us PWM1/2 周期 175us 図 4.1 PWM 波形 1 6 / 41

図 4.2 に PWM 波形 2 を示します 正相出力 : 非アクティブレベル H 期間 (125μs) アクティブレベル L 期間 (100μs) 非アクティブレベル H 期間 (125μs) 逆相出力 : アクティブレベル L 期間 (100μs) 短絡防止時間 ( デッドタイム )(25μs) 非アクティブレベル H 期間 (100μs) 短絡防止時間 ( デッドタイム )(25μs) アクティブレベル L 期間 (100μs) PWM 波形 2 P17/MTIOC3B P24/MTIOC4A P30/MITOC4B P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A アクティブレベル幅 100us アクティブレベル幅 100us PWM1/2 周期 175us 25us アクティブレベル幅 100us PWM1/2 周期 175us 図 4.2 PWM 波形 2 7 / 41

図 4.3 に PWM 波形 3 を示します 正相出力 : アクティブレベル L 期間 (350μs) 逆相出力 : 非アクティブレベル H 期間 (350μs) PWM 波形 3 P17/MTIOC3B P24/MTIOC4A P30/MITOC4B P16/MTIOC3D P25/MTIOC4C P31/MITOC4D アクティブレベル幅 350us P14/MTIOC3A PWM1/2 周期 175us PWM1/2 周期 175us 図 4.3 PWM 波形 3 8 / 41

図 4.4 に PWM 波形 4 を示します 正相出力 : 非アクティブレベル H 期間 (350μs) 逆相出力 : アクティブレベル L 期間 (350μs) PWM 波形 4 P17/MTIOC3B P24/MTIOC4A P30/MITOC4B P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A アクティブレベル幅 350us PWM1/2 周期 175us PWM1/2 周期 175us 図 4.4 PWM 波形 4 9 / 41

4.1.2 PWM 波形切り替えタイミング図 各 PWM 波形を切り替えるタイミングを以下に示します 図 4.5 に初期出力から PWM 波形 1 の出力開始 ( タイマスタート ) を示します 初期出力 PWM 波形 1 MTU3.TGRA MTU.TCDR MTU3.TGRB, MTU4.TGRA, MTU4.TGRB P17/MTIOC3B P24/MTIOC4A P30/MITOC4B MTU.TDDR 0000h P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A 初期出力 図 4.5 初期出力 PWM 波形 1 10 / 41

図 4.6 に PWM 波形 1 から PWM 波形 2 の切り替えタイミングを示します カウンタの谷で バッファの値を更新し カウンタの谷でバッファ転送に設定しているため カウンタの谷以 降で出力が切り替わります PWM 波形 1 PWM 波形 2 MTU3.TGRA MTU.TCDR MTU3.TGRB, MTU4.TGRA, MTU4.TGRB P17/MTIOC3B P24/MTIOC4A P30/MITOC4B MTU.TDDR 0000h P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A 図 4.6 PWM 波形 1 PWM 波形 2 11 / 41

図 4.7 に PWM 波形 2 から PWM 波形 3 の切り替えタイミングを示します 正相出力をデュ ーティ比 100%( アクティブレベル L) に設定するため MTU3.TGRB MTU4.TGRA MTU4.TGRB に 0000h を設定します PWM 波形 2 PWM 波形 3 MTU3.TGRA MTU.TCDR MTU3.TGRB, MTU4.TGRA, MTU4.TGRB P17/MTIOC3B P24/MTIOC4A P30/MITOC4B MTU.TDDR 0000h P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A 図 4.7 PWM 波形 2 PWM 波形 3 12 / 41

図 4.8 に PWM 波形 3 から PWM 波形 4 の切り替えタイミングを示します 正相出力をデュ ーティ比 0%( 非アクティブレベル H) に設定するため MTU3.TGRB MTU4.TGRA MTU4.TGRB に MTU3.TGRA と同値を設定します PWM 波形 3 PWM 波形 4 MTU3.TGRA MTU.TCDR MTU3.TGRB, MTU4.TGRA, MTU4.TGRB P17/MTIOC3B P24/MTIOC4A P30/MITOC4B MTU.TDDR 0000h P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A 図 4.8 PWM 波形 3 PWM 波形 4 13 / 41

図 4.9 に PWM 波形 4 から PWM 波形 1 の切り替えタイミングを示します PWM 波形 4 PWM 波形 1 MTU3.TGRB, MTU4.TGRA, MTU4.TGRB P17/MTIOC3B P24/MTIOC4A P30/MITOC4B MTU3.TGRA MTU.TCDR MTU.TDDR 0000h P16/MTIOC3D P25/MTIOC4C P31/MITOC4D P14/MTIOC3A 図 4.9 PWM 波形 4 PWM 波形 1 14 / 41

4.2 ファイル構成本サンプルコードを作成するにあたり 編集したファイルを表 4.1 に示します 統合開発環境で自動生成されて編集していないファイル および 5.PDG の設定で生成されるファイルに関しましては割愛します 表 4.1 ファイル名一覧 ファイル名 概要 備考 ComplementaryPWM_RX210.c メインファイル PWM 波形パターンの切り替え オプション設定メモリ hwsetup.c 初期設定 存在しない端子の処理 クロックの設定 MTU2 の初期設定 resetprg.c リセット例外処理 HardwareSetup(); のコメントアウトを解除しました main 関数の実行前に 初期設定 main 関数 図 4.10 resetprg.c 15 / 41

4.3 オプション設定メモリ 表 4.2 に本サンプルコードで使用するオプション設定メモリの状態を示します 表 4.2 オプション設定メモリ一覧 シンボル アドレス 設定値 内容 OFS0 FFFF FF8Fh~FFFF FF8Ch FFFF FFFFh リセット後 IWDT は停止リセット後 WDT は停止 OFS1 FFFF FF8Bh~FFFF FF88h FFFF FFFFh リセット後 電圧監視 0 リセット無効 HOCO( 高速オンチップオシレータ ) 発振が無効 MDES FFFF FF83h~FFFF FF80h FFFF FFFFh リトルエンディアン OFS0 と OFS1 はメインファイルの最後尾に記載しています MDES については vecttbl.c ファイル ( プロジェクト作成時に自動生成されるファイル ) に定 義されています 4.4 定数一覧 表 4.3 に本サンプルコードで使用する定数 表 4.4 に const 型定数を示します 表 4.3 サンプルコードで使用する定数 定数名 設定値 内容 NUM_WAVEFORM 4 出力させる相補 PWM 波形のパターン数 CYCLE_TIMES 10 PWM 波形を切り替えるタイミングの PWM 出力周期数 表 4.4 サンプルコードで使用する const 型定数 型 変数名 内容 使用関数 const uint16_t duty_ratio[num_waveform] 各相補 PWM 波形におけるデューティ比の設定値 main 16 / 41

4.5 変数一覧 表 4.5 に本サンプルコードで使用する変数を示します 表 4.5 サンプルコードで使用する変数 型 変数名 内容 使用関数 volatile uint8_t int_count PWM 出力カウンタ 現在出力している PWM 波 main Mtu3IntFunc_A 形パターンの出力周期数 volatile uint8_t current_wave 現在出力している PWM 波形パターンを表す変数 main 17 / 41

4.6 関数一覧表 4.6 に関数一覧を掲載します 本サンプルコードで新規作成 もしくは編集した関数のみ記載しています PDG の設定は 5.PDG の設定 を参照ください サンプルコードで使用している PDG で生成された関数に関しましては RX210 グループ Peripheral Driver Generator リファレンスマニュアル を参照ください main 関数名 Mtu3IntFunc_A 表 4.6 関数一覧概要メイン処理 MTU2 チャネル 3 タイマカウンタと TGRA のコンペアマッチ割り込み処理 18 / 41

4.7 関数仕様 本サンプルコードで作成 もしくは編集した関数仕様を示します main 概要 メイン処理 ヘッダ なし 宣言 void main(void) 説明 PWM 波形切り替えタイミングで PWM 波形 1 PWM 波形 2 PWM 波形 3 PWM 波形 4 PWM 波形 1 という順番で出力する 引数 なし リターン値 なし Mtu3IntFunc_A 概要ヘッダ宣言説明引数リターン値 MTU2 チャネル 3 タイマカウンタと TGRA のコンペアマッチ割り込み処理なし void Mtu3IntFunc_A (void) タイマカウンタの山の数を数える (PWM 波形切り替えタイミングに使用 ) なしなし 19 / 41

4.8 作成する関数のフローチャート 4.8.1 初期設定 HardwareSetup 存在しない端子の処理 R_PG_IO_PORT_SetPortNotAvailable() クロックの設定 R_PG_Clock_Set() MTU2 の設定 R_PG_Timer_Set_MTU_U0_C3_C4() MTU2 の出力端子の設定 R_PG_Timer_ControlOutputPin_MTU_U0_C3_C4 (1, 1, 1, 1, 1, 1) return 20 / 41

4.8.2 メイン処理 main チャネル 3 とチャネル 4 のカウンタ動作同時開始 P_RG_Timer_SynchronouslyStartCount_MTU_U0 (0, 0, 0, 1, 1) PWM 波形切り替え タイミング? No Yes 次に出力する PWM 波形パターンを決定 デューティ比の設定 R_PG_Timer_SetTGR_D_MTU0_C3(duty_ratio[current_wave]) R_PG_Timer_SetTGR_C_MTU0_C4(duty_ratio[current_wave]) R_PG_Timer_SetTGR_D_MTU0_C4(duty_ratio[current_wave]) PWM 出力カウンタをクリア 21 / 41

4.8.3 割り込み関数 Mtu3IntFunc_A PWM 出力カウンタをインクリメント return 22 / 41

5. PDG の設定本サンプルコードにおける PDG の設定を以下に説明します 本設定において生成されるソースファイルの詳細は RX210 グループ Peripheral Driver Generator リファレンスマニュアル を参照ください Peripheral Driver Generator 2 を起動します 23 / 41

メニューバーのファイル -> プロジェクトの新規作成をクリックすると 以下のウィンド ウが表示されます プロジェクト名 マイコンのグループ 型を入力し OK をクリック すると プロジェクトが作成されます クリック 24 / 41

5.1 SYSTEM 設定 システムタブのクロック発生回路の設定を以下に示します 25 / 41

5.2 MTU2 の設定 MTU2 の設定を以下のように行います 下部のタブから MTU2a を選択し 左部のツリーから MTU3 を選択します その後 このチャネルを使用する にチェックを入れ 動作モードを 相補 PWM モード に設定します 相補 PWM モードはチャネル 3 とチャネル 4 を使用しますが PDG2 で相補 PWM モードを選択した場合 チャネル 3 での設定が自動的にチャネル 4 にも反映されます ( チャネル 4 に関して PDG2 上で直接設定を指定する必要はありません ) 26 / 41

タイマ動作周期とデッドタイムを入力すると それぞれ対応するレジスタの値が自動的 に表示されます バッファレジスタの転送タイミングを カウンタの谷で転送 に設定します 27 / 41

出力端子の設定をします 各ジェネラルレジスタの初期値は PWM 波形 1 に設定します 相補 PWM 波形を出力する 6 つの端子は全て アクティブレベル :L を選択します トグル出 力を有効にします 28 / 41

割り込み関数の設定を行います MTU3/TGRA コンペアマッチ ( カウンタ値の山 ) 割り込み (TGIAn) を使用する にチェックを入れます 割り込み通知関数名は任意に設定してくださ い 29 / 41

5.3 SYSTEM の端子設定 SYSTEM の端子設定を確認します 30 / 41

5.4 ソースの生成 以下の GUI をクリックすると クリック ソースファイルが生成されます 31 / 41

5.5 CS+ への登録 対象の CS+ プロジェクトを開き PDG 上の以下の GUI をクリックします クリック ソースファイルの登録が完了しました 32 / 41

6. CS+ のプロジェクトに PDG のソースファイルを登録する際の設定 CS+ のプロジェクトに PDG で生成されたソースファイルを登録すると プロジェクトのフ ァイルに AddFromPDG フォルダが追加されます そのままビルドをすると エラーおよび警告が発生します 解消する設定を以下に示します PDG で生成されるソースファイルは bool 変数を使用しています 対応させるため ビルド ツールを右クリック-> プロパティを表示し ライブラリ ジェネレート オプションタブにある ライブラリ構成 を C99(-lang=c99) に設定します 33 / 41

PDG で生成されるソースファイルは double 型 および long double 型の精度を倍精度として扱っているため ビルド ツールを右クリック-> プロパティを表示し 共通オプションタブにある double 型 および long double 型の精度 を 倍精度として扱う (- dbl_size=8) に設定します DG で生成されるソースファイルを登録すると PIntPRG セクションを使用しないため CS+ プロジェクトを生成した際にデフォルトで設定されている PIntPRG セクションを削除します ビルド ツールを右クリック-> プロパティを表示し リンクオプションタブにある セクションの開始アドレス から PIntPRG を削除します 34 / 41

7. デバッグについて PDG2 が生成する関数が呼び出すライブラリの内部処理をデバッグする方法の一例を示し ます 7.1 ライブラリの内部処理をデバッグする準備 CS+ の左部ツリーの ファイル 以下の部分で左クリックし 新しいカテゴリを追加し ます 例では AddFromPDG の下に新しいカテゴリを追加します クリック 新しいカテゴリに適当な名前をつけます 35 / 41

C:\Renesas\PDG2\source\RX 下にあるフォルダの中から 現在作成中のマイコンに 対応するフォルダを選択し 先ほど作成した新しいカテゴリにドラッグします 追加するファイルを問われるので OK を選択します クリック 36 / 41

ファイルが追加されるのを確認したあと 追加したフォルダのプロパティを開きます ビルド設定のタブから ビルドの対象とする を いいえ に変更します ビルド ツールを右クリック -> プロパティを表示し リンク オプションタブにある 使 用するライブラリ ファイル を開き 現在指定されているファイルの拡張子の直前に _debug を追加します _debug を追加 以上の設定を行うことで PDG2 が生成した関数が呼び出すライブラリの内部処理を追う ことができます 37 / 41

7.2 デバッグ 実際にデバッグしてみます デバッグツールにプログラムをダウンロードすると デフ ォルトの設定では main 関数の開始でブレークされます ここでは hwsetup.c に記述した PDG が生成した関数 P_PG_Timer_Set_MTU_U0_C3_C4 の 動作を追ってみます 関数の呼び出し部分にブレークポイントを設定し CPU リセット 後 プログラムを実行します をクリックします クリック 38 / 41

先ほど設定したブレークポイントの行を実行する直前で停止しました ステップ イ ン実行を行います をクリックし 関数内の処理を追っていきます クリック 関数 P_PG_Timer_Set_MTU_U0_C3_C4 の内部に入りました ステップ イン ステップ オーバーを駆使して 関数の動作を追っていきます クリック 39 / 41

関数内部でさらに 関数 R_MTU2_Set を呼んでいます ステップ インして内部の処理 を追っていきます クリック 関数 R_MTU2_SetAll の内部に移動しました この関数は先ほど追加したライブラリのフ ァイルです 呼び出した関数名の末尾に All が加えられた関数が追加されたライブラ リの関数です 40 / 41

8. 動作確認方法作成したソフトウェアをボードにダウンロードし 出力端子をオシロスコープで観測することで確認しました 出力された波形は 4.1.1 および 4.1.2 に示した波形と同一のものが確認されました 9. 参考ドキュメント RX210 グループユーザーズマニュアルハードウェア編 RX210 グループ Peripheral Driver Generator リファレンスマニュアル 以上 41 / 41