こんにちは、なりなりです(^ ^)
最近、天候不順が続いていたり、スポーツはテニスに力を入れているためあまり書くことがなく、プログラミングの話題が多くなっていますが、今日はマイコンの話です。
新型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#tab1Microcontroller - Infineon Technologies
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 Creatorのインストールからスタートアップ、サンプルプロジェクトなど沢山あるのですが、説明が大雑把なのと、プロジェクトとして生成されるファイルが何を意味するのかなど、細かいことも理解したいし、実機を動かしてみたいということも合わせて、こちら、
トラ技増刊号、基板付き体験編 ARM PSoCで作るMyスペシャル・マイコンを購入しました。
http://shop.cqpub.co.jp/hanbai/books/MTR/MTRZ201312/MTRZ201312.pdfhttp://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はスルーホールに引き出されているので、ここに何かを接続してコントロールすることも出来ます。
さて、これから、じっくり勉強していきます(^-^)