RL78/G13と78K0R/KE3-AでRESETとRESFの動きが異なる

78K0R/KE3-AのファームをRL78/G13に移植してみて、RESET周りの動きが異なっていて困っています。

1, RL78の方の電源を入れた時、RESFレジスターのTRAPビットが1になっている。他のビットは0。

 ハードリセットを掛けた時やVddのみの入り切りでは、RESFレジスターは全て0。

 GNDとVddの両方を入り切りしたときに(同時ではなく、GNDとVddの入り切りに時間差があっても)、TRAPビットが1になります。

 78K0R/KE3-Aの場合はファームを書き換えた直後に電源を入れた時にTRAPビットが1になりますが、その後電源を入り切りしてもTRAPビットが1になる事はありませんでした。

 

 上記の78K0R/KE3-AとRL78/G13の動作は再現性があります。

  RESFレジスターの読み込み場所は、各機能の初期設定を行う前のファームの先頭で読み込んでおり、メインループの外側です。

 RL78のこの動作を回避する方法はありませんか? 78K0R/KE3-Aと同じ動きで良いのですが

   

2, 以下の現象は常に起きるのではなく、起きたり起きなかったりします。

 RL78/G13の-RESET端子をLowにしたまま,電源の入り切りを行うと、RL78/G13が動かなくなる。再度動かすにはファームを書き換えなければならない。

 78K0R/KE3-Aではこの現象が見られませんでした。

 他のCPUから動作を制御することがありますので、不安が残ります。

Parents
  • ハルヒさん、こんにちは。NoMaYと申します。

    以下の部分ですが、VDDを先に繋いでGNDをその後で繋ぐのですか?私の場合は(というか一般的には?)、その手順は何かマイコンを壊してしまう危険性が気になってやらないと思うのです。(マイコン側の回路全体が他とはアイソレートされていれば大丈夫なのでしょうけれども、、、)

    GNDを先に繋いでVDDをその後で繋ぐ、というのでは何か都合が悪いことがあるのですか?(この順番が一般的だと思うのです。) 動きが異なるという話以前の話ですが気になりましたので、、、

    >  ハードリセットを掛けた時やVddのみの入り切りでは、RESFレジスターは全て0。
    >  GNDとVddの両方を入り切りしたときに(同時ではなく、GNDとVddの入り切りに時間差があっても)、TRAPビットが1になります。

  • NoMayさん、こんにちは

    イヤイヤ、VddをGNDより先に繋ぐってことはしませんよ。

    コネクター等を用いれば、VDDとGNDはほぼ同じタイミングで接続できますが。
    此処ではCPUの動きを確認するため、電源を切るときはVddを先に切り、数秒後にGNDを切る。
    電源を入れる時はGNDを先に繋ぎ、数秒後にVDDを繋ぐことを試みました。

    仰るように、コネクターで電源の入り切りをすると、挿入の仕方によってはVDDが先に繋がってしまうためかと、GNDとVddの入り切りに時間差を付けてみたのです。

    電源が暴れているなら、RESFレジスターのlVIRFビットが立つ方納得いくのですが・・・
Reply
  • NoMayさん、こんにちは

    イヤイヤ、VddをGNDより先に繋ぐってことはしませんよ。

    コネクター等を用いれば、VDDとGNDはほぼ同じタイミングで接続できますが。
    此処ではCPUの動きを確認するため、電源を切るときはVddを先に切り、数秒後にGNDを切る。
    電源を入れる時はGNDを先に繋ぎ、数秒後にVDDを繋ぐことを試みました。

    仰るように、コネクターで電源の入り切りをすると、挿入の仕方によってはVDDが先に繋がってしまうためかと、GNDとVddの入り切りに時間差を付けてみたのです。

    電源が暴れているなら、RESFレジスターのlVIRFビットが立つ方納得いくのですが・・・
Children
No Data