やったこと
- PSoC 5LPを外付け水晶振動子(12MHz)で駆動
- I2C LCD(AQM0802@秋月)
- キーパッド
- ロータリーエンコーダ
Github
https://github.com/ryood/I2S_FG/tree/master/PSoC/I2S_FG/UI_Test.cydsn
外付け水晶振動子
P15[0]とP15[1]につなげる。P15[2]とP15[3]はkHzクロック用。「PSoC 5LP Prototyping Kitを外付けクリスタルで動作させる」
I2Sを32bit/382kHzにするとビットレートは24.448MHz。PSoCのI2Sコンポーネントの仕様により、2倍の48.896MHzのクロックを入れないといけないが、PSoC 5LPのクロックの最大値は80MHzなので48.896MHzで駆動する必要ありそう。
今回は12MHzの水晶でPLLで逓倍して48MHzで駆動。
48MHzでは駆動周波数が低くて演算が追い付かない場合、80MHz駆動にするためには20MHzの水晶で4倍で駆動、2倍の40MHzをI2Sコンポーネントに入力するとI2Sのサンプリングレートは312.5kHz。
I2C LCD(AQM0802)
I2CのPullUpはPSoCの内部プルアップを使用。内部PullUpした場合、抵抗値はおそらく5.6kΩ
http://www.cypress.com/knowledge-base-article/tolerance-internal-gpio-pull-updown-resistance-psoc-135
RST線をHにするのを忘れていて最初動かなかった。AQM1602で動作確認して気づいた。
キーパッド
Row×4、Col×4なのでGPIOのでポート1個でちょうど8個。Port3では動作しなかった。P3[2]があやしい。PSoC 5LP Prototyping Kit、3枚で試したがいずれもP3[2]がおかしいようだ。
Port2に変更したら動作した。
パラレルLCD(HD44780)でテストした時の使えるポートと関係あるかも?
「PSoC 5LP Prototyping KitでChar LCD(HD44780)を使う まとめ 」
キーパッドの入力系のPullDownもPSoCのPinの設定でPullDownしている。
ロータリーエンコーダ
秋月の「ロータリーエンコーダ(24クリックタイプ)」はPanasonicのEVERやaitendoのRE1111とはAB相の遷移の仕様が違ったのでコードを変更。1デテントで2個進む感じ。
0 件のコメント:
コメントを投稿