0

PSoC – CY8C29466でUART送信

9600bpsがやっと出せたのでメモ。あとで受信割り込みもやらなきゃ。

今回使うのはこのUARTモジュール。TXだけとかRXだけのモジュールもあるけど。

UART of PSoC CY8C29466

Device Editor上でPlaceして、Port_2_4とPort_2_5に接続します。これがブレッドボードみたいで楽しい。

UART of PSoC CY8C29466

Read more

0

CY8C29466のADCINC12

PSoCの12ビットAD変換器を使う。

関連、PGAについても:s.h.log: PSoC Designer – CY8C29466の6bit ADコンバータ

■Device Editor

ADCINC12とPGA(Programmable AMP)の設定

CY8C29466 ADCINC12CY8C29466 ADCINC12

ADCINC12をPGAを通してPort_0_7に結線する

CY8C29466 ADCINC12

Read more

0

PSoC Designer – CY8C29466の16bit Timer

CY3210-MiniEval基盤にCY8C29466マイコンを置いて、16ビットタイマーを4つ置いて動かした。

1秒毎?ぐらいで動かしてみたが、動いたは動いたけどまだ正確な仕組みがわからない。特にクロックの分周まわり。

ちなみに16bitタイマーはデジタルブロックを2つ消費するので、29466では同時に8個まで使える。

今回はPSoC CPU 基板 (ストロベリーリナックス社) – 趣味の電子工作研究工房 – 楽天ブログ(Blog)がとても参考になった。

■今回のコード

Source Code (PSoC Designer4.3 + C Compiler)

■タイマーの配置とクロック設定

Device EditorのUser Module Selection Viewから選択してくる。

PSoC 16bit Timer

Read more

0

PSoC Designer – CY8C29466で外部入力割り込み(C言語で)

前の記事s.h.log: PSoC Designer – CY8C29466でスイッチ入力と同じ動作を、割り込みでやってみた。

基盤も同じくCY3210-MiniEvalを使った。

動き方もまったく同じのを作っちゃったのでビデオは省略。ただスイッチの扱い方が違うだけ。

SourceCode (PSoC Designer 4.3 + C Compiler)

■動作設定

Device EditorのInterconnect Viewで

PSoC GPIO Interrupt

基本的にs.h.log: PSoC Designer – CY8C29466でスイッチ入力と同じだが、

タクトスイッチの接続されているPORT2-4のInterruptをFailingEdgeにする。

割り込みの仕方は3種類あり、

・FailingEdge → 立下り割り込み

・RisingEdge → 立ち上がり割り込み

・ChangeFromRead → 両エッジ変化割り込み

から選ぶ。

AVRのSIG_INTERRUPT0、SIG_INTERRUPT1はそれぞれINT0, INT1ピンの状態が変化を監視する外部入力割り込みだが、

PSoCの外部入力割込みはAVRのSIG_PIN_CHANGEの方と同じく、どのピンに変化があっても割り込みが発生してしまう。

だから、複数のピンの割り込みを有効にする場合は実際にどのピンの変化が割り込みを発生させたのか?をいちいち確認しなければならない。今回はマスクレジスタで1つのピン(PORT2-4)だけをenableにしているので必要ないけど。

軽くまとめると、PSoCの割り込みの設定は

・マスクレジスタで「どのピンの変化を監視するか」を指定

・ピン毎に「立ち上がり/下がり/両方の、どの条件で割り込むか」を指定

できる。でもこれはPSoC Designerが自動生成してくれるので下手に触る必要は無い。

マスクで複数enableに指定した場合は、実際にどのピンが反応したか?はプログラミングでなんとかする。(1回前のPRTnDRの状態をglobal変数に保存しておいて比較するとか)

この辺ははじめてのPSoCマイコンの「入出力&割り込みのしくみとスイッチ&LEDを使った実験」p.67に詳しく書かれている。

はじめてのPSoCマイコン—周辺アナログ&ディジタル回路を自由自在にプログラミング!! (マイコン活用シリーズ)

Read more

0

PSoC Designer – CY8C29466でスイッチ入力

LEDへの出力に続いて、GPIO(汎用入出力ピン)でスイッチからの入力を取ってみた。

あとはUART、入力割り込み、ADコンバータ、タイマーを確認すれば、AVRからすっかり移住できると思う。

Source Code (PSoC Designer 4.3 + C Compiler)

今回もCY3210-MiniEval(PSoCライタに付いてた評価ボード)を使った。

下記に書いてある回路などの話は、データシート見ながらの方がわかりやすいと思う。

Read more