なんとかなるさね

マイコンをネタにブログを始めてみました


スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--   blog-entry-   category: スポンサー広告

go page top

RL78マイコン(RL78/G13)|マルツのuPD78F0730基板とブレッドボードでOCDエミュレータを組む 

RL78マイコンのPromotion BoardやDevelopment Kitでは78K0マイコンのUSB搭載品のuPD78F0730を使用
したオンボード簡易オンチップデバッグエミュレータが搭載されていて今までずっと気に掛かっていましたが、
先日のエントリで気持ちのスイッチが半押し状態になっていたところへ、追い討ちを掛けるようにマルツさんで
販売されている(もともとはトラ技で特集されていた付録基板だった)トラ技ARMライタというマイコン基板兼
ライタ/OCDエミュレータに使用されているLPCマイコンのUSB搭載品のLPC11U35のDIP化基板が秋月電子さん
から発売されたことに気付いてスイッチが完全に押し込まれた状態になってしまいました。

ということで、私のPCに保存されていたリニューアル前のルネサスアメリカのウェブサイトに掲載されていた
RL78マイコンのPromotion BoardやDevelopment Kitのドキュメントの回路図を参照して、マルツさんで販売
されている(もともとはトラ技で特集されていた付録基板だった)uPD78F0730マイコン基板を使用してブレッド
ボード上で同等のものを組んでみました。(リニューアル前に運良く保存されていたというところです、、、)



uPD78F0730マイコン基板

* TR0808U (トラ技2008年8月号付録) / M78K0F0730 (マルツ同等品)

右が上記のマイコン基板 (左はグルーを載せてArduinoシールドのような2段重ね式の子基板に出来そうな基板)


トラ技2008年8月号特集 USBマイコンによるI/O制御入門
http://toragi.cqpub.co.jp/tabid/131/Default.aspx

トラ技2008年8月号付録NEC78K0 USBマイコン基板同等品
http://www.marutsu.co.jp/pc/i/55296/

参照した回路図

* YRPBRL78G13 Promotion Board
 r01uh0243ed0000.pdf

* YRPBRL78L12 Promotion Board
 r20ut2493eg0100_circuit_diagram.pdf

* YRDKRL78G13 Development Kit
 YRDKRL78G13_SCH_2.pdf

* YRDKRL78G14 Development Kit
 YRDKRL78G14_SCH_2.pdf

なお、uPD78F0730に書き込むファームウェアですが、ルネサス中国のウェブサイトに掲載されていたEZ-CUBE
というOCDエミュレータ向けにダウンロード出来るようになっていたzipファイルに含まれていたHEXファイを
使用しましました。(こちらも、使用して運良く動いたというところです、、、もっとも、今までずっと追って
いましたので、きっと動くだろうとは思っていましたが、、、 もちろん、動いていなければ今回のエントリは
書いていないでしょうし、、、) また、書き込み自体は、以前のエントリ(543, 765)でRL78/G10やRL78/G13で
試していた自作回路(といっても、FT232RLと74HC125と抵抗2本の簡単なものです)を流用する(というか回路の
一部分を使わないようにする)ことで出来ました。

ファームウェア

* firmware_20140925.zip

あと、Windowsデバイスドライバが必要ですが、私のPCでは、以前にインストールしたe2 studioのインストール
フォルダにあったものが自動的に検索されて、自動的にインストールされました。ちなみに、先ほどのエントリ
(私の気持ちのスイッチが半押し状態になったエントリ)にも書いたことですが、Maksim Salauという人がLinux
デバイスドライバをGitHubで公開されていらっしゃいます。

Windowsデバイスドライバ

* e2 studioのインストールフォルダ\drivers\for_32bit\Renesas_EZ\*.*
* e2 studioのインストールフォルダ\drivers\for_64bit\Renesas_EZ\*.*

ブレッドボード上の具体的な配線なのですが、ファームウェアを書き込む時とファームウェアを書き込んだ後で
簡易OCDエミュレータとして使用する時とで、配線が異なります。なお、簡易OCDエミュレータの回路との兼ね
合いで、取り除いても良いとされているuPD78F0730基板のチップ抵抗R11は取り除きました。

uPD78F0730基板の改造

* チップ抵抗R11を取り除く

ファームウェアを書き込む時の配線

* FT232RLのRxDは、自作回路へは繋がずに、uPD78F0730基板のP13(TxD6)へ繋ぐ
* FT232RLのTxDは、自作回路へは繋がずに、uPD78F0730基板のP14(RxD6)へ繋ぐ
* FT232RLのRTSは、RL78/G10やRL78/G13の場合と同じく自作回路のRTS接続先へ繋ぐ
* 自作回路のRESET出力は、uPD78F0730基板のNRE(RESET)へ繋ぐ

* uPD78F0730基板のFL(FLMD0)は、同基板のV50(VDD)へ繋ぐ

* uPD78F0730基板のV50は、ブレッドボードのVDDへ繋ぐ (ブレッドボードの電源を受け取る側になります)
* uPD78F0730基板のGNDは、ブレッドボードのGNDへ繋ぐ

全体


拡大


以前の自作回路(今さらですが、回路図ではRxD,TxD,TOOL0が上側ですが、実体ではRTS,RESETが上側ですね)




これでRenesas Flash Programmer V2.05.03でuPD78F0730にファームウェアを書き込むことが出来ました。

シグネチャ情報の取得


消去後書き込み



ファームウェアを書き込んだ後で簡易OCDエミュレータとして使用する時の配線

* uPD78F0730基板のP13(TxD6)は、自作回路のTxD接続先へ繋ぐ
* uPD78F0730基板のP14(RxD6)は、自作回路のRxD接続先へ繋ぐ
* uPD78F0730基板のP14(RxD6)は、上に加えて、同基板のP33、同基板のP00、にも繋ぐ
* uPD78F0730基板のP15は、1KΩを介して同基板のGNDでプルダウンし、RL78/G13のRESET端子へ繋ぐ
* uPD78F0730基板のP17は、10KΩを介して同基板のGNDでプルダウンする
* uPD78F0730基板のP12は、10KΩを介して同基板のV50(VDD)でプルアップする
* uPD78F0730基板のP30は、同基板のV50(VDD)へ繋ぐ

* uPD78F0730基板のV50は、ブレッドボードのVDDへ繋ぐ (ブレッドボードへ電源を供給する側になります)
* uPD78F0730基板のGNDは、ブレッドボードのGNDへ繋ぐ

* 自作回路のTOOL0入出力は、RL78/G13のTOOL0端子へ繋ぐ

全体


拡大


これで簡易OCDエミュレータとして使用することが出来るようになりました。デバイスマネージャからは仮想
COMポートとして認識され、デバッガからはEZ emulatorとして認識されました。






なお、この結線のままでも、以前のエントリと同様にIDE4GR 0.7.0と改造したrl78flash 0.5.1の組み合わせで
書き込むことが出来ました。(同様に書き込み終了とともに書き込んだプログラムが実行されましたし、同様に
PCとuPD78F0730基板をUSBケーブルで繋いだ直後からもプログラムが実行されました。)




追記 : 補足

ちなみに、今回は2線式接続を1線式接続化するのに74HC125の4個あるゲートの1個と抵抗1本を使いましたが、
これはダイオード1本と抵抗1本でも同じことが出来ます。参照したPromotion Boardの回路図ではダイオードが
使われていました。(具体的には、G14ボードはDB2J411、L12ボードはMBRS130LT3G、が使われていました。)

追記 : 補足

あと、以下の配線は、プルアップ/プルダウンを逆にしてしまっても、あるいは、オープンにしてしまっても、
書き込みやデバッグが出来ましたので、やらなくても良さそうな気がします。(写真にうまく収めようとして
部品を並べ替えているうちに間違えてしまったことがあり、それでも動いたのでちょっと気になっていました。)

* uPD78F0730基板のP17は、10KΩを介して同基板のGNDでプルダウンする
* uPD78F0730基板のP12は、10KΩを介して同基板のV50(VDD)でプルアップする

更に、ものは試しということで、以下の配線も外してみましたが、それでも書き込みやデバッグが出来ました。
(そうなると、uPD78F0730基板のチップ抵抗R11を取り除く必要は無かった、ということになりそうです。)

* uPD78F0730基板のP14(RxD6)は、上に加えて、同基板のP33、同基板のP00、にも繋ぐ

配線を簡略した結果、以下のようになりました。(もっとも、根拠としては、それで動いたから、ということ
しかありませんが、、、)



追記 : 雑感

都合の良いことにuPD78F0730基板のVIOは基板内でV50と繋がっていますので、必要な端子が上半分の左右の
8ピン(計16ピン)に収まります。2線式接続を1線式接続化するのにダイオードを使えば、部品はダイオード1本と
抵抗2本になります。16pin SOP DIP変換基板(ダイオードや抵抗を基板上で空中配線)と(足の長い)ピンヘッダや
(足の長い)ピンソケットをうまく選んで組み合わせて、ブレッドボード、uPD78F0730基板、DIP変換基板、の
3つを3段重ね出来るようにしてやれば、後で再使用し易くすることが出来そうな気がします。

また、RL78/G13と繋ぐことになる端子が左の1列だけですので、16pin SOP DIP変換基板からピンが突き出る
ようにしておいて、8ピン×1列のピンソケットなどでうまく接続ケーブルを作ってやれば、ブレッドボードが
無くても(つまり持ち運びが出来てスタンドアロンで)使えるようにも出来そうな気がします。

あと、GND,TOOL0,RESETだけなら4ピン×1列に収まるとか、TOOL0,RESETだけなら2ピン×1列に収まるとか
(V50,GNDは別端子で別途繋いでおく)、RL78/G10に書くことも出来る筈だとか、1線式接続にしないでおいて
TxD6,RxD6,RESETの3ピン×1列でuPD78F0730に書くことも出来る筈だとか、更に、単なるUSB-UART変換器
として使うようにした時にGND,TxD6,RxD6が3ピン×1列に収まるとか、考えられそうです。

ちなみに、uPD78F0730基板(というかuPD78F0730)の裏技(?)として、基板裏面のVIO(EVDD)とV50(VDD)の
間のショートパッドをパターンカットしてVIO(EVDD)に3.3Vを供給すれば、3.3V動作デバイスと繋げることが
出来る、という記事も見掛けました。(3.3Vの電源供給回路をどこかに用意する必要がありますが。)

追記 : 雑感

というか、3.3Vの電源供給回路は幾つもありますが(3.3V出力可能USB-UART変換器とかトラ技ARMライタとか)、
uPD78F0730基板の電源投入(USBケーブルの挿入)と3.3Vの電源供給(例えば同じくUSBケーブルの挿入)の順序、
あるいはuPD78F0730基板の電源投入を忘れたまま3.3Vの電源供給を行ってしまわないように注意しておく必要、
といったことが気に掛かります。むしろ、電圧レベル変換専用の部品を外付けした方が良いのかも知れません。

追記 : 雑感

以前のエントリでWindowsバイナリをLinux上で実行するWineというオープンソースソフトウェアを試してみた
ことがあるのですが、ひょっとして、e2 studioに同梱されているEZ emulatorのGDBSERVERをWine上で実行
させた時にMaksim SalauさんのLinuxドライバが呼び出されるようにすることが出来れば、Linux上のGDBから
Wine上で実行されているEZ emulatorのGDBSERVERにTCP/IP接続することで、Linux上で書き込みだけでなく
デバッグも出来るようになったりするだろうか?

関連記事

2016/06/13   blog-entry-778   category: RL78 /* 16bit,8bit CISC */

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。