GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
風鈴音源をGR-KURIMIで作ってみたのですが、これを秋月で販売の10pin RL78(5F10Y16ASP)へもっていきたいと考えてます。 GR-KURUMIのバイナリをそのまま、使えるのでしょうか? また、そのまま使った場合、ピン配置の対応は、どうなるんでしょうか? GR-KURUMIのpin3 (PWM), pin2 (INTR0) を使います。 あと、E1/E20を使ってプログラムを書き込み方法を、易しく説明しているページがあれば、ご紹介ください。 書き込みツールは、「【無償評価版】Renesas Flash Programmer V2.05.00」が使えそうですが、バイナリファイルの形式が、hexとかbinから変換が必要な感じがします。 http://japan.renesas.com/support/downloads/download_results/C1000000-C9999999/tools/evaluation_software_rfp.jsp 注)pin2の割り込みは、まだ、下のプロラムに反映されてないです。 【風鈴音源】音源系のソース公開が少ないようなので、サンプルソースコードを下にあげときます。ただし、音質は悪いアルゴリズムです。
/*GR-KURUMI Sketch Template Version: V1.06*/ #include // Pin 22,23,24 are assigned to RGB LEDs. int led_red = 22; // LOW active int led_green = 23; // LOW active int led_blue = 24; // LOW active // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. Serial.begin(9600); pinMode(led_red, OUTPUT); pinMode(led_green, OUTPUT); pinMode(led_blue, OUTPUT); pinMode( 3, OUTPUT ); // turn the LEDs on, glow white. digitalWrite(led_red, LOW); digitalWrite(led_green, LOW); digitalWrite(led_blue, LOW); analogWriteFrequency( 4000 ); // 4000Hz analogWrite( 3, 0 ); } int val = 0xEF; // the loop routine runs over and over again forever: void loop() { analogWrite( 3, 127 ); delay(100); for ( int cnt=0; cnt < 8; cnt++ ); val = (val >> 1); analogWrite( 3, val ); delay(200); } delay(2000); }
上記のプログラムで、pin3が音出力。 要注意事項として、このプログラムを実行するときは、pin3には、プラス電源とGNDに保護ダイオードを付けて、圧電スピーカへ接続してください。
【音質改善板】(指数関数減衰をあきらめ版です)
/*GR-KURUMI Sketch Template Version: V1.06*/ #include <Arduino.h> // Pin 22,23,24 are assigned to RGB LEDs. int led_red = 22; // LOW active int led_green = 23; // LOW active int led_blue = 24; // LOW active // the setup routine runs once when you press reset: void setup() { //setPowerManagementMode(PM_STOP_MODE, 0, 1023); //Set CPU STOP_MODE in delay() //setOperationClockMode(CLK_LOW_SPEED_MODE); //Set CPU clock from 32MHz to 32.768kHz // initialize the digital pin as an output. Serial.begin(9600); Serial.print("Temperature: "); Serial.println(getTemperature(TEMP_MODE_CELSIUS)); //temperature from the sensor in MCU pinMode(led_red, OUTPUT); pinMode(led_green, OUTPUT); pinMode(led_blue, OUTPUT); pinMode( 3, OUTPUT ); // turn the LEDs on, glow white. digitalWrite(led_red, LOW); digitalWrite(led_green, LOW); digitalWrite(led_blue, LOW); analogWriteFrequency( 4400 ); // 4400Hz analogWrite( 3, 0 ); } // the loop routine runs over and over again forever: void loop() { int val = 0xEF; long cnt = 1; for ( val=127;;) { analogWrite( 3, val ); delay( cnt ); cnt = cnt + 1; val = (val - 2); if ( val <= 0 ) break; } delay( 2000 ); analogWrite( 3, 0 ); }
PWM(1チャネル)は、⑤になりますか?
『RL78/G10 ユーザーズマニュアル ハードウェア編』の「第6章 タイマ・アレイ・ユニット」を見るとRl78/G10の10ピン製品のチャンネルn(マスタ)は0固定で、チャンネルp(スレーブ)に使えるのは残りのTO01しかないようなので、このレイアウトだと⑥か⑨になるみたいですね。
話がちょいと、ずれますが、秋月のHPで公開されているJTAGからの接続方法ですが、E1専用のようです。E20では、本体から電源供給できないようです。
akizukidenshi.com/.../k8780_r5f10y16_E1_kakikomi_kairo.pdf
この回路図で、JTAGのpin9, pin8は、両方とも、NCにして、RL78ターゲットに直接、電源供給すれば、良いのでしょうか? このまま、外から、電源つないでのもE20側でNCで大丈夫なんでしょうか? ルネサスナイトでいただいたE20を使ってみようかと思ってるにですが、E1と微妙に異なるところが、難しいですね。
『E1/E20エミュレータ ユーザーズマニュアル別冊 (RL78接続時の注意事項)』に「使用上の注意事項」として
2.5.4. VDDについて エミュレータ接続コネクタのVDDには、ユーザシステムのVDD(電源)を接続してください。 1.8V~5.5Vの範囲内で、かつマイコン動作範囲内の電源電圧にてご使用ください。 別電源からユーザシステムに電源を供給する場合、エミュレータの出力最終段バッファおよび入力初段 バッファ電源として、E1/E20エミュレータが消費します。 E1エミュレータ :3.3V時 約20mA , 5.0V時 約40mA E20エミュレータ :3.3V時 約40mA , 5.0V時 約100mA
とあるのでE20でもVDDは接続するのが正しいんじゃないですかね。
有難うございます。これに、DCジャックつければ、良いわけですね。
秋月のページで公開されてる「E1接続書き込み回路例」を参考に書き込み装置を作るというのならそれで良いと思います。
『RL78/G10 ユーザーズマニュアル ハードウェア編』の「第20章 フラッシュ・メモリ」に
20. 3. 5 電 源 フラッシュ・メモリ・プログラマを使用してシリアル・プログラミングする場合は,VDD端子はフラッシュ・メモリ・プログラマのVDDに,VSS端子はフラッシュ・メモリ・プログラマのGNDに,それぞれ接続してください。 オンボード上の電源を使用する場合は,通常動作モード時に準拠した接続にしてください。 なお,フラッシュ・メモリ・プログラミング時の動作電圧は4.5 V~5.5 Vです。オンボード上の電源が4.5 V未満のときは,専用フラッシュ・メモリ・プログラマからの電源供給に切り替えるなど,オンボード上の電源とアイソレートして4.5 V~5.5 Vの電圧を供給してください。
20. 3. 5 電 源
フラッシュ・メモリ・プログラマを使用してシリアル・プログラミングする場合は,VDD端子はフラッシュ・メモリ・プログラマのVDDに,VSS端子はフラッシュ・メモリ・プログラマのGNDに,それぞれ接続してください。
オンボード上の電源を使用する場合は,通常動作モード時に準拠した接続にしてください。
なお,フラッシュ・メモリ・プログラミング時の動作電圧は4.5 V~5.5 Vです。オンボード上の電源が4.5 V未満のときは,専用フラッシュ・メモリ・プログラマからの電源供給に切り替えるなど,オンボード上の電源とアイソレートして4.5 V~5.5 Vの電圧を供給してください。
とあるので電源は5Vを用意しないといけないようです。
G10はフラッシュ書き換え電圧が5Vですけども、 昔の78F9222(78K0S/KA1+)は、2.7Vからフラッシュ書き換えできたんですよね。しかもセルフも内蔵されてましたし。 (フラッシュシーケンサーのレジスタを自分で叩けるから、マニア受けしそう?!)マニュアルも414ページだし^^
G10も低電圧で書き換えができてくれたら、とっても便利だったんですよねー。
そーなんですよね。
書き換えが5Vじゃターゲットの電源を3VのCR2032かなんかにしたくてもマイコン挿したままでの書き換えは一工夫要るのが残念な感じです。
E20は、E1と異なり、電源供給機能がないようなので、E20の場合は、そのまま外から加電で、かまわないのかしら?
E20の場合は、そのまま外から加電で、かまわないのかしら?
http://japan.renesasrulz.com/gr_user_forum_japanese/f/110/p/2366/10267.aspx#10267 はそういうことでは?
この基板を買ってきて、マイコンを乗せ替えて、プラカラーのピンク色でも塗れば、大した手間もなくちっこいKURUMIみたいに使えるんじゃないですかね。
μPD78F9222MCと20pinのRL78/G13はピン配置が全然違うので、電源にパスコンのパターンもあるこっちの基板のほうがマイコン乗せ替えには都合いい感じですね。
# つーか生基板かRL78/G13が最初っから乗ってる製品がお安いプライスでありゃいいのにな。
E1の場合は、外部電源にする場合、E1側の9ピン(出力ピン)は、オープンにした方が良いみたいですね。
ソフトウェアPWMのサンプルがあるみたいです。ハードウェアPWMはなかった。40KHz1chなら、ソフトウェアでもできそうですけど、あるもん使えないともったいないですね。ここにあるサンプルですねかね。
http://japan.renesas.com/products/mpumcu/rl78/rl78g1x/rl78g10/app_notes.jsp
そう言えば、プログラムを書き込む時の信号シーケンスを、E1/E20を使わず行える方法も見つけないと、うまくなですね。5Vでも動くGR-KURUMIでやるとか
RL78/G10の書き込みプロトコルについてはかふぇルネの
『RL78/G10 のフラッシュプログラミング』
『RL78/G10の外部UARTによる書き込み』
この辺で語られてますが追って検証も可能だと思います。細かいところは Renesas Flash Programmer の信号を確認することになるでしょう。ルネサスから資料が出てくるのはちょっと期待できない感じですね。
確認の結果、E20の場合、秋月の回路図に、外部電源を加えるだけで、良いそうです。