05.08.2014 Views

USB接続PSoCプログラマ搭載 PSoCマイコン開発用 ... - マイクロテクニカ

USB接続PSoCプログラマ搭載 PSoCマイコン開発用 ... - マイクロテクニカ

USB接続PSoCプログラマ搭載 PSoCマイコン開発用 ... - マイクロテクニカ

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

型 番 :PSD-300EX4<br />

REV.1.00<br />

パッケージの 内 容<br />

PSD-300EX4ユーザーズガイド<br />

USB 接 続 PSoCプログラマ 搭 載<br />

PSoCマイコン 開 発 用 統 合 評 価 ボード<br />

Version,4.0<br />

取 扱 説 明 書<br />

お 使 いになる 前 にこの 説 明 書 をよくお 読 みの 上 正 しくお 使 いください。<br />

(C)2009 マイクロテクニカ<br />

ボード 本 体<br />

■ 同 梱 物<br />

・PSD-300EX4ボード 本 体<br />

・CY8C29466-24PXI (ボードに 装 着 済 み)<br />

・16 文 字 ×2 行 液 晶 ディスプレイモジュール (ボードに 装 着 済 み)<br />

・USBケーブル<br />

・CD-ROM<br />

・マニュアル( 本 書 )<br />

対 応 デバイス (2008 年 4 月 現 在 )<br />

CY8C21123 、 CY8C21223 、 CY8C21234 、 CY8C21323<br />

CY8C21334 、 CY8C21434 、 CY8C21534 、 CY8C21634<br />

CY8C22113 、 CY8C22213 、 CY8C24123 、 CY8C24223<br />

CY8C24423 、 CY8C24794 、 CY8C25122 、 CY8C26233<br />

CY8C26443 、 CY8C26643 、 CY8C27143 、 CY8C27243<br />

CY8C29466 、 CY8C27543 、 CY8C27643 、 CY8C29566<br />

CY8C29666 、 CY8C29866<br />

※ 対 応 デバイスは 今 後 ソフトウエアのアップグレードに 伴 い 変 更 さ<br />

れることがあります。<br />

ドライバのインストール 及 びパソコンとの 接 続<br />

■デバイスドライバーのインストール<br />

PSD-300EX4をパソコンと 接 続 する 前 に、デバイスドライバーをパソ<br />

コンにインストールします。<br />

下 記 の 手 順 で、ドライバーをインストールします。<br />

製 品 の 概 要<br />

PSoCマイコン 開 発 用 統 合 評 価 ボード( 型 番 :PSD-300EX4、 以 降 型 番<br />

で 記 載 )は、オンボードにUSB 接 続 対 応 のPSoCプログラマーを 搭 載 し、<br />

各 種 周 辺 回 路 をワンボードに 凝 縮 して 搭 載 した、PSoCマイコン 専 用 の<br />

開 発 ボードです。プログラム 開 発 ・ 実 験 ・ 試 作 ・ 学 習 用 とあらゆる 用 途 に<br />

使 用 できます。<br />

ボード 上 には48ピン・28ピン・20ピン・8ピンのDIPタイプのPSoCマイ<br />

コンが 装 着 できるソケットが 搭 載 されている 他 、 今 後 ピン 数 の 多 い 多<br />

種 多 様 なPSoCマイコンに 対 応 できるようMCUカードコネクターを 搭<br />

載 しています。<br />

現 在 流 通 しているほぼすべてのPSoCマイコンを 標 準 で 装 着 させ、 様 々<br />

な 実 験 をこのボードだけで 行 うことができます。<br />

1 付 属 のCD-ROMをパソコンのCD-ROMドライブに 挿 入 してエクス<br />

プローラー 等 で 内 容 を 表 示 します。<br />

2 "USB Programmer Software"のフォルダを 開 きます。<br />

3 "Driver"フォルダを 開 きます。<br />

4 OSごとにフォルダがあります。ご 使 用 のパソコンのOSにあったフォ<br />

ルダを 開 きます。<br />

5 開 くと 実 行 ファイル、"USB18PRG~.exe"がありますのでダブルクリ<br />

ックして 実 行 します。<br />

6 実 行 するとダイアログが 表 示 されますので、そのまま" 次 へ"をクリッ<br />

クして 続 行 します。<br />

USBでパソコンと 接 続 することで、USB 給 電 により 電 源 が 供 給 されま<br />

す。 特 に 大 きな 電 力 を 使 用 するような 場 合 には、ACアダプターを 接 続<br />

することも 可 能 です。<br />

付 属 のCD-ROMにはPSoCマイコン 用 の 統 合 開 発 環 境 PSoC Designe<br />

rを 収 録 している 他 、 本 書 には 簡 単 なチュートリアルも 掲 載 していますの<br />

で、PSoCが 初 めての 方 でもすぐにはじめることができます。<br />

1


7 ドライバーのインストールが 開 始 されます。<br />

WindowsVista 環 境 で 下 記 のような 警 告 ダイアログが 表 示 された 場<br />

合 には、"このドライバソフトウエアをインストールします"をクリック<br />

して 続 行 してください。<br />

■パソコンと 接 続 する<br />

パソコンのUSBポートにPSD-300EX4を 接 続 します。<br />

接 続 に 際 しては 必 ずパソコン 本 体 のUSBポートに 接 続 してください。<br />

USBハブを 介 しての 接 続 の 場 合 には 電 力 容 量 などの 問 題 により 正 しく<br />

動 作 しないことがあります。<br />

1 PSD-300EX4の 電 源 スイッチをONにします。<br />

また、PSD-300EX4の 電 源 をUSBのバスパワーより 給 電 しますの<br />

で、J1の"USB" 側 にソケットを 装 着 してください。<br />

※ウイルス 対 策 ソフトウエアなどがインストールされている 場 合 、イ<br />

ンストール 時 にウイルス 対 策 ソフトウエアが 警 告 を 表 示 する 場 合 が<br />

あります。その 場 合 には、インストールを 許 可 するように 設 定 してく<br />

ださい。<br />

8 インストール 作 業 が 完 了 すると、 下 図 のような 画 面 になりますので、<br />

" 完 了 "ボタンを 押 してインストールを 完 了 します。<br />

2 USBケーブルで、パソコンのUSBポートと、PSD-300EX4を 接 続<br />

します。<br />

※パソコンのUSBポートがUSB2.0 対 応 の 場 合 には 高 速 書 き 込 み<br />

が 行 えます。USB1.1ポートの 場 合 には 通 常 速 度 での 書 き 込 みとな<br />

ります。<br />

→ 接 続 するとPOWERの 緑 LEDが 点 灯 します。<br />

→ 新 しいハードウエアの 検 出 ウィザードが 自 動 的 に 起 動 します。<br />

この 時 、" 状 態 "のボックスに「 使 用 できます」と 表 示 されていること<br />

をご 確 認 下 さい。エラーが 表 示 された 場 合 には、ご 使 用 OSの 種 類<br />

と、 実 行 したデバイスドライバーの 種 類 が 一 致 しているかご 確 認 下<br />

さい。<br />

以 下 OSによって 操 作 方 法 が 異 なります。<br />

■Windows2000, XPをご 利 用 の 場 合 ------------------<br />

3 下 図 のようなダイアログが 表 示 されたら"いいえ、 今 回 は 接 続 しませ<br />

ん"にチェックを 入 れて" 次 へ"ボタンをクリックします。<br />

2


4 下 記 のようなダイアログが 表 示 されますので、"ソフトウエアを 自 動<br />

的 にインストールする( 推 奨 )"にチェックをいれて、" 次 へ"ボタンを<br />

クリックします。<br />

ソフトウエアのインストール<br />

■PSoCプログラマ 用 のソフトウエア<br />

PSoCへプログラムを 書 き 込 む 際 に 使 用 するプログラマソフトウエアの<br />

インストールを 行 います。<br />

1 CD-ROM 内 の"USB Programmer Softeare"フォルダを 開 きます。<br />

"setup.exe"をダブルクリックして 実 行 します。 画 面 の 指 示 に 従 って<br />

インストールしてください。<br />

2 "インストールは 完 了 しました"ダイアログが 表 示 されたら、「 完 了 」を<br />

クリックして 終 了 します。<br />

5 「ソフトウエアをインストールしています。お 待 ち 下 さい」というメッ<br />

セージが 表 示 されます。しばらくするとインストールが 完 了 して 下 図<br />

のような 表 示 となりますので"OK"ボタンをクリックして 終 了 します。<br />

■PSoC Designerのインストール<br />

PSoC 用 の 開 発 環 境 、PSoC Designerをインストールします。このソフト<br />

ウエアはPSoCの 開 発 元 、サイプレス 社 から 提 供 されています。<br />

CD-ROMには 工 場 出 荷 時 点 での 最 新 のバージョンが 収 録 されていま<br />

すが、 新 しいバージョンがリリースされている 場 合 がありますので、サイ<br />

プレス 社 のホームページにてご 確 認 下 さい。<br />

1 CD-ROM 内 の"PSoC_Designer"フォルダを 開 きます。<br />

"PSoC Designer5.00.SP2.exe"をダブルクリックして 実 行 します。<br />

"Next"をクリックして 続 行 します。<br />

2 インストールディレクトリを 指 定 するダイアログが 表 示 されます。<br />

特 に 変 更 する 必 要 がない 場 合 には、そのまま"Next"ボタンを 押 しま<br />

す。 変 更 する 場 合 には"Browse..."ボタンを 押 して 変 更 します。<br />

3 "Start Copying Files"のダイアログが 表 示 されたら、そのまま"Nex<br />

t"ボタンを 押 して 続 行 します。<br />

→インストールが 始 まります。(しばらく 時 間 がかかります。)<br />

■WindowsVistaをご 利 用 の 場 合 ---------------------<br />

3 WindowsVistaの 場 合 には、PSD-300EX4を 接 続 すると 自 動 的 に<br />

デバイスドライバーのセットアップが 開 始 されます。<br />

あらかじめデバイスドライバーは 先 の 手 順 にてインストールされて<br />

いますので、WindowsVistaは 自 動 的 にデバイスドライバーを 検 出 し<br />

てインストールを 完 了 します。<br />

4 インストールが 完 了 すると、 下 図 のようなデバイスドライバーのイン<br />

ストールウィザードが 表 示 されますが、ここではインストールしませ<br />

んので、"キャンセル"ボタンを 押 してスキップします。<br />

接 続 後 しばらく 待 ちますと、 下 図 のようなポップアップがタスクバ<br />

ーに 表 示 されます。<br />

上 図 のホップアップが 表 示 されればインストールは 完 了 です。<br />

※インストールできなかった 旨 の 表 示 が 出 ますが、そのまま 続 行 し<br />

てください。<br />

※デバイスドライバーのインストールが 完 了 して 正 しくパソコンに 認 識<br />

されると、PSD-300EX4の"USB LINK"の 黄 色 LEDが 点 灯 します。<br />

点 灯 しない 場 合 には、ドライバーのインストールに 失 敗 していることが<br />

考 えられますので、 再 度 インストールを 行 ってください。<br />

5 "InstallShield Wizard Complete"というダイアログが 表 示 されたら<br />

PSoC Designerのインストールは 完 了 です。"Finish"ボタンを 押 して<br />

完 了 します。<br />

続 いて、HI-TECH 社 からリリースされているPSoC 用 のCコンパイ<br />

ラーをインストールします。このCコンパイラーは、Lite 版 であれば 無<br />

償 で 使 用 することができます。<br />

3


6 下 図 のようなダイアログが 表 示 されたら、"Next"をクリックして 続<br />

行 します。<br />

電 源 の 投 入 方 法<br />

PSD-300EX4は、USB 接 続 にてUSBバスから 電 源 の 供 給 を 受 けるこ<br />

とができます。この 場 合 にはPSD-300EX4に 別 途 電 源 を 供 給 する 必<br />

要 はありません。<br />

しかし、PSD-300EX4 側 で 多 くの 電 流 を 消 費 するような 回 路 やプログ<br />

ラムをした 場 合 にはUSBバスパワー 給 電 では 電 力 が 不 足 する 場 合 が<br />

あります。この 場 合 には 別 途 外 部 から 電 源 を 供 給 する 必 要 があります。<br />

外 部 電 源 には 出 力 電 圧 がDC9V~12V 程 度 の2.1φ 径 のACアダプタを<br />

ご 使 用 ください。( 別 途 当 方 でも 対 応 ACアダプタを 販 売 しております。)<br />

給 電 方 法 の 設 定 は、PSD-300EX4ボード 上 、ACアダプタコネクタの<br />

下 側 にあるジャンパーソケットで 行 います。<br />

7 ここでは 無 償 のLiteモードでインストールしますので、 一 番 下 の"Ope<br />

rate in Lite mode"にチェックを 入 れて、"Next"ボタンを 押 します。<br />

■USBバスパワーから 給 電 する 場 合<br />

PSD-300EX4ボード 上 の"Power Select"ジャンパーピン(J1)の<br />

「USB-Vcc」 間 をショートします。<br />

■ACアダプタから 給 電 する 場 合<br />

PSD-300EX4ボード 上 の"Power Select"ジャンパーピン(J1)の<br />

「Vcc-EXT」 間 をショートします。<br />

ソフトウエアの 起 動 方 法<br />

8 ソフトウエアの 使 用 許 諾 画 面 が 表 示 されます。<br />

内 容 に 同 意 される 場 合 には、"I accept the term of the license<br />

agreement"にチェックを 入 れて、"Next"をクリックします。<br />

9 次 のダイアログでは、インストールするファイルの 設 定 と、インストー<br />

ルディレクトリの 設 定 ができます。 特 に 変 更 しなくてよい 場 合 には、<br />

そのまま"Next"ボタンを 押 して 続 行 します。<br />

10 続 いて 言 語 の 選 択 ダイアログが 表 示 されますが 日 本 語 はありませ<br />

んので、"English"を 選 択 して 状 態 で"Next"ボタンをクリックします。<br />

→インストールが 開 始 されます。<br />

先 ほどインストールしたソフトウエアの 起 動 方 法 は 下 記 の 通 りです。<br />

■PSoCプログラマーの 起 動<br />

"スタート"ボタン→"プログラム"→"Microtechnica"<br />

→"PSD-300EX4 ライティングソフトウエア"<br />

■PSoC Designerの 起 動<br />

"スタート"ボタン→"プログラム"→"Cypress"<br />

→"PSoC Designer5"<br />

11 インストールが 完 了 したら、"Finish"ボタンを 押 して 完 了 します。<br />

これですべてのソフトウエアのインストールは 完 了 です。<br />

4


PSD-300EX4の 各 部 の 説 明<br />

※PSD-300EX4の 回 路 図 は、CD-ROMにPDF 形 式 で 収 録 されています。<br />

1 電 源 回 路 部 、 電 源 スイッチ、 電 源 方 式 選 択 ジャンパー<br />

電 源 回 路 部 です。 電 源 の 給 電 方 法 は、J1のジャンパーソケットで 設<br />

定 します。USBからのバスパワー 給 電 か、ACアダプターからの 給 電<br />

のどらちかに 設 定 します。<br />

ACアダプタをご 使 用 の 場 合 には、DC9V 出 力 、 径 2.1φで500mA 以 上<br />

が 取 り 出 せるものをご 使 用 下 さい。(センター 極 性 は 問 いません)<br />

3RS232C 部<br />

RS232Cのレベル 変 換 ICを 搭 載 したRS232Cポートです。<br />

SW1のディップスイッチの 設 定 でTXピン、RXピンの 物 理 的 な 接 続 状<br />

態 を 設 定 できます。<br />

RXはP0[0] 又 はP0[6]に、TXはP0[1] 又 はP0[7]に 接 続 できます。<br />

※ボード 全 体 の 消 費 電 流 が300mA 以 上 になる 場 合 にはACアダプタ<br />

の 使 用 をお 奨 めします。<br />

2USB2.0 対 応 、PSoCマイコンライター 部<br />

USB2.0の 高 速 接 続 に 対 応 したPSoCマイコンライターの 回 路 部 で<br />

す。PSD-300EX4のソケットに 装 着 したデバイスに 対 してプログラ<br />

ムの 書 き 込 みを 行 います。<br />

RS232Cを 使 用 する 場 合 には、 必 ず 事 前 にSW1にてRXとTXの 接 続<br />

を 行 ってください。スイッチはONと 記 載 された 側 にセットすると 接 続<br />

されます。<br />

5


4RS485 部<br />

RS485の 信 号 変 換 ICを 搭 載 したRS485 回 路 部 です。RS485の 差 動<br />

信 号 線 は、CN14の 端 子 台 からアクセスできます。<br />

RS485のRX 線 、TX 線 、Rt 線 はそれぞれディップスイッチSW1の 設 定<br />

で 物 理 的 にPSoCマイコンと 接 続 するかどうかを 設 定 できます。<br />

5リアルタイムクロック 部<br />

I2Cインターフェイスを 採 用 したリアルタイムクロックIC(RTC)、PCF<br />

8583Pが 搭 載 されたRTC 回 路 部 です。RTC 動 作 に 必 要 な32.768K<br />

Hzの 水 晶 発 振 子 が 実 装 されています。また、 本 体 電 源 切 断 時 でも 時<br />

計 計 測 のバックアップが 可 能 なCR2032を 装 着 できるバッテリーホ<br />

ルダー 付 きです。<br />

PCF8583Pは 内 部 に240×8ビットのRAMを 搭 載 しており、 日 時 を<br />

取 得 することができます。<br />

PCF8583PのI2C 信 号 線 はそれぞれ10KΩの 抵 抗 でプルアップされ<br />

ています。また 割 込 信 号 用 のRTC-INT 線 も 同 様 にプルアップされて<br />

います。<br />

SDA,SCL,RTC-INTの 各 ピンをPSoCデバイスに 接 続 するかどうか<br />

の 設 定 は、ディップスイッチSW3にて 設 定 できます。<br />

※MCP2510 及 びMCS2551の 詳 細 な 仕 様 についてはデータシート<br />

をご 覧 下 さい。<br />

7DS18S20 温 度 センサーIC 用 コネクタ<br />

ワンワイヤーインターフェイスを 採 用 したワンチップ 温 度 センサICを<br />

装 着 できるソケットです。-55℃~+125℃までの 計 測 ができます。<br />

シンプルな1 線 式 シリアル 通 信 を 採 用 しており、ワンワイヤーインター<br />

フェイスと 呼 ばれています。<br />

データ 線 のDQピンの 物 理 的 な 接 続 状 態 はディップスイッチSW3で 設<br />

定 します。P0[2] 又 はP2[7]と 接 続 できます。<br />

6CAN-SPI 部<br />

CAN 通 信 (Controller Area Network)が 行 えるポートを 搭 載 したCAN<br />

通 信 部 です。PSoCデバイスとはSPIにて 通 信 を 行 います。<br />

CANコントローラーのMCP2510と、CANトランシーバーのMCP255<br />

1が 実 装 されています。<br />

CANの 信 号 線 CAN-HとCAN-Lは 端 子 台 からアクセスすることがで<br />

きます。 各 信 号 線 の 物 理 的 な 配 線 の 接 続 / 切 断 は、ディップスイッチ<br />

SW2によって 行 うことができます。<br />

6


816 文 字 2 行 キャラクタLCD<br />

16 文 字 ×2 行 のキャラクタLCDが 取 り 付 けられています。<br />

駆 動 は4ビットモードを 採 用 しています。(LCDのD4~D7がPSoCデ<br />

バイスと 接 続 されています。)<br />

LCDのコントラスト 調 整 は9のボリュームで 行 うことができます。<br />

LCDのバックライトの 電 源 はSW3にあります。<br />

内 部 の 結 線 は 下 図 をご 覧 下 さい。<br />

これらのICソケットに 装 着 できるデバイスは 必 ず1つだけです。 複 数<br />

のPSoCマイコンを 装 着 すると 書 き 込 みができず 故 障 の 原 因 となり<br />

ますので、 必 ず1つだけ 装 着 するようにします。<br />

マイコンの 脱 着 時 は 必 ずPSD-300EX4 本 体 の 電 源 スイッチをOFF<br />

にし、 電 源 が 切 断 された 状 態 で 行 って 下 さい。<br />

ICソケットからの 脱 着 はマイコンの 足 を 痛 めることがありますので、<br />

IC 抜 きの 工 具 を 利 用 するなどして 慎 重 に 作 業 してください。<br />

15 外 部 アクセス 端 子 群<br />

PSoCマイコンの 各 ピンに 直 接 アクセスできる 端 子 群 です。<br />

各 短 詩 は10ピンのヘッダーピン 形 状 となっており、VccとGNDも 取 り<br />

出 すことができるようになっています。<br />

PORT0~PORT7までの 各 ピンに 対 してアクセスすることができま<br />

す。 外 部 の 回 路 と 接 続 したり、テスターやオシロスコープなどの 計 測<br />

器 を 接 続 してピンの 状 態 を 確 認 したりするのに 便 利 です。<br />

※PSoCマイコンは 各 ピンのプルアップ/プルダウンを 内 部 のレジス<br />

タ 設 定 で 行 うことができます。<br />

10ADコンバーター 評 価 用 ボリューム<br />

ADコンバーターの 評 価 ができるように3 系 統 の 可 変 抵 抗 器 を 搭 載 し<br />

ています。0V~5Vの 間 で 電 圧 を 可 変 してPSoCデバイスのピンに 印<br />

加 できます。どのピンにアナログ 電 圧 を 印 加 するかについては、 各 ボ<br />

リュームの 上 側 にあるJ3~J5のジャンパーにて 設 定 します。<br />

ジャンパー 設 定 したピンに 対 して0V~5Vの 電 圧 を 印 加 できます。<br />

1664 個 のピン 監 視 用 LED 群<br />

PORT0~PORT7までの 各 ピンに 接 続 された 計 64 個 のLED 群 です。<br />

該 当 するピンがHレベルになると 点 灯 します。ピンの 論 理 状 態 をLED<br />

によって 視 認 できます。<br />

LEDを 物 理 的 に 有 効 にするか、 無 効 にするかの 設 定 がディップスイッ<br />

チSW4にてポート 単 位 で 行 えます。SW4の 該 当 するスイッチをOFFに<br />

設 定 するとLEDのカソード 側 がGNDと 切 断 されますので 電 流 が 流 れ<br />

なくなります。<br />

※アナログ 電 圧 を 印 加 する 場 合 には、VccとGNDが 短 絡 したりするこ<br />

とがないよう、 配 線 状 態 を 十 分 確 認 の 上 、 作 業 を 行 って 下 さい。 短 絡<br />

してしまうと、PSD-300EX4 本 体 の 故 障 だけでなくパソコンも 破 損<br />

させてしまうことがあります。<br />

111213PSoCデバイス 装 着 ソケット 部<br />

PSoCデバイスを 装 着 できるICソケット 部 です。48ピンのICソケット<br />

には 当 方 でオプション 品 として 販 売 しているCY8C27643 搭 載 のMC<br />

Uカードが 装 着 できます。<br />

MCU CARDコネクターには、 将 来 ピン 数 の 多 いPSoCマイコンがリリ<br />

ースされた 場 合 、MCUカードとして 提 供 されるマイコン 搭 載 のボード<br />

を 差 し 込 むことで 色 々なデバイスに 対 応 することができます。<br />

SW4がONの 時 、PSoCマイコンの 各 ピンに 電 圧 が 現 れると(Hレベル<br />

になると) 電 流 がLEDに 対 して 流 れます。LEDは1KΩの 電 流 制 限 抵<br />

抗 によって 流 れる 電 流 が 制 限 されていますが、LEDに 電 流 が 流 れる<br />

と 電 圧 降 下 によって 電 圧 が 下 がります。<br />

H-Lのデジタルロジックで0V-5Vの 振 れ 幅 が 欲 しい 時 は、LEDへ 電<br />

流 を 流 さないようにSW4にて 該 当 のポートのスイッチをOFFに 設 定<br />

してください。<br />

17ハードウエアリセットスイッチ<br />

PSoCデバイスのXresピンと 接 続 されており、スイッチを 押 すとハー<br />

ドウエアリセットがかかります。<br />

(8ピンデバイスにはXresピンかありません)<br />

ハードウエアリセットをしたいときに 押 します。<br />

7


1864 個 のタクトスイッチ 群<br />

PORT0~PORT7の 各 ピンに 接 続 されたタクトスイッチです。スイッ<br />

チを 押 した 時 に 該 当 のピンをHレベルにするか、Lレベルにするかを<br />

すぐ 左 隣 にあるJ2のジャンパーソケットで 設 定 します。<br />

Vcc 側 にソケットをセットすると、ボタンを 押 したとき 該 当 ピンがHレ<br />

ベルになります(Vcc 電 圧 が 印 加 されます)。GND 側 にセットすると、<br />

ボタンを 押 したときLレベルとなります。<br />

○23 MMC/SDカードコネクタ<br />

MMC 又 はSDカードを 装 着 できるカードコネクタです。 電 圧 を3.3Vに<br />

降 圧 するレギュレター 回 路 を 搭 載 していますので、そのままカードを<br />

装 着 してSPIモードで 使 用 することができます。<br />

PSoCマイコンはレジスタの 設 定 で 各 ポートのI/Oピンに 対 し、 内 部<br />

プルアップ/プルダウンを 設 定 できます。この 設 定 と 組 み 合 わせるこ<br />

とでスイッチの 入 力 を 判 定 できます。<br />

※ 内 部 プルアップを 有 効 にすると、ボタンを 押 さないとき 該 当 のピ<br />

ンはHとなります。J2ジャンパーをGND 側 に 設 定 しておくことでスイ<br />

ッチを 押 したときにLとなります。<br />

19○21 128×64ドットGLCD 取 り 付 け 用 コネクタとコントラスト 調 整 VR<br />

当 方 でオプション 品 として 販 売 している128×64ドットのGLCDを 装<br />

着 できるコネクタです。GLCDのコントラストは、○21 のボリュームで 調<br />

整 できます。<br />

GNDのバックライトLEDのON/OFFの 設 定 がディップスイッチSW3<br />

で 行 うことができます。 端 子 配 列 は 下 記 の 通 りです。<br />

カードの 各 信 号 線 のうち、MMC-CSピンはディップスイッチSW2に、<br />

その 他 のSPI 信 号 線 3 線 はディップスイッチSW2でPSoCマイコンと<br />

接 続 するかどうかの 設 定 が 可 能 です。<br />

20○22 タッチパネル 用 コネクタと 制 御 回 路<br />

PSD-300EX4には4 線 式 抵 抗 膜 方 式 のタッチパネルスクリーンを<br />

取 り 付 けてアナログ 電 圧 値 を 読 み 取 ることでタッチパネルに 触 れて<br />

いる 位 置 を 検 出 するアプリケーションが 作 れるよう、 専 用 端 子 と 制 御<br />

回 路 が 搭 載 されています。<br />

20の 端 子 は、X+,X-,Y+,Y-のタッチパネルスクリーンからの 端 子 を<br />

接 続 できます。 制 御 回 路 は 下 記 のような 回 路 構 成 となっています。<br />

※ 詳 細 な 回 路 図 についてはCD-ROMに 収 録 の 回 路 図 をご 覧 下 さ<br />

い。<br />

ディップスイッチSW3でタッチパネル 制 御 回 路 の 各 ピンとPSoCマイ<br />

コンのピンを 物 理 的 に 接 続 するかどうかの 設 定 が 可 能 です。<br />

8


PSoCプログラマーの 使 い 方<br />

その 他 のボタンの 機 能 は 下 記 の 通 りです。<br />

PSoCプログラマーは、PSoCマイコンにHEXファイルを 書 き 込 むための<br />

ソフトウエアです。<br />

ここでは 基 本 的 なHEXファイルを 書 き 込 む 際 の 手 順 を 紹 介 します。<br />

ほぼすべての 操 作 は、ソフトウエアのボタンによって 行 えます。<br />

・Readボタン<br />

PSoCデバイスからプログラムを 読 み 込 みます。コードプロテクション<br />

がかかっていない 場 合 には、HEXファイルとして 読 み 込 みます。<br />

読 み 込 んだHEXファイルの 内 容 は、"CODE View"ボタンで 見 られま<br />

す。またそのファイルを 保 存 したい 場 合 には、"Save HEX"ボタンを 押<br />

すと 保 存 できます。<br />

・Verifyボタン<br />

書 き 込 まれたHEXファイルの 内 容 が、 正 しいかをチェックするベリファ<br />

イ 機 能 を 実 行 するボタンです。<br />

通 常 は、"Write"ボタンでプログラムを 書 き 込 むと 自 動 的 にベリファイ<br />

が 実 行 されファイルの 正 当 性 が 確 認 されます。<br />

・Eraseボタン<br />

PSoCマイコンに 書 き 込 まれているプログラム 内 容 を 消 去 します。<br />

1 最 初 に"Device"プルダウンより、 書 き 込 むデバイスの 種 類 を 選 択 し<br />

ます。<br />

・Reload HEXボタン<br />

一 度 "Load HEX"で 読 み 込 んだHEXファイルを 再 度 読 み 込 む 場 合 にク<br />

リックします。プログラムをデバッグをした 後 、 再 度 HEXファイルを 読<br />

み 込 む 際 に 便 利 です。<br />

主 な 仕 様<br />

2 続 いて、"Load HEX"ボタンを 押 して、 書 き 込 むHEXファイルを 読 み<br />

込 みます。<br />

【 注 意 !】<br />

HEXファイルの 置 いてあるディレクトリ 名 が 非 常 に 長 い 場 合 や 日 本<br />

語 が 使 用 されたディレクトリにある 場 合 には、HEXファイルを 正 しく<br />

読 み 込 めない 場 合 があります。<br />

HEXファイルの 保 存 ディレクトリはなるべく、 短 い 名 前 にし、ディレク<br />

トリ 名 及 びファイル 名 には 日 本 語 などの2バイト 文 字 を 使 用 しない<br />

ようにしてください。<br />

※ 同 じ 名 前 のHEXファイルを 再 度 読 み 込 む 時 には、"Reload HEX"<br />

ボタンを 押 します。デバッグ 等 でビルドをし 直 して 再 度 書 き 込 みを<br />

行 いたい 時 は、このボタンを 使 用 すると 便 利 です。<br />

3 PSD-300EX4とパソコンが 接 続 されていることを 確 認 し、USB LI<br />

NKの 黄 色 LEDが 点 灯 していることを 確 認 します。<br />

電 源 電 圧 :<br />

USBバスパワー 給 電 時 DC5V<br />

ACアダプタ 給 電 時 DC9V~12V<br />

給 電 方 法 :<br />

USBバスパワー 又 はACアダプタ<br />

USB 規 格 :<br />

Ver、2.0 対 応<br />

対 応 OS:<br />

Windows2000/XP/2008/Vista<br />

※64ビット 版 にも 対 応<br />

対 応 デバイス:<br />

サイプレス 製 PSoCデバイス<br />

生 産 国 :<br />

セルビア<br />

サポート 情 報<br />

当 方 では、PSD-300EX4のサポートを 行 っております。 以 下 のいずれ<br />

かの 方 法 でご 質 問 をお 寄 せください。<br />

■FAX 番 号 03-3700-3548<br />

■ 電 子 メール support@microtechnica.net<br />

なお、 他 社 製 品 に 関 することや 自 作 回 路 に 関 するご 質 問 にはお 答 え 致<br />

しかねますのであらかじめご 了 承 ください。<br />

ソフトウエアはアップグレードされることがあります。アップグレードさ<br />

れると、 対 応 デバイスが 増 えたり、バグが 修 正 されたりします。<br />

PSoCデバイスへのプログラム 書 き 込 み 用 のソフトウエアは、 当 方 より<br />

アップグレードの 告 知 を 致 します。 当 方 のダウンロードページよりダウ<br />

ンロードできるようになりますので、 下 記 サイトを 確 認 ください。<br />

"Write"ボタンを 押 すと、 書 き 込 みが 開 始 されます。<br />

進 捗 状 況 はプログレスバーに 表 示 されます。<br />

※ 書 き 込 み 実 行 後 は 自 動 的 にベリファイチェックが 行 われます。ベ<br />

リファイチェックでエラーが 発 見 されるとその 内 容 がメッセージボ<br />

ックスで 表 示 されます。<br />

ベリファイチェックを 書 き 込 み 後 自 動 的 に 実 行 したくない 場 合 には<br />

"Options"ボタンをクリックして、"Verify Chip Writes"のチェックを<br />

外 します。<br />

http://www.microtechnica.net/manual/<br />

PSoC 用 の 統 合 開 発 環 境 、PSoC Designerはサイプレス 社 製 のソフトウ<br />

エアです。バージョンアップ 及 びサービスパックのリリースについては、<br />

サイプレス 社 のホームページより 告 知 されますので、 下 記 ページを 定 期<br />

的 にご 確 認 ください。<br />

http://www.cypress.com/portal/server.pt<br />

次 のページよりチュートリアルです。<br />

9


PSoCマイコンの 概 要<br />

PSoC(Programable System on a Chip: 読 みはピーソック)は、サイプ<br />

レスセミコンダクター 社 が 開 発 した、M8Cコアを 搭 載 した 新 しい 概 念 の<br />

ワンチップマイコンです。<br />

PICマイコンなどと 同 様 、プログラムを 格 納 するプログラムメモリ(RO<br />

M)や、 作 業 用 メモリのRAM、そして 周 辺 回 路 とを 結 ぶI/Oポートなどを<br />

搭 載 しています。<br />

:CY8C27xxxのブロックダイアグラム<br />

■PSoCのブロックアレイ(デジタルPSoCブロック)<br />

これらのブロックアレイとは 一 体 どんなものなのでしょうか。<br />

先 の 図 を 見 て 頂 くと 分 かるとおりデジタル 側 には8 個 、アナログ 側 には<br />

12 個 のブロックアレイが 用 意 されています。<br />

まずはデジタルPSoCブロックアレイから 見 てみましょう。<br />

デジタルブロックアレイ 内 にある8つのブロックは、"DB"と 書 かれたデ<br />

ジタルベーシックブロックと、"DC"と 書 かれたデジタルコミュニケーシ<br />

ョンブロックとに 分 けられます。<br />

DBは、PWMやカウンタ・タイマーといった 計 5 種 類 の 機 能 をもつブロッ<br />

クに、DCはシリアル 通 信 (UART)やI2C 通 信 など 主 に 通 信 系 を 機 能 を 計<br />

7 種 類 もつブロックになります。これらブロックの 機 能 は、 開 発 者 が 開<br />

発 環 境 の 中 で、GUI(Graphical User Interface)にて 簡 単 に 設 定 できる<br />

ようになっています。<br />

PICマイコンなどでは、 例 えば「PWMの 機 能 が2つ 欲 しいけど 搭 載 してい<br />

ない・・・」という 場 合 や「UART 通 信 はしない 代 わりにもう1つPWMの 機<br />

能 が 欲 しい・・・」などということがありました。 開 発 者 は、 開 発 するシス<br />

テムの 規 模 や 機 能 に 応 じて 使 用 するデバイスを 選 んでいましたが、それ<br />

でも 機 能 の 過 不 足 はさけられませんでした。<br />

しかしPSoCマイコンでは、 制 約 はあるにしても 開 発 者 がブロックに 対<br />

して 自 由 に 機 能 を 設 定 できますし、 入 出 力 のI/Oポートへの 接 続 もGUI<br />

上 で 色 々と 設 定 できることができ、プログラミングの 自 由 度 がかなり 向<br />

上 します。また 信 号 を 出 力 するバスには 論 理 演 算 ができるユニットが 装<br />

備 されているため、 信 号 の 論 理 を 反 転 したり 各 種 論 理 演 算 をしたりす<br />

ることも 可 能 です。<br />

上 図 は、PSoCマイコンの 中 でも 一 般 的 なCY8C27xxxシリーズの 内 部<br />

ブロック 図 です。PICマイコンとは 大 きく 異 なっていることが 分 かりま<br />

す。<br />

中 心 部 には「デジタルシステム」と「アナログシステム」と 書 かれた 枠 が<br />

あり、さらにその 中 には「デジタルPSoCブロックアレイ」「アナログPSo<br />

Cブロックアレイ」という 表 示 があることが 分 かります。<br />

実 はPSoCマイコンのブロックアレイと 呼 ばれるブロックは、ユーザー<br />

がプログラミング 時 に 自 由 にその 機 能 を 指 定 して、 任 意 に 組 み 合 わせ<br />

て 利 用 できる「 機 能 ブロック」なのです。DBはDigital Basic、 DCはDigi<br />

tal Communication、 一 方 アナログシステム 内 のCTはContinuosu Tim<br />

e、SCはSwitched Capacitorの 略 です。これらのブロックが 時 にはPWM<br />

機 能 を 持 ったモジュールとして、また 時 にはA/Dコンバーターの 機 能 を<br />

持 ったモジュールとして 動 作 することになります。 更 には、ブロック 図 に<br />

もある 通 り、アナログ 処 理 も 可 能 ですので、HPFやLPFなどの 各 種 フィ<br />

ルター、アナログ 演 算 機 能 なども 可 能 なのです。<br />

■PSoCのブロックアレイ(アナログPSoCブロック)<br />

アナログPSoCブロックアレイ 内 には、CTとSCのブロックが 合 わせて<br />

12 個 あります。<br />

CTはOPアンプやコンパレーターなどの 機 能 を 持 つブロックです。<br />

SCは 微 積 分 回 路 やアナログ 演 算 などの 機 能 を 持 つブロックです。<br />

各 ブロックの 内 部 は 複 雑 で 色 々な 処 理 をこなせるように 作 られていま<br />

す。PSoCマイコンのデータシートを 見 るとブロックの 内 部 を 見 ることが<br />

できます。<br />

しかし 実 際 のプログラミングでは 開 発 者 はGUI 上 で、 機 能 の 設 定 などが<br />

できますので 内 部 構 造 を 知 らなくても 利 用 できます。 簡 単 に 言 えば、ソ<br />

フトウエアが 開 発 時 にひな 形 を 用 意 してくれますので、それを 利 用 する<br />

ことになります。<br />

その 他 、 一 般 的 によく 利 用 される 回 路 についてはユーザーモジュールと<br />

呼 ばれるひな 形 がすでに 用 意 されていますので、 開 発 者 はこういったユ<br />

ーザーモジュールを 使 ってプログラムを 作 ることもできます。<br />

■I/Oピンの 呼 び 方<br />

I/OピンはPORT 毎 に 分 かれており、PORT0やPORT1などと 数 字 で 区<br />

切 られています。 各 ポートにはビット0~7までがあり8ビット 構 成 になっ<br />

ています。<br />

サイプレスからリリースされているデータシートには、ポートとビットの<br />

組 み 合 わせで"P2[3]"などと 記 載 されています。これはPORT2のビット<br />

3というとになります。しかしながらこれから 使 用 するPSoC 用 の 開 発<br />

環 境 PSoC DesignerではP2[3]は、 Port_2_3 などというように 記<br />

載 されています。<br />

表 記 の 方 法 が 違 うことがありますので、 相 互 で 読 み 替 えてください。<br />

では 実 際 にPSD-300EX4を 用 いてプログラムを 作 ってみましょう。<br />

10


PSD-300EX4のチュートリアル<br />

簡 単 なプログラムを 作 成 し、PSoCの 開 発 方 法 及 びPSD-300EX4の<br />

使 い 方 を 学 習 しましょう。<br />

本 チュートリアルでは、PSD-300EX4に 標 準 で 付 属 しているCY8C29<br />

466を 使 用 します。PSoCマイコンのデータシートはすべてPSoC Desig<br />

nerから 閲 覧 できます。データシートを 併 せて 読 むと 一 層 理 解 が 早 まり<br />

ます。<br />

開 発 言 語 にはアセンブラ 言 語 と 高 級 言 語 であるC 言 語 があります。<br />

最 近 ではPSoCマイコン 用 のC 言 語 はLite 版 であれば 無 償 で 使 用 が 可<br />

能 となりました。PSoC Designerをインストールするときに 一 緒 ににイ<br />

ンストールしていますので、C 言 語 も 使 用 できます。<br />

ここでは 例 として"Name;"には、 LEDBLINK と 入 力 します。<br />

ディレクトリは 日 本 語 や 全 角 文 字 などの2バイト 文 字 含 まない 場 所<br />

を 指 定 してください。<br />

入 力 したらOKボタンを 押 します。<br />

4 続 いてSelect Project Typeダイアログが 表 示 されます。<br />

ここでデバイスの 種 類 と 開 発 言 語 を 選 択 します。デバイスはCY8C2<br />

9466-24PXIです。Deviceの 表 示 欄 にCY8C29466-24PXIと 表<br />

示 されていない 場 合 には 右 隣 の"View Catalog..."ボタンをクリック<br />

します。デバイスの 一 覧 が 表 示 されますので、その 中 からCY8C294<br />

66-24PXIを 選 択 してハイライトし、"Select"ボタンを 押 して 選 択 し<br />

ます。<br />

言 語 の 種 類 は、"C"を 選 択 してOKボタンを 押 します。<br />

下 記 のチュートリアルで 開 発 全 体 の 流 れを 学 習 しましょう。<br />

■チュートリアル1<br />

~LEDを 点 滅 させるプログラム~<br />

P1[5]を0.5 秒 間 隔 でON-OFFさせて、LEDを 点 滅 させるプログラムを<br />

作 ります。<br />

チュートリアルを 始 める 前 に、PSD-300EX4がUSB 経 由 でパソコンと<br />

接 続 され、 必 要 なソフトウエア 類 がすべてインストールされている 状 態<br />

であることを 確 認 してください。<br />

今 回 はCY8C29466をデバイスとして 使 用 し 開 発 言 語 はCを 使 います。<br />

1 PSoC Designerを 起 動 します。<br />

Windowsのスタートボタン→プログラム→Cypress→PSoC Design<br />

erの 順 でクリックします。<br />

5 じはらく 待 つとCY8C29466のデバイスに 合 わせた 内 部 ブロック 画<br />

面 が 表 示 されます。この 画 面 には 内 部 のPSoCブロックや、I/Oポー<br />

ト、またそれらを 物 理 的 に 結 びつけるバスなどが 表 示 されています。<br />

PSoCマイコンの 大 きな 特 徴 はこれらのPSoCブロックに 対 して 開<br />

発 者 がグラフィカルな 画 面 で 機 能 を 割 り 当 て、I/Oポートと 結 びつ<br />

けることでその 機 能 を 実 現 できることにあります。<br />

PSoC Designerはプログラムを 作 成 するだけでなくパラメーター<br />

の 設 定 やライブラリ 関 数 の 自 動 生 成 なども 行 います。PSoCの 開 発<br />

はこのソフトを 使 って 行 うことになります。<br />

2 新 規 にプロジェクトを 作 ります。<br />

メニューバーの"File"→"New Project"をクリックします。<br />

ダイアログが 表 示 されます。<br />

3 New Projectダイアログでは、"Chip-level Project"か"System-le<br />

vel Project"かを 選 択 するように 尋 ねられます。"Chip-level Proje<br />

ct"とは、 開 発 言 語 を 用 いた 従 来 の 開 発 手 法 でPSoCブロックを 配<br />

置 した 後 に、それらのブロックに 対 する 動 作 を 言 語 で 記 述 する 方 法<br />

です。<br />

"System-level Project"は、 言 語 を 用 いずすべての 動 作 をGUIで 設<br />

定 してプログラムを 作 る 新 しい 開 発 ツールです。<br />

ここでは、"Chip-level Project"を 選 択 しますので、"Chip-level Pr<br />

oject"のアイコンをクリックして 選 択 し、プロジェクト 名 と 保 存 する<br />

ディレクトリを 指 定 します。<br />

グローバルバス<br />

PSoCブロック<br />

I/Oポート<br />

これら 内 部 の 配 線 のことをインターコネクト(Interconnect)と 呼 び<br />

ます。<br />

開 発 者 が 使 用 できる 機 能 モジュールは、 画 面 右 下 にある"User Mod<br />

ules"にまとめられています。<br />

今 回 はLEDを 点 滅 させるプログラムを 作 りますので、 時 間 的 なパル<br />

スの 発 生 が 必 要 となります。パルスの 発 生 にはPWMモジュールを 使<br />

用 すると 簡 単 です。<br />

User Modulesのツリー 一 覧 の 中 にある"PWMs"ダブルクリックしま<br />

す。ツリーが 展 開 して4つのブロックが 表 示 されます。<br />

11


6 今 回 は16ビットのPWMを 使 用 しますので、"PWM16"を 使 用 します。<br />

"PWM16"を 右 クリックします。メニューが 表 示 されますので、そこか<br />

ら"Place"をクリックします。<br />

System Clock<br />

24MHz<br />

15<br />

分 周<br />

VC1<br />

(1.6MHz)<br />

160<br />

カウント<br />

VC3<br />

(10KHz)<br />

24MHz÷15÷160 = 10KHz<br />

VC1とVC3をそれぞれ 使 うことで 分 周 を 行 い 周 波 数 の 調 整 をして<br />

いるということです。この 設 定 をGrobal Resourcesの 設 定 で 行 いま<br />

した。 今 回 はVC2は 使 用 しませんでしたが、VC2を 使 用 してさらに 分<br />

周 を 行 うことができます。<br />

"Place"をクリックすると、その 機 能 がPSoCブロックに 配 置 されま<br />

す。 配 置 されると 配 置 されたPSoCブロックが 青 くグラデーションに<br />

ハイライトされます。<br />

8 次 にPWM16モジュールのパラメーターを 設 定 しましょう。<br />

PSoCブロックに 配 置 されたUser Moduleはには 名 前 が 割 り 当 てら<br />

れます。PSoCブロックを 見 て 名 前 を 確 認 しましょう。<br />

名 前 はPWM16_1と 分 かります。<br />

PSoCブロックの 表 示 されている 画 面 は 全 体 に 大 きすぎますので、<br />

適 宜 ズーム、ズームアウト、 移 動 を 行 い 見 やすい 状 態 にしましょう。<br />

キーボードの"Alt"キーを 押 しながらマウスを 移 動 させると 移 動 がで<br />

きます。"Ctrl"キーを 押 しながらマウスを 左 クリックするとズームし<br />

ます。"Shift"キーと"Ctrl"キーを 押 しながら 左 クリックするとズーム<br />

アウトします。<br />

マウスカーソルが 押 したキーによって 変 わりますので、それを 確 認<br />

ながら 作 業 するとよいでしょう。<br />

7 次 にデバイス 全 体 の 設 定 を 行 います。デバイス 全 体 の 設 定 とは、 各<br />

モジュール 毎 の 設 定 ではなくデバイスの 動 作 そのものに 関 わる 設<br />

定 です。PSoCではグローバルリソースと 呼 んでいます。<br />

画 面 左 上 にある"Global Resouces"を 設 定 します。 今 回 は、 次 のよう<br />

に 設 定 してみましょう。<br />

PowerSetting 5.0V/24MHz<br />

CPU_Clock SysClk/8<br />

32K_Select Internal<br />

PLL_Mode<br />

Disabled<br />

VC1=SysClk/N 15<br />

VC3 Source VC1<br />

VC3 Divider 160<br />

SysClk Source Internal<br />

Watchdog Enabled Disabled<br />

※ 上 記 に 記 載 のない 設 定 項 目 は、デフォルトのままでかまいません。<br />

この 設 定 にはどういう 意 味 があるのでしょうか。<br />

これは 動 作 クロックを 調 整 することで、PWM16モジュールの 動 作<br />

基 準 となるクロックを 作 っているのです。 仕 組 みを 見 てみましょう。<br />

このデバイスのシステムクロックは24MHzです。これを 最 初 に15<br />

分 周 することでVC1を1.6MHzとしています。しかしこれではまだ 速<br />

すぎますので、VC3のクロックソースをVC1(1.6MHz)にして、さら<br />

にここで160カウントして 分 周 し 周 波 数 を 低 くします。これで10KHz<br />

の 基 準 周 波 数 を 作 っています。<br />

このPWM16_1ブロックをクリックして 選 択 すると、 緑 色 の 枠 囲 み<br />

が 表 示 され 選 択 されたことを 示 します。<br />

画 面 左 側 の"Properties"にPWM16_1と 表 示 されたことを 確 認 しま<br />

す。ここでPWM16_1の 設 定 を 行 います。 次 のように 設 定 してくださ<br />

い。<br />

Clock<br />

VC3<br />

Enable<br />

High<br />

CompareOut<br />

Row_0_Output_1<br />

TerminalCountOut None<br />

Period 9999<br />

Pulse Width 4999<br />

CompareType<br />

Less Than or Equal<br />

InterruptType<br />

Terminal Count<br />

ClockSync<br />

Sync to SysClk<br />

InvertEnable<br />

Normal<br />

設 定 内 容 を 確 認 してみましょう。<br />

まず、PWM16_1のクロック 源 はVC3です。VC3はグローバルリソ<br />

ースの 設 定 によって10KHzのクロックを 提 供 しています。<br />

このVC3をPeriod= 周 期 10000カウントします。 設 定 する 際 、1 少 な<br />

い 値 を 入 れていることに 注 意 してください。10KHzを10000カウン<br />

トするため、PWM16_1は1Hzのパルスを 出 力 することになります。<br />

VC3<br />

(10KHz)<br />

10000<br />

カウント<br />

PWM16_1<br />

1Hz<br />

Pulse Widthはデューティー 比 の 設 定 です。 今 回 はHighとLowの 時<br />

間 を 同 一 にします。つまりデューティー 比 を50%に 設 定 します。100<br />

00が 最 大 値 ですので 半 分 の 値 を 設 定 します。<br />

次 に 大 切 な 項 目 がCompareOutです。CompareOutはPWMの 出 力 を<br />

どのバスに 接 続 するかを 設 定 するものです。ここでは、RO0[1](Ro<br />

wOutputバス)に 接 続 しました。なぜここに 接 続 したのかは 次 の 設<br />

定 で 分 かります。<br />

12


9 次 にRO0[1]をグローバルアウトプットバスに 接 続 します。<br />

画 面 右 側 に 合 計 16ビットのバスが 見 えます。バスは8ビットずつ<br />

GOEとGOOに 分 かれています。GOEはGlobal Output Evenです。<br />

GOEはGlobal Output Oddの 略 称 です。Evenは 偶 数 、Oddは 奇 数 で<br />

す。この 偶 数 ・ 奇 数 とは 最 終 的 なI/Oポートのポート 番 号 が 奇 数 か<br />

偶 数 かということをさしています。<br />

GOOは 奇 数 I/Oポートに、GOEは 偶 数 I/Oポートに 接 続 できます。<br />

※ 左 側 にあるGIOとGIEも 同 様 で、こちら 側 はInput、すなわち 入 力<br />

を 接 続 する 時 に 使 用 するバスです。<br />

右 側 には 最 終 的 なI/Oピンがあります。このI/OピンはPSoCデバイ<br />

スのI/Oピンに 対 応 しています。 最 終 的 なI/Oとなります。<br />

選 択 したらOKボタンを 押 します。<br />

12 配 線 が 物 理 的 に 接 続 されたことがグラフィカルに 確 認 できます。<br />

今 回 は、P1[5]に 接 続 されたLEDを 点 滅 させるプログラムを 作 りま<br />

すので、 奇 数 です。よって、RO0[1]をGOO.5に 接 続 しましょう。<br />

RO0[1]バスの 右 側 の 四 角 い 部 分 をクリックします。<br />

すると"Digital Interconnect Row_0_Output_1"ダイアログが 表<br />

示 されます。<br />

これで 設 定 と 配 線 が 完 了 しました。<br />

次 は、インターコネクトで 行 った 各 種 設 定 や 配 線 を 元 にしてプログ<br />

ラムを 作 ります。<br />

13 画 面 右 側 の"Workspace Explorer"のツリー 一 覧 にある"LEDBLINK<br />

"のフォルダを 展 開 します。<br />

10 このダイアログでは、どこのグローバルアウトプットバスに 接 続 する<br />

かを 指 定 できます。ここでは 一 番 下 の△ 印 をクリックして"GlobalOu<br />

tOdd5"をクリックして 選 択 します。<br />

展 開 すると、プログラムのソースファイルがあります。 今 回 はC 言 語<br />

で 開 発 しますので、ツリーの 中 にある"main.c"をダブルクリックして<br />

開 きます。<br />

選 択 すると 色 △ 印 が 青 色 で 塗 りつぶされ 設 定 済 みであることが 示<br />

されます。"Close"ボタンを 押 して 閉 じます。<br />

GOO.5と 配 線 が 接 続 されていることを 図 から 分 かります。<br />

14 プログラムウインドウが 開 きます。<br />

ここにプログラムを 記 述 します。プログラムを 記 述 するといってもP<br />

WMの 詳 細 はすでにPSoCブロックの 部 分 で 設 定 済 みですので、ここ<br />

ではPWMのユーザーモジュールが 有 効 になる 条 件 を 記 述 するだけ<br />

です。main 関 数 の 部 分 に 次 のように 入 力 します。<br />

11 続 いてI/Oピンと 接 続 します。 今 回 はP1[5]に 出 力 することにします<br />

ので、 右 側 のI/Oピンから、"PORT_1_5"をクリックします。<br />

メニューが 表 示 されますので"Select"の 項 目 から"GlobalOutOdd5"<br />

を 選 択 します。<br />

PWM16_1_Start();<br />

※( )のすぐ 後 ろはセミコロンです。<br />

記 述 はたったこれだけです。<br />

13


15 ではプログラムをビルドしてみましょう。<br />

ビルドとは、ソースファイルからPSoCマイコンに 書 き 込 めるHEXフ<br />

ァイルを 作 る 作 業 のことをいいます。<br />

メニューバーの"Build"→"Generate/Build 'LEDBLINK' Project"<br />

をクリックします。キーボードのF6キーを 押 しても 実 行 できます。<br />

ビルドには 少 し 時 間 がかかります。 画 面 下 に"Output"というウイン<br />

ドウが 表 示 されるとビルドは 完 了 です。プロジェクトを 作 成 したフォ<br />

ルダと 同 じフォルダ 内 にHEXファイルが 作 られています。このファイ<br />

ルをPSoCプログラマーで 書 き 込 み 動 作 を 確 認 してみましょう。<br />

17 書 き 込 み 前 にPSD-300EX4 本 体 のディップスイッチの 設 定 を 行 い<br />

ましょう。 今 回 はLEDしか 使 いませんので、 各 周 辺 回 路 とは 接 続 しま<br />

せん。ディップスイッチSW1~3まではすべてOFF 側 に 設 定 してくだ<br />

さい。SW4はPORT1のスイッチををONに 設 定 します。<br />

18 PSoCプログラマーを 起 動 します。ソフトウエアは、Winodwsのスタ<br />

ートボタン→プログラム→Microtechnica→"PSD-300EX4 ライ<br />

ティングソフトウエア"の 順 でクリックして 起 動 させます。<br />

最 初 にデバイスの 種 類 を 設 定 します。Deviceのプルダウンから、<br />

"CY8C29466"を 選 択 します。<br />

■チュートリアル2 ~ボタン 入 力 を 使 用 して 制 御 する~<br />

チュートリアル1では、ほとんどの 部 分 をPSoCブロックに 割 り 当 てたP<br />

WMモジュールが 実 行 しており、コードの 記 述 はPWMの 動 作 をスタート<br />

させるだけのものでした。<br />

チュートリアル2では、 少 しC 言 語 プログラムを 記 述 してボタン 入 力 を 判<br />

定 して 処 理 を 分 岐 する 方 法 を 紹 介 します。<br />

PSoCマイコンは 内 部 に 各 I/Oピンをプルアップしたりプルダウンした<br />

りできる 便 利 な 機 能 があり、その 設 定 もメニューで 選 択 するだけという<br />

手 軽 さです。PSD-300EX4は 全 I/Oピンに 対 してタクトスイッチが 接<br />

続 されていますので、 入 力 実 験 が 簡 単 に 行 えます。<br />

チュートリアル2では、プログラム 中 に 変 数 を2つ 用 意 して、P0[0]とP0<br />

[1]のスイッチを 押 した 時 に、その 変 数 に 代 入 された 値 を、 押 したスイッ<br />

チに 応 じてPORT1 接 続 されたLEDに 表 示 するプログラムを 作 ってみま<br />

しょう。<br />

1 PSoC Designerを 起 動 します。 新 規 にプロジェクトを 作 成 しましょ<br />

う。 使 用 するプロジェクトのタイプは、"Chip-level Project"にしま<br />

す。 使 用 するデバイスはCY8C29466を、 言 語 はC 言 語 を 使 用 しま<br />

す。それぞれ 設 定 してください。<br />

続 いてHEXファイルを 読 み 込 みますので、"Load HEX"ボタンをクリ<br />

ックします。ファイルを 開 くダイアログが 表 示 されますので、プロジェ<br />

クトを 作 成 したディレクトリを 開 きます。その 中 に"LEDBLINK.HEX"<br />

というファイルがありますので、これを 選 択 して" 開 く"ボタンを 押 し<br />

ます。ファイルが 読 み 込 まれました。<br />

2 準 備 が 完 了 すると、インターコネクトのウインドウが 表 示 されます。<br />

今 回 はPORT0はすべて 内 部 プルダウンに 設 定 します。これによりボ<br />

タンを 押 していない 時 は、Lレベルとなり、プログラムからの 入 力 判<br />

定 では 該 当 ピンは0となります。<br />

プルダウンの 設 定 は、 画 面 左 下 のPinoutウインドウで 行 います。ここ<br />

には 使 用 するPSoCマイコンのすべてのピンが 表 示 されており、ダブ<br />

ルクリックして 展 開 することで 詳 細 なピンの 状 態 を 設 定 できます。<br />

19 書 き 込 みは"Write"ボタンをクリックします。<br />

"Progress:"と 書 かれたプログレスバーが 進 捗 状 況 を 示 します。<br />

書 き 込 みが 完 了 するとプログラムはすぐに 実 機 の 上 で 動 作 を 開 始<br />

します。 書 き 込 みが 終 わったらPSD-300EX4のボードをご 覧 下 さ<br />

い。P1[5]のLEDが 点 滅 していることが 確 認 できるはずです。<br />

最 初 に、P0[0]を 展 開 します。その 中 に"Driver"という 項 目 がありま<br />

す。 右 側 をクリックするとメニューが 表 示 されますので、その 中 から<br />

"Pull Down"を 選 択 します。<br />

以 上 でチュートリアルは 終 了 です。<br />

PSoCの 基 本 的 な 開 発 の 仕 方 を 紹 介 しました。<br />

デューティー 比 の 設 定 を 変 更 したり 点 滅 する 間 隔 を 変 えたり、 出 力 する<br />

ピンを 変 更 するなどして 実 験 してみてください。<br />

3 同 様 にして、P0[0]~P0[7]まですべて"Drive"の 設 定 を"Pull Down"<br />

に 設 定 してください。<br />

すべて"Pull Down"になっていることを 確 認 します。<br />

14


4 さらに、LEDの 駆 動 を 行 うPORT1については 全 ピンの"Drive" 設 定<br />

を"Strong"に 設 定 します。Strongは 出 力 の 設 定 で、 該 当 するピンの<br />

ドライバーが 出 力 に 設 定 されます。<br />

8 プログラムを 書 き 込 む 前 にボードの 設 定 をしましょう。<br />

今 回 は、LEDはPORT1だけしか 使 用 しませんので、ディップスイッチ<br />

SW4はPORT1だけをONにしてあとはすべてOFF 側 にセットします。<br />

※Strong slowという 設 定 もありますがこちらは 矩 形 はの 立 ち 上 が<br />

り、 立 ち 下 がりがなだらかになり、 立 ち 上 がり 時 間 、 立 ち 下 がり 時 間<br />

が 延 長 されます。<br />

タクトスイッチは 押 した 時 にHレベルになる 必 要 がありますので、ジ<br />

ャンパーJ2はVcc 側 の 方 にソケットをセットします。<br />

これで 準 備 ができました。<br />

P1[0]~P1[7]まで 全 ピンの"Drive" 設 定 をStrongに 設 定 してくださ<br />

い。<br />

9 生 成 されたHEXファイルをPSoCプログラマーで 書 き 込 んでみまし<br />

ょう。 書 き 込 み 後 、P0[0]のタクトスイッチを 押 すとPORT1のLEDが<br />

交 互 に10101010と 点 灯 します。<br />

同 様 にしてP0[1]のスイッチを 押 すとP1[4]~P1[7]の 上 位 4ビット<br />

が 点 灯 することが 確 認 できます。<br />

プログラムの 仕 組 みを 見 てみましょう。<br />

変 数 は 符 号 無 しshort 型 としてaとbを 宣 言 して 初 期 値 として 変 数 aには<br />

0xAAを、bにき0xF0を 代 入 しています。0xAAは2 進 数 では10101010<br />

です。0xF0は11110000です。<br />

すべてStrongになっていることを 確 認 します。<br />

5 今 回 はPSoCブロックは 使 用 しませんので、 画 面 右 上 のWorkspace<br />

Explorerのツリー 一 覧 の 中 から 一 番 したのフォルダを 展 開 してソー<br />

スファイル、main.cをダブルクリックして 開 きます。<br />

while(1)は 永 久 ループです。 本 来 ( ) 内 は 条 件 式 を 記 述 しますが1になっ<br />

ているので 永 久 にループします。<br />

switch 文 はANSI 規 格 のCで 使 用 されているものと 全 く 同 じ 構 文 です。<br />

PSoCではポートについては PRTxDR と 記 述 します。xの 部 分 にはポー<br />

トの 番 号 が 入 ります。ポートには 値 を 直 接 代 入 したり、 逆 にポートの 状<br />

態 を 直 接 代 入 演 算 子 で 変 数 に 代 入 できます。<br />

ここではPRT0DRを 条 件 式 としてPORT0の 状 態 を 判 断 し、 何 も 押 され<br />

ていない 時 、すなわち0x00の 時 はPORT1の 値 は0に、P0[1]が 押 され<br />

てHになった 時 は、 変 数 aの 値 をPORT1に 対 して 出 力 しています。P0[2]<br />

についても 同 様 です。<br />

6 コードウインドウが 表 示 されます。コードはmain 関 数 の 中 に 記 述 し<br />

ていきます。プログラムは 次 のように 記 述 します。<br />

このようにPSoCマイコンではグラフィカルな 設 定 画 面 と、プログラミン<br />

グ 言 語 を 組 み 合 わせて 多 彩 なプログラムを 作 ることができます。<br />

void main()<br />

{<br />

unsigned short a = 0xAA, b = 0xF0;<br />

}<br />

while(1){<br />

switch(PRT0DR){<br />

case 0x00: PRT1DR = 0; break;<br />

case 0x01: PRT1DR = a; break;<br />

case 0x02: PRT1DR = b; break;<br />

}<br />

}<br />

大 文 字 ・ 小 文 字 は 間 違 えないように 注 意 して 入 力 します。<br />

7 記 述 できたら、ビルドしてHEXファイルを 作 りましょう。<br />

メニューバーの"Build"→"Generate/Build xxxx Project"をクリッ<br />

クします。(xxxxにはプロジェクト 名 が 入 ります)<br />

エラーが 表 示 されなければプロジェクトを 作 成 したディレクトリと<br />

同 じディレクトリにHEXファイルが 作 られています。<br />

15


■チュートリアル3 ~ADコンバーターで 取 得 した 値 をLCDに 表 示 する~<br />

PSoCマイコンにはADコンバーターが 搭 載 されています。 今 回 は12ビ<br />

ットのADコンバーターを 使 って、ピンに 印 加 された 電 圧 を 計 測 して、そ<br />

の 電 圧 値 をmV 単 位 で16 進 数 の 値 でLCDに 表 示 させるプログラムを 作<br />

ってみましょう。<br />

ADコンバーターの 使 い 方 やLCDに 文 字 を 表 示 する 例 などが 学 べます。<br />

なおADコンバーターのアナログ 電 圧 入 力 はP0[1]ピンとします。<br />

1 PSoC Designerを 起 動 します。 新 規 にプロジェクトを 作 成 しましょ<br />

う。 使 用 するプロジェクトのタイプは、"Chip-level Project"にしま<br />

す。 使 用 するデバイスはCY8C29466を、 言 語 はC 言 語 を 使 用 しま<br />

す。それぞれ 設 定 してください。<br />

したいのですが、それには 少 し 工 夫 が 必 要 です。<br />

今 回 は、PGAというアンプモジュールを 使 用 して 入 力 ピンを 自 在 に<br />

変 更 していきます。PGAモジュールは 単 に 入 力 ピンを 変 更 するため<br />

だけに 使 用 するモジュールなのでゲイン( 増 幅 率 )は 全 く 必 要 ないた<br />

めゲインは1とします。<br />

それでは 最 初 にADCINC12モジュールの 詳 細 から 設 定 しましょう。<br />

Workspace Explorerに 表 示 されている"ADCINC12_1"をクリック<br />

します。<br />

2 準 備 が 完 了 すると、インターコネクトのウインドウが 表 示 されます。<br />

最 初 に 必 要 なUser Modulesを 配 置 していきましょう。 今 回 使 用 する<br />

モジュールは 次 の3つです。<br />

・ADCINC12 ・・・12ビットのADコンバーターです<br />

・PGA ・・・ 非 反 転 内 部 増 幅 器 (アンプ)です<br />

・LCD ・・・LCD 制 御 用 です<br />

最 初 にADCINC12を 配 置 します。User Modulesのツリーから"ADC<br />

s"を 展 開 します。その 中 から"ADCINC12"を 右 クリックして"Place"<br />

をクリックして 配 置 します。<br />

5 プロパティが 変 更 できるようになりますので、 画 面 左 側 のPropertie<br />

s 画 面 で 次 のように 入 力 します。<br />

TMR Clock VC2<br />

CNT Clock VC2<br />

Input ACB00<br />

ClockPhase Norm<br />

続 いて、PGAも 配 置 しましょう。"Amplifires"ツリーを 展 開 して、その<br />

下 にある"PGA"を 右 クリックして"Place"を 選 択 して 配 置 します。<br />

この 設 定 をしたところで、PSoCブロックの 画 面 を 見 てみましょう。<br />

下 側 を 見 るとアナログPSoCブロックがあり、PGA_1とADCINC12<br />

_1が 配 置 されています。<br />

上 記 の 設 定 で、ADCINC12_1のアナログ 入 力 は、PGA_1モジュー<br />

ルのACB00と 接 続 されたことがわかります。<br />

さらに、LCDも 配 置 します。ツリーの"Misc Digital"を 展 開 して、その<br />

中 にある"LCD"を 右 クリックして、"Place"を 選 択 して 配 置 します。<br />

接 続 を 示 す 配 線<br />

これで 必 要 な3つのモジュールの 配 置 が 終 わりました。<br />

3 続 いて、MPU 本 体 のGlobal Resourcesを 設 定 しましょう。<br />

次 のように 設 定 してください。( 記 述 のない 項 目 はそのままです)<br />

VC1=SysClk/N 16<br />

VC2=VC1/N 8<br />

Analog Power SC On/Ref Low<br />

Ref Mux<br />

(Vdd/2)+/-(Vdd/2)<br />

6 続 いてPGA_1モジュールの 設 定 をしましょう。Workspace Explorer<br />

からPGA_1をクリックします。プロパティを 次 のように 設 定 します。<br />

特 にRef Muxの 設 定 を 間 違 えるとアナログ 電 圧 の 測 定 範 囲 が0V~<br />

+5Vでなくなってしまい 計 測 値 がおかしくなってしまいますので 設<br />

定 は 確 実 に 行 って 下 さい。<br />

VC2のクロックはADCINC12モジュールのクロック 源 とします。<br />

VC2=24MHz÷16÷8=187.5KHzとなります。<br />

4 ADコンバーターのモジュールADCINC12は、アナログ 電 圧 の 入 力<br />

として 選 択 できる 項 目 が 限 られています。 特 にI/Oピンから 直 接 入<br />

力 指 定 できるのはP2[1]だけです。 今 回 PORT2はLEDが 占 有 しま<br />

すので 使 用 できません。そこでP0[1]をアナログ 電 圧 の 入 力 ピンと<br />

Gain 1.000<br />

Input AnalogColumn_InputMUX_0<br />

Reference VSS<br />

AnalogBus Disabled<br />

この 設 定 で 増 幅 率 が1 倍 ( 増 幅 しない)で 基 準 がVssの 設 定 ができ<br />

ました。このPGA_1モジュールに 入 力 されるInputがアナログ 電 圧<br />

の 入 力 となるのですが、ここではマルチプレクサを 選 択 しました。マ<br />

ルチプレクサにてさらにどのI/Oピンと 接 続 するかを 決 めることに<br />

なります。<br />

16


7 PGA_1モジュールのすぐ 上 にあるマルチプレクサをクリックしま<br />

す。<br />

void main()<br />

{<br />

int adc_data;<br />

M8C_EnableGInt;<br />

ADCINC12_1_Start(3);<br />

PGA_1_Start(3);<br />

LCD_1_Start();<br />

LCD_1_Position(0,0);<br />

LCD_1_PrCString("AD From P0[1]");<br />

ADCINC12_1_GetSamples(0);<br />

メニューが 表 示 されますので、ここで Port_0_1 を 選 択 します。<br />

これでP0[1]が 入 力 に 設 定 されました。<br />

この 設 定 を 行 うとピンの 属 性 も 自 動 的 にアナログ 入 力 ピンとして<br />

設 定 されます。 試 しにPinoutの 一 覧 からP0[1]を 見 てみて 下 さい。<br />

SelectはAnalogInputに 設 定 されており、Driveはハイインピーダン<br />

スのアナログとなっていることが 分 かります。<br />

}<br />

while(1){<br />

while(ADCINC12_1_fIsDataAvailable() == 0);<br />

ADCINC12_1_ClearFlag();<br />

adc_data = ADCINC12_1_iGetData();<br />

adc_data += 2048;<br />

adc_data *= 1.22;<br />

LCD_1_Position(1,0);<br />

LCD_1_PrHexInt(adc_data);<br />

}<br />

10 プログラムが 記 述 できたらビルドしてください。<br />

エラーがなければ、プロジェクトを 作 成 したディレクトリと 同 じディ<br />

レクトリにHEXファイルが 生 成 されています。<br />

8 最 後 にLCDの 設 定 を 行 います。Workspace ExplorerからLCD_1を<br />

選 択 します。プロパティの 一 覧 で、"LCDPort"の 設 定 を"Port_2"に<br />

設 定 してください。<br />

※PSD-300EX4のLCDはPORT2に 接 続 されているためです。<br />

9 プログラムを 記 述 していきましょう。<br />

Workspace Explorerからmain.cをダブルクリックして 開 きます。<br />

11 書 き 込 む 前 にPSD-300EX4 本 体 の 設 定 を 行 いましょう。<br />

今 回 はLEDは 使 用 しませんのでSW1~SW4はすべてOFF 側 に 設 定<br />

します。<br />

ADコンバーター 用 のボリュームを 使 用 します。 使 用 するのは3つあ<br />

るボリュームのうち 左 側 のP1ボリュームです。P1ボリュームのすぐ<br />

上 にあるJ3ジャンパーをP0[1]と 書 かれたソケットに 装 着 します。<br />

P0[1]のソケットに<br />

装 着 します。<br />

コードウインドウが 開 きますので、 次 のようにプログラムを 記 述 して<br />

ください。<br />

12 ボードの 設 定 が 完 了 したらPSoCプログラマーでプログラムを 書 き<br />

込 んで 下 さい。LCDに 文 字 が 表 示 されることを 確 認 しましょう。<br />

1 行 目 は AD From P0[1] という 文 字 列 が 表 示 されており、2 行 目<br />

に4 桁 の 数 値 が 表 示 されています。<br />

表 示 は16 進 数 で 電 圧 値 をミリV 単 位 で 表 示 しています。<br />

P1のボリュームを 回 転 させると 値 が 変 わることが 確 認 できます。<br />

16 進 数 ですので、 関 数 電 卓 等 で10 進 数 に 変 換 すると 分 かりやすい<br />

値 となります。<br />

17


プログラムの 仕 組 みを 考 えてみましょう。<br />

■チュートリアル4<br />

~RS232C 通 信 をしてみよう~<br />

このプログラムではADコンバーターで 取 得 した 値 をLCDに 表 示 すると<br />

いうものですが、ADコンバーター 用 のUser Moduleが 開 発 者 が 望 む 入<br />

力 ピンの 設 定 にできないことから、PGAモジュールというアンプを 使 い<br />

ました。PGAの 入 力 ピンはマルチプレクサに 接 続 されているため、ある<br />

程 度 自 由 に 入 力 ピンを 選 択 できるという 利 点 があります。<br />

ADコンバーターは 変 換 処 理 から 変 換 完 了 を 示 すために 割 り 込 み 処 理<br />

を 使 用 しています。そのためプログラム 中 では 割 込 を 有 効 にするため<br />

M8C_EnableGInt を 記 述 して 割 込 を 有 効 に 設 定 しました。<br />

各 種 モジュールをスタートさせるわけですが、ADCINC12_1_Start(3)<br />

の 引 数 3は、フルパワーモードということを 示 しています。 詳 しくはデー<br />

タシートに 記 載 があります。<br />

LCDの 使 い 方 は 簡 単 です。プロパティでポートを 指 定 することで 使 用 す<br />

ることができます。PSD-300EX4は、 標 準 的 な 推 奨 されている 結 線 と<br />

なっているため 特 に 変 更 が 必 要 ありませんでしたが、 特 殊 な 配 線 をして<br />

しまうと、 配 線 の 定 義 が 面 倒 です。<br />

LCDで 文 字 列 を 表 示 する 場 合 には、 先 に LCD_1_Position(0,0) の<br />

ように 表 示 する 座 標 位 置 を 指 定 しておきます。<br />

文 字 列 としてそのまま 出 力 する 場 合 には<br />

LCD_1_PrCString("STRING") のようにして 文 字 列 をダブルクォーテー<br />

ションで 囲 みます。<br />

PSD-300EX4にはRS232C 通 信 実 験 が 簡 単 にできるようにMAX232<br />

のレベル 変 換 ICを 搭 載 したRS232Cポートが 用 意 されています。パソ<br />

コンのRS232Cポートと 全 結 線 ストケートケーブルで 接 続 することで、<br />

パソコンとRS232C 通 信 ができます。<br />

本 チュートリアルでは 簡 単 なRS232Cプログラムを 作 ってその 動 作 を<br />

確 認 してみましょう。 動 作 内 容 は、パソコン 側 から'A'という 文 字 列 (0x4<br />

1)を 送 信 すると、P1[0]のLEDが 点 灯 すると 共 に、"ON"という 文 字 列 を<br />

パソコン 側 に 返 します。<br />

パソコン 側 から'B'(0x42)という 文 字 を 送 信 するとP1[0]のLEDは 消 灯<br />

し、"OFF"という 文 字 列 を 返 すプログラムを 作 ってみましょう。<br />

1 PSoC Designerを 起 動 します。 新 規 にプロジェクトを 作 成 しましょ<br />

う。 使 用 するプロジェクトのタイプは、"Chip-level Project"にしま<br />

す。 使 用 するデバイスはCY8C29466を、 言 語 はC 言 語 を 使 用 しま<br />

す。それぞれ 設 定 してください。<br />

2 準 備 が 完 了 すると、インターコネクトのウインドウが 表 示 されます。<br />

最 初 に 必 要 なUser Modulesを 配 置 していきましょう。 今 回 使 用 する<br />

モジュールはDigital Commの 下 にあるUARTモジュールです。<br />

ADCINC12_1_GetSamples(0) は、 恒 久 的 にADコンバーターの 取<br />

得 を 行 いますという 意 味 の 記 述 です。<br />

ADCINC12_1_fIsDataAvailable() は、データの 取 得 が 完 了 して 読 み<br />

取 りが 可 能 となった 時 に0 以 外 の 値 を 返 します。よって0の 間 は 待 機 し<br />

ますので、while 文 を 使 って 値 が 取 得 できるのを 待 機 しています。<br />

受 信 したデータはint 型 変 数 のadc_dataにそのまま 代 入 演 算 子 を 使 っ<br />

て ADCINC12_1_iGetData() で 代 入 しています。 戻 り 値 は16ビット<br />

の 値 となっていることに 注 意 が 必 要 です。よってそのままの 場 合 戻 り 値<br />

は、0xF800~0x7FFFという 値 の 範 囲 となってしまい、そのまま 理 解 す<br />

るのが 難 しいので、ここでは0x0000~0xFFFFという 範 囲 で 値 が 出 力<br />

されるように adc_data += 2048 で2048を 足 しています。<br />

変 数 の 値 をLCDに 文 字 列 として 出 力 する 場 合 にはPSoC 用 Cコンパイラ<br />

ーには2つの 関 数 があります。1つは8ビットとして2 桁 で16 進 数 で 出 力<br />

する LCD_PrHexbyte( ) と16ビットで4 桁 で 出 力 する<br />

LCD_PrHexInt( )です。 今 回 は16ビットで 出 力 する 関 数 を 使 用 しまし<br />

た。 残 念 ながら10 進 数 で 表 示 する 関 数 は 標 準 では 用 意 されていないた<br />

め、16 進 数 表 記 となります。<br />

選 択 したらPlaceで 配 置 してください。<br />

3 続 いてGlobal Resorcesの 設 定 をします。ここで 重 要 なのはUARTの<br />

通 信 速 度 に 合 わせてUARTモジュールに 与 えるクロックの 値 を 適 切<br />

に 計 算 して 設 定 しなければならないということです。<br />

今 回 は 送 信 速 度 を9600bpsとして 計 算 してみましょう。PSoCデバ<br />

イスの 周 波 数 は24MHzでCPU Clockは8で 割 れるので、 次 のような<br />

計 算 式 となります。<br />

9600 = 24M÷8÷X とするとX=312.5となります。 端 数 は 切 り<br />

捨 てて312として、これを 適 当 にVC1とVC3で 分 周 して9600を 作<br />

ればよいので、 適 当 にVC1の 分 周 する 値 を 割 り 切 れる 値 として12<br />

分 周 とし、のこり26 分 周 をVC3で 行 うことにしましょう。<br />

24M÷8÷12÷26≒9615.38... となり 約 9600に 近 似 できま<br />

す。 次 のように 設 定 しましょう。<br />

CPU Clock SysClk/8<br />

VC1=SysClk/N 12<br />

VC3 Source VC1<br />

VC3 Divider 26<br />

※その 他 の 値 はデフォルトのままでかまいません。<br />

4 続 いてUARTモジュールのプロパティを 設 定 しましょう。<br />

次 のように 設 定 します。<br />

Clock<br />

RX Input<br />

TX Output<br />

TX Interrupt Mode<br />

ClockSync<br />

VC3<br />

Row_0_Input_0<br />

Row_0_Output_1<br />

TX Complete<br />

Sync to SysClk<br />

18


この 設 定 では、UARTモジュールのクロックは 先 ほど 計 算 で 算 出 し<br />

たVC3を 選 択 しています。<br />

RXすなわち 受 信 したデータの 入 力 はPSD-300EX4ボードの 使 用<br />

からP0[0]としたいので、Row_0_Input_0と 設 定 しました。<br />

同 様 にしてTXすなわち 送 信 データはP0[1]としたいのでRow_0_O<br />

utput_1と 設 定 しました。<br />

8 同 様 にしてRX 側 も 接 続 します。RXは 受 信 データ、すなわちPSoC 側<br />

から 見 れば 入 力 です。よって、グローバルインプットバスと 接 続 する<br />

ことになります。すでに、UARTモジュールのRX 側 の 入 力 ピンは、<br />

RI0[0]と 接 続 されており、その 線 はGIE0と 接 続 されていると 思 いま<br />

す。<br />

5 PSoCブロックをバスと 接 続 して、 最 終 的 なI/Oピンと 接 続 しましょ<br />

う。 最 初 にTX 側 から 設 定 します。TXは 送 信 データ、すなわちPSoC 側<br />

から 見 ると 出 力 です。よって、 出 力 用 のGOO 又 はGOEのグローバル<br />

アウトプットバスに 接 続 することになります。 今 回 はTXピンをP0[1]<br />

とします。 奇 数 ですのでGOEと 接 続 します。<br />

RO0[1]の 右 端 の 四 角 い 部 分 をクリックします。<br />

すでに 接 続 されています。<br />

9 I/Oピンの"Port_0_0"をクリックします。<br />

Selectメニューから"GlobalInEven_0"を 選 択 します。<br />

.<br />

選 択 したらOKボタンを 押 します。 配 線 が 接 続 されたことが 確 認 出<br />

来 ます。<br />

6 クリックするとDigital Interconnectのダイアログが 表 示 されますの<br />

で、 一 番 上 の△をクリックして、GrobalOutputEven_1を 選 択 して 接<br />

続 します。<br />

10 ピンの 属 性 を 設 定 します。UARTで 使 用 するP0[0]とP0[1]は 自 動<br />

的 に 設 定 が 完 了 しています。<br />

ただし、LEDの 点 灯 をさせるP1[0]については 手 動 で 設 定 しなけれ<br />

ばなりません。P1[0]のDriverをStrongに 設 定 してください。<br />

選 択 したらCloseボタンを 押 して 閉 じます。GOE_1のラインと 接 続<br />

されていることが 確 認 出 来 ます。<br />

7 最 終 的 なピンとなるI/Oピンを 指 定 します。"Port_0_1"をクリック<br />

します。<br />

メニューが 表 示 されますので、その 中 から"GrobalOutEven_1"をク<br />

リックして 選 択 します。 選 択 したらOKボタンを 押 すと 接 続 されてい<br />

ることが 確 認 できます。<br />

19


11 続 いてプログラムを 記 述 します。main.cを 開 いて 下 さい。<br />

下 記 のように 記 述 します。<br />

void main()<br />

{<br />

char rec_data;<br />

UART_1_CmdReset();<br />

UART_1_Start(UART_1_PARITY_NONE);<br />

戻 った 文 字 列 です。<br />

同 様 にして 文 字 'B'を 送 信 すると、LEDは 消 灯 し、 OFF という 文 字<br />

列 が 返 ります。<br />

}<br />

while(1){<br />

rec_data = UART_1_cGetChar();<br />

if(rec_data == 0x41){<br />

PRT1DR = 0x01;<br />

UART_1_CPutString("ON¥r¥n");<br />

}<br />

if(rec_data == 0x42){<br />

PRT1DR = 0x00;<br />

UART_1_CPutString("OFF¥r¥n");<br />

}<br />

rec_data = 0;<br />

}<br />

プログラムの 仕 組 みを 見 てみましょう。<br />

PSoCマイコンではボーレートの 設 定 はそのままUARTモジュールに 供<br />

給 されるクロックの 速 さとなっていることに 注 目 してください。システ<br />

ムクロックをVC1~3までを 使 って 分 周 して 希 望 のボーレートになるよ<br />

う 分 周 比 を 設 定 することで 通 信 速 度 を 設 定 できます。<br />

その 他 には、Counter8モジュールというユーザーモジュールを 使 ってタ<br />

イミングを 作 り 出 し、それでボーレートのタイミングを 作 ることもできま<br />

す。こちらのほうがより 正 確 な 値 となります。<br />

受 信 するデータはchar 型 の 変 数 rec_dataに 格 納 しています。<br />

UART_1_cGetChar() 関 数 で 値 をUARTから 取 得 します。 戻 り 値 は8<br />

ビット 長 です。その 値 をif 文 で 判 定 して 分 岐 しています。もちろんswitch<br />

文 でも 可 能 ですが 先 のチュートリアルで 使 いましたので 今 回 はあえてif<br />

文 を 使 用 してプログラムを 作 りました。<br />

記 述 を 終 えたらビルドしてください。<br />

11 書 き 込 む 前 にPSD-300EX4の 設 定 をしておきましょう。<br />

今 回 はLEDはP1[0]を 使 用 しますので、ディップスイッチSW4はPO<br />

RT1だけON 側 に 設 定 しておきます。 後 はOFF 側 とします。<br />

RS232C 通 信 を 使 用 しますので、ディップスイッチSW1の 設 定 を 行<br />

います。RXはP0[0]、TXはP0[1]をそれぞれONにセットします。<br />

間 違 えると 正 しく 動 作 しませんのでよく 確 認 してください。<br />

0x41はASCIIコードの 文 字 A、0x42はBです。 値 の 代 わりにシングルク<br />

ォーテーションで 文 字 を 囲 って 'A' と 記 述 してもかまいません。<br />

UART_CPutString 関 数 は、 文 字 列 をUART 経 由 で 出 力 する 関 数 です。<br />

この 他 にRAMの 内 容 を 出 力 する 関 数 など 多 彩 な 組 込 関 数 が 用 意 され<br />

ていますので、 興 味 のある 方 はUARTモジュールのデータシートをご 覧<br />

下 さい。<br />

12 プログラムを 書 き 込 んで 下 さい。<br />

実 際 の 動 作 を 確 認 してみましょう。シリアルターミナルからデータを<br />

送 信 したり 受 信 したりします。シリアルターミナルは、 愛 用 のものが<br />

あればそれをご 利 用 下 さい。もしなと 場 合 には、 当 方 でフリーソフト<br />

として"MT Term"というソフトウエアをWEB 上 で 配 布 しています。 下<br />

記 サイトからダウンロードできますので、お 試 し 下 さい。<br />

http://www.microtechnica.net/manual/<br />

通 信 速 度 は9600bps、データ 長 は8ビット 長 、1ストップビット、ノン<br />

パリティの 設 定 で 通 信 してください。パソコンとの 接 続 は 全 結 線 の<br />

ストレートケーブルを 使 用 します。<br />

文 字 'A'を 送 信 すると、P1[0]のLEDが 点 灯 して ON という 文 字 列<br />

がパソコン 側 に 返 ってます。<br />

20


System-level Projectを 使 ってみよう<br />

■System-level Projectとは?<br />

PSoC Designerには、System-level Projectと 呼 ばれるプログラミン<br />

グ 言 語 を 全 く 使 用 せずGUIだけで 配 線 や 配 置 を 行 い、 自 動 的 にプログ<br />

ラムを 生 成 するソフトウエアです。<br />

以 前 はPSoC Expressと 呼 ばれPSoC Designerとは 別 のソフトウエア<br />

でしたが、バージョン5.0からはPSoC Designerと 統 合 され、 新 しいプ<br />

ロジェクトを 作 成 する 段 階 で 選 択 できるようになりました。<br />

5 Add Input Driverというダイアログが 表 示 されますので、そのまま<br />

OKボタンを 押 します。すると、 灰 色 のデザインウインドウに"Input1"<br />

というブロックが 追 加 されます。<br />

※ 画 面 が 小 さい 場 合 には、デザインウインドウ 内 の 余 白 部 分 を 右 ク<br />

リックして"Zoom In"を 選 択 すると 拡 大 できます。<br />

GUIだけでプログラムを 作 るというのはおもしろい 発 想 ですが、 本 格 的<br />

なプログラムを 作 ろうとした 場 合 には、 逆 に 作 りにくいこともあります。<br />

かえって 文 章 で 記 述 していける 従 来 のプログラミングの 方 が 直 感 的 で<br />

分 かりやすいという 場 合 もあり、 使 い 分 けが 肝 心 です。<br />

■プログラムを 作 ってみよう<br />

6 同 様 の 要 領 で 出 力 も 追 加 します。 左 側 のカテゴリー 一 覧 の"Output<br />

s"タブをクリックして、ツリーから"Digital Output"を 開 き、"Logic<br />

Output"をデザインウインドウにドラッグアンドドロップします。<br />

"Output1"が 追 加 されました。<br />

本 マニュアルでは、サンプルとしてP0[1]のスイッチが 押 されたら、<br />

P1[0]のLEDが 点 灯 するプログラムを 作 ってみましょう。<br />

まず 最 初 にPSD-300EX4ボード 本 体 の 設 定 を 行 いましょう。<br />

SW4のディップスイッチは、PORT1だけONに 設 定 し、その 他 はOFF 側<br />

に 設 定 します。スイッチ 入 力 はアクティブハイ(スイッチが 押 されたとき<br />

Hレベル)としますので、タクトスイッチ 左 横 のジャンパーJ2は、Vcc 側 に<br />

セットしておきます。<br />

1 PSoC Designerを 起 動 し、メニューバーの"File"から"New Project<br />

"を 選 択 します。<br />

↓<br />

2 ダイアログが 表 示 されますので、"System-level Project"のアイコ<br />

ンをクリックして 選 択 し、Name 欄 にプロジェクト 名 を、"Browse"ボ<br />

タンを 押 してプロジェクトの 保 存 先 を 指 定 してOKボタンを 押 しま<br />

す。ここでは 例 として"LEDTEST"という 名 前 でプロジェクトを 作 り<br />

ます。<br />

3 まず 機 能 ブロックから 配 置 していきます。 今 回 は 入 力 はデジタル 入<br />

力 で 内 部 プルダウンのものを 使 用 します。<br />

左 上 のツリー 一 覧 の 下 側 にあるタブから"Input"を 選 択 します。<br />

7 この2つの 入 力 と 出 力 のブロックに 関 係 性 を 持 たせ、 動 作 するよう<br />

にしていきます。 関 係 性 を 設 定 する 場 合 には 必 ず 出 力 側 のブロック<br />

から 設 定 します。<br />

"Output1"のブロックを 右 クリックします。メニューが 表 示 されます<br />

ので、"Transfer Function"をクリックします。<br />

8 "Select Transfer Function"ダイアログが 表 示 されますので、 左 側<br />

から"TableLookup"をクリックしてOKボタンを 押 します。<br />

9 "Select Input"ダイアログが 表 示 されますので、"Input1"を 選 択 して<br />

"Next"ボタンを 押 します。<br />

4 Inputカテゴリーから"Digital Input"を 選 択 し、 続 いて"Generic Pin"<br />

を 選 択 します。するとツリー 構 造 でその 下 に3つの 項 目 が 表 示 され<br />

ます。"InternalPullDown"の 項 目 を、 右 側 の 灰 色 の 画 面 (デザインウ<br />

インドウ)にドラッグアンドドロップします。<br />

10 "Table Lookup Output1"ウインドウが 開 きます。<br />

ここで、Input1がどのような 状 態 の 時 に、Output1がどのような 状<br />

態 にしたいのかをブロックをドラッグアンドドロップすることで 指 定<br />

します。<br />

黄 色 ブロックをそれぞれ 右 側 の"Low"と"High"と 書 かれた 灰 色 の 部<br />

分 にドラッグアンドドロップします。<br />

Input、すなわちボタンの 入 力 がHレベルの 時 、LEDを 点 灯 させ、Lレ<br />

ベルの 時 LEDを 消 灯 させたいので、 次 の 図 のように 配 置 します。<br />

21


12 次 にピンの 関 係 性 を 指 定 します。"User Pin Assignment"ダイアロ<br />

グが 開 きます。 今 回 は「P0[1]のスイッチが 押 されたら、P1[0]のLE<br />

Dが 点 灯 するプログラム」ですので、InputをP0[1]に、OutputをP1<br />

[0]に 設 定 します。 青 く 表 示 されている"Input"のピンをドラッグして、<br />

4ピンのP0[1]の 所 でドロップします。<br />

↓ 配 置 後<br />

同 様 にして、"Output1"を15ピンのP1[0]の 所 にドラッグアンドドロ<br />

ップします。 下 図 のように4ピンと15ピンにそれぞれInput1とOutpu<br />

t1がアサインされます。<br />

配 置 が 完 了 したらOKボタンを 押 します。<br />

11 デザインウインドウに 戻 ると、"Input1"と"Output1"のブロックが 橙<br />

色 の 線 で 結 ばれています。これで、 入 力 と 出 力 の 関 係 性 を 指 定 でき<br />

ました。 最 後 にビルドをします。<br />

なお、デザインウインドウ 上 の"Simulation"ボタンをクリックすると<br />

入 力 と 出 力 の 関 係 をシミュレーションして 動 作 させることができま<br />

す。<br />

メニューバーの"Build"から"Generate/Build xxxx Project"をクリ<br />

ックします。すると、"PSoC Device Configuration Selection"ダイ<br />

アログが 表 示 されます。<br />

ここでデバイスを 選 択 します。CY8C29466を 選 択 しましょう。<br />

"CY8C29000"ツリーを 展 開 し、"CY8C29466, 28-Pin"を 選 択 し<br />

て、Nextボタンを 押 します。<br />

12 Nextボタンを 押 すとビルドが 開 始 されます。<br />

ダイアログが 表 示 され 進 捗 状 況 が 表 示 されます。<br />

ビルドが 完 了 すると、HEXファイルは、プロジェクトを 作 成 したフォル<br />

ダ 内 に 生 成 されています。そのHEXファイルをPSoCライターで 書 き<br />

込 みます。<br />

13 書 き 込 み 後 、 動 作 を 確 認 しましょう。<br />

P0[1]のスイッチが 押 されたら、P1[0]のLEDが 点 灯 することを 確<br />

認 します。<br />

このようにPSoC DesignerのSystem-level Projectを 使 うと、プログ<br />

ラムの 記 述 を 一 切 しないでもプログラムを 作 れます。<br />

今 回 は 簡 単 なプログラムでしたのでそれほど 複 雑 ではありませんでし<br />

たが、 色 々な 機 能 ブロックを 複 数 組 み 合 わせてある 程 度 複 雑 なプログ<br />

ラムをプログラミングなしで 作 ることができます。<br />

但 し、かえって 動 作 内 容 の 把 握 が 難 しくなってしまったり、 図 が 複 雑 にな<br />

ってわかりにくくなったりしてしまうこともあります。 場 合 によって 使 い<br />

分 けることでPSoCマイコンの 応 用 が 広 がると 思 います。<br />

マイクロテクニカ<br />

〒158-0094 東 京 都 世 田 谷 区 玉 川 1-3-10<br />

TEL: 03-3700-3535 FAX: 03-3700-3548<br />

(C)2009 Microtechnica All rights reserved<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!