<回路図>

回路図(PDF)

外形寸法ガバーデータ(PCB用ガバービューワでご覧ください)

<基板裏面から見た信号>
CN1 CN2
GND 1 2 GND GND 1 2 GND
EVCCIO 3 4 +3V3 +5V 3 4 +3V3
EMAX2_VCC 5 6             VBUS 5 6            
            7 8                         7 8            
EIFCLK 9 10 CLKOUT_CLK12 INT0 9 10 SDA
FD15_IO4 11 12 FD14_IO3 SCL 11 12 IO41
FD13_IO2 13 14 FD12_IO7 IO42 13 14 IO43
FD11_IO8 15 16 FD10_IO15 IO44 15 16 IO47
FD9_IO16 17 18 FD8_IO17 IO48 17 18 IO49
WAKEUP 19 20 RESET IO50 19 20 IO51
IO1 21 22 IO100 IO52 21 22 IO53
IO99 23 24 IO98 IO54 23 24 IO55
IO97 25 26 IO96 IO56 25 26 IO57
IO95 27 28 IO92 IO58 27 28 IO61
IO91 29 30 IO89 CLK62 29 30 CLK64
IO87 31 32 IO86 IO66 31 32 IO67
IO85 33 34 IO84 IO68 33 34 IO69
IO83 35 36 IO82 IO70 35 36 IO71
IO81 37 38 IO78 IO72 37 38 IO73
IO77 39 40 IO76 IO74 39 40 IO75
赤字:MAX2のIOバンク1(VCCIO1)

<製作>

キットが届きましたら部品を確認してください。
不足部品がある場合は、組み立てる前にご連絡ください。

部品 備考
IC実装済み専用プリント基板 1 FX2LP(CY7C68013A-56)、MAX2(EPM570T100C5)実装済み
クリスタル(24MHz) 1  
USB−Bコネクタ 1  
シリアルROM(24LC128) 1 SOPタイプ
レギュレータ(3.3V) 1 DPAKタイプ MC33269
チップ抵抗 2.2KΩ 2 222
チップ抵抗 10KΩ 3 103
チップ抵抗 100KΩ 2 104
チップ抵抗 33Ω 3 33R or 330
タンタルコンデンサ 10uF/10V 2 極性あり
チップコンデンサ .1uF 15  
チップコンデンサ 12pF 2  
レベル変換用TTL(1bit) 2 SN74LVC1T45(6pin SOT23)
レベル変換用TTL(8bit) 1 SN74LVC8T245(22pin TVSOP)
ピンヘッダ 1*2 1  
ジャンパピン 1  
極細はんだ 1  

<キットの組み立て>

20−30W程度の先端の細い半田ごて、ピンセット、フラックス、ルーペ(虫眼鏡)などを準備します。

基板の裏面から半田付けを行います。
まず、写真のようにソルダージャンパのブリッジ(写真赤丸部分)と、チップ部品の片側のランドに半田を盛ります。
(半田付けのテクニックについてはこちらも参照してください)
(ソルダージャンパの設定は後ほど詳しく説明しますが、とりあえず写真のようにショートしてください。)


セオリー通り背の低いチップ抵抗・コンデンサを半田付けします。

値が指定していないチップコンデンサは全て0.1uFです。

次はシリアルROMの半田付けです。1番ピンの向きに注意してください。

続いてレギュレータです。耳(タブ)の部分もしっかり半田付けします。
半田が付きにくいようでしたら、熱量の高い30−40Wの半田ごてを使用します。


裏面は完成ですので、表面の半田付けをします。
表面は、33Ωのチップ抵抗と、10uFのタンタルコンデンサを先に半田付けします。
タンタルコンデンサは極性がありますので、向きを間違えないようにします。


最後はクリスタル、ピンヘッダ、USBコネクタの順に半田付けして完成です。

PROM書き込み許可のジャンパピンを入れておきます。


<動作確認 〜デバイスドライバのインストール〜>

実際にPCに接続して動作確認を行うためには、デバイスドライバが必要です。

少々面倒なのですが、Cypressの提供するデバイスドライバには2種類あります。

一つはezusb.sysで今はディスコン(製造中止)になってしまった、EZ-USB(AN2131SCなど)用に提供されていたデバイスドライバです。
2年ほど前のFX2の開発キットでもezusb.sysが使われていたため、ezusb.sysを使用してFX2用のアプリケーションを開発している方もいます。
(オプティマイズのFX2のページでもこの古いデバイスドライバを前提に記述されています。)
こちらのデバイスドライバは既にCypressからは提供されなくなっていますので、新規アプリケーションでは使用しないほうが賢明です。

もう一つはCyUSB.sysと呼ばれる、最近のFX2LP開発キットで使用されているデバイスドライバです。CypressからはCyUSB.sysを使用するためのCyAPIと呼ばれるライブラリ群も提供されていますので、今後のアプリケーション開発ではこちらを使用することになります。

今回の「カメレオンUSB FX2」においては、新しいデバイスドライバであるCyUSB.sysを使用することにします。

CyUSB.sysデバイスドライバはCypressのHPで入手できるFX2LP用の開発キット(リンクが切れていたらCypressのHPでCY3684を検索してください)をインストールすると、自動的にデバイスドライバもインストールされます。

FX2LP用のファームウエアの開発を行わないのであれば、開発キットをインストールする必要はありません。
そのような方のために、デバイスドライバだけを抽出したものを用意しておきます。

ダウンロード CyUSB デバイスドライバ
(ダウンロード後解凍します。「カメレオンUSB FX2」をPCに接続するとデバイスドライバのインストール要求が表示されますので、解凍したディレクトリを指定してデバイスドライバーのインストールを行います。)

古いデバイスドライバ(ezusb.sys)を使用した開発キットを既にインストールされている方は、正しくCyUSB.sysがインストール出来ているか確認します。


Windowsのデバイスマネージャを開き、「Cypress EZ-USB.........」を選択して、プロパティを開きます。



「ドライバ」タブを選択して、「ドライバの詳細」をクリックします。



画面のようにCyUsb.sysが使用されていればOKです。
もし、CyUsb.sysではなく、ezusb.sysが表示されている場合は、前の画面の「ドライバの更新」をクリックして、
再度デバイスドライバのインストールを試みてください。


<動作確認 〜EEPROMとMax2の書き込み>

デバイスドライバの準備が出来ましたら、実際に「カメレオンUSB FX2」をPCに接続して動作させます。

ダウンロード 「カメレオンUSB FX2」ツール類

こちらに「カメレオンUSB FX2」で使用するツール関連がありますので、これをダウンロードして解凍します。
Windowsのコンソール画面(コマンドプロンプト・DOS窓)を開き、解凍したディレクトリに移動しておきます。

ツール名 用途
FX2WRID FX2に接続されるシリアルROMにID番号を書き込む。
ID番号は複数のFX2をPCに接続して使用するための番号です。
CUSBWR2 MAX2にロジックを書き込みます。入力ファイルはSVF形式です。
リードプロテクトを設定したり、消去のみなども出来ます。
SPD_CHK MAX2とPCアプリの間の上り・下りの限界データ転送速度を測定します。
転送速度はPCのチップセット、OS、組み込みドライバなどによって変動します。
実行するためにはMAX2にSPD_CHK.SVFを書き込む必要があります。

それでは実際に起動して動作確認を行います。下記のようなメッセージが表示されれば正常です。

各ツールの仕組みや、使い方などは別のページで解説しています。


<ジャンパの設定>

「カメレオンUSB FX2」にはピンジャンパとソルダージャンパ(半田ジャンパ)があります。


ピンジャンパは、ピンを入れた状態で「EEPROMが有効」、ピンを入れない状態で「EEPROMが無効」になります。
EEPROMを書き換える場合は、「EEPROMが無効」の状態でPCに接続して、デバイスとして認識させた後「EEPROMが有効」の状態にして、Cypressの提供するCyConsoleツールなどを使用してEEPROMの書き換えを行います。


ソルダージャンパは写真のように4箇所あります。
詳しくは回路図を参照していただく必要がありますが、簡単にまとめると表のようになっています。

状態 機能
SJ1 ショート 基板内蔵の3.3VレギュレータをUSBバスパワーで駆動する
オープン レギュレータは外部電源(+5V)で駆動する
SJ2 1-2ショート MAX2のI/Oバンク2をPCB内の3.3Vで駆動する
2-3ショート MAX2のI/Oバンク2を外部電源(EVCCIO)で駆動する
SJ3 1-2ショート MAX2のコア電源をPCB内の3.3Vで駆動する
2-3ショート MAX2のコア電源を外部電源(EMAX2_VCC)で駆動する
SJ4 ショート FX2 8051CPUの割り込み(INT0)を使用しない
(USB経由でMAX2のプログラムは可能)
オープン FX2 8051CPUの割り込み(INT0)を使用する
(USB経由でMAX2のプログラムは不可)

<ユニバーサルエリア・レベル変換TTL>

「カメレオンUSB FX2」にはちょっとした回路を組み込んで使うことの出来るユニバーサルエリアが存在します。


このユニバーサルエリアは、電圧レベル変換用TTLの信号端子にもなっています。
どの信号がどの端子に接続されているかは回路図を参照してください。

2電源レベル変換TTLはアプリケーションによって必要なケースと、全く不要なケースがありますので、実装はオプション扱いになっています。
またレベル変換TTLは双方向バスバッファで、DIRやOEといったコントロール信号があります。このコントロール信号はVCCA側の電圧の信号になります。
(VCCA側がMAX2側になるのか、外部の電圧側になるのかもアプリケーションに依存しますので、今回GNDピン以外は全て未接続にしてあります。)

レベル変換TTLの実装向きは下記の写真を参考にしてください。


<JTAG信号>

「カメレオンUSB FX2」ではMAX2のプログラムはCUSBWR2ツールを使用して行います。
USBケーブルを解してMAX2のプログラムが行えるため便利ではありますが、CUSBWR2ツールはアルテラのデザイン開発ツールQuartus2と連動していないため、デザインの開発では効率的とはいえません。

そこでJTAG信号を「カメレオンUSB FX2」のユニバーサルエリアに引き出し、アルテラ標準の書き込みツールで開発を行うことも可能です。
JTAG信号は引き出しやすいように、大き目のスルーホールを使用していますので、こちらから引き出してください。