アプリケーションノート

RX ファミリR20AN0037JJ0304
Rev.3.04
2016.04.01
音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール

Firmware Integration Technology
要旨
本アプリケーションノートでは、Firmware Integration Technology (FIT)を使用した ADPCM エンコーダ/デコーダライブラリ(以降、S2 ライブラリ)を導入するための情報を記します。S2 ライブラリは RX ファミリを用いて音声再生・録音機能を実現します。また、ルネサスマイコン向けにより効率的に処理できるように、アセンブラチューニング版を用意しています。

S2 ライブラリには、PC で作成した音声データ(WAVE ファイル)をマイコン用に変換するツールが付属します。このとき音声データは ADPCM 方式で圧縮されます。

各種 Renesas Starter Kit 上で動作するサンプルプログラムを用意しています。詳細は、Renesas Starter Kit 用サンプルアプリケーションノート“r20an0291jj0101_rx_s2.pdf”をご参照してください。

動作確認デバイスRX ファミリ

目次
概要 ..................................................................................................................................21.
1.1

S2 ライブラリ ............................................................................................................................... 2

1.2

S2 ライブラリ特性 ........................................................................................................................ 3

1.2.1

ROM/RAM/Stack size ............................................................................................................. 31.2.2

速度性能(基準値)..................................................................................................................... 31.32.

バージョン情報 ............................................................................................................................. 4

API 情報 ...........................................................................................................................52.1

ハードウェアの要求 ...................................................................................................................... 5

2.2

ソフトウェアの要求 ...................................................................................................................... 5

2.3

サポートされているツールチェイン............................................................................................. 5

2.4

制限事項 ........................................................................................................................................ 5

2.5

ヘッダファイル ............................................................................................................................. 5

2.6

コンパイル時の設定 ...................................................................................................................... 5

2.7

ライブラリの追加方法 .................................................................................................................. 53.

API(ライブラリ)関数 ........................................................................................................ 6

4.

ライブラリ更新履歴 .........................................................................................................6

R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 1 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
1.

概要

ADPCM(adaptive differential pulse code modulation)はデジタル音声記録方式の一つです。一定周期のサンプリングで音データを取得し、過去の入力値から次の入力値の変化量を予測して、その予測値との差分を記録する方式です。一般的に知られている PCM 方式に比べて 1 サンプルあたりの記録容量が少ないため、省メモリのマイコンでも利用できるのが特長です。

S2 ライブラリは 16 ビット PCM データに対してエンコード(圧縮)処理を行い、4 ビットの ADPCM データを出力します。また、4 ビットの ADPCM データに対してデコード(伸長)処理を行い、16 ビット PCM データを出力します。

1.1

S2 ライブラリ

S2 ライブラリでは、以下のライブラリを用意しています。

説明
RX600 リトルエンディアン用ライブラリファイル(アセンブラチューニング版) (※2)
s2_rx600_big_rtune.lib
RX600 ビッグエンディアン用ライブラリファイル(アセンブラチューニング版) (※2)
s2_rx200_little_rtune.lib
RX200 リトルエンディアン用ライブラリファイル(アセンブラチューニング版)(※1）
s2_rx200_big_rtune.lib
RX200 ビッグエンディアン用ライブラリファイル(アセンブラチューニング版)(※1)※1 RX200 用のライブラリは、RX100 用ライブラリとしても使用できます。
※2 RX600 用のライブラリは、RX700 用ライブラリとしても使用できます。
ライブラリ
s2_rx600_little_rtune.lib

R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 2 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
1.2

S2 ライブラリ特性

S2 ライブラリのメモリ占有と速度性能について説明します。

1.2.1

ROM/RAM/Stack size

RX ファミリ用 S2 ライブラリアセンブラ版
ROM :約 800 byte

RAM :0byte (ユーザは上位層プログラムにて約 30byte の領域を必要とします。)

APIR_adpcm_initEnc
R_adpcm_refreshEnc
R_adpcm_encode
R_adpcm_initDec
R_adpcm_refreshDec
R_adpcm_decode

1.2.2

Stack size
44124424

速度性能(基準値)

RX ファミリ用 S2 ライブラリアセンブラ版

処理サイクル数
サンプル数=4(※)のとき
サンプル数=16(※)のとき
R_adpcm_initEnc
1010
R_adpcm_refreshEnc
1010
R_adpcm_encode
260
1000
R_adpcm_initDec
1010
R_adpcm_refreshDec
1010
R_adpcm_decode
210770※R_adpcm_encode 関数、R_adpcm_decode 関数の第 1 引数に指定する値
API

R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 3 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
1.3

バージョン情報S2 ライブラリは、R_s2_version 変数の library メンバに文字列でバージョン情報を格納しています。
各ライブラリに格納されているデータは以下の通りです。

extern const mw_version_t R_s2_version;
RX600 リトルエンディアン用ライブラリファイル:"M3S-S2-Tiny version 3.04 for RX600 LITTLE endian.(Feb 19 2016, 15:43:05)"
RX600 ビッグエンディアン用ライブラリファイル:"M3S-S2-Tiny version 3.04 for RX600 BIG endian.(Feb 19 2016, 15:43:32)"
RX200 リトルエンディアン用ライブラリファイル:"M3S-S2-Tiny version 3.04 for RX200 LITTLE endian.(Feb 19 2016, 15:44:09)"
RX200 ビッグエンディアン用ライブラリファイル:"M3S-S2-Tiny version 3.04 for RX200 BIG endian.(Feb 19 2016, 15:44:18)"

R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 4 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
2.

API 情報ハードウェアの要求

2.1
なし

ソフトウェアの要求

2.2
なし

2.3

サポートされているツールチェイン

本ライブラリは、以下のツールチェインで動作を確認しています。
RX ファミリ用 C/C++コンパイラパッケージ V2.04.01

2.4

制限事項

本ライブラリは、コンパイラのマイコンオプション fint_register=0（高速割り込み専用レジスタ[なし]）でご使用ください。本オプションの省略時解釈は、fint_register=0 です。

2.5

ヘッダファイル

すべての API 呼び出しとそれをサポートするインタフェース定義は r_adpcm.h に記載しています。

2.6

コンパイル時の設定

本ライブラリのコンフィギュレーションオプションの設定は、r_s2_rx_config.h で行います。
コンフィギュレーションオプションの設定はありません。

2.7

ライブラリの追加方法

e2 studio/CS+に組み込む方法は、”r01an1723ju0111_rx.pdf”(e2 studio)か”r01an1826jj0102_rx.pdf”(CS+)をご参照ください。
Lib フォルダには、RX ファミリ用のライブラリファイルが全て格納されています。上記ドキュメントに従って組み込みを行うと、デフォルトでは全てのライブラリファイルがビルド対象となります。ご使用の環境に合わせて不要なライブラリファイルはビルド対象から除外してください。

R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 5 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
3.

API(ライブラリ)関数

S2 ライブラリでは、以下の API(ライブラリ)関数を使用します。

API
R_adpcm_initEnc
R_adpcm_refreshEnc

説明エンコード処理の初期化関数です。
エンコードする PCM データのアドレスと、エンコード後の ADPCM データを格納するアドレスをエンコード用の作業領域に設定する関数です。
R_adpcm_encode
16 ビット PCM データを 4 ビット ADPCM データにエンコード(圧縮)する関数です。
R_adpcm_initDec
デコード処理の初期化関数です。
R_adpcm_refreshDec
デコードする ADPCM データのアドレスと、デコード後の PCM データを格納するアドレスをデコード用の作業領域に設定する関数です。
R_adpcm_decode
4 ビット ADPCM データを 16 ビット PCM データにデコード(伸長)する関数です。
詳細は、ユーザーズマニュアル(r20uw0079jj0100_s2.pdf)をご参照ください。

4.

ライブラリ更新履歴
ver3.04
3.03
3.02
3.01
1.00

変更点
xml ファイル更新の為、バージョン番号を更新しましたバージョン番号を更新しましたバージョン番号を更新しました
デコード関数でのバグを修正
新規リリースR20AN0037JJ0304
2016.04.01

Rev.3.04

Page 6 of 7

RX ファミリ 音声録音・再生システム(独自 ADPCM コーデック) M3S-S2-Tiny モジュール
Firmware Integration Technology
ホームページとサポート窓口
ルネサス エレクトロニクスホームページ
http://japan.renesas.com/
お問合せ先
http://japan.renesas.com/contact/

すべての商標および登録商標は，それぞれの所有者に帰属します。
R20AN0037JJ0304
2016.04.01

Rev.3.04

Page 7 of 7

改訂記録
Rev.
3.04

発行日
2016.04.01

ページ
―

3.03

2015.03.01

―

3.02

2014.12.28

―

3.01

2014.04.01

―

改訂内容
ポイント
RX ファミリ対応。
FIT 用 xml ファイルを更新しました
RX231 に対応
FIT 用 xml ファイルを更新しました
RX71M / RX113 に対応
FIT 用 xml ファイルを更新しました
初版発行A-1

製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意事項については、本ドキュメントおよびテクニカルアップデートを参照してください。
1. 未使用端子の処理【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。
CMOS製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI内部で貫通電流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用端子の処理」で説明する指示に従い処理してください。
2. 電源投入時の処置【注意】電源投入時は，製品の状態は不定です。
電源投入時には、LSIの内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定です。
外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子の状態は保証できません。
同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットのかかる一定電圧に達するまでの期間、端子の状態は保証できません。
3. リザーブアドレス（予約領域）のアクセス禁止【注意】リザーブアドレス（予約領域）のアクセスを禁止します。
アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス（予約領域）があります。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしないようにしてください。
4. クロックについて【注意】リセット時は、クロックが安定した後、リセットを解除してください。
プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてください。
リセット時、外部発振子（または外部発振回路）を用いたクロックで動作を開始するシステムでは、クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子（または外部発振回路）を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定してから切り替えてください。
5. 製品間の相違について【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してください。
同じグループのマイコンでも型名が違うと、内部ROM、レイアウトパターンの相違などにより、電気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合があります。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。

ご注意書き1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計において、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して、お客様または第三者に生じた損害に関し、当社は、一切その責任を負いません。
2. 本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するものではありません。万一、本資料に記載されている情報の誤りに起因する損害がお客様に生じた場合においても、当社は、一切その責任を負いません。
3. 本資料に記載された製品デ－タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権に対する侵害に関し、当社は、何らの責任を負うものではありません。当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。
4. 当社製品を改造、改変、複製等しないでください。かかる改造、改変、複製等により生じた損害に関し、当社は、一切その責任を負いません。
5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準：コンピュータ、OA機器、通信機器、計測機器、AV機器、家電、工作機械、パーソナル機器、産業用ロボット等

高品質水準：輸送機器（自動車、電車、船舶等）、交通用信号機器、防災・防犯装置、各種安全装置等
当社製品は、直接生命・身体に危害を及ぼす可能性のある機器・システム（生命維持装置、人体に埋め込み使用するもの等） 、もしくは多大な物的損害を発生させるおそれのある機器・システム（原子力制御システム、軍事機器等）に使用されることを意図しておらず、使用することはできません。 たとえ、意図しない用途に当社製品を使用したことによりお客様または第三者に損害が生じても、当社は一切その責任を負いません。 なお、ご不明点がある場合は、当社営業にお問い合わせください。
6. 当社製品をご使用の際は、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他の保証範囲内でご使用ください。当社保証範囲を超えて当社製品をご使用された場合の故障および事故につきましては、当社は、一切その責任を負いません。
7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合があります。また、当社製品は耐放射線設計については行っておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害等を生じさせないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。
8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制するRoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に関して、当社は、一切その責任を負いません。
9. 本資料に記載されている当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。また、当社製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的その他軍事用途に使用しないでください。当社製品または技術を輸出する場合は、「外国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続を行ってください。
10. お客様の転売等により、本ご注意書き記載の諸条件に抵触して当社製品が使用され、その使用から損害が生じた場合、当社は何らの責任も負わず、お客様にてご負担して頂きますのでご了承ください。
11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
注1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社がその総株主の議決権の過半数を直接または間接に保有する会社をいいます。
注2. 本資料において使用されている「当社製品」とは、注１において定義された当社の開発、製造製品をいいます。

http://www.renesas.com■営業お問合せ窓口※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。

ルネサス エレクトロニクス株式会社〒135-0061 東京都江東区豊洲3-2-24（豊洲フォレシア）■技術的なお問合せおよび資料のご請求は下記へどうぞ。
総合お問合せ窓口：http://japan.renesas.com/contact/© 2016 Renesas Electronics Corporation. All rights reserved.
Colophon 4.0