FPGA解説資料

Download Report

Transcript FPGA解説資料

FPGAを用いたMG3用
インターフェース回路の解説
FPGAについて
オートパイロット機能を
備えた航空機
産業用ロボット
出典:JALホームページ
出典:技術革新ハンドアックス
FPGAについて
オートパイロット機能を
備えた航空機
産業用ロボット
FPGA
・ハードウェアの高速性
・ソフトウェアの持つ柔軟性
FPGA (アルテラ社)
出典:JALホームページ
出典:技術革新ハンドアックス
MG3:MIRS Generation3の特徴
第2世代に比べプラットフォームが
大幅に変更されている
<特徴>
・OSの変更(搭載機器の増設が可能となった)
・USBカメラ
・無線LANアダプタ
・PICを用いた超音波センサ
・PICを用いたモーター駆動
OSについて
旧MIRS
RT-Linux ver2.3
OSによるリアルタイム
処理が可能
変更
現行MIRS
CentOS 5.2
OSによるリアルタイム
処理は不可能
OSについて
旧MIRS
RT-Linux ver2.3
OSによるリアルタイム
処理が可能
しかし・・・・
超音波センサーとモータは
リアルタイム性が必要
変更
現行MIRS
CentOS 5.2
OSによるリアルタイム
処理は不可能
PICを用いて
リアルタイム性を確保
リアルタイム性の確保
PIC
PIC
超音波センサー
モーター
シリアル通信
シリアル通信
データを逐次的
に送るシリアル
通信が必要
CPUボード
リアルタイム性の確保
PIC
PIC
超音波センサー
モーター
シリアル通信
シリアルポートが
不足している
超音波
センサーが占有
シリアルポート
CPUボード
シリアル通信
リアルタイム性の確保
PIC
PIC
超音波センサー
モーター
シリアル通信
シリアル通信
回路を構築
超音波
センサーが占有
シリアルポート
CPUボード
シリアル通信
FPGAボード
FPGAボード
現行FPGAボード
PC-104仕様
FPGAボード(PC-104仕様)
開発環境
QuartusⅡ
注意点:出力方法をttf形式にすること
FPGA周辺の構成
超音波
センサ
USBカメラ
CPUボード
シリアル通信
シリアル通信
8bitデータバス
FPGAボード
シリアル通信
モーター
コントロールボード
モーター
モーター
ドーターボード
ON/OFF
ON/OFF
ON/OFF
TS
IRS
WS
信号処理モジュール
FPGA
センサーからの
信号は常時FPGA
に送信されている
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
そ
の
他
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
FPGA上の信号処理
モジュールで保持する
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
そ
の
他
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
そ
の
他
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
信号の受信要求
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
そ
の
他
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
信号処理モジュール
動作アドレス
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
そ
の
他
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
指定したセンサの
信号を読み取る
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
そ
の
他
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
8bitで12個のセンサー信号
は一度に処理できない
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュール
FPGA
信号処理
モジュールで対処
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
そ
の
他
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
16進数アドレス
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
8bit
データバス
12bit
センサー信号
FPGAを経由したセンサーとCPUの通信方法
信号処理モジュールの詳細
12個のセンサー信号を
8bitと4bitに分割
信号処理モジュールの詳細
8bit
データバス8bit
INDATA[0~7]
12個のセンサー信号を
8bitと4bitに分割
INDATA[8~11]
4bit
DLATCH回路内で保持
DLATCH回路の構成
D-flip flop
信号保持部
信号処理モジュールの詳細
INDATA[0~7]
TIP_ADD0
1のとき、DLATCH
回路が動作する
TIP_ADD1
INDATA[8~11]
読みたい信号によって動作
させるDLATCHを選択
信号処理モジュールの詳細
TIP_ADDが1のとき、
スリーステートから
センサ信号が出力
される
スリーステート
スリーステート
Y
X
Z
X (INDATA)
Y (TIP_ADD)
Z (B_SD)
0
0
1
0
1
0
ハイインピーダンス
0
ハイインピーダンス
1
1
1
信号処理モジュールの詳細
データバス8bit
8bit
B_IORN
LOWのとき、CPU
が信号を受信する
4bit
12bitのセンサー信号を8bit
のデータバスで送信可能
アドレスデコーダ(VHDLにより記述)
FPGA
標準機では信号処理
モジュールのみ選択
他のモジュールを実装
する時はアドレスデ
コーダの再設計が必要
IO
センサー
12個
・・
・・
・・
・ ・×12
・・
・・
・・
16進数アドレス
そ
の
他
信
号
処
理
モ
ジ
ュ
ー
ル
動作
信号
動作
信号
ア
ド
レ
ス
デ
コ
ー
ダ
センサー
信号
20bit
アドレスバス
CPU
8bit
データバス
12bit
センサー信号
VHDLの内容
① ポートの定義
入力/出力ピンの設定
② アーキテクチャの宣言
入力されるビット数の定義
③ ケース文の定義
アドレスバス20ビットに対応する動作をケース文にて定義
TIP_ADD0
0
1
0
TIP_ADD1
0
0
1
※ 赤外線等を追加するときには、ケース文を追加する