LOGIC BOY

LOGIC BOY

LOGIC BOY BOARD

FlashAir、ピンヘッダ、外部に接続してある LED と抵抗、リード線、ネジは付属しません。 ピンヘッダは別途お求めの上、ハンダ付けして下さい。

回路図、FlashAir 用 Web アプリケーション、モニタ・プログラムのソースコードが含まれる LOGIC BOY アーカイブは、お買い求め頂いた方にメールでお送りします。

LOGIC BOY とは?

Xilinx XC3S50A FPGA と Atmel XMEGA128D4 マイコンが付いた、シンプルなマイコン&論理回路実験ボード

SD カード (SDHC カード、東芝 FlashAir を含む) に記録したコンフィグレーション (BIT ファイル) を FPGA にダウンロードして実行できる。
コンフィグレーションは、SD カードから直接ダウンロードすることも、一旦マイコン内のフラッシュメモリに記録して、マイコン内のフラッシュメモリからダウンロードすることもできる。

SD カード に記録したプログラム (HEXファイル) をマイコンに書き込んで実行できる。

FlashAir W-02 / W-03 を使えば、WiFi を経由して Web ブラウザから BIT ファイル、HEX ファイルをアップロードでき、FPGA のコンフィグレーション、マイコンのプログラムの書き込みができる。

使い方

スライドスイッチを左 (Program&Download) にスライドし、5V の電源を接続。電源コネクタは、外形 5.5mm、センター 2.1mm、センターがプラス。Reset XMEGA ボタンを押してマイコンをリセット。

FPGAのコンフィグレーション

直接ダウンロード

SD カードから FPGA にコンフィグレーション・データを直接ダウンロードする。

SD カードのルートディレクトリLOGICBOY.BIT という名前の FPGA のコンフィグレーションファイル (54756 バイト) を置き、LOGIC BOY に挿入、SD->FPGA (direct) ボタンを押す。LEDが一度点滅すれば成功。二度点滅したらエラー。

間接ダウンロード

SD カードからマイコンのフラッシュメモリに一旦、コンフィグレーションデータを書き込み、マイコンのフラッシュメモリから FPGA にダウンロードする。

SD カードのルートディレクトリLOGICBOY.BIT という名前の FPGA のコンフィグレーションファイル (54756 バイト) を置き、LOGIC BOY に挿入、SD->FLASH (FPGA) ボタンを押す。2秒ほどして LED が一度点滅すればマイコンのフラッシュメモリへの書き込み成功。二度点滅したらエラー。

FLASH->FPGA ボタンを押すと、マイコンのフラッシュメモリから FPGA にコンフィグレーションデータがダウンロードされる。

FPGAのクロックとリセット

外部に出ているマイコン・ポートのうち、PD7 には 32MHz のクロックが出力されている。PB3出力に設定されており、FPGAへのダウンロードが終了した時点で負論理のリセット信号が出る。これらを FPGA に繋いで使用することができる。

マイコンのプログラム

SD カードのルートディレクトリLOGICBOY.HEX という名前の XMEGA のプログラムを置き、SD->FLASH (XMEGA) ボタンを押す。LED が一度点滅すれば成功。二度点滅したらエラー。スライドスイッチを右 (Application) にすると、0番地に飛びプログラムが走る

マイコンのプログラムは 0000h - ffffh の 64K バイトに収まっている必要がある。10000h - 1d7ffh は FPGA のコンフィグレーションデータ用に、1d800h - 21fffh はモニタプログラムに使用される。

外部に出ているマイコン・ポートのうち、PD7 には 32MHz のクロックが出力されている。PB3 は、FPGA のリセット用に出力に設定されている。マイコンのクロック周波数は 32MHz に設定されている。

SD カードなしでの動作

スライドスイッチを右 (Application) にスライドし、SD カードを挿入せずに電源を接続した場合、まずマイコンのフラッシュメモリから FPGA へコンフィグレーションがダウンロードされ、次に0番地に飛びマイコンのプログラムが走る。

使用可能なFPGAのピン

IO_****_*(*) (カッコ内はピン番号) と表示されている I/O ピンが使用できる。ピン番号がないものはコンフィグレーションその他に使用されるため、ユーザは使用できない。クロックには GCLK* と表示されているピンを使用する。

I/Oのロジックレベルは3.3V、入力は最高4.1Vまでなので注意。5Vロジックを入力する場合は390オーム(以上)の抵抗を介すると良いらしい。

なお、IO_L01P_2/M1(23)、IO_L02P_2/M2(24)、IO_L01N_2/M0(25)の各ピンは、 コンフィグレーションのダウンロード時に非接続、あるいはプルアップになっていないと失敗する。

IP_*(*) (カッコ内はピン番号) と表示されている入力ピンは、テスト中にIP_0(97)を使用して一度故障したので非推奨

<VCCINT>には1.25Vの電源が繋がっている。絶対にそれ以上の電圧を加えないこと。 <VCCO_*>、<VCCAUX>には3.3Vの電源が繋がっている。

PCBのミス・プリント

IO_L01P_1<56> -> IO_L01P_1(56)
IO_L05P_0<93> -> IO_L05P_0(93)

FlashAir を用いて WiFi 経由で使用する

FlashAir の準備

Web ブラウザからの制御

LOGIC BOY に準備の出来た FlashAir を挿入し、スライドスイッチを左 (Program&Download) にスライドし、電源を接続し 10 秒程すると、PC で接続可能になる。

PC の WiFi を SSID:"flashair" に接続し、Chrome か Firefox ブラウザ(iPhone/iPad/iPod touchの場合は iCab mobile ブラウザ)で、http://flashair/ (Mac/iPhone/iPad/iPod touchの場合 http://flashair.local/) にアクセスする。

iCab moble ブラウザを使用する場合、このセッティングを行って、アップロードができるようにする。

ファイルのアップロード

FlashAir にアップロードするファイルをダイアログで選択後、Upload ボタンをクリック。

FPGA への直接ダウンロード

.bit ファイルをクリック。 ファイル名がハイライトされるので、FlashAir to FPGA direct ボタンをクリックすると FPGA にコンフィグレーションデータがダウンロードされる。直後にマイコンの PB3 ポートに負論理のリセット信号が出力されるので、FPGA に接続して利用できる。

FPGA への間接ダウンロード

.bit ファイルをクリック。 ファイル名がハイライトされるので、FlashAir to FLASH ボタンをクリックするとマイコンのフラッシュメモリに FPGA のコンフィグレーションデータが書き込まれる。

FLASH to FPGA ボタンをクリックすると、マイコンのフラッシュメモリから FPGA へコンフィグレーションデータがダウンロードされる。直後にマイコンの PB3 ポートに負論理のリセット信号が出力されるので、FPGA に接続して利用できる。

マイコンのプログラムの書き込み

.hex ファイルをクリック。 ファイル名がハイライトされるので、FlashAir to FLASH (XMEGA) ボタンをクリックするとマイコンにプログラムが書き込まれる。プログラムを実行するには、スライドスイッチを右 (Application) にスライドする必要がある。

FPGA のリセット

Reset FPGA ボタンをクリックすると、マイコンの PB3 ポートに負論理のリセット信号が出力されるので、FPGA に接続してリセット信号として利用できる。

ファイル、フォルダの削除

ファイルをクリック。ハイライトされるので、Delete ボタンを押すと削除される。

フォルダの作成

MkFolder ボタンをクリック後、フォルダ名を入力。

フォルダの移動

フォルダ名をダブルクリックすると、そのフォルダに入る(iPhone/iPad/iPod touchの場合は、フォルダをクリック後、ChFolder をクリック)。

".." をダブルクリックすると、親フォルダに戻る(iPhone/iPad/iPod touchの場合は、".." をクリック後、ChFolder をクリック)。

ファイルのダウンロード

ファイルをクリック。ハイライトされるので、Download リンクをクリック。

ファイル表示のフィルタリング

.BIT チェックボックスをチェックすると、.BIT ファイルのみが表示されるようになる。

.HEX チェックボックスをチェックすると、.HEX ファイルのみが表示されるようになる。

注意事項

使用中にFlashAirのイジェクトはできない。

マイコンのプログラムでフラッシュメモリを書き換える SPM インストラクションが実行されたり、暴走してモニタプログラムに飛んだりすると、モニタプログラム自身が破壊されることがある。モニタプログラムは、ブートローダー領域だけでなく一部アプリケーション領域も使用しているため、プロテクトをかけることが出来ない。その場合、Atmelのプログラマでモニタプログラムを書き直す必要がある。お送りいただければ、送料のみで書き直しをいたします。

その他の情報

ボード上の PDI ポートは、Atmel の AVRISP mkII を接続してマイコンのモニタプログラムを書き換える場合に使用する。I2C ポートは、マイコンの i2c ポートに配線されており、JTAG は FPGA の JTAG ピンに配線されている(付属の回路図を参照)。