興味駆動開発

いろんなことを広く、深く

RX621微解説【クロック編】

引き続きRX621の機能の確認をしています。

凄く初心者に優しいサイト様のRX621のページを参考に基本機能設定を確認します。

参照URL[RX621開発 クロック - CCWO]

参照文書[ユーザーズマニュアル ハードウェア編 : RX62N, RX621]

とりあえず動いたプログラムをもとにデータシートで少しだけ掘り下げようと思います。

今回入力した主なプログラムは

f:id:greencoil:20161214232703p:plain

の3行でしたので、この辺が何なのか見ていきます。

まずICLKやPCLKが何なのか分からなかったのでマニュアルで検索をかけます。すると以下のそれっぽい部分を発見しました。(P257)

f:id:greencoil:20161214232700p:plain

なるほど。いろいろクロックの種類があるようですが、その辺も含め「SCKCR.ICK[3:0], BCK[3:0], PCK[3:0] 、BCKCR.BCLKDIV ビットの組み合わせで設定」するそうです。この三種類はそれぞれシステムクロック(ICLK)、周辺モジュールクロック(PCLK)、外部バスクロック(BCLK)と呼ばれているみたいですね。特にICLKとPCLKは大事そうな感じです。(BCKCR.BCLKDIVは今のところ要らなかった

 

で、プログラムを見る感じ、ICLKには1を、PCLKには2を、BCLKには3を設定しています。内容はすでにコメントのほうに書いてあるのですが、一応どこで設定しているのか確認します。

マニュアルでPCK(BCKやICKでも可)で検索をかけるとこれまたそれっぽいのが見つかります。(P248)

f:id:greencoil:20161214232705p:plain

PCK、BCKやICKの各クロックを基本クロックのN倍にしようかを決めている感じですね。私が今使っている秋月のRX621マイコンボードのEXTALに繋がっている水晶発振子 は12MHzなので、12MHzのN倍になるようです。早いですねぇ。

※正確にはEXTALをPLL回路で8逓倍したものの分周比を設定しているようなのですが、下の表でも「x8」などとEXTALのクロック基準の書き方をしているので、これはこれでいい気がします。

 

結果

システムクロック:ICK = 0x0; // ICLK: XTAL*8=96MHz

モジュールクロック:PCK = 0x1; // PCLK: XTAL*4=48MHz

外部バスクロック:BCK = 0x2; // BCLK: XTAL*2=24MHz

となるのでした。めでたしめでたし。

 

☆一言

PDFの検索機能は偉大。あと結構書くのしんどい