USBæ¥ç¶PSoCããã°ã©ãæè¼ PSoCãã¤ã³ã³éçºç¨ ... - ãã¤ã¯ããã¯ãã«
USBæ¥ç¶PSoCããã°ã©ãæè¼ PSoCãã¤ã³ã³éçºç¨ ... - ãã¤ã¯ããã¯ãã«
USBæ¥ç¶PSoCããã°ã©ãæè¼ PSoCãã¤ã³ã³éçºç¨ ... - ãã¤ã¯ããã¯ãã«
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