富士通

F²MC-16LXファミリーFAQ目次へ

FAQ

CPUについて

  1. 擬似時計モードとは何ですか?
  2. スリープモード、ストップモードから外部割込みで復帰する場合の時間は、どのくらいですか?
  3. 逓倍切り替え時の安定までの時間はどれくらいですか?
  4. サブクロック安定待ち時間の検出について。(対象:MB905xx series)
  5. MCSに1(メイン)を書き込んだ後、最大で8マシンサイクル間0(PLL)を書き込めない可能性があるとマニュアルにありますが、本当ですか? (対象:MB905XXseries)
  6. マニュルにCS1、0の逓倍設定は、MCSを1の状態で書き込みを行なって下さいとありますが、同時に行った場合は、どうなりますか?
  7. サブモード->PLLモード、メインモード->サブモードに遷移する場合、メインモードに遷移せず、サブモードで動作するタイミングがあるのですが、なぜですか?
  8. PLLモード->サブモードに遷移する場合、SCSビットのみでサブモードへ状態遷移しても問題はありませんか?
  9. サブモードで動作中に外部リセットが入った場合、発振安定待ち時間を待たないでリセット動作をする事がありますか?
  10. PLL動作中に逓倍数を切り替えることはできますか? また、PLL4倍->PLL1倍に切り替える時の切り換え時間を教えてください。
  11. 逓倍切り替え中に割込みが発生した場合、どのような動作になりますか?
  12. 外部Clock8MHzの2逓倍=内部16MHzで使用しています。それを、外部Clock8MHzの1逓倍=内部8MHzに動作途中に切り替えて使用する事は可能でしょうか?
  13. PLL動作中にPLL逓倍数を切り替える場合、考えられる問題はありますか?
  14. PLLモード->タイムベースモードからPLLモードに復帰時にPLLの発振安定待ち時間は必要ですか?
  15. 電源の瞬断により、電源が1.2Vから 0.8Vまで下がった後、電圧を復帰した場合にCPUが正常に動作しない不具合が発生しますが、考えられる理由はありますか?
  16. EI2OSの注意事項で、同一ICRに配置されているリソースは、片方でEI2OSを使用すると、残りの割り込みは使用出来ない事が記載されていますが、なぜか?
  17. EI2OSやDMAは、内部のマイクロコードを実行しているのかそれともハードウェアで実行していますか?
  18. 割り込みでのEI2OS動作許可した場合、割り込みルーチン実行はいつ行なわれますか?
  19. EI2OS使用時、設定したデータカウンタ分のデータ自動転送終了後、再度EI2OSで繰り返しデータ転送を行いたい場合はどうすれば良いですか?
  20. スリープモード時に、通常モードに復帰せずにuDMA及びEI2OSでのデータ転送は行なえますか? この時に発生した割り込みのレベルはIL=7とします。サブクロック安定待ち時間の検出について。(対象:MB905xx series)
  21. 専用レジスタのPSまたはCCRのデータリード方法を教えてください。
  22. 動作中にCPUモード(モード端子の変更)を切り替える事が出来ますか?
  23. 命令キューが4byteあるが、使用しない方法はあるか?
  24. 命令キュー4byteの役割は何ですか?
  25. CPU暴走時、ROMの空き領域へPCが飛んだ場合の処理方法を教えてください。
  26. C端子に接続されるセラミックコンデンサについてですが、ハードウェアマニュアルでは、Vccに接続される電源平滑化のコンデンサは、C端子に接続されるコンデンサ容量より、大きなものを実装するよう記載されています。 同時に、C端子に接続するセラコン容量値をハードウェアマニュアル上で、0.1μFを推奨している事から、VCC端子に接続するコンデンサは、0.1μF以上を実装するとの解釈になりますか? また、Vccに接続するコンデンサより、C端子に接続するコンデンサ容量の方が大きい場合、何か誤動作等が発生しますか?
  27. データシートに“PLLクロック20~25MHzで使用する場合は、「PLL2」ビットをセットしてください。”とありますが、具体的な意味を教えてください。(対象:MB90480series)
  28. データシートに、擬似時計モードから外部割込み復帰時に最大80msかかるとありますが、内部クロックに依存しますか? (対象:MB90430series)
  29. アドレス一致機能を使用し2つのアドレスを設定して使用した場合、どっちのアドレスで発生したかを判断する方法はありますか?
  30. スタンバイ処理の前に各種割込みフラグのクリアを行う処理において、UARTの受信割込みフラグをクリアするためデータレジスタをリードしたところ、遅延割込みが発生する場合がありますが何故ですか? (対象:MB90435/545Gseries)
  31. ノイズ試験において、マイコン自体の動作が停止している様な現象が見られます。内部電圧回路の動作をチェックしたいのですが、確認方法はありますか? (対象:MB90F387)

1. 擬似時計モードとは何ですか?

擬似時計モードとは、CPUが停止している状態で、内部のタイムベータイマのみ動作しているモードです。

2. スリープモード、ストップモードから外部割込みで復帰する場合の時間は、どのくらいですか?

スリープモードからの復帰で外部割込みを使用する場合、割り込みハンドリング時間(最大48cycl)が必要になります。また、ストップモードからの復帰は、メインクロック発振安定待ち時間分、必要です。さらに、PLLモードにソフトにて遷移する場合は、PLLモードに遷移するまでPLL安定待ち時間が必要です。

3. 逓倍切り替え時の安定までの時間はどれくらいですか?

逓倍率を変更する場合は下記の手順が必要になりますので、すべての処理が終わるまでの時間になります。
1.PLL->メインへの変更 : 最大8PLLサイクル
2.逓倍率の変更 : メインサイクルでの命令実行分
3.メイン->PLLへの変更 : 2~14/メインクロックサイクル

4. サブクロック安定待ち時間の検出について。(対象:MB905xx series)

サブクロック安定待ち時間は、214サイクル固定であり、時計タイマ制御レジスタのSCEbitにて検出可能です。SCEbit=0の時はサブクロック安定待ち時間です。

5. MCSに1(メイン)を書き込んだ後、最大で8マシンサイクル間0(PLL)を書き込めない可能性があるとマニュアルにありますが、本当ですか? (対象:MB905XXseries)

この最大8クロックは、PLLの逓倍数に依存します。たとえば、4逓倍->メイン(2分周)なので、最大の8クロックが必要になります。(PLLクロックがメインクロックのエッジを検出するまでの時間の最大時間)基本的には、MCMでメインである事を確認してからPLLに切り替える事を推奨致します。なお、MB904XXseriesコア(MB90435seriesを除く)は、本仕様に制限はありません。

6. マニュルにCS1、0の逓倍設定は、MCSを1の状態で書き込みを行なって下さいとありますが、同時に行った場合は、どうなりますか?

基本的には、マニュアルの記述通りMCS=1に設定した後にCS1、CS0を設定願います。なお、もしMCS=0書き込みとCS1、CS0の変更を同時に行った場合、動作的には、CS1、CS0の書き込みが有効になります。

7. サブモード->PLLモード、メインモード->サブモードに遷移する場合、メインモードに遷移せず、サブモードで動作するタイミングがあるのですが、なぜですか?

一度SCSを1->0に設定してSCMが1->0になる前に、SCSを再度0->1ようなタイミングがありませんか? SCSを頻繁に切り替える際は、SCMでCPUの状態遷移が完全に終了したかを確認してからSCSの書き込みを行なって下さい。

8. PLLモード->サブモードに遷移する場合、SCSビットのみでサブモードへ状態遷移しても問題はありませんか?

SCSビットへの0書き込みは、MCSビットに依存しませんので、SCSビットのみで状態遷移可能です。

9. サブモードで動作中に外部リセットが入った場合、発振安定待ち時間を待たないでリセット動作をする事がありますか?

サブクロックでCPUが動作(メインクロックが停止している状態)で外部リセットがあった場合、発振安定待ち時間をとってからリセット動作を行います。(メインクロックが停止しているストップモード動作時にリセット入力があった場合と同じシーケンスをとることになります。)

10. PLL動作中に逓倍数を切り替えることはできますか? また、PLL4倍->PLL1倍に切り替える時の切り換え時間を教えてください。

PLL動作中に逓倍数を切り替えることはできません。逓倍数を切り替える場合は、必ずメインクロックモードに一旦遷移してからPLL逓倍数を変更し、PLLクロックモードに切り替える手順を行ってください。 この時の切り換え時間は、メインクロックモードへの遷移で約8クロック、PLLモードへの遷移に214クロック必要となります。更なる詳細については、弊社までお問い合わせください。

11. 逓倍切り替え中に割込みが発生した場合、どのような動作になりますか?

逓倍切り替え中もPLLかメインクロックで動作しているため、CPUの命令として問題となることはありません。但し、タイムベースタイマ以外のリソースにおいて、タイミングを考慮しなければなりません。

12. 外部Clock8MHzの2逓倍=内部16MHzで使用しています。それを、外部Clock8MHzの1逓倍=内部8MHzに動作途中に切り替えて使用する事は可能ですか?

逓倍率を変更する場合、クロックを一旦メインクロックに変更(MCS=1)してから逓倍率の変更(CS1、0)を行いPLL起動(MCS=0)により可能です。

13. PLL動作中にPLL逓倍数を切り替える場合、考えられる問題はありますか?

タイムベースタイマは原発振をクロックソースとしているため影響はありませんが、基本的にその他のリソースは低場囲碁のクロックを用いているため、逓倍数に比例してリソースのタイミングも変化します。

14. PLLモード->タイムベースモードからPLLモードに復帰時にPLLの発振安定待ち時間は必要なのか?

MB905XXseriesはPLL発振安定待ち時間が必要ですが、MB904XX、MB903XXseries(MB90435を除く)は必要ありません。

15. 電源の瞬断により、電源が1.2Vから 0.8Vまで下がった後、電圧を復帰した場合にCPUが正常に動作しない不具合が発生しますが、考えられる理由はありますか?

電源が中途半端な電圧(1.0V以下)まで下がってからの電源投入の場合、LPMCRレジスタのCG1、CG0ビットなどのリセットにより初期化されないレジスタが、初期化がされないまま立ち上がっている可能性があります。 そのため、ソフトで意図してない遅いクロックサイクルで動作を開始する事により、正常動作が確認できないのかもしれません。回避策としては、イニシャルルーチンにて初期化を行なっていただくか、外部リセットの変わりにHSTXを使用する事で対応が可能と考えられます。

16. EI2OSの注意事項で、同一ICRに配置されているリソースは、片方でEI2OSを使用すると、残りの割り込みは使用出来ない事が記載されていますが、なぜですか?

EI2OSは割り込み要因で起動するため、片方でEI2OSを使用すると、残りの割り込み要因でもEI2OSのカウントをUPします。その事から仕様制限となっています。

17. EI2OSやDMAは、内部のマイクロコードを実行していますか?それともハードウェアで実行していますか?

EI2OSは、内部のマイクロコードを実行して、MB90470seriesなどに搭載されているuDMAはハードで実行しています。

18. 割り込みでのEI2OS動作許可した場合、割り込みルーチン実行はいつ行なわれますか?

EI2OS動作許可した場合、ディスクリプタに設定したデータカウンタ分のデータ自動転送が終了するまで、割り込みルーチンは実行されません。

19. EI2OS使用時、設定したデータカウンタ分のデータ自動転送終了後、再度EI2OSで繰り返しデータ転送を行いたい場合はどうすれば良いですか?

設定データカウンタ分の自動転送終了後の割り込みルーチン内で、ディスクリプタの再設定とEI2OS起動を行なって頂く事で対応できます。

20. スリープモード時に、通常モードに復帰せずにuDMA及びEI2OSでのデータ転送は行なえますか? この時に発生した割り込みのレベルはIL=7とします。サブクロック安定待ち時間の検出について。(対象:MB905xx series)

スリープモード中にIL=7の割り込みが発生した場合、通常モードに復帰しません。また、uDMA及びEI2OSも動作致しません。

21. 専用レジスタのPSまたはCCRのデータリード方法を教えてください。

PUSHW PS命令にてメモリ上にデータをスタックし、スタックされたデータをリードする必要があります。なお、専用レジスタはCソース上でリードする事はできません。

22. 動作中にCPUモード(モード端子の変更)を切り替える事が出来ますか?

動作中にCPUモードを切り替えることは出来ません。

23. 命令キューが4byteあるが、使用しない方法はありますか?

命令キューの使用禁止はできません。

24. 命令キュー4byteの役割は何ですか?

次の命令を先読みし、格納しておくバッファです。命令キューの役割は、命令実行中に命令フェッチが可能になるので命令フェッチサイクルの短縮が可能です。

25. CPU暴走時、ROMの空き領域へPCが飛んだ場合の処理方法を教えてください。

ROMの空き領域の処理ですが、未定義命令で埋めるのが望ましいと考えます。FMC-16LXseriesでは、未定義命令実行時は、例外割り込みが発生しますので、あえて、空き領域を未定義命令で埋めて例外割り込みを発生させ、必要な処理(E2PROMなどへのLOG書き込みなど)を行い、リセットを掛けるなどすれば良いと考えます。

26. C端子に接続されるセラミックコンデンサについてですが、ハードウェアマニュアルでは、Vccに接続される電源平滑化のコンデンサは、C端子に接続されるコンデンサ容量より、大きなものを実装するよう記載されています。同時に、C端子に接続するセラコン容量値をハードウェアマニュアル上で、0.1μFを推奨している事から、VCC端子に接続するコンデンサは、0.1μF以上を実装するとの解釈になりますか? また、Vccに接続するコンデンサより、C端子に接続するコンデンサ容量の方が大きい場合、何か誤動作等が発生しまうか?

本製品は内部に降圧回路が内蔵されているものがあります。マイコンのC端子は、本降圧回路の出力電圧の電源変動を吸収する事を目的として0.1mF付けていただく事を推奨させて頂いています。また、この降圧回路の入力は、Vcc端子となりますが、降圧回路の出力で発生したノイズはVcc端子にも載る可能性があり、C端子に接続するコンデンサー以上を付けていただく事を推奨させて頂いています。

27. データシートに“PLLクロック20~25MHzで使用する場合は、「PLL2」ビットをセットしてください。”とありますが、具体的な意味を教えてください。(対象:MB90480series)

内部動作周波数24MHzの場合を例にとりますと、12MHzを1逓倍設定し、PLL2ビットを“1”(2倍)に設定して下さいの意味になります。24MHzの発振子1逓倍設定は不可になります。

28. データシートに、擬似時計モードから外部割込み復帰時に最大80msかかるとありますが、内部クロックに依存しますか?対象:MB90430series)

内部降圧回路の安定待ち時間として、最大80msを取る回路になっています。これは、内部クロック等には依存せず、アナログ的な時間管理になっています。

29. アドレス一致機能を使用し2つのアドレスを設定して使用した場合、どっちのアドレスで発生したかを判断する方法はありますか?

アドレス一致機能には、マニュアルにある様に、AD1E、AD0Eの動作許可/禁止のフラグしかありません。そのため、どちらが要因であったかは、SPのPCで確認する事になります。

30. スタンバイ処理の前に各種割込みフラグのクリアを行う処理において、UARTの受信割込みフラグをクリアするためデータレジスタをリードしたところ、遅延割込みが発生する場合がありますが何故ですか? (対象:MB90435/545Gseries)

考えられる要因として、UARTの受信割込みフラグのクリア処理がメインルーチン存在し、かつUARTの受信割込みを許可している可能性が考えられます。上記タイミングが一致すると、CPUでは割込み処理を行おうとしたタイミングで割り込み要因がクリアされる内部矛盾が発生します。その場合、割込み番号がもっとも大きい遅延割込みに遷移します。本現象は、UARTの受信割込みフラグをクリアする前にUARTの受信割込みを禁止するなどの処理をする事により回避できます。

31. ノイズ試験において、マイコン自体の動作が停止している様な現象が見られます。内部電圧回路の動作をチェックしたいのですが、確認方法はありますか? (対象:MB90F387)

外部C端子のレベルを確認して下さい。降圧回路が正常に動作している場合は、通常約3Vの電圧が確認できます。