ATMega(88V、 328P)やPSoC 5LP Prototyping Kitは水晶振動子を外付けすればよかったが、PSoC4はクロック信号を与えないといけないようだ。P0_6にクロックを入力する。
24MHzの水晶発信器を使う
ブレッドボード図
Top Design
TopDesignに配置したコンポーネントはPSoC 4 Prototyping Kitのお約束のBootloadble(参考「PSoC 4 Pioneer Kit用のProjectをPSoC 4 Prototyping Kitで使う方法 (PSoC Creator 3.3)」)とCPUの駆動クロックのSYSCLKを出力するPINだ。
PSoC 4ではクロックを直接Output Pinに繋げないのでこうしている(参考「PSoC4のClockとTimerを調べる」
クロックの設定は*.cydwrのクロック・タブで以下のように設定。
EXTCLKが24MHzでそのままSYSCLKにつながる。
PSoC4の場合PSoC 5LPとは違ってPLLで逓倍して外部クロックより高い周波数を使う、ということはできないようだ。
「PLL1_Sel」とかPLLが使えそうに思えるがよくわからない。そもそもPLLが何かということもよくわかっていない(^q^;
main.c
#include <project.h>
int main()
{
CyGlobalIntEnable; /* Enable global interrupts. */
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
for(;;)
{
/* Place your application code here. */
// タン・タ・タンのLチカ
Pin_LED_Write(1u);
CyDelay(100);
Pin_LED_Write(0u);
CyDelay(500);
Pin_LED_Write(1u);
CyDelay(100);
Pin_LED_Write(0u);
CyDelay(100);
Pin_LED_Write(1u);
CyDelay(100);
Pin_LED_Write(0u);
CyDelay(500);
}
}
PSoC4 Prototyping KitはプログラミングするときにUserボタンを押しながらUSBにつないで、青色LEDがチカチカすると「書き込みモードでつながりました」という合図になるので、普通に書き込んだプログラムが動作している状態を表すために「タン・タ・タン」というタイミングで青色LEDがチカチカするようにしてみた。どっちのモードでつながってるかはまあまあわかりやすいと思う(^q^;
クロック出力(PSoC4の内蔵クロックで動作させた場合)
ch1:24MHzの水晶発信器の出力 ch2:PSoC4のSYSCLK
クロック出力(水晶発信器のクロックで動作させた場合)
ch1:24MHzの水晶発信器の出力 ch2:PSoC4のSYSCLK
外部クリスタルをEXTCLKとして使うと、きっちり同期して24MHzで動作しているようだ。
12MHzの水晶とロジックICを使って発振回路を作ってみる
74HCU04(アンバッファ・インバータ)と水晶振動子を使って発振回路を作ってPSoC4に入力してみた
ブレッドボード図
水晶からGNDに落としているCは22pF、水晶と並列に入れているRは1MΩにした。(ブレッドボード図のカラーコードは直し忘れました)
クロックの出力
ch1:12MHzの水晶回路の出力 ch2:PSoC4のSYSCLK
PSoCのプログラムは変更していないが、12MHzで動作しているようだ。
48MHzで動作させる
PSoC4の最大駆動周波数は48MHzなので48MHzの水晶発振器に差し替えればすぐに動くかと思ったが、そうでもなかった。
1) ブレッドボードからクロック源(水晶発振器等)を取り去って、PSoC4を内蔵クロックで48MHz駆動にするように設定して動作確認。
2) 外部クロックの48MHzを使うように設定してプログラム。
3) USBを引っこ抜く
4) 48MHzの発振器をブレッドボード上に設置してPSoC4のP0_6に接続
5) 全体に電源を供給
という手順でやっと動いてくれた。
ch1:P0_6(ext_clkの入力) ch2:P0_0(SYSCLKの出力)
メモ:
DIP28PinのARM Cortex-M0のLPCが秋月で値上がりしてディスコンになるかもしれないという情報。
mbedは使えないけどPSoC4 Prototyping KitもCortex-M0で、まだ600円@秋月。
水晶発振器を間違えて上下逆刺ししたらめちゃくちゃ発熱した(@@; しばらく触れないぐらい。生きてただけありがたい
0 件のコメント:
コメントを投稿