PSoC 5LP

PSoCがCPUコアとしてARMを採用したので、PSoCを使用していろいろとテストしてみます。

テスト用としては, 価格が手頃で、PLDが内蔵されたPSoC5シリーズのCY8CKIT-059を使用してみます。

注意すべき点は、KitProgプログラマー基板(左側部分)とPSoCターゲット基板(右側部分)を接続した状態だとI/Oのロジック電圧が5V系なので、

耐圧上限が3.3Vのデバイスと接続する場合にはデバイスを壊してしまわないようにJ7とJ3(5ピンのヘッダー部分)で切り離してから、

右側のPSoCモジュールを3.3Vで動作させ接続するか、VIO電圧を3.3V系になるように改造する必要があります。

実験用にJ1, J2にはピンヘッダ、もしくはソケットをつけましょう。サイズは100-milなので、2.54mmピッチのものを選択します。

切り離してしまった後でも、プログラミングする時だけ簡単に接続できるようにしたいので

このように2.54mmピッチのヘッダーピンとソケットを取り付けておくと良いでしょう。

また、J3を使わなくてもJ5(JTAG)を使ってプログラミングする事もできます。

入手について

詳細はこちら、

http://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and

購入ルートはこちら、

http://akizukidenshi.com/catalog/g/gM-09432/

PSoC 5LPに搭載されている機能について

ピン配置

PSoC 5LP回路記号

ペリフェラルの拡張について

PSoCが普通のマイコンと決定的に違っている点として、ペリフェラルが足りない場合には必要な機能を自分で拡張することができます。

通常のファンクションに加えて、自分でPLDを駆使したオリジナルの拡張をする事も可能なので、オフロードでCPU負荷をかけない

で処理をしてしまうなんて事も可能になる可能性を秘めたユニークなデバイスと言えるでしょう。

以下にPSoC Creatorで基本回路構成を示したように、PWMでLEDの点滅を実現します。

また、外部デバイス制御用に拡張I2Cポートを定義します。

PSoC Creatorの基本回路構成表示

I2C_1のコンフィグレーション:

拡張したペリフェラルポートの配置例

ビルドオプションの変更:

下記のようにビルドオプションを変更します。 C++文法許可。

Command LineのCustom Flagsに-std=c99をセットします。

main.cを選択して、右クリック、Build Settings...を選択。

リンカーオプションの変更:

下記のようにリンカーオプションを変更します。math.hを有効化。

メインメニューからProjectを選択、Build Settings..を選択、LinkerのGeneralのAdditional Librariesにmを入れます。