Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
R8C/Tiny
More
Cancel
R8C/Tiny
106: R8C - Forum
R8C/1x 発振停止検出機能について
Home
Forum
Tags
More
Cancel
New
Replies
3 replies
Subscribers
445 subscribers
Views
2003 views
Users
0 members are here
発振停止検出機能
R8C
低速オンチップオシレータ
ocd2
beginner
メインクロック
Options
Share
More
Cancel
Related
R8C/1x 発振停止検出機能について
entake
over 9 years ago
こんにちは、entakeと申します。お世話になっております。
電源起動後、XINクロック(20MHz)に切り替えていますが、万が一XINクロック供給が途絶えた時のために、発振停止検出機能を使おうと考えています。
R8C/1Bのハードウェアマニュアルによると、同機能は、メインクロック発振回路の停止を検出すると、自動的に低速オンチップオシレータ発振設定(cm14=0)&オンチップオシレータ選択(ocd2=1)とし、発振停止検出割り込みにジャンプするようです。
ジャンプした後の動作ですが、「低速オンチップオシレータからメインクロックへの切り替え手順」として同マニュアルに参考フローが載っています。
(1)ocd3でメインクロック復活確認 ※永久ループ
(2)復活後→発振停止検出機能は無効にセット
(3)ocd2でメインクロックに切り替え
⇒この通りに作ると確かに正しく動くのですが、上記(2)を削るとなぜか上手く動きません。(UART通信ができない)
発振停止検出機能を有効にしたまま、動作を継続できればベストなのですが、何かお分かりの方、お願いいたします。
Parents
entake
over 9 years ago
>すと@konさま
発振停止検出割り込み処理内で、メインクロックの発振を確認後、”発振停止検出機能は無効化”してから、メインクロックに切り替えて、メインルーチンへ戻す。
メインルーチンでは、常時SFRリフレッシュ処理として、ポート方向レジスタを更新していますが、そこに”発振停止検出機能の有効化”を追加し、ようやく上手くいきました。
暴走についてですが、ocd2アクセス時のプロテクト解除忘れも一因でした。情けない。。
また、メインクロックの発振を待っている間は、アラームを出すなどの工夫も大変参考になりました。
ちなみに、発振待ちのまま30秒経つとWDTリセットがかかるのが盲点でした。
20MHz動作で0.2秒になるよう設計してある場合、125KHz動作になると、確かに約30秒でWDTカウンタはアンダーフローしますね。
メインクロック発振確認後は、ソフトウェアリセットで仕切りなおしたかったのですが、無用なイニシャル処理を避けねばならず、何事もなかったかのように戻すのに苦労しました。
すと@konさまのご意見は、大変参考になりました!
また何かありましたら、よろしくお願いいたします。
Cancel
Up
0
Down
Reply
Cancel
Reply
entake
over 9 years ago
>すと@konさま
発振停止検出割り込み処理内で、メインクロックの発振を確認後、”発振停止検出機能は無効化”してから、メインクロックに切り替えて、メインルーチンへ戻す。
メインルーチンでは、常時SFRリフレッシュ処理として、ポート方向レジスタを更新していますが、そこに”発振停止検出機能の有効化”を追加し、ようやく上手くいきました。
暴走についてですが、ocd2アクセス時のプロテクト解除忘れも一因でした。情けない。。
また、メインクロックの発振を待っている間は、アラームを出すなどの工夫も大変参考になりました。
ちなみに、発振待ちのまま30秒経つとWDTリセットがかかるのが盲点でした。
20MHz動作で0.2秒になるよう設計してある場合、125KHz動作になると、確かに約30秒でWDTカウンタはアンダーフローしますね。
メインクロック発振確認後は、ソフトウェアリセットで仕切りなおしたかったのですが、無用なイニシャル処理を避けねばならず、何事もなかったかのように戻すのに苦労しました。
すと@konさまのご意見は、大変参考になりました!
また何かありましたら、よろしくお願いいたします。
Cancel
Up
0
Down
Reply
Cancel
Children
No Data