”かふぇルネ“はルネサス製品に関してユーザ同士が自由に会話をするツールであり、回答者はルネサス社内外の方たちとなります。ルネサス製品やソリューションに関して正式な回答をご希望の場合は、ルネサス技術サポート問合せをご使用ください。

RL78での音声プログラムについて

はじめまして、koheiと申します。

現在78k0rPS+)で構成された音声プログラムをRL78CS+)に置き換える作業を行っています。

ADPCM伸長(decode)処理について質問があります。

78k0rではNECから提供された adpcm_l32_dec()関数を使いPWMのデータを取得していました。

この関数はlibrary (adpcmsp.lib)になっており CS+では認識されません。(エラーになる)

そこでRL78ではルネサスが提供している M3S-S2-Tinyの 

 R_adpcm_refreshDec()

 R_adpcm_decode()

に置き換えようと思っています

従来は adpcm_l32_dec() で アナログ、PWMの選択があり PWM出力を利用していました

今回のR_adpcm_decode()の出力はPWMでしょうか?

もしアナログの場合はPWMにする方法はありますか?

その他 何か注意点があれば教えていただければ大変助かります

以上、ご教授のほどよろしくお願いいたします

  • koheiさん、こんにちは。NoMaYと申します。

    製品ページを見てみたところ、以下の記載がありましたので、PWM出力版は用意されている、のだと思います。詳細は、サンプルプログラムをダウンロードして中を見てみると、もっと分かるかと思います。もし、そういう問合せでは無いのでしたら、またその旨リプライして頂ければと、思います。(すみません、使ったことは無いですけれども、サンプルプログラムのソースファイルを見てみようかと思うのです。)

    RL78ファミリ用 音声録音・再生システム [M3S-S2-Tiny]
    www.renesas.com/software-tool/sound-playbackcompression-system-m3s-s2-tiny-rl78-family

    音声再生用サンプルソフトウェア
    (CS+、e2 studioのプロジェクト形式またはHigh-performance Embedded Workshopワークスペース形式のPWM出力用サンプルドライバを含むソースファイル)


  • NoMaYさん 返信くださりありがとうございます。

    仰る通り、サンプルプログラムにPWMを設定する部分があると思っていました。

    しかしその設定をする部分を見つけることができず今に至っている状況です。

    大変恐縮ですがソースファイルを確認頂けると幸いです。

  • koheiさん、こんにちは。NoMaYです。

    切り替えの仕組みは、これではないかな、と思いましたけれども、どうでしょう。

    an_r20an0194jj0102_rl78_s2_sound/workspace/sample/rl78g14_board/CS+ for CC/src/sample/r_s2_peripheral_if.h

    #if (SOUND_OUTPUT_MODULE == SOUND_DA)
    #define SOUND_MODULE_INIT      decode_da_converter_init
    #define SOUND_MODULE_START     decode_da_converter_start
    #define SOUND_MODULE_STOP      decode_da_converter_stop
    #define SOUND_MODULE_SLEEP     decode_da_converter_sleep
    #define SOUND_OUTPUT_DATA_SET(value)
    #define SOUND_OUTPUT_DATA_CNV  R_Convert16to8

    #elif (SOUND_OUTPUT_MODULE == SOUND_PWM)
    #define SOUND_MODULE_INIT      decode_pwm_init
    #define SOUND_MODULE_START     decode_pwm_start
    #define SOUND_MODULE_STOP      decode_pwm_stop
    #define SOUND_MODULE_SLEEP     decode_pwm_sleep
    #define SOUND_OUTPUT_DATA_SET(value)  (TDR03 = value)
    #define SOUND_OUTPUT_DATA_CNV  R_Convert16toPWM

    #else
    #error "Please define "SOUND_DA" or "SOUND_PWM" to "SOUND_OUTPUT_MODULE" macro. "
    #endif

     

  • NoMaYさん ご連絡ありがとうございます。

    早速確認してみます。

    結果は別途報告させてください。

  • NoMaYさん 返事が大変遅くなりました。

    無事PWMにて音声が出力されることを確認できました。

    情報の提供ありがとうございました。