なりなり日記

スマホ、GARMIN、トレラン、サイクリング、テニス、プログラミングの情報を中心に発信中!

CYPRESS(サイプレス)のワンチップマイコンPSoC(ピーソック)始めました!


スポンサーリンク

こんにちは、なりなりです(^ ^)

最近、天候不順が続いていたり、スポーツはテニスに力を入れているためあまり書くことがなく、プログラミングの話題が多くなっていますが、今日はマイコンの話です。

新型iPhoneに関しては、僕が言及するまでもありませんし。マスコミは騒ぎますが、もはや、毎年スマホを買い換える人なんて皆無ですよね。

最短でも、2年経って支払いが終わったから買っても良いかな?とか、iPhoneはOSのアップデート対象外になるまで使うよ、とか。

何故、PSoCに興味を持ったのか

僕は通信機器のハードウェアエンジニアで、今までガチガチのハードだった構成に柔軟性を持たせくて、マイコン、PSoCを少し前に導入しました。

コーディングなどは若い人に任せていたのですが、自分でも設計できた方がいいと思って勉強を始めたんです。


PSoCはC言語で設計するのですが、製品適用前に基礎検討する時には、PCで制御したり通信させたりすると都合が良いのです。

プログラミングするの久しぶりだなぁ、今は、何を使うのが良いの?と調べてみると、Pythonが目に付いて、Pythonを使い始めたという流れです。

新世代のBASIC⁉︎ プログラミング言語Python始めました! - なりなり日記

Pythonについては、こちらにも書きまして、以降、Pythonネタが増えています。

この先、Connect IQプログラミング再開しました!、ラズパイ買ってみました!なんて展開もある予定です。

個人でハードウェアを組むって大変なことですけど、ソフトを使うと幅が広がりますねぇ。

PSoCも電子工作に使われているようですが、ラズパイはボードとしての認知度が高いので、もっと面白そう(^-^)

PSoCとは

話を戻して、今回は、そもそもプログラミングを再開するきっかけとなったPSoCの話となります。


http://japan.cypress.com/products/microcontrollers-mcus#tab1http://japan.cypress.com/products/microcontrollers-mcus#tab1

PSoCはサイプレス(Cypress)社のARMコア搭載マイコンの名称で、Programmable System on Chipの略です。

PSoCが普通のマイコンと違うところは

  • 小規模なFPGAを内蔵している
  • IOの大半がGPIOである
  • 電源監視、電源起動シーケンサー、電源トリミングが簡単に出来る

ことでしょう。

そもそもPSoCを使ってみようかなと思ったのは、元々必要な電源監視ICプラスα程度のコストだったからです。

この程度のコストなら、例え大したことに使えなかったとしても、DAC やADC、PLLなどのICのSPI制御をさせるだけでも元は取れるかなと。

  • ADC、DAC 、Op AMP、温度センサーなどのアナログ回路搭載
  • クロック、タイマー内蔵
  • DMA(Direct Memory Access)対応
  • I2C、SPI、UARTなどのディジタル回路搭載

などは、他社のマイコンでも対応していますが、I2C、SPI、UARTなどのディジタル回路は、UDB(Universal Digital Block)と呼ぶFPGA部を使ってプログラマブルに実装出来ます。

ディジタル回路は自分でもHDLや回路図で組めますし、サイプレスが標準マクロとして提供もしています。

例えば、未使用のフラッシュメモリ領域をEEPROM代わりに使えたり。

購入数量にも寄りますが、PSoC 4あたりなら、電源監視IC + EEPROMだけと考えてもコスト的にはペイします。

このPSoCのUDBやADCなどのアナログ回路は、かなり自由にGPIOと接続出来ますが、一般的なマイコンは、ADCなどに繋がるポート、UARTに繋がるポートなどと決まっていることが多いようです。


つまり、PSoCは自由度が非常に高いマイコンということです。


また、PSoC 4の一部のチップではBLE(Bluetooth Low Eneargy)に対応していて、PWB上にアンテナパターンを引いて、マッチング用のコイルとコンデンサを経由してPSoCに繋ぐだけでBluetooth通信が可能になります。

アナログ回路部を省略したPRoC(Programmable Radio on Chip) BLEもリリースされています。

これも製品に適用出来ないかと考えているので、そのうち評価してみるつもりです。


サイプレスのサイトを見れば、PSoCの統合開発環境PSoC Createrのインストールからスタートアップ、サンプルプロジェクトなど沢山あるのですが、流石に説明が大雑把なのですが、プロジェクトとして生成されるファイルが何を意味するのかなど、細かいことも理解したいし、実機を動かしてみたいということも合わせて、こちら、

トラ技増刊号、基板付き体験編 ARM PSoCで作るMyスペシャル・マイコンを購入しました。


http://shop.cqpub.co.jp/hanbai/books/MTR/MTRZ201312/MTRZ201312.pdf

こちらが雑誌のサンプルPDFです。

購入者は全文をPDFで入手出来る様にして貰えないですかねぇ、老眼が進むと、本読むのキツイんですよ。老眼鏡をかけると目が疲れるし…

結局、自分でスキャンしましたけど。


こちらが実物。PSoC 5LP搭載基板と本に掲載のサンプルプロジェクトが収められたCDが付いています。

本の厚みの半分弱は基板とCDの梱包用厚紙です。



付属基板の裏と表です。

mini USB端子が2つ付いていて、それぞれ、デバッグ・プログラミング用とPSoCとPCの通信用です。

電源はUSBから供給されますから、これ一枚で、

  • PCとUSB接続して、UART通信
  • 何かの処理をしてLED点灯

などが出来ます。

PCとの通信はPythonでプログラムを組んで実現する予定です。

GPIOはスルーホールに引き出されているので、ここに何かを接続してコントロールすることも出来ます。


さて、これから、じっくり勉強していきます(^-^)