【dsPIC33FJ128MC802】内部発振で最高速にて使ってみる。クロックの設定
◆dsPIC33FJ128MC802を内部発振で最速で動作させたいと思います。
最高40MIPSで動作可能です。ということは4000万cycle/secでしょうか!?
0)パーツ
チップワンストップで購入しました。
dsPIC33FJ128MC802-E/SP
@764円で購入しました。
DIPの28pinなのでブレッドボードでの実験にはもってこいです!
1)コンフィグレーション
コンフィグレーションはp33FJ128MC802.incの5315行目を参照しました。
_FOSCSEL(FNOSC_FRCPLL)
PLL併用のFRCオシレータとなります。
2)レジスター
リファレンスマニュアル70596Aを参照にしました。
ここではPLLの設定となります。
Fosc=Fin(M/N1×N2)・・・式①
・M=PLLDIV+2・・・式②
・N1=PLLPRE+2・・・式③
・N2=2(PLLPOST+1)・・・式④
Finは入力周波数なので7.37MHzになります。
Page48にサンプルコードがあるので拝借しました。
M:43、N1:2、N2:2を実際に上記②~④に代入のち①に代入して計算してみると
Fosc=7.37MHz(43/2×2)=79.2275MHzとなります。
命令サイクルクロックFcy=Fosc/2なので、39.61MHzとなります。
内部発振では39.61MIPSとなります。
3)プログラム例
プログラムの例はこちら↓
PLLFBDbits.PLLDIV = 41; //M=PLLFBD+2 CLKDIVbits.PLLPOST = 0; //N2=2 CLKDIVbits.PLLPRE = 0; //N1=2 OSCTUN = 0; //TuneFRC:7.37MHz RCONbits.SWDTEN = 0; //Disable Watch Dog while(OSCCONbits.LOCK != 1); //wait for PLL Lock
列が揃ってない・・・
ディスカッション
コメント一覧
まだ、コメントがありません