TL594とか位相シフトPWMとかに使われるPWM信号が作りたいのでConfigについて色々しらべてみました。STMマイコンとかでもあったけどそっちもめんどくさそうなのでPICでやってみます。
まずPICというものでLチカをしただけなので「何となく動くんだな」ってくらいでした。
Configの設定情報も少ないので色々調べながらやっています。
FBS
//ブートセグメント(プログラム書込領域らしい)設定
BWRP・・・Boot Segment Write Protect
訳すとブートセグメントを書き込めないようにするか?と聞いているらしい
もちろん書き込めなくなっては意味がないので「WRPROTECT_OFF」
BSS・・・Boot Segment Program Flash Code Protection
プログラムが書かれているフラッシュメモリの保護をどうするか?と聞いてるらしいのか?
ここは何もしなくていいでしょう「NO_FLASH」
FGS
//FBSのセット定義らしい
よくわからいのでデフォルトのままでいいでしょう。
(セキュリティがあったためにバグっても嫌ですし)
FOSCSEL
//クロック源の設定
時間の基準となるクロックを決めるもの。
<外部クロック使用時>
FRC・・・外部クロック、ただのRC回路のクロックで約7.37MHz
FRCPLL・・・外部クロック、FRCにPLLを通したもので速度調節可能
PRI・・・外部クロックを使う設定
PRIPLL・・・外部の発振信号にPLLを掛けることで周波数を調整可能
SOSC・・・外部クロック(32.768kHz)をつけて高精度な1秒を出すことができるそうです(外部クロックとかでバラつかないのかな?)
LPRC・・・低電圧(2.5V程度?)型のRC発振(回路。通常は使わないほうがいいだろう
FRCDIV16・・・内部クロックを16分周したもの?よく知らんけど
FRCDIVN・・・外部クロックをN分周したもの?分周させたい時用?
IESO
//起動時のクロック指定
簡単に言うと起動時をFRCで起動して、その後ユーザー指定のクロックに切り替えるか?
今回は「OFF」
POSCMD
//発振源の種類選択
NONE・・・内部発振源
EC・・・CMOS,TTXのクロック
XT・・・低速水晶クロック
HS・・・高速水晶クロック
ていうことらしい
OSCIOFNC
//クロック出力するか?入出力ポートとするか?
IOL1WAY
//再構成を許可する?よくわからないので「OFF」
FCKSM
//クロックをモニタするか?よくわからないので「OFF」
動作クロック周波数の計算
N1・・・入力クロック / a
M・・・b
N2・・・出力クロック / c ・・・N2の式変形すると
(N2はクロック源の周波数らしい)
Fosc = Fin ・M / (N1×N2)
多分間違っている箇所があるかも?