[[作業日誌]]


目次
#contents();

過去の日記 
-[[./自主課題]]
-[[./マイコンペ]]
-[[./2009年度]]

[[つくったもの>./つくったもの]]

*ご意見 [#y42b8a4b]
#comment();

*6月3日 PSoCで水晶を使う [#jc39eab7]

PSoC内蔵のクロックだけ(ILO)だと、最大+/-2.5%ずれる精度(accuracy)
ここで、外付けの水晶を使うと、さらに高精度(accuracy)になる、はず。
やり方はTechnical Reference Manual(http://www.cypress.com/?rID=3208 )に書いてあるけど、
Application NoteのAN2027(http://jp.cypress.com/?id=1029&rtID=5&rID=26009 )の方が詳しい。
#というか最初TRMだけ見てたらハマった・・

**手順 [#y2c6589f]
P1[0]とP1[1]の間に水晶を置き、それぞれの端子からコンデンサを付けてVddに繋ぐ。
Designerで、それぞれのピンの設定を以下のようにする。
| |Select|Drive|
|P1[0]|XtalOut|Hight Z|
|P1[1]|XtalIn|Hight Z|

グローバルリソースを変更
|32k_Select|External|
|PLL_Mode|Ext_Lock|


結論から言うと、P1[1]側に12pF、P1[2]側に100pFをつなげる(20 Pin SSOPの場合)。
PLLを使わない時は、TRMに書いてあるようにC1とC2(≒20pF)でいいんだけど、
実際使うときはPLLモードで使う(らしい)。
#ここは読んでてもなんとなくしか理解できなかった・・

**注意点 [#o8370c9a]
P1[0]とP1[1]は、プログラムを書き込むピンでもある。水晶をつなげたままでもプラグラムは書き込める。
ただし!実行させるときはMiniProgは外さないといけない。MiniProg容量負荷が大きすぎる?のか水晶がしっかり発振できない。
&ref(miniprog.jpg,,50%);
**結果 [#r6ebc1b1]
10kHzごとにパルスを出してみた。オシロスコープの周波数カウンタの表示。
|ILO(内蔵)|10.07kHz|
|ECO(水晶)|9.94434kHz|

-Accuracyは大体同じ値になった。
--#水晶〜端子間の基板レイアウトをうまくすればもっといい値が出た?
-Precisionは違いが出てきた。
--ILOが10.070kHz〜10.074kHzの値をうろうろしていたのに対し、ECOは9.94434kHzでずっと一定だった。

**参考 [#w4bda9c7]
ここのサイトがすごくまとまってました。http://bluefish.orz.hm/sdoc/psoc3.html


*6月1日 [#u830c0a1]
**オシロスコープ(TDS2024B)のUSBへのデータの保存 [#tfd4027e]
先生のページ(http://akita11.jp/plan/osc/ → Know-hows / Tips)に書いてあった。
手持ちの、Trancend 2GBではちゃんと波形を保存できました!
**PSoC timer8の割り込み周期 [#md49642f]
 グローバルリソース
 SysClk 24MHz
 CPU_Clock CycClk/1

 //割り込み関数
 #pragma interrupt_handler Timer8_ISR
 void Timer8_ISR(){
  //LEDモジュール
  LED_On();
  LED_Off();
 }

上の条件の時、タイマ割り込みの周期の上限は約46kHzだった。
これ以上の周期で割り込みをかけようと思っても、46kHzで頭打ち。留意しましょう。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS