PSoC Expressデモ基板をI2C-USBブリッジとして使用する
【Capsense】PSoC スレ 其の四【USB】より
- 641 :774ワット発電中さん [sage] :2007/07/08(日) 23:37:32 ID:tvOE8YhW
- >>638が書いてるI2C_USBキットだが、その簡易版をセミナー配布基板でやってみた。
(またそのネタかい!w)
使うのは配布基板右上にある、USB対応のCY8C24894。
■準備その1(I2CスレーブをP1.5とP1.7に接続する場合)
配布基板のP1.5/P1.7は基板上でPSoC間を相互接続しているので、同じ基板上にある
他のPSoCをI2Cでモニタする場合に使用する。
1. Application Note AN2352 (ttp://www.cypress.com/design/AN2352)のan2352.zipを
ダウンロード、展開。
2. BridgeFirmware\usbtoiic.hexを、配布基板右上のCY8C24894に書き込み。
3. PSoC Express 3.0でI2Cスレーブになるプログラムを作成し、配布基板の右上以外の
PSoCに書き込み。I2CバスのピンはP1.5とP1.7に割り当てること。
番外. 以前>>547-550に書いたcsmasterを基板右下のPSoCに書き込んである場合、
こいつもI2CマスタになってI2Cバスを取り合い正常な値が取れないので、
I2Cマスタにならないプログラムを上書きしておく必要がある。
(ttp://www35.tok2.com/home/xcrosgs2wy/i2usb/src/nomaster.hex をどうぞ。)
■準備その2(I2CスレーブをP1.0とP1.1に接続する場合)
配布基板のP1.0/P1.1はISSPコネクタに出ているので、I2Cスレーブに外部接続可能。
ただし、配布基板のP1.0/P1.1はI2Cに必要なプルアップ抵抗が入っていないので、
I2Cスレーブ側に2K〜10K程度のプルアップ抵抗が必要。
なお、配布基板のI2C相互接続ジャンパを使う場合は、相互接続回路側に
プルアップ抵抗が入っているので、別途追加の必要はない。
1. Application Note AN2352 (ttp://www.cypress.com/design/AN2352)のan2352.zipを
ダウンロード、展開。
2. BridgeFirmware\USB_I2C_1_22\main.cを以下のように変更する。
25行目,26行目,187行目のコメントアウトを外す。
27行目,28行目をコメントアウトする。
3. BridgeFirmware\USB_I2C_1_22\USBtoIIC.SOCをPSoC Designerで開き、ビルド。
4. 生成されたHEXファイルを、配布基板右上のCY8C24894に書き込み。
(ttp://www35.tok2.com/home/xcrosgs2wy/i2usb/src/usbtoiic2.hex をどうぞ。)
5. PSoC Express 3.0でI2Cスレーブになるプログラムを作成し、ターゲットに書き込み。
配布基板のPSoCを使う場合は、I2CバスのピンをP1.0とP1.1に割り当てること。
6. I2CスレーブになるターゲットのI2CバスとJ12の4番,5番を接続。配布基板のPSoCを
使う場合は、I2C相互接続ジャンパをショートする。
- 642 :774ワット発電中さん [sage] :2007/07/08(日) 23:38:22 ID:tvOE8YhW
- ■モニタ手順
1. 配布基板の右上のボリュームのワイパ位置を中央あたりにしておく。(最大、
最小以外なら適当でいい。)
2. 配布基板の右上のUSBコネクタにケーブルを接続。HIDデバイスとして認識する。
この時点で基板上の全デバイスに電源が入るので注意。
3. PSoC Express 3.0上でI2Cスレーブとなるターゲットアプリを開き、Monitorボタンを
押す。ボタン右側の(|>)(□)の右にConnectedと表示されることを確認。
(ちなみに、ここでUSBケーブルを抜くとNot Connectedに変わる。)
4. (|>)ボタンを押してモニター開始。レジスタの値が(若干タイムラグはあるが)
リアルタイムに変わるはず。
5. Tuner対応ユーザモジュール(CSDボタン等)を使っている場合は、そのユーザモジュールを
右クリックしてShow Tuner...を選択するとTuner Windowが表示される。
6. (□)ボタンでモニター停止。
とまぁ、こんなとこで。
やってみると結構面白い。
戻る