ここでは,秋月電子で入手可能な,絶対圧力センサSCP1000のセンサモジュールの接続及び使い方を説明しています。マイコンには,PSoCを用い,圧力センサとは,SPI接続し,RS232経由で,信号を転送するプログラム例をを示しています。
MATLABへの取り込みスクリプト例も説明しています。
PSoC_SCP1000.pdf
ここでは,ストリベリーリナックスで入手可能な,絶対圧力センサMPL115A2のセンサモジュールの接続及び使い方を説明しています。マイコンには,PSoCを用い,圧力センサとは,I2C接続し,RS232経由で,信号を転送するプログラム例をを示しています。
気圧(hPa)への変換式は,ちょっとわかりづらい点も多いのと,シスト演算による桁落ち(マニュアルのバグ?)の影響を防ぐため,すべてdoubleで計算するMATLABでの計算スクリプトを示し,それを元に実装した例を説明しています。
PSoC_MPL115A2.pdf
RAMディスク運用は、SDカードベースのLinuxの長期安定稼働に必要不可欠である。例えば、Raspberry Piや、Beagle Board xm,Panda Board などであれば、Debian Linuxのカーネルにaufsを組込み、再構築し、fsprotectをインストールすれば可能であるが、BeagleBone Black では、カーネルにaufsを組み込み再構築しfsprotectをインストールしたとしてもうまく動作しない(?)。
そこで、ここでは、unionfs-fuseを使ってfsprotectと同様のRAMディスク運用する方法を紹介する。unionfs-fuseをインストールする方法は、Raspberry pi用であるならばいくつかのサイトで紹介されているが、それをBeagleBone Blackで動作するように修正したものである。 安定性や、実行速度については、fsprotectの方が良いようであるがunionfs-fuseでは、カーネルを再構築する必要がない点が利点となる。
System-levelデザインにおけるデフォルトのピン配置について(2010.05.12)
System-levelデザインにおけるデフォルトでのピンアサインの振る舞いが変更したようです。PSoC Designer 5.0 Service Pack6 で確認。
p.167の図2ですが,最新版(5.0 ServicePack6)では,デフォルトでこのような図になります。LCDのピン配置の場所が異なっている点に注意して下さい。
プロジェクトを動作させるには,本に掲載されている図2のようにピン配置をマウスにより変更する必要があります。
同様に,p175,p186の図も自動で出てくるピン配置ではありません。
本の図通り並べ替える必要があるので注意して下さい。
p.45のプログラム(2009.10.29)
申し訳ありませんでした。編集の際に誤植が生じたためのようです。
37行目のプログラム
誤:
PRT1DR ( ( ( 6 - Timer8_1_bReadCompareValue() ) << 5 ) | 0x02;
正:
PRT1DR = ( ( 6 - Timer8_1_bReadCompareValue() ) << 5 ) | 0x02;
p.13~14の図について(2009.9.2)
ディジタルブロックが4段のあるCY8C29466-24PXIをベースとした図を掲載してありますが、
本書使用しているPSoCマイコンは、ディジタルブロックが2段のCY8C27433-24PXIを中心に解説をしています。
誤解をまねく図を掲載してしまい、申し訳ありません。
p.188の右上の回路図(2009.8.27)
232CのPSoCへの配線のピン番号
誤:
P27
P26
正:
P27
P16
p.66 B. Chip modules Layout (2009.7.25)
DBB01ブロックの右上の線がBC0に接続されていますが,これは誤植です.
p.69 program list 61行目のセミコロンは,いりません.(2009.7.25)
誤:
53| #pragma interrupt_handler UART_1_TX_ISR ;
正:
53| #pragma interrupt_handler UART_1_TX_ISR
p.62 boot.tplの中身の部分の変更前のところには,セミコロンがありません.(2009.7.24)
誤:
変更前
org 1Ch ;GPIO Interrupt Vector
; `@INTERRUPT_7`
reti
正:
変更前
org 1Ch ;GPIO Interrupt Vector
`@INTERRUPT_7`
reti
PSoC Designer5 ServicePack 5にバージョンアップしたことによる変更点(2009.7.21)
PSoC Designerをインストールするためには,最初にPSoC Programmerをインストールする必要があります.(以前のバージョンでは,順序は問われなかったですが,このバージョンから必須になりました.)
-----------------------------------------------
また,この変更の関係であろうと仕様変更があります.
p.29
古:メニュー画面の表記「Program」→「PSoC Programmer」
新:メニュー画面の表記「Program」→「PSoC Part...」
PSoC Programmerから「Program Part」簡易版に変更になりました.PSoCへの書き込みは,GUIボタンにより同様に行えます.
もし,本書と同様にPSoC Programmerで行いたい場合には,Windowsのスタートボタンから,「PSoC Programmer」を選択し,起動すると本書と同じ画面で起動できます.
CY8C29466を使ったシリアル通信で最大速度をテストしてみました。この方法は,VC1~VC3までのデバイダを一切使わず,PWM16とUARTだけを使うので,他のアプリケーションに簡単に追加が可能です。欠点としては,デジタルブロックを4つ消費しますが,49466の場合には,デジタルブロックが,16個と比較的多くあるため問題は少ないと思います。
これならわかる PSoCマイコン活用術(2009年オーム社)
経営工学科の鈴木郁 先生との共著です.本書では,設定箇所が非常に多い,PSoCのプロジェクト作成を考慮し,「新規作成」からPSoC Designerプロジェクトの作成ができるよう,ポンチ絵など配置した解説を行っています.PSoC関連のツールは,バージョンアップが早いため,(すでに修正箇所が見つかっています.)
バージョンアップなどによる変更点など差分情報などわかっているのものは,「PSoCマイコン活用術 正誤表 」に掲載してあります.
注:システムレベルデザインは,PSoC Designer 5.1からサポートされなくなってしまったようです.もし,使用したい場合には,5.0をインストールする必要があります.(2010年11月30日確認)
著書を出版する前からアナウンスのあった,PSoC3/5のデザインツールのベータ版が出たようなので,インストールしてみました.
詳細についてはチェックしていませんが,従来のPSoC Designerとの違いは,システムレベルデザインがなくなってしまったことと,組み込めるモジュールブロック数が多くなり,自由度が大幅にアップしたようです.いわば,GUI programming ベースのアナログ回路込みのFPGA付きのマイコンのようなかんじでしょうか?
たとえるなら,
(CPLD+アナログ回路)xCPU(M8C)→PSoC1
(FPGA+アナログ回路)xCPU(8051)→PSoC3
(FPGA+アナログ回路)xCPU(ARM)→PSoC5
ってな感じでしょうか?
はんだ付け込みでちょっとしたものを作る,または,組み込みマイコンの学習用などの用途には,PSoC1をしっかり勉強しておいた方がよいような感じがします.