こんにちは
RL78/G13の64pinを使用しています。(秋月電子に売っている物です)
つい昨日までは数10回プログラムの書き込みができていたのですが今日、突然プログラムが書き込めなくなってしまいました。
プログラムの書き込み方式はUSB-シリアル変換器を使用した単線UARTです。書き込み 回路はTC74AC125スリーステートバッファを使ったものです。RESET端子は変換器からのRTS端子を論理反転させて入力しています。検索するとすぐにヒットする回路だと思います。
書き込みスタート時、オシロスコープでTOOL0端子とRESET端子の書き込み波形を確認したところ、TOOL0端子に”3A”(0111010)が入力された後RL78側からの応答がない感じです。
また、直前までに書き込めていたプログラムは動作しているのでマイコンが壊れてはいない様子です。
電源電圧も問題ある無さそうです。
(なにか書き込みマスクのような物がかかっている??)
当方始めて数日の素人で初歩的な質問で申し訳ありませんがどなたか原因が分かる方がいらっしゃいましたらご教授いただけると幸いです。
kokoaさん、こんにちは。NoMaYです。画像どうもありがとうございました。ちなみに、TC74AC125の回路部分ですが、プリント基板を作成されているのでしょうか?それとも、ユニバーサル基板でしょうか?あるいは、ブレッドボードでしょうかね?あと、念の為、USBシリアル変換器のRXピンの波形も見て頂けないでしょうか?断線とか接触不良とか無ければ、(TXピン→TC74AC125→)TOOL0→RXピンと伝わって、同じ波形が見える筈ですけれども?(更に言うとUSBシリアル変換器の変換IC(FT232等)のRXピンのところで見たいのではありますけれども、、、)そして、その後、確認して欲しいのが、USBシリアル変換器を取り外して、USBシリアル変換器のTXピンとRXピンを接続して、TeraTermなどを使って、エコーバックが出来るかどうか、確認してみて欲しいです。それも問題無いとなった場合は、ちょっと手詰まりな感じになってしまいますけれども、私自身であれば、その先の作業として、rl78flashというオープンソースのRL78書き込みソフトウェアを、自分でコンパイルして、その動作をWindowsアプリケーション向けデバッガでステップ実行するなどして動作を追ってみる、ということを試してみると思うのです。(もっともコンパイルする前にrl78flashで書けるかどうか(というよりも同じく書けないのかどうか)を試してからですけれども。) kokoaさんがWindowsアプリケーションを作ったことが無ければ、かなりハードルが上がってしまいますけれども、、、今のところ、Baud Rate Setコマンドが送られていないとなると、こういったことが思い付いたことです。
NoMaYさん、こんにちは。
kokoaです。
いただいた回答からずいぶん間が空てしまい申し訳ございません。
いろいろ実験したところ、USBシリアル変換器内部ICのRxピン端子に信号が返ってきていないのが原因だったようです。
つまりUSBシリアル変換器の故障が原因でした。
USBシリアル変換器 単品でTx-Rxをショートさせた時エコーバックは出来るようです。
TeraTermで確認しました。
TC74AC125の回路はユニバーサル基板で実験基板を作ったのですが
うまく動作しているよう?ですが少し怪しいかもしれません。
・実験基板の書き込みコネクタピンのRx(USBシリアル変換器への出力)の時点でTxと同じ波形が出ていることを確認。
・実験基板からケーブルを経由してUSBシリアル変換器の入力端子の時点でTxと同じ波形が出ていることを確認。
・USBシリアル変換器の外箱を分解して変換ICのRx端子を測定してみると波形が確認できませんでした。
これが原因だったようです。
急遽新しいSBシリアル変換器を購入して試しに書き込みしたところ、すんなりと書き込みできてしまいました。
いろいろご教授いただきありがとうございました。
kokoaさん、こんにちは。NoMaYです。> USBシリアル変換器 単品でTx-Rxをショートさせた時エコーバックは出来るようです。> TeraTermで確認しました。すみません、今になってひとこと書き忘れたような気がしてきましたが、ひょっとしたらTeraTerm自身でのTeraTerm内で閉じたソフトウェア的なエコーバックが表示されているのかも知れません。その機能を無効にして下さいね、と、お願いするのを書き忘れていましたね。(話の流れで考えると、ここはその可能性が高いような気がしてきたりしています。)