EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
1/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3( RL78/I1B 評価キット )ユーザーズ・マニュアル
ソフトウェア編
第1版※ 本ユーザーズ・マニュアル（以下本書）に記載の全ての情報は発行時点のものであり、予告なしに仕様を変更することがあります。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
2/57
ユーザーズ・マニュアル ソフトウェア編

目次
1.

はじめに ........................................................................... 3

2.

ソフトウェア構成 ................................................................... 5
2.1. 機能概要········································································· 52.2. 構成図··········································································· 62.3. RAM 空間のマッピング ····························································· 7
2.4. ユーザ用 I/F 関数 ································································· 82.5. 状態遷移図 ······································································· 92.6. 初期化·········································································· 10
2.7. 簡易スケジューラ ································································ 122.8. 電力測定処理 ···································································· 14
2.9. 異常系処理 ······································································ 16

3.

セットアップ ...................................................................... 21
3.1. 開発環境········································································ 21
3.2. 書き込み・デバッグのための設定 ·················································· 22
3.3. 書き込み・デバッグ ······························································ 25
3.4. サンプルプログラム ······························································ 25

4.

ユーザ I/F API .................................................................... 26
4.1. グローバル変数一覧 ······························································ 26
4.2. 設定用グローバル変数 ···························································· 27
4.3. 電力測定結果確認用グローバル変数 ················································ 35
4.4. 各種フラグ用グローバル変数 ······················································ 37
4.5. ユーザ I/F API 使用サンプル······················································ 44

5.

付録.............................................................................. 47
5.1. ファイル一覧 ···································································· 47
5.2. 関数一覧········································································ 49
5.3. 利用可能なマイコン資源 ·························································· 54

6.

改版履歴 .......................................................................... 57

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
3/57
ユーザーズ・マニュアル ソフトウェア編

1. はじめに
この度は、EV-200-USB-3（RL78/I1B 評価キット）をご購入いただき誠にありがとうございました。
本書は、EV-200-USB-3（RL78/I1B 評価キット）のソフトウェアについて説明します。
「ユー
ザーズ・マニュアル ハードウェア編」を十分に理解したうえでお読み下さい。
以下、EV-200-USB-3（RL78/I1B 評価キット）は「本製品」と記述します。
ご使用前に本書をよくお読みのうえ、正しく使用して下さい。
本製品は、ルネサスエレクトロニクス株式会社製 電力メーター/計測機器向けマイコン
RL78/I1B を搭載した評価キットです。
また、関連文書として以下に示した資料を使用します。
関連文書
EV-200-USB-3( RL78/I1B 評価キット ) ユーザーズ・マニュアル
ハードウェア編
EV-200-USB-3( RL78/I1B 評価キット ) ユーザーズ・マニュアル
拡張シリアル I/F コマンド仕様編
EV-200-USB-3( RL78/I1B 評価キット ) ユーザーズ・マニュアル
電力測定用アプリケーション編
EV-200-USB-3( RL78/I1B 評価キット ) アプリケーションノート

文書番号
SJAA-150008
SJAA-150011
SJAA-150012
SJAA-150010

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
4/57
ユーザーズ・マニュアル ソフトウェア編

下記の注意事項をご確認のうえ、ご使用下さい。

注意・本ソフトウェアに関する財産権、所有権、知的財産権、その他一切の権限は弊社に帰属します。
・本ソフトウェアに関して弊社に断わりなく複製、他のソフトウェアへの流用、第三者に開示等しないようお願い致します。
・本ソフトウェアは無償で提供されますが、なんの欠陥もないという無制限の保証を行うものではありません。
・本書の内容を参照される場合は、お客様の責任において行って下さい。
ご使用によって生じたお客様または第三者の損害に関し、弊社は一切その責任を負いません。
・第三者の特許件、著作権その他の知的財産の侵害などに関し、弊社はその責任を一切負いません。
・本書に記載された内容は万全を期して慎重に作成していますが、誤りがないことを保証するものではありません。
本書内容の誤りによってお客様に生じた損害においても、弊社は一切その責任を負いません。
・お客様が WEB サイトからコンテンツをダウンロードすることにより、お客様のコンピュータ、またはネットワーク環境等に支障･障害が生じた場合、弊社はいかなる理由によるものでも一切責任を負いません。また、これらの事象によって生じた損害等についても、弊社は一切責任を負いません。
・弊社 WEB サイトの利用はお客さまの責任において行われるものとします。
・弊社 WEB サイトのコンテンツの作成および配信に関与する者は、当サイトの利用によって生じたあらゆる損害に対して、一切の責任を負いません。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
5/57
ユーザーズ・マニュアル ソフトウェア編

2. ソフトウェア構成
2.1. 機能概要
本ソフトウェアの機能概要を以下に示します。

１）

電力測定機能有効電力、無効電力、皮相電力、電圧、電流を測定します。また、過電圧、過電流の検出機能も有しています。
２）

ユーザプログラム I/F 機能

ユーザプログラムを実装するための I/F 関数が用意されています。
３）

LCD 表示機能

測定した電力値の表示等に使用できる LCD 表示機能を備えています。
４）

スイッチ入力機能

LCD の表示切替等に使用できるスイッチ入力機能を備えています。
５）

磁気センサ機能

磁気センサにより磁気異常を検出できます。
６）

ケース開放検出機能

ケース開閉検出スイッチによりケース開放を検出できます。
７）

スリープモード移行機能

AC 電源の遮断を検出し、スリープモードへ移行することができます。

2016/08/01
SJAA-150009-01
6/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3(RL78/I1B 評価キット)

2.2. 構成図
図 2-1 に本ソフトウェアの構成図を示します。
簡易スケジューラ

ユーザプログラム(サンプルプログラム)

電力測定処理電力測定API・ラッパ群

RL78/I1B デバイスドライバ

RL78/I1B

図 2-1 ソフトウェア構成図１）

簡易スケジューラ

電力測定処理とユーザプログラムの I/F 関数を順番に呼び出します。
詳細は 2.2.簡易スケジューラを参照して下さい。
２）

電力測定処理RL78/I1B の 24 ビット⊿ΣADC の測定結果を基に電力の計算を行います。
３）

ユーザプログラム(サンプルプログラム)

ユーザ向けのプログラムを実装する I/F 関数です。サンプルプログラムとしてコンソールプログラムとスイッチ/LCD 操作が実装されています。
４）

電力測定 API・ラッパ群

ユーザプログラムからの電力測定開始操作やパラメータ設定、電力測定処理が行った電力計算の結果取得等の機能を提供する API(以下、電力操作 API と記述します)と RL78/I1B デバイスドライバのラッパ関数群です。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
7/57
ユーザーズ・マニュアル ソフトウェア編

電力操作 API は、グローバル変数とグローバル変数を操作するためのマクロという形式で提供しています。
５）

RL78/I1B デバイスドライバ

RL78/I1B の周辺機能の初期化および操作を行うプログラムです。
基本的に CS+のコード生成機能を用いて自動生成された関数を使用しています。

2.3. RAM 空間のマッピング
図 2-2 に本ソフトウェアの RAM 空間のメモリマッピングを示します。
0xFFEDF
スタック
約1300Byte(電力測定必須サイズ)
共有空間(スタックとして)ユーザがグローバル変数として使用できるサイズ
約6560Byte

ユーザプログラムグローバル変数
電力測定API/デバイスドライバ
グローバル変数

約300Byte

0xFDF00

図 2-2 RAM 空間メモリマッピング

電力測定処理で使用する電力測定 API のグローバル変数の領域と電力測定に必要な最低限の大きさのスタック領域以外に関しては、ユーザが自由に使用できます。
ただし、ユーザプログラムで使用するグローバル変数領域をスタック領域が上書きしないように注意して下さい。
また、ユーザが使用できる RAM サイズの数値は目安です。コンパイル環境によって変化する可能性があります。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
8/57
ユーザーズ・マニュアル ソフトウェア編

2.4. ユーザ用 I/F 関数
本ソフトウェアにユーザが任意の処理を追加する場合は、ユーザ用の I/F 関数に処理を追加します。
表 2-1 にユーザ用 I/F 関数の一覧を示します。
表 2-1 ユーザ用 I/F 関数一覧

処理

関数仕様

ユーザ初期化処理 I/Fvoid em_user_init(void)

ユーザプログラム I/F1
ユーザプログラム I/F2
ユーザプログラム I/F3
ユーザプログラム I/F4
ユーザプログラム I/F5
ユーザプログラム I/F6
電力測定開始時
コールバック I/F
WDT 処理 I/Fvoid em_user_program1(unsigned char gs)
void em_user_program2(unsigned char gs)
void em_user_program3(unsigned char gs)
void em_user_program4(unsigned char gs)
void em_user_program5(unsigned char gs)
void em_user_program6(unsigned char gs)
void em_user_start_measure(void)
void em_user_wdt(void)

用途
ユーザプログラム用の初期化処理を記述
電力測定処理前に実行する
ユーザプログラムを記述
電力測定処理後に実行する
ユーザプログラムを記述
電力測定処理開始直前に実行する処理を記述
WDT タイムアウト発生時の処理を記述

また、他にウォッチドッグ・タイマのカウンタをクリアする関数も提供します。
表 2-2 ユーザ用関数

処理
WDT クリア関数仕様
void em_clear_wdt(void)

用途
WDT のカウンタをクリアする2016/08/01
SJAA-150009-01
9/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3(RL78/I1B 評価キット)

2.5. 状態遷移図
図 2-3 に本ソフトウェアの状態遷移図を示します。

開始

外部
リセット

POC

リセット

例外リセット
CPU
STOP

初期化
AC電源復帰WDT T/O
終了

AC電源断
ΔΣADC
割り込み

gs = 4

簡易
スケジュー
ラ

終了

電力測定
処理

RETI

電力測定
割り込み

システム(異常系)
割り込み

RETI

RETI
gs = 1
終了
ユーザ
プログラム
1

終了

gs = 7

ユーザ
プログラム
6

RETI

システム
(異常系)
割り込み

異常フラグ
設定

WDT T/O
WDT T/O

WDT T/O

システム(異常系)
割り込み

WDT処理
WDT T/O

割り込み

RETI

割り込み

RETI
WDT T/O

ユーザ
割り込み
1

ユーザ
割り込み
N

図 2-3 状態遷移図(全体)

パワーオンリセットの後、本ソフトウェアは初期化処理へと遷移します。
初期化処理ではユーザ初期化処理 I/F 関数が呼ばれます。
その後、簡易スケジューラへと遷移し、ユーザプログラム I/F 関数 1～6 が排他的に呼び出されます。
ウォッチドッグ・タイマのタイムアウトが発生すると、WDT 処理へ遷移します。
WDT 処理では WDT 処理 I/F 関数が呼び出された後、初期化処理へと遷移します。
また、AC 電源が遮断された場合は CPU STOP へ遷移しスリープモードに移行します。
この状態で再び AC 電源が供給されると簡易スケジューラへ遷移し、ユーザプログラム I/F関数の呼び出しが再開されます。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
10/57
ユーザーズ・マニュアル ソフトウェア編

2.6. 初期化
図 2-4 に初期化処理のフローチャートを示します。
初期化

H/W初期化

電力測定
初期化

ユーザ初期化

タイマ
クロック補正終了

図 2-4 初期化処理フローチャート

１）

H/W 初期化

RAM のクリアや RL78/I1B デバイスドライバによる RL78/I1B 周辺機能の初期化を行います。
２）

電力測定初期化

電力測定 API の初期化を行います。
３）

ユーザ初期化

このユーザ初期化でユーザ初期化処理 I/F 関数が呼び出されますので、ユーザ初期化処理
I/F 関数にユーザプログラムに必要な初期化処理を記述して下さい。
オプションバイトの設定で高速オンチップ・オシレータ・クロックは 24MHz を初期値としていますが、ユーザ初期化処理で設定の変更をすることができます。ユーザ初期化処理 I/F関数でクロック設定を変更した場合、電力測定処理で使用するタイマの設定値は次のタイマ
クロック補正で適切な値に自動調整されます。

EV-200-USB-3(RL78/I1B 評価キット)

４）

2016/08/01
SJAA-150009-01
11/57
ユーザーズ・マニュアル ソフトウェア編

タイマクロック補正

電力測定 API で使用するタイマの設定値を、現在設定されているクロック周波数で適切に動作するように調整します。
ユーザ初期化でクロック設定を変更した場合でも、このタイマクロック補正によってタイマの設定値が適切な値に調整されますので、特にユーザ側で修正をする必要はありません。
また、ユーザ初期化処理 I/F 関数以外(ユーザプログラム 1～6 等)で高速オンチップ・オシ
レータ・クロックを変更してもタイマクロックの補正は実行されませんので、注意して下さい。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
12/57
ユーザーズ・マニュアル ソフトウェア編

2.7. 簡易スケジューラ
図 2-5 に簡易スケジューラのフローチャートを示します。
簡易スケジューラ

1

While(1)

ユーザプログラム4

SW/LCD処理

ユーザプログラム5

ユーザプログラム1

ユーザプログラム6

ユーザプログラム2

AC電源未供給?

No

Yes
ユーザ
プログラム3

電力測定
処理

SLEEP

WDTクリア1

図 2-5 簡易スケジューラ フローチャート

１）

SW/LCD 処理

サンプルプログラムのスイッチ/LCD 操作を呼び出ます。
２）

ユーザプログラム 1～3

ユーザ用 I/F 関数 1～3 を呼び出します。ユーザ用 I/F 関数 3 にはサンプルプログラムのコ
ンソールプログラム(コマンド受付部分)が実装されています。
３）

電力測定処理

電力操作 API を使用した電力測定処理を実行します。電力測定処理は電力測定開始フラグ*1をオンにすることで処理が開始されます。
*1

詳細は 4.ユーザ I/F API を参照。

EV-200-USB-3(RL78/I1B 評価キット)

４）

2016/08/01
SJAA-150009-01
13/57
ユーザーズ・マニュアル ソフトウェア編

ユーザプログラム 4～6

ユーザ用 I/F 関数 4～6 を呼び出します。ユーザ用 I/F 関数 4 にはサンプルプログラムのコ
ンソールプログラム(電力測定結果の出力部分)が実装されています。
５）

SLEEP 処理AC 電源の供給状態を判定してスリープモードに入ります。スリープモードを使用する場合
は、電池の接続が必要になります。詳細に関しては、EV-200-USB-3(RL78/I1B 評価キット)
ユーザーズ・マニュアル ハードウェア編を参照して下さい。
６）

WDT クリア

ウォッチドッグ・タイマのクリアを行います。ウォッチドッグ・タイマのクリアは簡易スケ
ジューラでも行っていますが、ユーザプログラム 1～6 で長時間の処理が必要なプログラムを実装する場合は、各々の処理内でウォッチドッグ・タイマのクリアを行って下さい。

2016/08/01
SJAA-150009-01
14/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3(RL78/I1B 評価キット)

2.8. 電力測定処理
図 2-6 に電力測定処理の状態遷移図を示します。

開始

ゲイン自動調
整On

ゼロクロス
検出
(ゲイン調
整)

クロック
補正

ゼロクロス
検出
ゲイン調整

ゲイン調整
完了

ゲイン自動調
整Off

ゼロクロス
検出
AC電源断・磁気異常・
ケース開放・発生

ゼロクロス
検出

電力測定開
始コールバ
ック

サンプリン
グ
測定時間
経過

電力計算

終了

図 2-6 電力測定処理 状態遷移

１）

クロック補正

RL78/I1B の高速オンチップ・オシレータ・クロック周波数補正機能を使用してクロック周
波数の補正を行います２）

ゼロクロス検出(ゲイン調整)

入力電圧、入力電流のゲイン設定がオートゲインモードに設定されている場合は、ゲイン調
整処理(プリサンプリング処理)に遷移します。ゼロクロス検出(ゲイン調整)では、ゲイン調
整処理を行う前にゼロクロスを検出します。
３）

ゲイン調整

ゲイン調整処理(プリサンプリング処理)を実行、適切なゲイン値を設定します。
４）

ゼロクロス検出

電力測定処理を行う前にゼロクロスを検出します。

EV-200-USB-3(RL78/I1B 評価キット)

５）

2016/08/01
SJAA-150009-01
15/57
ユーザーズ・マニュアル ソフトウェア編

電力測定開始コールバック

ゼロクロス検出後、サンプリング開始前に電力測定開始コールバック I/F 関数が呼ばれます。この電力測定開始コールバック I/F 関数にユーザが処理を記述することで、正確なサンプリング開始時間の取得を行うことができます。
６）

サンプリング

RL78/I1B の⊿ΣADC を用いて入力電圧と入力電流のサンプリングを行います。
７）

電力計算

入力電圧と入力電流のサンプリング結果を基に電力の計算を行います。
８）

終了

電力測定処理中の割り込みについては、電力測定に使用する割り込みを除き、全てマスクされます。電力測定中にマスクされた割り込みが発生した場合は、電力測定処理終了時に割り込み優先度に従って順次割り込みが発生します。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
16/57
ユーザーズ・マニュアル ソフトウェア編

2.9. 異常系処理
電力測定処理中に異常が発生した場合は、発生した異常に対応したエラーフラグ*1 が設定され、電力測定処理が中断されます。
表 2-3 にエラーフラグの一覧を示します。
表 2-3 エラーフラグ

フラグ値0x0000 0000
0x0000 0001
0x0000 0002
0x0000 0004
0x0000 0008
0x0000 0010
0x0000 0020
0x0000 0040

*1

詳細は 4. ユーザ I/F API 参照

意味
正常
ゼロクロス未検出
過電圧検出
過電流検出
AC 電源断検出
電力測定異常検出
磁気センサ異常検出
ケース開放検出EV-200-USB-3(RL78/I1B 評価キット)１）

2016/08/01
SJAA-150009-01
17/57
ユーザーズ・マニュアル ソフトウェア編

ゼロクロス未検出

図 2-7 にゼロクロス検出のイメージ図を示します。

＋V

＋側閾値
－側閾値

ゼロクロス検出範囲－V

図 2-7 ゼロクロス検出

電力測定のサンプリングを実行する前に、電圧のゼロクロスを検出します。
本ソフトウェアでは、以下の二つの条件を充たしたときにゼロクロス検出としています。
・⊿ΣADC の電圧のサンプリング値が－から＋に変化
・⊿ΣADC の電圧のサンプリング値がゼロクロストリガ閾値*1 以下(閾値は＋側、－側の双方に摘要されます。)
以下にゼロクロス検出の例を示します。

EV-200-USB-3(RL78/I1B 評価キット)
サンプリング2＋V

2016/08/01
SJAA-150009-01
18/57
ユーザーズ・マニュアル ソフトウェア編

図 2-8 では⊿ΣADC の電圧のサンプリング値であるサ
ンプリング 1、サンプリング 2 が両方とも閾値以下となりゼロクロス検出範囲に入っています。この場合
は、より 0V に近いサンプリング 1 をゼロクロスとして検出します。

－V
サンプリング1

図 2-8 ゼロクロス検出例 1

サンプリング2＋V

図 2-9 ではサンプリング 1 が－側閾値外、サンプリ
ング 2 が＋側閾値以下なので、サンプリング 2 をゼロクロスとして検出します。

－V
サンプリング1

図 2-9 ゼロクロス検出例 2

サンプリング2＋V

図 2-10 ではサンプリング 1 が－側閾値以下、サンプ
リング 2 が＋側閾値外なので、サンプリング 1 をゼロクロスとして検出します。

－V
サンプリング1

図 2-10 ゼロクロス検出例 3

EV-200-USB-3(RL78/I1B 評価キット)
サンプリング2＋V

2016/08/01
SJAA-150009-01
19/57
ユーザーズ・マニュアル ソフトウェア編

図 2-11 ではサンプリング 1、サンプリング 2 が両方
とも閾値外なので、ゼロクロスは検出されません。

－V
サンプリング1

図 2-11 ゼロクロス検出例 4

図 2-11 のような状態が続き、ゼロクロスが 200ms 間検出できなかった場合は、ゼロクロス
未検出となり、電力測定処理が中断されます。
２）

過電圧検出

電力測定中に過電圧閾値*1 以上の電圧を検出した場合、過電圧検出となり、電力測定が中止されます。閾値の値は実効値ではなく瞬時値です。
３）

過電流検出

電力測定中に過電流閾値*1 以上の電流を検出した場合、過電流検出となり、電力測定が中止されます。閾値の値は実効値ではなく瞬時値です。
４）

AC 電源断検出

電力測定中に AC 電源が遮断された場合、AC 電源遮断検出となり、電力測定が中止されます。
また、電池を接続していない場合はこの機能は使用できません。
５）

電力測定異常検出

何らかの原因で⊿ΣADC の動作に異常が生じた場合、電力測定異常となり、電力測定が中止されます。具体的には、⊿ΣADC の測定結果が入力電圧の許容値を超えた場合や、割り込みが一度も発生せずに測定時間が経過してしまった場合を電力測定異常のエラーと定義しています。

EV-200-USB-3(RL78/I1B 評価キット)

６）

2016/08/01
SJAA-150009-01
20/57
ユーザーズ・マニュアル ソフトウェア編

磁気センサ異常検出

電力測定中に磁気センサの異常を検出した場合、磁気センサ異常検出となり、電力測定が中止されます。また、電力測定を実行していない状態でも磁気センサ異常は検出されます。この場合は、磁気センサが正常な状態に戻るまで電力測定処理は実行できません。
７）

ケース開放検出

電力測定中にケース開放を検出した場合、ケース開放検出となり、電力測定が中止されます。
また、電力測定を実行していない状態でもケース開放は検出されます。この場合は、ケースが正常な状態に戻るまで電力測定処理は実行できません。
８）

ウォッチドッグ・タイマのタイムアウト

この異常状態は電力測定処理中のみに発生するものではありません。
ソフトウェアが暴走し、ウォッチドッグ・タイマのタイムアウトが発生した場合、WDT 処理
I/F 関数が呼ばれ、その後に不正命令実行の割り込みを利用して H/W 初期化処理に制御を移します。また、電力測定操作 API で取得できるリセット要因*1 に『ウォッチドッグ・タイマ
によるリセット』が設定されます。ユーザ初期化処理 I/F 関数でリセット要因を取得し、適切な初期化を行って下さい。
*1

詳細は 4. ユーザ I/F API 参照

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
21/57
ユーザーズ・マニュアル ソフトウェア編

3. セットアップ
3.1. 開発環境
表 3-1 に、本ソフトウェアの開発環境について記述します。
表 3-1 開発環境

開発環境
統合開発環境C コンパイラ
コードライブラリ
デバッグツール
開発言語
使用言語
その他

CS+ for CC (V5.01.00.06 以上)
CC-RL (V1.02.00.07 以上)
RL78/I1B コードライブラリ (V1.02.02.01 以上)
E1 エミュレータ (V3.01.00.06 以上)

C 言語(一部にアセンブラを使用)
CS+ for CC のコード生成機能を使用

本ソフトウェアを使用するためには CS+と E1 エミュレータが必要になります。CS+は表 3-1に示したバージョン以上のものを使用して下さい。また、本ソフトウェアは CS+の無償版でもコンパイルできる事を確認しています。
E1 エミュレータ：ルネサスエレクトロニクス株式会社（http://japan.renesas.com/）製オ
ンチップデバッギングエミュレータです。尚、購入する際は購入元にお問い合わせ下さい。
CS+：ルネサスエレクトロニクス株式会社（http://japan.renesas.com/）製統合開発環境です。尚、購入する際は購入元にお問い合わせ下さい。
CS+の PC へのインストールおよび E1 エミュレータのセットアップ、基本的な使用方法に関しては、それぞれのマニュアルを参照して下さい。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
22/57
ユーザーズ・マニュアル ソフトウェア編

3.2. 書き込み・デバッグのための設定
本ソフトウェアは弊社 HP(http://sys.ndk-m.com)からダウンロードが可能です。
CS+の『既存のプロジェクトを開く』からダウンロードした本ソフトウェアのプロジェクト
ファイルを選択し、プロジェクトを開いて下さい。
本ソフトウェアをビルドし、本製品へ書き込み・デバッグするためには、オプション・バイ
トの設定と E1 エミュレータの電源供給の設定が必要になります。
１）

オプションバイトの設定

CS+の『プロジェクトツリー』から『CC-RL(ビルド・ツール)』をダブルクリックし、CC-RLのプロパティを表示させて下さい。表示された CC-RL のプロパティから『リンク・オプション』のタブを選択します。『リンク・オプション』タブ内の『デバイス』を開きます。

図 3-1 CS+ CC-RL のプロパティ

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
23/57
ユーザーズ・マニュアル ソフトウェア編

表 3-2 に示すように設定を行って下さい。
表 3-2 リンク・オプション デバイスの設定

設定項目

設定値

オンチップ・デバッグの許可／禁止を
リンク・オプションで設定する
オンチップ・デバッグ・オプション・
バイト制御値
ユーザ・オプションバイトを設定する
オプション・バイト値

備考

はい(-OCDBG)
85
はい(-USER_OPT_BYTE)
FE59E0*1

オプションバイトの 0x000C3 に該当

オプションバイトの 0x000C0～
000C2 に該当

*1 オプションバイトのアドレス 0x000C1 に該当する 0x59 はデフォルトではLVD オフの設定(0xFF)になっていますので、設定値は FEFFE0 となっています。

表 3-3 に本ソフトウェアのオプションバイトの設定を示します。
表 3-3 オプションバイト設定

アドレス

設定値

0x000C0/0x010C00xFE

0x000C1/0x010C1

0x59

0x000C2/0x010C20xE00x000C3/0x010C3

0x85

内容
ウォッチドッグ・タイマ インターバル割り込み使用
ウインド・オープン期間 100%
カウンタ動作許可
オーバーフロー時間 3799.18ms
HALT/STOP モード時カウンタ動作停止
VLVDH 立ち上がり電圧 2.61V
VLVDH 立ち下がり電圧 2.55V
割り込みモード
フラッシュ動作 HS(高速メイン)モード
高速オンチップ・オシレータ・クロック 24MHz
オンチップ・デバッグ動作許可
セキュリティ ID 認証失敗時、フラッシュメモリのデータ消去
はしない

デバッグ時にウォッチドッグ・タイマを無効にしたい場合は、アドレス 0x000C0 の設定値
を 0xFE から 0xEE に変更して使用して下さい。
LVD の検出電圧 VLVDH および VLVDH は A/D コンバータを内部基準電圧で動作させることが出
来る電圧値(2.4V 以上)を考慮して選択しています。また、選択している LVD の検出電圧値
はバッテリ・バックアップ・モードへの切り替え検出電圧よりも高い電圧値であるため、
LVD とバッテリ・バックアップ・モードの両方を使用する場合は注意して下さい。
オプションバイト設定に関する詳細は RL78/I1B のユーザーズマニュアルを参照して下さい。

EV-200-USB-3(RL78/I1B 評価キット)２）

2016/08/01
SJAA-150009-01
24/57
ユーザーズ・マニュアル ソフトウェア編

E1 エミュレータ電源供給設定

CS+の『プロジェクトツリー』から『RL78 E1(Serial)(デバッグ・ツール)』をダブルクリッ
クし、RL78 E1(Serial)のプロパティを表示させて下さい。もし、デバッグ・ツールに RL78
E1(Serial)が選択されていない場合は、『プロジェクトツリー』のデバッグ・ツールを右クリックしてメニューを表示させ、『使用するデバッグ・ツール』から『RL78 E1(Serial)』を選択した後にプロパティを表示させて下さい。表示された RL78 E1(Serial)のプロパティから『接続用設定』のタブを選択します。『接続用設定』タブ内の『ターゲット・ボードとの接続』を開きます。

図 3-2 CS+ RL78 E1(Serial)のプロパティ

表 3-4 に示すように設定を行って下さい。
表 3-4 接続用設定 ターゲット・ボードとの接続設定

設定項目

設定値

エミュレータから電源供給をする(最大 200mA)

はい

供給電圧

3.3V

備考
本製品と E1 エミュレータを接続す
るには、E1 エミュレータからの電源供給が必要です。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
25/57
ユーザーズ・マニュアル ソフトウェア編

3.3. 書き込み・デバッグ
オプションバイトと E1 エミュレータの電源供給設定が終了したら、本製品の E1 I/F に E1
エミュレータを接続します。E1 エミュレータの接続は本製品に電源を供給していない状態で行って下さい。E1 エミュレータを接続後に本製品へ電源を供給します。
この状態で、本ソフトウェアをビルドし、CS+の『デバッグ』メニューから『デバッグツー
ルへのダウンロード』を選択する事で、本製品へソフトウェアが書き込まれ、デバッグが可能になります。

3.4. サンプルプログラム
１）

コンソールプログラム

拡張シリアル I/F を介してパソコン等と接続し、コマンドを送信することで電力測定を実行するプログラムです。コマンド受信部分がユーザプログラム I/F3 に、電力測定結果の出力部分がユーザプログラム I/F4 にそれぞれサンプルとして実装されています。
詳細に関しては、EV-200-USB-3(RL78/I1B 評価キット)ユーザーズ・マニュアル コマンド仕様編を参照して下さい。
２）

スイッチ/LCD 操作

LCD および LCD 操作スイッチを使用したメニュー操作により電力測定を実行するプログラムです。em_lcd_sw という関数に実装されています。
詳細に関しては、EV-200-USB-3(RL78/I1B 評価キット)ユーザーズ・マニュアル ハードウェ
ア編を参照して下さい。

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
26/57
ユーザーズ・マニュアル ソフトウェア編

4. ユーザ I/F API
本ソフトウェアで提供する電力測定 API は電力測定処理を制御するためのグローバル変数とグローバル変数への設定を補助するマクロで構成されています。

4.1. グローバル変数一覧
表 4-1 にソフトウェアで使用するグローバル変数の一覧を示します。
表 4-1 変数一覧

変数名
em_g_active_power
em_g_reactive_power
em_g_apparent_power
em_g_volt
em_g_current
em_g_error
em_g_sampling_freq
em_g_measure_time
em_g_current_device
em_g_volt_gain
em_g_current_gain_ct
em_g_current_gain_s
em_g_dsadc_init_wait
em_g_zerocross_trigger
em_g_zerocross_th
em_g_over_volt_th
em_g_over_current_th
em_g_measure
em_g_reset_state
em_g_sleep
em_g_magnetic
em_g_case_open
em_g_ac_return[8]em_g_sw

型
float
float
float
float
float
unsigned int
unsigned int
unsigned int
unsigned char
unsigned char
unsigned char
unsigned char
unsigned int
unsigned char
float
float
float
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char

概要
電力測定の結果(有効電力)
電力測定の結果(無効電力)
電力測定の結果(皮相電力)
電力測定の結果(電圧)
電力測定の結果(電流)エラーフラグサンプリング周波数選択
測定時間設定電流測定デバイス選択
電圧ゲイン
電流(CT)ゲイン
電流(シャント)ゲイン⊿ΣADC セットアップ時間
ゼロクロストリガ選択
ゼロクロストリガ閾値
過電圧閾値
過電流閾値
電力測定開始フラグ
リセット要因スリープモードフラグ
磁気センサフラグケース開放フラグ
AC 電源復帰フラグ
LCD 切替スイッチ押下フラグ

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
27/57
ユーザーズ・マニュアル ソフトウェア編

4.2. 設定用グローバル変数
電力測定処理の設定に用いるグローバル変数とその設定補助マクロを以下に示します。
[変数] unsigned int em_g_sampling_freq
概要
サンプリング周波数選択
説明
RL78/I1B の⊿ΣADC のサンプリング周波数を設定します。
2[kHz]と 4[kHz]から選択可能です。
数値2000 : 2[kHz]4000 : 4[kHz](初期値)
関連マクロ
EM_SAMPLING_FREQ_2K
EM_SAMPLING_FREQ_4K
備考なし[マクロ名] EM_SAMPLING_FREQ_2K
概要⊿ΣADC サンプリング周波数設定(2k)
説明⊿ΣADC のサンプリング周波数を 2k に設定します。
引数なし
リターン値 なし
備考
em_g_sampling_freq に 2000 を設定[マクロ名] EM_SAMPLING_FREQ_4K
概要⊿ΣADC サンプリング周波数設定(4k)
説明⊿ΣADC のサンプリング周波数を 4k に設定します。
引数なし
リターン値 なし
備考
em_g_sampling_freq に 4000 を設定[変数] unsigned int em_g_measure_time
概要
測定時間設定説明
電力測定処理の測定時間を設定します。単位は 0.1[s]で、最大 30.0[s]まで設定可
能です。0 を設定すると、1 周期分のみ電力測定が行われます。
数値
0～300 (初期値 : 10)
関連マクロ
なし
備考
なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
28/57
ユーザーズ・マニュアル ソフトウェア編[変数] unsigned char em_g_current_device
概要
電流測定デバイス選択
説明
電力測定処理で電流を測定するデバイスを設定します。CT とシャント抵抗のどちらかを選択可能です。
数値
0x01 : CT(初期値)
0x02 : シャント抵抗関連マクロ
EM_DEVICE_CT
EM_DEVICE_SHUNT
備考
なし[マクロ名] EM_DEVICE_CT
概要
電流測定デバイス設定(CT)説明
電流を測定するデバイスを CT に設定します。
引数なし
リターン値 なし
備考
em_g_current_device に 0x01 を設定[マクロ名] EM_DEVICE_SHUNT
概要
電流測定デバイス設定(シャント)
説明
電流を測定するデバイスをシャント抵抗に設定します。
引数なし
リターン値 なし
備考
em_g_current_device に 0x02 を設定[変数] unsigned char em_g_volt_gain
概要
電圧ゲイン
説明
RL78/I1B の⊿ΣADC の電圧入力チャネルゲインを設定します。オートゲインモードに設定すると電力測定処理時に適切なゲインがその設定されます。
数値
0x00 : オートゲインモード(初期値)
0x01 : 固定ゲインモード(1 倍)0x02 : 固定ゲインモード(2 倍)0x04 : 固定ゲインモード(4 倍)0x08 : 固定ゲインモード(8 倍)0x10 : 固定ゲインモード(16 倍)
関連マクロ
EM_VGAIN_AUTO
EM_VGAIN_1
EM_VGAIN_2
EM_VGAIN_4
EM_VGAIN_8
EM_VGAIN_16
備考なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
29/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_VGAIN_AUTO
概要
電圧ゲイン設定(オート)説明
電圧ゲインをオートゲインモードに設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x00 を設定[マクロ名] EM_VGAIN_1
概要
電圧ゲイン設定(1 倍)説明
電圧ゲインを固定ゲインモード(1 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x01 を設定[マクロ名] EM_VGAIN_2
概要
電圧ゲイン設定(2 倍)説明
電圧ゲインを固定ゲインモード(2 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x02 を設定[マクロ名] EM_VGAIN_4
概要
電圧ゲイン設定(4 倍)説明
電圧ゲインを固定ゲインモード(4 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x04 を設定[マクロ名] EM_VGAIN_8
概要
電圧ゲイン設定(8 倍)説明
電圧ゲインを固定ゲインモード(8 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x08 を設定[マクロ名] EM_VGAIN_16
概要
電圧ゲイン設定(16 倍)
説明
電圧ゲインを固定ゲインモード(16 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_volt_gain に 0x10 を設定

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
30/57
ユーザーズ・マニュアル ソフトウェア編[変数] unsigned char em_g_current_gain_ct
概要
電流(CT)ゲイン
説明
RL78/I1B の⊿ΣADC の電流入力(CT)チャネルゲインを設定します。オートゲインモードに設定すると電力測定処理時に適切なゲインがその設定されます。
数値
0x00 : オートゲインモード(初期値)
0x01 : 固定ゲインモード(1 倍)0x02 : 固定ゲインモード(2 倍)0x04 : 固定ゲインモード(4 倍)0x08 : 固定ゲインモード(8 倍)0x10 : 固定ゲインモード(16 倍)
0x20 : 固定ゲインモード(32 倍)
関連マクロ
EM_CGAIN_CT_AUTO
EM_CGAIN_CT_1
EM_CGAIN_CT_2
EM_CGAIN_CT_4
EM_CGAIN_CT_8
EM_CGAIN_CT_16
EM_CGAIN_CT_32
備考なし[マクロ名] EM_CGAIN_CT_AUTO
概要
電流(CT)ゲイン設定(オート)説明
電流(CT)ゲインを自動に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x00 を設定[マクロ名] EM_CGAIN_CT_1
概要
電流(CT)ゲイン設定(1 倍)説明
電流(CT)ゲインを固定ゲインモード(1 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x01 を設定[マクロ名] EM_CGAIN_CT_2
概要
電流(CT)ゲイン設定(2 倍)説明
電流(CT)ゲインを固定ゲインモード(2 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x02 を設定[マクロ名] EM_CGAIN_CT_4
概要
電流(CT)ゲイン設定(4 倍)説明
電流(CT)ゲインを固定ゲインモード(4 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x04 を設定

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
31/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_CGAIN_CT_8
概要
電流(CT)ゲイン設定(8 倍)説明
電流(CT)ゲインを固定ゲインモード(8 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x08 を設定[マクロ名] EM_CGAIN_CT_16
概要
電流(CT)ゲイン設定(16 倍)
説明
電流(CT)ゲインを固定ゲインモード(16 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x10 を設定[マクロ名] EM_CGAIN_CT_32
概要
電流(CT)ゲイン設定(32 倍)
説明
電流(CT)ゲインを固定ゲインモード(32 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_ct に 0x20 を設定[変数] unsigned char em_g_current_gain_s
概要
電流(シャント)ゲイン
説明
RL78/I1B の⊿ΣADC の電流入力(シャント抵抗)チャネルゲインを設定します。オー
トゲインモードに設定すると電力測定処理時に適切なゲインがその設定されます。
数値
0x00 : オートゲインモード(初期値)
0x01 : 固定ゲインモード(1 倍)0x02 : 固定ゲインモード(2 倍)0x04 : 固定ゲインモード(4 倍)0x08 : 固定ゲインモード(8 倍)0x10 : 固定ゲインモード(16 倍)
0x20 : 固定ゲインモード(32 倍)
関連マクロ
EM_CGAIN_S_AUTO
EM_CGAIN_S_1
EM_CGAIN_S_2
EM_CGAIN_S_4
EM_CGAIN_S_8
EM_CGAIN_S_16
EM_CGAIN_S_32
備考なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
32/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_CGAIN_S_AUTO
概要
電流(シャント)ゲイン設定(オート)説明
電流(シャント)ゲインをオートゲインモードに設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x00 を設定[マクロ名] EM_CGAIN_S_1
概要
電流(シャント)ゲイン設定(1 倍)説明
電流(シャント)ゲインを固定ゲインモード(1 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x01 を設定[マクロ名] EM_CGAIN_S_2
概要
電流(シャント)ゲイン設定(2 倍)説明
電流(シャント)ゲインを固定ゲインモード(2 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x02 を設定[マクロ名] EM_CGAIN_S_4
概要
電流(シャント)ゲイン設定(4 倍)説明
電流(シャント)ゲインを固定ゲインモード(4 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x04 を設定[マクロ名] EM_CGAIN_S_8
概要
電流(シャント)ゲイン設定(8 倍)説明
電流(シャント)ゲインを固定ゲインモード(8 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x08 を設定[マクロ名] EM_CGAIN_S_16
概要
電流(シャント)ゲイン設定(16 倍)
説明
電流(シャント)ゲインを固定ゲインモード(16 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x10 を設定

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
33/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_CGAIN_S_32
概要
電流(シャント)ゲイン設定(32 倍)
説明
電流(シャント)ゲインを固定ゲインモード(32 倍)に設定します。
引数なし
リターン値 なし
備考
em_g_current_gain_s に 0x20 を設定[変数] unsigned int em_g_dsadc_init_wait
概要⊿ΣADC セットアップ時間
説明
RL78/I1B の⊿ΣADC のセットアップ時間を設定します。単位は 10[ms]です。
数値
初期値 : 15(150[ms])
関連マクロ
なし
備考
unsigned int の最大値まで設定可能です。

[変数] unsigned char em_g_zerocross_trigger
概要
ゼロクロストリガ選択
説明
ゼロクロス検出の方法をソフトウェアとハードウェアで選択できます。ハードウェ
ア検出を選択した場合は、RL78/I1B のコンパレータを用いたゼロクロス検出処理が実行されます。
数値
0x01 : ソフトウェア検出(初期値)
0x02 : ハードウェア検出
関連マクロ
EM_ZEROCROSS_SOFT
EM_ZEROCROSS_HARD
備考なし[マクロ名] EM_ZEROCROSS_SOFT
概要
ゼロクロストリガ設定(ソフト)説明
ゼロクロストリガをソフトウェアに設定に設定します。
引数なし
リターン値 なし
備考
em_g_zerocross_trigger に 0x01 を設定[マクロ名] EM_ZEROCROSS_HARD
概要
ゼロクロストリガ設定(ハード)説明
ゼロクロストリガをハードウェアに設定に設定します。
引数なし
リターン値 なし
備考
em_g_zerocross_trigger に 0x02 を設定

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
34/57
ユーザーズ・マニュアル ソフトウェア編[変数] float em_g_zerocross_th
概要
ゼロクロストリガ閾値
説明
ゼロクロス検出の閾値を設定します。ゼロクロストリガ選択がソフトウェア検出の場合に設定値が有効になります。単位は V です。
数値
初期値 : 11.3
関連マクロ
なし
備考
なし

[変数] float em_g_over_volt_th
概要
過電圧閾値
説明
過電圧検出の閾値を設定します。単位は V です。実効値ではなく瞬時値を設定して下さい。
数値
初期値 : 382.0
関連マクロ
なし
備考
なし

[変数] float em_g_over_current_th
概要
過電流閾値
説明
過電流検出の閾値を設定します。単位は A です。実効値ではなく瞬時値を設定して下さい。
数値
初期値 : 22.0
関連マクロ
なし
備考
なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
35/57
ユーザーズ・マニュアル ソフトウェア編[変数] unsigned char em_g_measure
概要
電力測定開始フラグ
説明
電力測定処理の開始/停止を設定します。『開始』に設定すると電力測定処理が実行されます。『停止』に設定すると電力測定処理が実行されません。また、電力測定処理が実行されると値が『停止』に設定されます。
数値
0x00 : 停止 (初期値)
0x01 : 開始
関連マクロ
EM_MEASURE_STOP
EM_MEASURE_START
備考
なし[マクロ名] EM_MEASURE_STOP
概要
電力測定処理停止
説明
電力測定処理の実行フラグを停止に設定します。
引数なし
リターン値 なし
備考
em_g_measure に 0x00 を設定[マクロ名] EM_MEASURE_START
概要
電力測定処理開始
説明
電力測定処理の実行フラグを開始に設定します。
引数なし
リターン値 なし
備考
em_g_measure に 0x01 を設定

4.3. 電力測定結果確認用グローバル変数
電力測定処理の結果が格納されるグローバル変数を以下に示します。電力測定処理の結果を参照したい場合は、これらのグローバル変数を読み出して下さい。
[変数] float em_g_active_power
概要
電力測定の結果(有効電力)説明
電力測定処理で測定された有効電力の値が設定されます。単位は W です。
有効電力の値が必要な場合にこの変数を直接読み出して下さい。
数値
初期値 : 0.0
関連マクロ
なし
備考
なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
36/57
ユーザーズ・マニュアル ソフトウェア編[変数] float em_g_reactive_power
概要
電力測定の結果(無効電力)説明
電力測定処理で測定された無効電力の値が設定されます。単位は var です。
無効電力の値が必要な場合にこの変数を直接読み出して下さい。
数値
初期値 : 0.0
関連マクロ
なし
備考
なし

[変数] float em_g_apparent_power
概要
電力測定の結果(皮相電力)
説明
電力測定処理で測定された皮相電力の値が設定されます。単位は VA です。
皮相電力の値が必要な場合にこの変数を直接読み出して下さい。
数値
初期値 : 0.0
関連マクロ
なし
備考
なし

[変数] float em_g_volt
概要
電力測定の結果(電圧)説明
電力測定処理で測定された電圧の値が設定されます。単位は V です。
電圧の値が必要な場合にこの変数を直接読み出して下さい。
数値
初期値 : 0.0
関連マクロ
なし
備考
なし

[変数] float em_g_current
概要
電力測定の結果(電流)説明
電力測定処理で測定された電流の値が設定されます。単位は A です。
電流の値が必要な場合にこの変数を直接読み出して下さい。
数値
初期値 : 0.0
関連マクロ
なし
備考
なし

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
37/57
ユーザーズ・マニュアル ソフトウェア編

4.4. 各種フラグ用グローバル変数
電力測定処理等で設定される各種フラグ用のグローバル変数とその確認用マクロを以下に示します。
[変数] unsigned int em_g_error
概要
エラーフラグ
説明
電力測定処理中に発生したエラーの要因がフラグとして設定されます。
数値
0x0000 0000 : 正常(初期値)0x0000 0001 : ゼロクロス未検出
0x0000 0002 : 過電圧検出
0x0000 0004 : 過電流検出
0x0000 0008 : AC 電源断検出
0x0000 0010 : 電力測定異常
0x0000 0020 : 磁気センサ異常検出
0x0000 0040 : ケース開放検出
関連マクロ
EM_IS_SUCCESS
EM_IS_ZEROCROSS_ERR
EM_IS_OVER_VOLT_ERR
EM_IS_OVER_CURRENT_ERR
EM_IS_AC_OFF_ERR
EM_IS_DEVICE_ERR
EM_IS_MAGNETIC_ERR
EM_IS_CASE_OPEN_ERR
備考
エラーに関する詳細は 3.1.異常系処理を参照[マクロ名] EM_IS_SUCCESS
概要
正常状態確認説明
電力測定処理が正常終了したことを確認します。
引数なし
リターン値 0：エラー発生
0 以外：正常終了
備考
em_g_error の値を確認[マクロ名] EM_IS_ZEROCROSS_ERR
概要
ゼロクロス未検出確認
説明
ゼロクロス未検出が発生したことを確認します。
引数なし
リターン値 0：ゼロクロス未検出は発生していない
0 以外：ゼロクロス未検出発生
備考
em_g_error の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
38/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_IS_OVER_VOLT_ERR
概要
過電圧検出確認説明
過電圧検出が発生したことを確認します。
引数なし
リターン値 0：過電圧検出は発生していない
0 以外：過電圧検出発生
備考
em_g_error の値を確認[マクロ名] EM_IS_OVER_CURRENT_ERR
概要
過電流検出確認説明
過電流検出が発生したことを確認します。
引数なし
リターン値 0：過電流検出は発生していない
0 以外：過電流検出発生
備考
em_g_error の値を確認[マクロ名] EM_IS_AC_OFF_ERR
概要
AC 電源断確認
説明
AC 電源断が発生したことを確認します。
引数なし
リターン値 0：AC 電源断は発生していない
0 以外：AC 電源断発生
備考
em_g_error の値を確認[マクロ名] EM_IS_DEVICE_ERR
概要
電力測定異常確認説明
電力測定異常が発生したことを確認します。
引数なし
リターン値 0：電力測定異常は発生していない
0 以外：電力測定異常発生
備考
em_g_error の値を確認[マクロ名] EM_IS_MAGNETIC_ERR
概要
磁気センサ異常検出確認
説明
磁気センサ異常が発生したことを確認します。
引数なし
リターン値 0：磁気センサ異常は発生していない
0 以外：磁気センサ異常発生
備考
em_g_error の値を確認[マクロ名] EM_IS_CASE_OPEN_ERR
概要
ケース開放検出確認
説明
ケース開放が発生したことを確認します。
引数なし
リターン値 0：ケース開放は発生していない
0 以外：ケース開放発生
備考
em_g_error の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
39/57
ユーザーズ・マニュアル ソフトウェア編[変数] unsigned char em_g_reset_state
概要
リセット要因説明
RL78/I1B のリセット要因が設定されます。
数値
0x00 : パワーオンリセット
0x01 : ウォッチドッグ・タイマのタイムアウトによるリセット
関連マクロ
EM_IS_POWERON_RESET
EM_IS_WOTCHDOG
備考
なし[マクロ名] EM_IS_POWERON_RESET
概要
リセット要因確認(パワーオンリセット)
説明
リセット要因がパワーオンリセットかどうか確認します。
引数なし
リターン値 0：パワーオンリセットではない
0 以外：パワーオンリセットがリセット要因
備考
em_g_reset_state の値を確認[マクロ名] EM_IS_WOTCHDOG
概要
リセット要因確認(ウォッチドッグ・タイマのタイムアウト)
説明
リセット要因がウォッチドッグ・タイマのタイムアウトかどうか確認します。
引数なし
リターン値 0：ウォッチドッグ・タイマのタイムアウトではない
0 以外：ウォッチドッグ・タイマのタイムアウトがリセット要因
備考
em_g_reset_state の値を確認[変数] unsigned char em_g_sleep
概要
スリープモードフラグ
説明
AC 電源の供給が遮断された場合にスリープモードフラグが設定されます。このフラグが設定されていると、簡易スケジューラは RL78/I1B を STOP モードに設定し、本製品はスリープモードに移行します。スリープモード中は AC 電源の供給状態を監視し、AC 電源の供給を検出すると通常動作へ戻ります。
数値
0x00 : 通常動作中
0x01 : スリープモード
関連マクロ
EM_IS_NOT_SLEEP
EM_IS_SLEEP
備考
なし[マクロ名] EM_IS_NOT_SLEEP
概要
非スリープモード確認
説明
スリープモードではないことを確認します。
引数なし
リターン値 0：スリープモード
0 以外：スリープモードではない
備考
em_g_sleep の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
40/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_IS_SLEEP
概要
スリープモード確認
説明
スリープモードであることを確認します。
引数なし
リターン値 0：スリープモードではない
0 以外：スリープモード
備考
em_g_sleep の値を確認[変数] unsigned char em_g_magnetic
概要
磁気センサフラグ
説明
磁気センサの現在の状態が設定されます。磁気センサ異常検出状態の場合、電力測定開始フラグを『開始』に設定しても電力測定処理は実行されません。
数値
0x00 : 異常なし
0x01 : 磁気センサ異常検出
関連マクロ
EM_IS_NOT_MAGNETIC
EM_IS_MAGNETIC
備考
なし[マクロ名] EM_IS_NOT_MAGNETIC
概要
磁気センサ状態確認(異常)説明
磁気センサの状態が異常であるかを確認します。
引数なし
リターン値 0：正常
0 以外：異常
備考
em_g_magnetic の値を確認[マクロ名] EM_IS_MAGNETIC
概要
磁気センサ状態確認(正常)説明
磁気センサの状態が正常であるかを確認します。
引数なし
リターン値 0：異常
0 以外：正常
備考
em_g_magnetic の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
41/57
ユーザーズ・マニュアル ソフトウェア編[変数] unsigned char em_g_case_open
概要
ケース開放フラグ説明
ケース開閉検出スイッチの現在の状態が設定されます。ケース開放状態の場合、電力測定開始フラグを『開始』に設定しても電力測定処理は実行されません。
数値
0x00 : ケース閉鎖
0x01 : ケース開放
関連マクロ
EM_IS_NOT_CASE_OPEN
EM_IS_CASE_OPEN
備考なし[マクロ名] EM_IS_NOT_CASE_OPEN
概要
ケース開放状態確認(非開放)説明
ケースが開放されていないことを確認します。
引数なし
リターン値 0：開放されている
0 以外：開放されていない
備考
em_g_case_open の値を確認[マクロ名] EM_IS_CASE_OPEN
概要
ケース開放状態確認(開放)説明
ケースが開放された状態であるかを確認します。
引数なし
リターン値 0：開放されていない
0 以外：開放されている
備考
em_g_case_open の値を確認[変数] unsigned char em_g_ac_return[8]概要
AC 電源復帰フラグ
説明
AC 電源が遮断した後、AC 電源が復帰した場合にフラグが設定されます。AC 電源復帰フラグを参照する場合は、必ず簡易スケジューラから与えられたアプリケーショ
ン番号を添字またはマクロの引数に使用して下さい。
数値
0x00 : 異常なし
0x01 : AC 電源復帰
関連マクロ
EM_IS_NOT_AC_RETURN(n)EM_IS_AC_RETURN(n)EM_CLEAR_AC_RETURN(n)
備考なし[マクロ名] EM_IS_NOT_AC_RETURN
概要
AC 電源復帰フラグ確認(復帰無し)
説明
AC 電源の復帰が発生していないことを確認します。
引数n：アプリケーション番号(簡易スケジューラからユーザプログラム 1～6 に渡される引数 gs を設定して使用して下さい)
リターン値 0：AC 電源復帰発生
0 以外：AC 電源復帰発生していない
備考
em_g_ac_return[n]の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
42/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_IS_AC_RETURN
概要
AC 電源復帰フラグ確認(復帰有り)
説明
AC 電源の復帰が発生していることを確認します。
引数n：アプリケーション番号(簡易スケジューラからユーザプログラム 1～6 に渡される引数 gs を設定して使用して下さい)
リターン値 0：AC 電源復帰発生していない
0 以外：AC 電源復帰発生
備考
em_g_ac_return[n]の値を確認[マクロ名] EM_CLEAR_AC_RETURN
概要
AC 電源復帰フラグクリア
説明
AC 電源復帰フラグをクリアします。
引数n：アプリケーション番号(簡易スケジューラからユーザプログラム 1～6 に渡される引数 gs を設定して使用して下さい)
リターン値 なし
備考
em_g_ac_return[n]の値を変更[変数] unsigned char em_g_sw
概要
LCD 切替スイッチ押下フラグ
説明
LCD 切替スイッチの押下状態が設定されます。LCD 切替スイッチは短押し(2 秒以内)と長押し(2 秒以上)に対応しています。また、電力測定処理の実行中は LCD 切替ス
イッチの入力は受け付けていません。
数値
0x00 : 押下無し
0x01 : 短押し
0x02 : 長押し
関連マクロ
EM_IS_SW_NOT_PUSH
EM_IS_SW_SHORT_PUSH
EM_IS_SW_LONG_PUSH
EM_SW_CLEAR_PUSH
備考なし[マクロ名] EM_IS_SW_NOT_PUSH
概要
LCD 切替スイッチ押下フラグ確認(押し下げ無し)
説明
LCD 切替スイッチの押下がないことを確認します。
引数なし
リターン値 0：押下あり
0 以外：押下なし
備考
em_g_sw の値を確認

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
43/57
ユーザーズ・マニュアル ソフトウェア編[マクロ名] EM_IS_SW_SHORT_PUSH
概要
LCD 切替スイッチ押下フラグ確認(短押し)説明
LCD 切替スイッチが短押しされたことを確認します。
引数なし
リターン値 0：短押しされていない
0 以外：短押しされた
備考
em_g_sw の値を確認[マクロ名] EM_IS_SW_LONG_PUSH
概要
LCD 切替スイッチ押下フラグ確認(長押し)説明
LCD 切替スイッチが長押しされたことを確認します。
引数なし
リターン値 0：長押しされていない
0 以外：長押しされた
備考
em_g_sw の値を確認[マクロ名] EM_SW_CLEAR_PUSH
概要
LCD 切替スイッチ押下フラグクリア
説明
LCD 切替スイッチ押下フラグをクリア(押下なし状態に変更)します。
引数なし
リターン値 なし
備考
em_g_sw の値を変更

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
44/57
ユーザーズ・マニュアル ソフトウェア編

4.5. ユーザ I/F API 使用サンプル
電力測定操作 API を使用したサンプルソースを以下に示します。
１）

電力測定開始処理/* ユーザプログラム 1～3 に実装することを想定しています。 */void em_user_program1(unsigned char gs ) {/* スリープモードの場合は処理をしない */if (EM_IS_SLEEP) {return;}/* 電源電圧復帰判定 */if (EM_IS_AC_RETURN(gs)) {/* 電源電圧復帰に関する処理がある場合はここに記述 */EM_CLEAR_AC_RETURN(gs);}/* ⊿ΣADC のサンプリング周波数設定 */EM_SAMPLING_FREQ_4K;/* 4kHz に設定 *//* ⊿ΣADC のセットアップ時間設定 */em_g_dsadc_init_wait = 15; /* 150ms に設定 *//* 電力測定時間を設定 */em_g_measure_time = 10;/* 1.0 秒に設定 *//* 電流測定デバイス選択 */EM_DEVICE_CT;/* CT を選択 *//* 各入力ゲインを設定 */EM_VGAIN_AUTO;
EM_CGAIN_CT_AUTO;
EM_CGAIN_S_AUTO;/* 電圧入力ゲインを自動に設定 *//* 電流(CT)入力ゲインを自動に設定 *//* 電流(シャント抵抗)入力ゲインを自動に設定 *//* ゼロクロス設定 */EM_ZEROCROSS_SOFT;
em_g_zerocross_th = 11.3;/* ゼロクロストリガをソフトウェアに設定 *//* ゼロクロストリガ閾値を 11.3V に設定 *//* 過電圧・過電流設定 */em_g_over_volt_th = 382.0; /* 過電圧閾値を 382.0V に設定 */em_g_over_current_th = 22.0; /* 過電圧閾値を 22.0A に設定 *//* 電力測定処理開始 */EM_MEASURE_START;}/* 電力測定開始 */EV-200-USB-3(RL78/I1B 評価キット)２）

2016/08/01
SJAA-150009-01
45/57
ユーザーズ・マニュアル ソフトウェア編

電力測定結果処理/* ユーザプログラム 4～6 に実装することを想定しています。 */void em_user_program4(unsigned char gs ) {char str[64];/* スリープモードの場合は処理をしない */if (EM_IS_SLEEP) {return;}/* エラー判定 */if (EM_IS_SUCCESS){/* 正常時の処理 */sprintf( str, “%5f,%5f,%5f,%5f,%5f\n”, em_g_active_power,/* 有効電力 */em_g_reactive_power, /* 無効電力 */em_g_apparent_power, /* 皮相電力 */em_g_volt,/* 電圧 */
em_g_current );/* 電流 */}
else if (EM_IS_ZEROCROSS_ERR) {/* ゼロクロスエラー時の処理 */}else if (EM_IS_OVER_VOLT_ERR) {/* 過電圧エラー時の処理 */}else if (EM_IS_OVER_CURRENT_ERR) {/* 過電流エラー時の処理 */}else if (EM_IS_AC_OFF_ERR) {/* AC 電源断エラー時の処理 */}else if (EM_IS_DEVICE_ERR) {/* 電力測定エラー時の処理 */}else if (EM_IS_MAGNETIC_ERR) {/* 磁気センサエラー時の処理 */}else if (EM_IS_CASE_OPEN_ERR) {/* ケース開放時の処理 */}}EV-200-USB-3(RL78/I1B 評価キット)

３）

2016/08/01
SJAA-150009-01
46/57
ユーザーズ・マニュアル ソフトウェア編

各種フラグ参照処理/* ユーザプログラムで各種フラグを参照する場合のサンプルです。 */void em_user_program5(unsigned char gs ) {/* スリープモードの場合は処理をしない */if (EM_IS_SLEEP) {return;}/* リセット後の処理 */if (EM_IS_POWERON_RESET){/* パワーオンリセット時の処理 */}else if (EM_IS_WOTCHDOG) {/* ウォッチドッグ・タイマのタイムアウト時の処理 */}/* 磁気センサ異常判定 */if (EM_IS_MAGNETIC) {/* 磁気センサ異常時の処理 */}/* ケース開放判定
if (EM_IS_CASE_OPEN) {/* ケース開放時の処理 */}/* スイッチ処理 */if (!EM_IS_SW_NOT_PUSH) {/* 押下有り */if (EM_IS_SW_SHORT_PUSH) {/* 短押し時の処理 */} else if (EM_IS_SW_LONG_PUSH) {/* 長押し時の処理 */}EM_SW_CLEAR_PUSH; /* スイッチ押下フラグクリア */}}EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
47/57
ユーザーズ・マニュアル ソフトウェア編

5. 付録
5.1. ファイル一覧
表 5-1 に本ソフトウェアを構成するファイル一覧を示します。本ソフトウェアは CS+によるコード生成機能を利用して作成されています。備考欄に自動生成と記述されているファイル
はコード生成機能で生成されたファイルです。
表 5-1 ファイル構成(1/2)

ディレクトリ.\.\cg_src\

ファイル名cstart.asm
hdwinit.asm
iodefine.h
stkinit.asm
r_cg_adc.cr_cg_adc.hr_cg_adc_user.cr_cg_bup.cr_cg_bup.hr_cg_bup_user.cr_cg_cgc.cr_cg_cgc.hr_cg_cgc_user.cr_cg_comp.cr_cg_comp.h
r_cg_comp_user.cr_cg_dsadc.cr_cg_dsadc.hr_cg_dsadc_user.cr_cg_hofc.cr_cg_hofc.hr_cg_hofc_user.cr_cg_iica.c
r_cg_iica.hr_cg_iica_user.cr_cg_intp.c
r_cg_intp.h
r_cg_intp_user.cr_cg_lcd.cr_cg_lcd.hr_cg_lcd_user.cr_cg_main.cr_cg_port.c

概要
スタートアップ処理
ハードウェア初期化
I/O 定義スタック初期化
A/D コンバータドライバ
A/D コンバータドライバヘッダ
A/D コンバータ割り込み
バッテリバックアップドライバ
バッテリバックアップドライバヘッダ
バッテリバックアップ割り込み
クロック発生回路ドライバ
クロック発生回路ドライバヘッダ
クロック発生回路割り込み
コンパレータドライバ
コンパレータドライバヘッダ
コンパレータ割り込み⊿ΣADC ドライバ
⊿ΣADC ドライバヘッダ⊿ΣADC 割り込み
周波数補正ドライバ
周波数補正ドライバヘッダ
周波数補正割り込み
IIC ドライバ
IIC ドライバヘッダ
IIC 割り込み
外部割込みドライバ
外部割込みドライバヘッダ
外部割込み
LCD ドライバ
LCD ドライバヘッダ
LCD 割り込み
メイン処理
ポートドライバ

備考

自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
48/57
ユーザーズ・マニュアル ソフトウェア編

表 5-2 ファイル構成(2/2)

ディレクトリ.\cg_src\.\em\.\include\.\user_if\.\wrapper\

ファイル名
r_cg_port.h
r_cg_port_user.cr_cg_rtc.c
r_cg_rtc.h
r_cg_rtc_user.cr_cg_sau.cr_cg_sau.hr_cg_sau_user.cr_cg_systeminit.c
r_cg_tau.cr_cg_tau.hr_cg_tau_user.cr_cg_wdt.c

概要

ポートドライバヘッダ
ポート割り込み
リアルタイムクロックドライバ
リアルタイムクロックドライバヘッダ
リアルタイムクロック割り込み
シリアルドライバ
シリアルドライバヘッダ
シリアル割り込み
システム初期化
タイマドライバ
タイマドライバヘッダ
タイマ割り込み
ウォッチドッグ・タイマドライバ
ウォッチドッグ・タイマドライバ
r_cg_wdt.h
ヘッダ
r_cg_wdt_user.c
ウォッチドッグ・タイマ割り込み
em_api.h
電力測定 API ヘッダ
em_api_clock.c
電力測定 API クロック補正
em_api_init.c
電力測定 API 初期化
em_api_lcd.c
電力測定 API LCD 制御
em_api_led.c
電力測定 API LED 制御
em_api_wdt.c
電力測定 API WDT 制御
em_cycle.c
サイクル検出em_eeprom.c
EEPROM 操作
em_ep_measure.c
電力測定
em_ep_measure_if.c
電力測定 I/F
em_g_variable.c
電力測定 API グローバル変数
em_intr.c
電力測定 外部割込み制御
em_lcd_sw.c
スイッチ/LCD 制御 サンプル
em_simple_scheduler.c 簡易スケジューラ
em_sleep.c
スリープモード制御
em_sw.c
LCD 切替スイッチ制御
em_timer.c
電力測定 API タイマ制御
em_common.h
電力測定 API 共通ヘッダ
電力測定 API コンフィグレーション
em_config.h
ヘッダ
user_if.c
ユーザプログラム I/Fuser_if.h
ユーザプログラム I/F ヘッダ
em_wrapper.c
ラッパ関数
em_wrapper.hラッパ関数ヘッダ

備考
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成
自動生成

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
49/57
ユーザーズ・マニュアル ソフトウェア編

5.2. 関数一覧
表 5-3 にソフトウェアで使用する関数の一覧を示します。
表 5-3 関数一覧(1/5)

関数名

ファイル

概要

void R_ADC_Set_AC_Off_Observ(void)
void R_ADC_Set_AC_On_Observ(void)
void R_ADC_Set_AC_Value_Get(void)
int R_BUP_Is_Vbat(void);

r_cg_adc.cr_cg_adc.cr_cg_adc.cr_cg_bup.c

void R_BUP_Enable_Intr(void);

r_cg_bup.c

void R_BUP_Disable_Intr(void);

r_cg_bup.c

void R_COMP1_Start_Ref1(void)

r_cg_comp.c

void R_DSADC_Set_Sampling_Freq(uint8_t freq)

r_cg_dsadc.cvoid R_DSADC_Channel0_Set_PGAGain(uint8_t gain)

r_cg_dsadc.cvoid R_DSADC_Channel1_Set_PGAGain(uint8_t gain)

r_cg_dsadc.cvoid R_DSADC_Channel2_Set_PGAGain(uint8_t gain)

r_cg_dsadc.c

MD_STATUS R_IICA0_Master_Continue_Send(uint8_t
adr, uint8_t * const tx_buf, uint16_t tx_num,
uint8_t wait)
MD_STATUS R_IICA0_Master_Continue_Receive(uint8_t
adr, uint8_t * const rx_buf, uint16_t rx_num,
uint8_t wait)
MD_STATUS R_IICA0_StopCondition_Check(uint8_t
wait)
void R_IICA0_Adjust_Clock(void)
void R_RTC_Start_Intr_Masked(void)
void R_UART2_Adjust_Clock(void)
void R_TAU0_Adjust_Clock(void)
void R_TAU0_Channel1_Effective(void)

r_cg_iica.c

AC 電源 OFF 監視処理
AC 電源 ON 監視処理
A/D 変換値取得
バッテリバック
アップ状態判定
電源切替割り込み許可
電源切替割り込み禁止
コンパレータ動作開始
サンプリング周波数
設定
チャネル 0 のゲイン設定
チャネル 1 のゲイン設定
チャネル 2 のゲイン設定
IIC 送信処理

r_cg_iica.c

IIC 受信処理

r_cg_iica.c

void R_TAU0_Channel1_Ineffective(void)

r_cg_tau.cvoid R_TAU0_Channel2_Set_And_Start(uint16_t tdr)

r_cg_tau.c

int em_select_clock_ext( void )em_api_clock.c

IIC ストップコンディ
ションチェック
IIC クロック調整
RTC 動作開始
UART2 クロック調整
TAU0 クロック調整
TAU0 チャネル 1
動作有効化
TAU0 チャネル 1
動作無効化
TAU0 チャネル 2
動作開始
外部クロック選択

r_cg_iica.c
r_cg_rtc.c
r_cg_sau.cr_cg_tau.cr_cg_tau.c

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
50/57
ユーザーズ・マニュアル ソフトウェア編

表 5-4 関数名(2/5)

関数名

ファイル

int em_select_clock_hoco( unsigned char div )em_api_clock.c

void em_handler_hofc( void )em_api_clock.c

void em_clock_corection( void )void em_api_init( void )void em_adjust_clock( void )em_api_clock.c
em_api_init.c
em_api_init.cvoid em_api_init_reset_state(uint8_t reset_flag,
uint8_t porsr_flag)
void em_putc_lcd( int column, char c )void em_putd_lcd( int column, char on )void em_puts_lcd( char *s )void em_handler_led_blink( void )void em_led_on( unsigned char n )void em_led_off( unsigned char n )void em_led_blink( unsigned char n )int em_is_led_blink( void )void em_led_enable( void )void em_led_disable( void )void em_clear_wdt( void )void em_wdt( void )void em_handler_cycle( void )em_api_init.cvoid em_start_detect_cycle( void )void em_stop_detect_cycle( void )void em_get_cycle_state( void )em_cycle.c
em_cycle.c
em_cycle.c

int em_send_iic_eeprom( unsigned char iic_addr,
unsigned char *data, unsigned short num )int em_ack_polling_iic_eeprom(unsigned char
iic_addr)
int em_receive_iic_eeprom( unsigned char iic_addr,
unsigned char *data, unsigned short num )void em_handler_iic_error( MD_STATUS flag )void em_handler_iic_receive( void )void em_handler_iic_send( void )int em_read_byte_eeprom( unsigned short addr,
unsigned char *c )int em_read_eeprom(unsigned short addr, unsigned
char *s, unsigned int num)
int em_write_byte_eeprom(unsigned short addr,
unsigned char c)

em_eeprom.c

em_api_lcd.c
em_api_lcd.c
em_api_lcd.c
em_api_led.c
em_api_led.c
em_api_led.c
em_api_led.c
em_api_led.c
em_api_led.c
em_api_led.c
em_api_wdt.c
em_api_wdt.c
em_cycle.c

em_eeprom.c
em_eeprom.c
em_eeprom.c
em_eeprom.c
em_eeprom.c
em_eeprom.c
em_eeprom.c
em_eeprom.c

概要
高速オンチップ・オシ
レータ・クロック選択
周波数補正
割り込み処理周波数補正
電力測定 API 初期化
タイマクロック
補正処理
リセット要因設定処
理
LCD 表示(1 桁)
LCD ドット表示
LCD 表示(全桁一括)
LED 点滅割り込み処理
LED 点灯LED 消灯LED 点滅LED 点滅判定
LED 点灯/点滅有効化
LED 点灯/点滅無効化
WDT カウンタクリア
WDT タイムアウト処理
サイクル検出
割り込み処理サイクル検出開始
サイクル検出停止
サイクル検出状態取得EEPROM へのIIC 送信処理
IIC ACK
ポーリング処理
EEPROM からのIIC 受信処理
IIC 転送エラー処理
IIC 受信完了処理
IIC 送信完了処理
EEPROM
読み出し(1Byte)
EEPROM
読み出し(連続)EEPROM
書き込み(1Byte)

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
51/57
ユーザーズ・マニュアル ソフトウェア編

表 5-5 関数名(3/5)

関数名

ファイル

int em_write_eeprom( unsigned short addr, unsigned
char *s, unsigned int num )void em_eeprom_adjust_clock( void )int em_over_judge( int32_t measure_value, int32_t
threshold )int32_t em_normalize_dsadc_result(uint32_t
dsadc_result, int32_t offset)
void em_normalize_gain( EM_PROFILE *p_prof,
unsigned char auto_perm )void em_set_measure_value(EM_PROFILE *p_prof,
int32_t measure_volt, int32_t measure_current)
int em_zero_cross_no_th(EM_PROFILE *p_prof,
int32_t measure_volt)
int em_zero_cross(EM_PROFILE *p_prof, int32_t
measure_volt)
void em_handler_dsadc( void )void em_active_intr( void )em_eeprom.c

int em_ep_init( EM_PROFILE* p_prof )int em_ep_pre_sampling( EM_PROFILE *p_prof )em_ep_measure.c
em_ep_measure.c

int em_ep_measure( EM_PROFILE *p_prof )int em_ep_calc( EM_PROFILE *p_prof )float em_get_active_power(EM_PROFILE* p_prof)
float em_get_reactive_power(EM_PROFILE* p_prof)
float
em_get_apparent_power(EM_PROFILE* p_prof)
float em_get_volt( EM_PROFILE* p_prof )float em_get_current( EM_PROFILE* p_prof )void em_ep_measure_if( unsigned char gs )em_ep_measure.c
em_ep_measure.c
em_ep_measure.c
em_ep_measure.c
em_ep_measure.c

em_eeprom.c
em_ep_measure.c
em_ep_measure.c

概要
EEPROM
書き込み(連続)EEPROM クロック調整
過電圧/過電流判定

em_ep_measure.c⊿ΣADC 測定データ校正
⊿ΣADC ゲイン校正

em_ep_measure.c

電圧・電流測定値積算

em_ep_measure.c

ゼロクロス処理(閾値なし)
ゼロクロス処理

em_ep_measure.c
em_ep_measure.c
em_ep_measure.c

void em_handler_magnetic( void )em_ep_measure.c
em_ep_measure.c
em_ep_measure_if.c
em_intr.cvoid em_handler_case( void )em_intr.cvoid em_mask_all_intr( unsigned char* intr_mask)
void em_restore_mask_intr(unsigned char*
intr_mask)
short em_gain_to_multi( unsigned char gain )em_intr.c
em_intr.cvoid em_edit_int_str( char*s, short num, unsigned
int digit, unsigned int min_digit )em_lcd_sw.c

em_lcd_sw.c⊿ΣADC 変換完了処理
電力測定割り込み
有効化
電力測定処理初期化
電力測定
プリサンプリング処
理
電力測定処理電力計算処理
有効電力取得無効電力取得皮相電力取得
電圧取得
電流取得
電力測定処理実行
磁気センサ
割り込み処理ケース開閉検出スイッチ割り込み
処理
全割り込みマスク
割り込みマスク復旧
ゲイン値→2 の乗数変換
整数→文字列変換

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
52/57
ユーザーズ・マニュアル ソフトウェア編

表 5-6 関数一覧(4/5)

関数名void em_edit_num_str(char *s, float num, int*dot)void em_lcd_sw( unsigned char gs )void em_simple_scheduler( void )void em_handler_adc_off_observe( void )void em_handler_adc_on_observe( void )void em_handler_vbat( void )void em_sleep( void )void em_handler_tau01( uint8_t sw_level )void em_handler_tau02_sw( void )void em_handler_tau02( void )void em_timer_start_1ms( void )void em_timer_start_10ms( void )void em_timer_start_100ms( void )void em_timer_stop( void )int em_is_timeout( unsigned long time )void em_user_init( void )void em_user_wdt( void )void em_user_start_measure( void )void em_user_program1( unsigned char gs )void em_user_program2( unsigned char gs )void em_user_program3( unsigned char gs )ファイル
em_lcd_sw.c

概要

浮動小数→文字列
変換
em_lcd_sw.c
スイッチ/LCD 操作
em_simple_scheduler.c 簡易スケジューラ
em_sleep.c
AC 電源 Off 監視
割り込み処理em_sleep.c
AC 電源 On 監視
割り込み処理em_sleep.c
バッテリ・バックア
ップ・モード遷移
割り込み処理em_sleep.c
スリープモード遷
移
em_sw.c
LCD 切替スイッチ
押下割り込み処理
em_sw.c
LCD 切替スイッチ
長押し判定
割り込み処理em_timer.c
タイマ・アレイ・ユ
ニット チャネル 2
割り込み処理em_timer.c
1ms インターバル
タイマ開始
em_timer.c
10ms インターバル
タイマ開始
em_timer.c
100ms インターバル
タイマ開始
em_timer.c
インターバルタイマ停止
em_timer.c
インターバルタイ
マ
タイムアウト判定
user_if.c
ユーザ初期化処理
I/F
user_if.c
WDT 処理 I/F
user_if.c
電力測定開始時
コールバック I/Fuser_if.c
ユーザプログラム
I/F1
user_if.c
ユーザプログラム
I/F2
user_if.c
ユーザプログラム
I/F3

EV-200-USB-3(RL78/I1B 評価キット)

2016/08/01
SJAA-150009-01
53/57
ユーザーズ・マニュアル ソフトウェア編

表 5-7 関数一覧(5/5)

関数名

ファイル

void em_user_program4( unsigned char gs )user_if.cvoid em_user_program5( unsigned char gs )user_if.cvoid em_user_program6( unsigned char gs )user_if.cvoid em_wrapper_intp6_handler( void )em_wrapper.c

void em_wrapper_intp7_handler( void )em_wrapper.c

void em_wrapper_sw_handler( void )em_wrapper.c

void em_wrapper_eeprom_wp( uint8_t wp )em_wrapper.c

void em_wrapper_set_dsadc_gain_volt(uint8_t gain) em_wrapper.c
void em_wrapper_set_dsadc_gain_ct(uint8_t gain)

em_wrapper.c

void em_wrapper_set_dsadc_gain_shunt(uint8_t
gain)
void em_wrapper_get_dsadc_volt(uint32_t * const
buffer)void em_wrapper_get_dsadc_ct(uint32_t * const
buffer)void em_wrapper_get_dsadc_shunt(uint32_t * const
buffer)em_wrapper.c

void em_wrapper_adc_ac_monitor_ch( void )em_wrapper.c

void em_wrapper_led_on( unsigned char n )void em_wrapper_led_off( unsigned char n )em_wrapper.cem_wrapper.cem_wrapper.cem_wrapper.cem_wrapper.c

概要
ユーザプログラム
I/F4
ユーザプログラム
I/F5
ユーザプログラム
I/F6
INTP6 割り込み
ハンドララッパ
INTP7 割り込み
ハンドララッパ
LCD 切替スイッチ
割り込み
ハンドララッパ
EEPROM ライトプロテ
クト制御ラッパ
ΣADC 電圧ゲイン
設定ラッパ
ΣADC 電流(CT)ゲイン
設定ラッパ
ΣADC 電流(シャント)
ゲイン設定ラッパ⊿ΣADC 電圧変換値
取得ラッパ⊿ΣADC 電流(CT)
変換値取得ラッパ⊿ΣADC 電流(シャント)変換値
取得ラッパ
AC 電源監視用 ADC チ
ャネル設定ラッパ
LED 点灯ラッパ
LED 消灯ラッパ

2016/08/01
SJAA-150009-01
54/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3(RL78/I1B 評価キット)

5.3. 利用可能なマイコン資源
１）

内部/外部リソース

表 5-8 に RL78/I1B の内部リソース(周辺機能)一覧を示します。ユーザの列で○になっている機能はユーザプログラムで使用が可能です。
表 5-8 内部リソース(周辺機能)
書き込み

初期化

読み込み

書き込み

初期化

読み込み

書き込み

初期化

読み込み

書き込み

×
×
×
×
×
×
×

×
×
×
×
×
×
×

×
×
×
×
×
×
×

×
×
×
×
○
×
×

×
×
×
×
×
×
×

○
×
×
×
×
×
×

○
×
×
×
×
×
×

×
×
×
×
×
×
×

○
○
×
×
×
○
×

○ 拡張シリアル I/F○ PMOD I/F
× LCD
× ANI, IVCMP○ LED○ 拡張シリアル I/F
× E1 I/F
LCD切り替えスイッチ、× ケース開閉スイッチ、磁気センサ○ 拡張シリアル I/F
× EEPROM
× LCD
× LCD
高速オンチップ・オシレー×タ× サブシステム・クロック○ PMOD I/F
× LCD
×

初期化

ユーザ

読み込み

ﾘﾌｧﾚﾝｽ

書き込み

電力測定

読み込み

システム
(異常系)

初期化

システム

P00，P01
P02－P07
P1
P2
P30, P31
P32, P33
P40

○
○
○
○
○
○
×

×
×
×
○
×
×
×

×
×
×
×
○
×
×

×
×
×
×
×
×
×

×
×
×
×
×
×
×

P41, P42, P44○ ○ ○ × × × × × × × × × × ×

P43
P6
P7
P8

○
○
○
○

P121，P122

× × × × × × × × × × × × × ×

P123，P124
P125
P126, P127

×
○
○
○

機能

ポート

クロック発生回路
高速オンチップオシレータクロック周波
数補正機能
チャネル0
チャネル1
チャネル2
タイマ・アレイ・ユニッ
チャネル3
ト
チャネル4
チャネル5
チャネル6
チャネル7
リアルタイムクロック
サブシステム・クロック周波数測定回路
12ビットインターバルタイマ
8ビットインターバルタイマ
クロック出力/ブザー出力制御回路
ウォッチドッグタイマ
A/Dコンバータ
温度センサ
24ビットΔΣA/Dコンバータ
コンパレータシリアル・アレイ・ユニット
シリアル・インタフェースIICA
IrDA
LCDコントローラ/ドライバ
データ・トランスファ・コントローラ
割り込み機能スタンバイ機能
リセット機能パワーオンリセット回路
電圧検出回路
バッテリバックアップ機能
発振停止検出回路
安全機能

×
×
×
×

×
×
×
○

×
×
×
×

×
×
×
○

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

×
×
×
×

○
×
×
×

×
○
×
×

備考

× × × × × × × ○ ○ × × × × × ×× × × × × × × × × × × × ○ ○ ○ 拡張シリアル I/F○ × × × × × × × × × ○ × × ○ × LCD切り替えスイッチ
電力測定用の時間管理
× × × × × × ○ ○ ○ × × × × × ×
100msインターバルタイマ
× × × × × × × × × ○ ○ ○ ○ ○ ○× × × × × × × × × × × × ○ ○ ○インターバルタイマとして× × × × × × × × × × × × ○ ○ ○のみ使用可能× × × × × × × × × × × × ○ ○ ○× × × × × × × × × × × × ○ ○ ○○ ○ ○ × × × × × × × × × × ○ ○× × × × × × × × × × × × ○ ○ ○× × × × × × × × × × × × ○ ○ ○× × × × × × × × × × × × ○ ○ ○× × × × × × × × × × × × × × × 兼用端子の関係で使用不可○ × ○ ○ × ○ × × ○ × × ○ × × ○○ ○ ○ ○ ○ ○ ○ ○ ○ × × × × × × AC断、温度センサ
× × × × × × ○ ○ ○ × × × × × ×× × × × × × ○ ○ ○ × × × × × ×× × × × × × ○ ○ ○ × × × × × ×
PMOD I/F，拡張シリアル× × × × × × × × × × × × ○ ○ ○I/F○ × × × × × × × × × ○ ○ × ○ ○ EEPROM
× × × × × × × × × × × × × × × 兼用端子の関係で使用不可○ × × × × × × × × × × ○ × × ○× × × × × × × × × × × × ○ ○ ○ユーザ側で使用する以外の○ ○ ○ × × × ○ ○ ○ × ○ ○ × ○ ○割り込み設定の変更は不可○ ○ ○ × × × × × × × × × × × ×○ ○ ○ × × × × × × × × × × × ×○ ○ ○ × × × × × × × × × × × ×○ × × × × × × × × × × × × × ×○ ○ ○ × × × × × × × × × × × ×○ × × ○ × × × × × × × × × × ×× × × × × × × × × × × × ○ ○ ○2016/08/01
SJAA-150009-01
55/57
ユーザーズ・マニュアル ソフトウェア編

EV-200-USB-3(RL78/I1B 評価キット)

表 5-9 に本製品の外部リソース(ハードウェア機能)一覧を示します。ユーザの列で○になっている機能はユーザプログラムで使用が可能です。
表 5-9 外部リソース(ハードウェア機能)
システム

システム
(異常系)

電力測定

ﾘﾌｧﾚﾝｽ

ユーザ

機能

初期化

読み込み

書き込み

初期化

読み込み

書き込み

初期化

読み込み

書き込み

初期化

読み込み

書き込み

初期化

読み込み

書き込み

LCD
LCD切り替えスイッチ
ケース開閉スイッチ
磁気センサ
EEPROM
LED
PMOD I/F
拡張シリアルI/F

○
○
○
○
○
○
×
×

×
×
○
○
×
×
×
×

×
×
×
×
×
×
×
×

×
×
○
○
×
×
×
×

×
×
○
○
×
×
×
×

×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
○

×
○
×
×
○
×
×
○

○
×
×
×
○
○
×
○

×
×
×
×
×
×
○
○

×
○
×
×
○
×
○
○

○
×
×
×
○
○
○ ポートの初期化はシ○ ステム側で実施

備考

EV-200-USB-3(RL78/I1B 評価キット)２）

2016/08/01
SJAA-150009-01
56/57
ユーザーズ・マニュアル ソフトウェア編

割り込みリソース

表 5-10 に RL78/I1B の割り込みリソースの一覧を示します。ユーザの列で○になっている割
り込みはユーザプログラムで使用が可能です。
表 5-10 割り込みリソース
システム
(異常系)

電力測定

リファレンスユーザ

0 INTWDTI
0 INTLVI
0 INTRTIT
0 INTFM
0 INTAD
0 INTRTC
0 INTP6
0 INTP7
0 INTOSDC
0 INTVBAT

WDTインターバル
電圧検出
RTC補正タイミング
周波数測定完了
AD変換終了RTC定周期/アラーム
端子入力エッジ検出
端子入力エッジ検出
発振停止検出電源切り替え検出

○
○
○
○
○
○
○
○
○
○

○
×
×
×
○
×
○
○
○
×

×
×
×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×
×
×

(予約)電池残量確認
(予約)
(予約)
AD断割り込みSLEEP時のSnooze制御
異常割り込み(磁気検出)
異常割り込み(ケース)(予約)異常検出22

1 INTTM02

タイマ・チャネル02

×

×

○

×

×

電力測定用の時間管理
100msインターバルタイマ

27
32
33
38
2
3
4
5
6
7
8
9
10

1 INTDSAD
1 INTCMP0
1 INTCMP1
1 INTCR
2～ INTP02～ INTP1- INTP2- INTP3- INTP4
2～ INTP5
2～ INTST2
2～ INTSR2
2～ INTSRE2
INTST02～
INTSCI00- INTIIC00
2～ INTTM00
2～ INTSR0
2～ INTSRE0- INTTM01H
2～ INTST1- INTIIC10
2～ INTSR1
2～ INTSRE1- INTTM03H
2～ INTIICA02～ INTTM01
2～ INTTM03
2～ INTIT
2～ INTTM04
2～ INTTM05
2～ INTTM06
2～ INTTM07
2～ INTIT00
2～ INTIT01
2～ INTIT10
2～ INTIT11

ΔΣADC変換完了
コンパレータ検出0
コンパレータ検出1
高速オンチップ・オシレータ・クロック周波数補正完了
端子入力エッジ検出
端子入力エッジ検出
端子入力エッジ検出
端子入力エッジ検出
端子入力エッジ検出
端子入力エッジ検出
UART2送信完了、バッファ空UART2受信完了
UART2受信エラー
UART0送信完了、バッファ空
CSI00転送完了、バッファ空
IIC00転送完了
タイマ・チャネル00
UART0受信完了
UART0受信エラー
タイマ・チャネル01(上位8ビット)
UART1送信完了、バッファ空
IIC10転送完了
UART1受信完了
UART1受信エラー
タイマチャネル03(上位8ビット)
IICA0通信完了
タイマ・チャネル01(16ビット/下位8ビット)
タイマ・チャネル03(16ビット/下位8ビット)
12ビットインターバルタイマ
タイマ・チャネル04
タイマ・チャネル05
タイマ・チャネル06
タイマ・チャネル07
8ビットインターバルタイマ・チャネル00
8ビットインターバルタイマ・チャネル01
8ビットインターバルタイマ・チャネル10
8ビットインターバルタイマ・チャネル11

×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×

○
○
○
○
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×

×
×
×
×
×
×
×
×
×
×
○
○
○
×
×
×
○
×
×
×
×
×
×
×
×
○
○
○
×
×
×
×
×
×
×
×
×

×
×
×
×
○
○
×
×
×
○
○
○
○
○
○
×
○
○
○
×
○
×
○
○
×
○
○
○
○
○
○
○
○
○
○
○
○

11
12
13
14
15
16
17
18
21
23
26
28
29
34
35
36
37
40
41

優先順位
レベル

システム

デフォルト・
プライオリティ
0
1
19
20
24
25
30
31
39
42

名称

トリガ

備考

(予約)
ゼロクロス検出拡張シリアルPMOD

PMOD
拡張シリアル
拡張シリアル
拡張シリアルPMOD
PMOD
拡張シリアル
PMOD
PMOD
PMOD
PMOD
PMOD
EEPROM
LCD切替スイッチEV-200-USB-3(RL78/I1B 評価キット)

6. 改版履歴
版数
1版

日付
2016/08/01

内容
新規作成

2016/08/01
SJAA-150009-01
57/57
ユーザーズ・マニュアル ソフトウェア編