増刊

あのPSoCが生まれ変わった！アナログもディジタルも一新！

シリーズ最強！ 全部詰め込め！
PSoC 3 ボード＋デバッグ・ボード※

デルタ-シグマ
A-Dコンバータ

マイコン，ディジタル，アナログをプログラマブル・
ゲイン・アンプ

OPアンプ

アナログ・マルチプレクサ

古平 晃洋 著
トランス・
インピーダンス・アンプ

コンパレータ

電流
電流出
出力
力
電流出力
DAC
DA
D
AC

ミキサ

電圧
電
圧出
出力
力
電圧出力
DAC
DA
D
AC

CAN

直交エンコーダ

サンプル&ホールド

I2C

SPDIF
CRC

PWM

USB
ファイル・システム

PSoC 3 ボー
ボード
UART

シフトレジ
トレジスタ

デバッグ・ボードコントロール・レジスタ

ステータス・レジスタ
グラフィックLCD

タッチ・センサ
CapSense※2012年3月時点 I/Oピン数を除く内部機能で比較

目 次
導 入 編

プロローグ

第内蔵モジュールをカスタマイズして思い通りの機能を実現！

ようこそ！ 自由自在な PSoC の世界へ 古平 晃洋

5

ワンチップ・マイコンの世界
ワンチップ・マイコンの特徴
PSoC と従来のワンチップ・マイコンはここが違う
PSoC ファミリの特徴
付属 PSoC 3 ボード搭載 PSoC は PSoC 3 CY8C3866

5567
10

コラム PSoC の生い立ち

8

動作環境の確認，コンパイラ・ライセンスの取得，部品のはんだ付け

11

PSoC Creator の動作環境
PSoC Creator とコンパイラ・ライセンスのインストール
付属ボードのチェック
デバッグ・ボードの仕様と準備
デバイス・ドライバの入手とインストール
PSoC 3 ボードの機能と準備

1111
14
15
1718

１章 開発ツール PSoC Creator のインストールと付属ボードのセッティング 古平 晃洋

基 礎 編

第プロジェクトを作ってプログラムをダウンロード，回路を組んで動作確認

２章 PSoC 3 システム開発ステップ・バイ・ステップ 古平 晃洋
ステップ 1：プロジェクトの新規作成ステップ 2：コンポーネントの配置と設定
ステップ 3：コンポーネントの配線
ステップ 4：プログラムの記述
ステップ 5：プログラムを PSoC 3 に書き込みステップ 6：ブレッド・ボードを使って回路を構築ステップ 7：デバッグ・ボードを接続して動作確認
まとめ：開発全体の流れ
システム，アナログ・ブロック，ディジタル・ブロックの機能を詳解

３章 これが PSoC 3 のアーキテクチャだ！ 古平 晃洋

第PSoC 3 の内部構成
33MIPS の 8051 を搭載
外部インターフェース付きメモリ・システム
クロック，電源を管理するシステム・ワイド・リソース
アナログ回路を構成するアナログ・ブロック
ディジタル回路を構成するディジタル・ブロック
3 種類の入出力ポート
本書に最低限必要な文法や規則をコンパクトに解説

４章 C 言語プログラミング初歩の初歩の初歩 古平 晃洋

第PSoC 3 の C プログラムの基本構造
PSoC 3 のデータ型
変数の宣言
いろいろな演算子

2

目次

23
23
25
25
27
27
28
29
30
31
31
31
31
31
37
40
41
43
43
44
4545

プログラムの流れを変える制御文
同じ型を持つ連続した変数の集まり「配列」
プログラムを小さな機能単位に分割できる関数
グローバル変数とローカル変数
文字列
コメント
コンポーネントを動作させる関数 API

47
49
50
51515152

応 用 編
スイッチや LED，センサを接続できる汎用ディジタル / アナログ入出力ポート

５章 Pins コンポーネントの使い方 古平 晃洋

第Pins コンポーネントの種類
ポートのドライブ・モード
Pins コンポーネントの基本設定
複数ピンを一つの Pins コンポーネントで制御する方法
Pins コンポーネントの API
Pins コンポーネントを使ったスイッチ入力と LED 出力

53
53
55
5859
61

コラム 1 PSoC 3 チップ内部の抵抗の精度

55

コラム 2 アナログとディジタルは同時に使える57

コラム 3 しきい値とヒステリシス60

コラム 4 API Pin̲Read 関数と Pin̲ReadDataReg 関数の使い分け

66

組み合わせ／順序回路を手軽に組める基本汎用ロジック

６章 Digital Logic Gates コンポーネントの使い方 古平 晃洋

第53

ロジック回路のおさらい
AND 回路と OR 回路の動作確認
RS フリップフロップを作る
半加算器を作る
モータの速度制御，LED の輝度調整などに使える

67
67
68
69
70

７章 PWM コンポーネントの使い方 古平 晃洋

71

パルスの ON/OFF 時間比率を利用する PWM 制御
PWM コンポーネントの基本設定
PWM コンポーネントを使った LED の明るさ調整

71
71
73

第USB CDC クラスを使って PSoC 3 と PC を USB で通信

８章 USBUART コンポーネントの使い方 古平 晃洋

第PSoC 3 の USB 機能の特徴
USBUART コンポーネントの基本設定
クロックの設定
プログラムと書き込み
PC と接続しドライバをインストール
通信ソフトウェアを使って動作確認

75
75
76
7777
80

コラム 1 ポートにクロックを直接入力する場合78

コラム 2 クロックの始動と停止

81

アナログ出力型センサなどに便利なアナログ ‑ ディジタル変換コンポーネント

９章 ADC̲DelSig コンポーネントの使い方 古平 晃洋

第75ADC̲DelSig コンポーネントの基本設定
ADC̲DelSig コンポーネントで電圧をディジタル値に変換

8383
87

目次3

第第

ハードウェア割り込み処理が手軽に使える

10 章 Interrupt コンポーネントの使い方 古平 晃洋

91

割り込み処理のメリット割り込みの優先度
PSoC 3 の割り込みソース
Interrupt コンポーネントの基本設定
割り込みを使って複数の ADC 入力を切り替える

91
91
92
92
93

簡単にタッチ・センサを実装できる

11 章 CapSense̲CSD コンポーネントの使い方 古平 晃洋
CapSense Sigma Delta 方式の仕組み
CapSense̲CSD コンポーネントの基本設定
タッチ・センサの実験

Appendix スイッチト・キャパシタの仕組み
第古平 晃洋キャラクタ LCD モジュールが簡単に使える

12 章 Character LCD コンポーネントの使い方 古平 晃洋
コンポーネントの設定とプログラムの記述
動作確認

97
97
99
103
104
105
105
107

実 践 編

第I2C Master コンポーネントを使った

13 章 I2C 接続加速度センサの測定データ表示 古平 晃洋
I2C 通信のポイント
アプリケーションの作成と動作確認

第第ADC̲DelSig，IDAC コンポーネントを使った

111

気圧センサの仕組み
アプリケーションの作成と動作確認
コラム サンプル・プロジェクトをインポートする方法

111
111
114

Boost Converter コンポーネントを使った

15 章 1.5 V で PSoC 3 を動作させる手順 古平 晃洋

プログラムを書かないで作るラーメン・タイマ・コンポーネントを題材にした

16 章 オリジナル・コンポーネントの作り方 古平 晃洋

目次

115
115
115
116
117

コンポーネント自作の手順
ラーメン・タイマ・コンポーネントの仕様と準備
ハードウェアの配置
パッケージの作成
ラーメン・タイマ・コンポーネントの基本動作確認
コンポーネントの拡張
Ramentimer 用 API の作成
ラーメン・タイマ・コンポーネントの最終動作確認

117
117
118
120
121
121
122
125

Appendix プリント基板製造コストをトータルで考える

126

実装業者が単価で一番重視しているのは手離れの良さ！
実装価格を安価に抑えるには基板設計から実装業者に委託するのがベスト

4

109
109

14 章 ブリッジ型気圧センサの測定データ表示 古平 晃洋

プロジェクトの作成
PSoC 3 ボードに部品を取り付ける
動作確認

第109

126
126

1

第章 動作環境の確認，コンパイラ・ライセンスの取得，部品のはんだ付け開発ツール PSoC Creator のインストールと付属ボードのセッティング
古平 晃洋 Akihiro Furuhira

本章では，PSoC Creator のインストール， 付属デバッグ・ ボードと付属 PSoC 3 ボードの準備（部品のはんだ付け）について説明します．

PSoC Creator の動作環境
本書では PSoC Creator 2.0 component pack 1 を使用します．
本書で解説するプロジェクト・ファイルの動作保証
は，PSoC Creator 2.0 component pack 1 のみになります．
● 必要な PC のスペック
PSoC Creator に最低限必要な PC のスペックは以下の通りです．
プロセッサ：Pentium 4
クロック：1 GHz
RAM：512 M バイト（1 G バイトを推奨）
HDD：2 G バイト
画面解像度：1024×768
USB インターフェース：バージョン 2.0● 対応 OS
PSoC Creator 2.0 が動作する OS は以下の通りです．
Windows XP SP2，または SP3
Windows Vista（32 ビット，64 ビット）SP1
Windows 7（32 ビット，64 ビット）SP1● 必要なソフトウェア
PSoC Creator（PSoC Creator 2.0 Component pack1）のインストールとソフトウェア開発に最低限必要なソフトウェアは以下の通りです．
Internet Explorer：バージョン 7.NET Framework：バージョン 2.0 SP1
Adobe Reader：バージョン 6
Windows Installer：バージョン 3.1

PSoC Programmer：バージョン 3.13.3
Keil Compiler：バージョン 8.16
なお，PSoC Creator のインストーラを起動すると，以下のソフトウェアが自動でインストールされます．
PSoC Creator 2.0 Component pack 1.NET Framework
Windows Installer
PSoC Programmer
Keil Compiler● 頻繁なアップデート
PSoC Creator のバージョンは， 正式版 1.0 がリリースされてからわずか半年の間に 1.0 → 1.0 SP1 →1.0 SP2 → 2.0 → 2.0 Component Pack1 と，かなりの頻度でアップデートされています．
今後もしばらくは頻繁にアップデードされ続けると考えられます．
PSoC Creator には， 自動で更新版を確認するアップデータ機能が付いているので，アップデートがあれば知ることができます．

PSoC Creator とコンパイラ・ライセンスのインストール● PSoC Creator の入手
PSoC Creator はサイプレス社のウェブ・ ページから入手します．以下のリンクからダウンロード先に飛ぶことができます（図 1）．
http://www.cypress.com/go/creator
PSoC Creator は無料でダウンロードできますが，ダウンロードするにはアカウントを作成しログインする必要があります．
ダウンロードは「Cypress Download Manager」で実行されます．
● PSoC Creator のインストール
ダ ウ ン ロード が 終 了 し た ら，「Cypress Download

PSoC Creator とコンパイラ・ライセンスのインストール

プロ
ローグ

導入編

1
2
3
4
5
678910111213
1415
1611

2

第章 プロジェクトを作ってプログラムをダウンロード，回路を組んで動作確認

PSoC 3 システム開発ステップ・バイ・ステップ
図 2 のダイアログが現れます．
「Empty PSoC 3 Design」が選択されているのを確認して，プロジェクト名と保存フォルダの場所を設定し，［OK］をクリックしてください．プロジェクト名と保存フォルダ名に，日本語などの 2 バイト文字は使えません．
次に「Advanced」をクリックし，「Device」→「LaunchDevice Selector」を選択します（図 3）．
図 4 の画面になるので， CY8C3866LTI 030 を選択し，［OK］をクリックします．元の画面に戻るので［OK］をクリックします．
しばらく時間がかかりますが，立ち上がると図 5 のような画面が出てきます．

ステップ 1：
プロジェクトの新規作成
PSoC Creator を起動します． 新しいプロジェクトを作成するために「File」→「New」→「Project」を選択してください（図 1）．

123

古平 晃洋 Akihiro Furuhira

本章では，LED 点灯回路の設計を通して，PSoC 3の開発手順を説明します．
本章で使用する部品を表 1 に示します．ブレッド・ボードとブレッド・ボードで使用するジャンパ・ワイ
ヤは，以降の章でも使用します．
ブレッド・ ボードは， 縦 28 ピン以上のものであれば，たいていのものが使用できます．ジャンパ・ワイ
ヤも同等品であればほかのものでも使用できます．

プロ
ローグ

導入編

456789101112

図 1 新しいプロジェクトを作成するために「File」→「New」→「Project」を選択
表1

図2

New Project ダイアログでプロジェクトを設定使用した部品と購入先例
部品名

型番または仕様メーカ

外観

購入先例

ブレッド・ボード

EIC 801

E2

写真 1 参照

秋月電子通商ジャンパ・ワイヤ・セット

EIC

E CALL ENTERPRISE 社

1 セット

−

秋月電子通商LED

砲弾型，緑，順電圧：2.2 〜 2.6 V（順電流：20 mA）−

1

写真 4 参照

千石電商

抵抗1 kΩ，1/4 W，カーボン−1写真 4 参照

千石電商

JS

CALL ENTERPRISE 社

数量㈱秋月電子通商 http://akizukidenshi.com/㈱千石電商 http://www.sengoku.co.jp/

ステップ 1：プロジェクトの新規作成

13
14
15
1623

3

第章 システム，アナログ・ブロック，ディジタル・ブロックの機能を詳解

これが PSoC 3 のアーキテクチャだ！
古平 晃洋 Akihiro Furuhira

PSoC 3 の内部構成
PSoC 3 の基本内部構成を図 1 に示します．PSoC 3は，システム，アナログ・ブロック，ディジタル・ブロックの三つから構成されています．
システムはさらに，CPU システム， システム・ ワ
イド・ リソース， メモリ， プログラミング & デバッグから構成されています．
CPU システムは， プログラムの実行やアナログ・ブロック，ディジタル・ブロックのコントロールに使用されます．DMA を使った CPU を使用しないデータ転送も可能です．
書き込みとデバッグでは，トレース可能なデバッグやバウンダリ・スキャンを備えています．
システム・ワイド・リソースでは，電源管理やリセット，そしてクロックの管理を行っています．
クロックは，内部オシレータまたは外部水晶振動子を使用して，複数のクロックを生成できるようになっています．それを CPU のクロックとして使用したり，各ブロックのクロックとして供給します．
ディジタル・ブロックは，ディジタル・コンポーネントに使用されます．アナログ・ブロックは，ADC，DAC， フィルタといったアナログ・ コンポーネントに使用されます．

33MIPS の 8051 を搭載
PSoC 3 の CPU は 8051 です．サイプレス社は，以前から EZ USB などで 8051 を採用していました．
PSoC 3 の 8051 は一部の命令だけ平均で 2 サイクルかかりますが，ほとんどの命令をシングル・サイクルで実行できます．性能は 33MIPS です．
パイプラインは三つ持っています．パイプラインによって命令のデコード処理やフェッチを並列化し，命令を実行するリソースを効率的に使用することができるようになっています．
割り込みの優先度は自由に変えられます．DMA は，24 チャネルで 32 ビット転送をサポートします．

外部インターフェース付き
メモリ・システムフラッシュ・メモリは 64 K バイトで，10 万回の書き込み回数，20 年間の保存を保証しています．8 K バ
イトの ECC（Error Check and Correct）付きですが，必要なければ選択したデバイスのフラッシュ・サイズの 1/8 を，コンフィグレーション・データの保存に使用できます．
EEPROM は 2 K バイトで，100 万回の書き込み回数，20 年間のデータ保存を保証しています．
SRAM は 8 K バイトです．
外部メモリ・インターフェースとしてEMIF（ExternalMemory Interface）が用意されています．同期，非同期メモリの両方が使用できます．
EMIF に用意されている領域は xdata space と呼ばれ，16 M バイトまで確保されていますが， その一部は内部のコンポーネント用に使用されており，実際にPSoC 3 で使用可能なのは 0x800000 〜 0xFFFFFF の8 M バイトです．

クロック，電源を管理する
システム・ワイド・リソースシステム・ ワイド・ リソースは，CPU の基本的な周辺機能，クロック，電源の構成，スリープ機能が含まれています．
● クロック・システム

123456789101112131415▼

本章では，PSoC 3 のアーキテクチャと入出力ポートの特徴について説明します．

プロ
ローグ

基礎編

仕様と特徴
PSoC 3 のクロック・システムは，ディバイダ（分周回路）や PLL によっていろいろなクロックを生成する

クロック，電源を管理するシステム・ワイド・リソース

1631

4

第章 本書に最低限必要な文法や規則をコンパクトに解説

C 言語プログラミング
初歩の初歩の初歩

PSoC 3 の C プログラムの基本構造#include <device.h>は，device.h というファイルを取り込むという意味です．
device.h は，PSoC 3 に必要なあらかじめ用意されたファイルで，PSoC 3 と PSoC 5 に特有のファイル

リスト 1

PSoC 3 は，内部の初期化が終わって利用可能な状態になると，main 関数を実行します．C で最初に実行される関数は main と決まっています．

2456の void は，main 関数が値を返さないことを示しています．標準 C では int main(void) として値を返しますが，PSoC 3 では値を返しません．
main 関数に限らず，C の関数は，

78{文}9というように大かっこで囲みます．ここにプログラムを記述することで，ユーザは PSoC 3 の動作を決定していくことができます．
なお，C はフリー・フォーマットの言語です．タブ（Tab），復帰，空白は同じものとみなされます．
初期化部は，変数やコンポーネントを初期化する部分です．
無限ループ部は， 繰り返し実行される部分です．
for(;;) は無限ループを意味しています． 詳しくは10111213

PSoC 3 のベースとなる C プログラム#include <device.h>⎧ ⎜⎜⎜⎜⎜⎨ ⎜⎜⎜⎜⎜⎩

前処理部

void main(){/* Place your initialization/startup code here (e.g. MyInst_Start()) */初期化部/* CyGlobalIntEnable; */ /* Uncomment this line to enable global interrupts. */for(;;){/* Place your application code here. */}}無限ループ部⎧⎜⎨⎜⎩main関数部

です．device.h をユーザが触れる必要はありません．
▶ main 関数部

void main()● PSoC Creator が自動生成する C プログラム
PSoC Creator で C プログラムを書く際に，最初に目にするのがリスト 1 のプログラムです．第 2 章で説明したように，Workspace Explorer で main.c をクリックすると表示されます．
これは，PSoC Creator が自動的に生成する C プログラムで，ここが PSoC 3 の C プログラミングのスタート地点です．
▶ 前処理部（プリプロセッシング）
前処理部は，プリプロセッサによって処理される部分です．

13

古平 晃洋 Akihiro Furuhira

本章では，PSoC 3 を使うために必要な C 言語（以下，C）の基礎を解説します．C のすべてではなく， 本書で登場する C プログラムを理解するのに必要な文法，規則などに限定して解説します．

プロ
ローグ

基礎編

14
15
16

PSoC 3 の C プログラムの基本構造 43

増刊

シリーズ最強! PSoC 3 ボード＋デバッグ・ボード

あのPSoCが生まれ変わった！アナログもディジタルも一新！

シリーズ最強！ 全部詰め込め！
マイコン，ディジタル，アナログを

PSoC 3ボード＋デバッグ・ボード

このPDFは，CQ出版社発売の「シリーズ最強!PSoC 3ボード+デバッグ・ボード」の一部見本です．

雑誌

06664-05

L○-2012.8/19

定価5,040円 本体4,800円

内容・購入方法などにつきましては以下のホームページをご覧下さい．
内容
http://shop.cqpub.co.jp/hanbai/books/MTR/MTRZ201205.htm
購入方法
http://www.cqpub.co.jp/hanbai/order/order.htm