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