PIC初心者用掲示板

★★ 質問する前に下記をチェック ★★
(PICに関する疑問は必ず解決するはず)
←←←「電子工作の実験室」へ
←←←← 

■最新ツリー一覧

□このツリー付近のツリー一覧

★新規ツリー作成

◆ 9998. CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 11:34


9998. CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 11:34
CCS-Cコンパイラによるウォッチドッグ(WDT)の使い方についてどなたかご教授をお願いします。使用しているデバイスはPIC18LF452、CCS-CコンパイラはPCWH(v3.19)です。
CCS-Cを使ってWDTのTIMEOUT時間を指定する場合、PIC16Fなどでは(PCB,PCM,PCHの環境において#fuseとsetup_wdt()のパラメータにWDT_2304MSと記述します。PIC18Fの場合は#fuse WDT128 と指定するようですが、この場合は4ms×128=512msという意味になるのでしょうか(4ms:WDTのクロック×125)?
PIC18Fで2304msで動作させたい場合などはどのようにしたらよいのでしょうか?基本的な部分から私の理解が間違っているのかもしれませんが、どなたかご教授をお願いします。

9999. Re: CCS-Cによるウォッチドッグについて [nyannnyannko2006/03/23 12:09

http://ww1.microchip.com/downloads/en/devicedoc/39564b.pdf
DS39564B-page 274 より抜粋
Watchdog Timer Time-out Period min=7 typ=18 max=33 ms

http://www.datadynamics.co.jp/ccs/ccs_manual3j_sept05.pdf
P84 に サンプルコードがありますよ。

↓参考まで C18 用です
http://ww1.microchip.com/downloads/en/devicedoc/c18_config_settings_51537e.pdf
18F452 の 場合 DS51537E-page 5
Watchdog Postscaler:
WDTPS = 1 1:1
WDTPS = 2 1:2
WDTPS = 4 1:4
WDTPS = 8 1:8
WDTPS = 16 1:16
WDTPS = 32 1:32
WDTPS = 64 1:64
WDTPS = 128 1:128
128*18msec = 2304msec が 最大のようですね。

18F4520 の 場合 DS51537E-page 167
WDTPS = 1 1:1
WDTPS = 2 1:2
WDTPS = 4 1:4
WDTPS = 8 1:8
WDTPS = 16 1:16
WDTPS = 32 1:32
WDTPS = 64 1:64
WDTPS = 128 1:128
WDTPS = 256 1:256
WDTPS = 512 1:512
WDTPS = 1024 1:1024
WDTPS = 2048 1:2048
WDTPS = 4096 1:4096
WDTPS = 8192 1:8192
WDTPS = 16384 1:16384
WDTPS = 32768 1:32768

10000. Re: CCS-Cによるウォッチドッグについて [PIC182006/03/23 13:12
>CCS-Cを使ってWDTのTIMEOUT時間を指定する場合、PIC16Fなどでは(PCB,PCM,PCHの環境において#fuseとsetup_wdt()のパラメータにWDT_2304MSと記述します。PIC18Fの場合は#fuse WDT128 と指定するようですが、この場合は4ms×128=512msという意味になるのでしょうか(4ms:WDTのクロック×125)?
>PIC18Fで2304msで動作させたい場合などはどのようにしたらよいのでしょうか?基本的な部分から私の理解が間違っているのかもしれませんが、どなたかご教授をお願いします。

見つけにくいのですが、Datasheet内をTWDTで検索すればWDTのTime-out周期がわかります。
min:7mS, typ:18mS, max:33mS(他のPICデバイスでも概ね同様)
非常に不正確という点に注意が必要です

Twdt=18mSとして #fuses WDT128 設定で 18x128=2304(mS)となります。

10001. Re: CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 13:19
nyannnyannko様、ご返答をありがとうございます。

>Watchdog Timer Time-out Period min=7 typ=18 max=33 ms
某書籍に4msと書いてあったので4msの石頭になっていました。
min=7 typ=18 max=33ということはWDTのPostscalerが仮に1:128であったとしたら、min=896 typ=2304 max=4224と結構バラつきがあるんですね。
大変勉強になりました。本当にありがとうございました。

10002. Re: CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 13:23
PIC18様
ご返答をありがとうございます。
某書籍で4msと書いてあったので、そのまま石頭になっていました。ご教授頂いたとおり、バラつきが大きいので注意が必要ですね。今回は本当に大変勉強になりました。ありがとうございました。

10003. Re: CCS-Cによるウォッチドッグについて [nyannnyannko2006/03/23 13:30

>某書籍に4msと書いてあったので4msの石頭になっていました。

最近 PIC18F の 3桁型番は Microchip の HP から選択出来なくなっています。
http://ww1.microchip.com/downloads/en/devicedoc/39626b.pdf
PIC18F4620 等 4桁型番の場合 DS39626B-page 346
Watchdog Timer Time-out Period min=3.4 typ=4.0 max=4.6 ms

10004. Re: CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 15:01
nyannnyannko様
+αのご教授をありがとうございます。
更に更に勉強させて頂きました。

ちなみに、
>Microchip の HP から選択出来なくなっています。
の「選択できなくなっている」というのはどういう意味なのでしょうか?

10005. Re: CCS-Cによるウォッチドッグについて [nyannnyannko2006/03/23 15:27

PIC18 シリーズの 3桁型番は「新規製作に使わないで下さい。」と読み取れます。

10006. Re: CCS-Cによるウォッチドッグについて [PICビギナー2006/03/23 20:46
nyannnyannko様
重ね重ね勉強になりました。ありがとうございます。