USB 3.0対応EZ-USB FX3のGPIF Ⅱ活用の基礎

手
USB 軽に
を実 3.0 接続
現す
るな
F
DMAとステート・マシン,GPIF Ⅱ Designerの使い方を理解しよう X3 ! ら
USB 3.0 対応 EZ-USB FX3 の GPIF Ⅱ活用の基礎
馬場 鉄平
Teppei Baba
Cypress Semiconductor( 以下 Cypress)社の EZ-USB FX3(以下 FX3)は,USB 3.0 に対応したコントローラです.
特徴としては,ARM9 プロセッサを内蔵し,さまざまなデバイスを直接接続可能な GPIF(General Programmable
Interface)を搭載していることです.FX3 は同社 USB 2.0 対応コントローラ EZ-USB FX2 の上位品種で,GPIF も GPIF
Ⅱと大幅に機能アップしています.
1
CPU を介さず高速に USB エンドポイントとの間で
データをやり取りします. GPIF Ⅱから来たデータ
をそのまま USB エンドポイントに転送する以外にも,
USB パケット化するためのヘッダを CPU から付加す
る機能や,USB エンドポイントから入力したデータ
のヘッダを取り除く機能があります.例えば画像のよ
うなサイズの大きいデータは GPIF Ⅱから DMA を通
じて USB エンドポイントへ転送し,USB パケットの
ヘッダのようなサイズの小さいものは転送前に CPU
で付加するというように,CPU と GPIF Ⅱ,DMA が
連携することで高速性と柔軟性を両立しています.
● GPIF Ⅱのスペック
GPIF Ⅱは 8/16/32 ビットのデータ・バス幅と,最
大 100MHz のクロックをサポートしています.そして
最大 40 個のプログラム可能な入出力ピン(GPIO ピン)
を持ちます.データ・バスの最大幅は FX3 の型番に
よって異なり,最大 16 ビットのものと 32 ビットのも
の が あ り ま す. そ れ ぞ れ ス ペ ッ ク 上 の 最 大 帯 域 は
1.6Gbps または 3.2Gbps です.
GPIF Ⅱで利用可能な GPIO ピン数も型番によって異
なります.詳しいスペックについてはデータシート(1)
EZ-USB FX3 と GPIF Ⅱの
概要
● EZ-USB FX3 を特徴付ける GPIF Ⅱ
FX3 は USB 3.0(5Gbps)の物理層チップ(PHY)を
内蔵し,ARM9 プロセッサを搭載した USB ペリフェ
ラル・コントローラで,GPIF Ⅱや I2C,SPI,UART,
I2S の各種シリアル・インターフェース,そして USB
2.0 の On The Go にも対応しています.ARM プロセッ
サと GPIF Ⅱの連携による,汎用性の高いインター
フェースを備えています.
GPIF Ⅱは FX3 に搭載されているプログラム可能な
回路で,FX3 と外部プロセッサを媒介する接着剤の
ような働きをします.マイクロプロセッサ,ASIC,
FPGA,イメージ・センサ,メモリなどのさまざまな
外部プロセッサを FX3 に接続できますが,GPIF Ⅱは
外部プロセッサごとの制御信号の違いを吸収し,FX3
から透過的にアクセスできるようにします(図 1).な
お,GPIF Ⅱは USB 2.0 ペリフェラル・コントローラ
の FX2LP に搭載されている GPIF の拡張版です.
● GPIF Ⅱの働き
図 2 に FX3 のブロック図を示します.GPIF Ⅱと
USB エ ン ド ポ イ ン ト は DMA バ ス に 接 続 し て お り,
外部プロセッサの例
をご 覧 くだ さ い.な お,EZ-USB FX3 Development
Kit(以下 FX3 DVK)の CYUSB3KIT-001 にはデータ・
EZ-USB FX3
イメージ・センサの信号
イメージ・センサ用の設定
非同期SRAMの信号
設定により信号の
違いを吸収
説明のためGPIFⅡの中に二つの
設定があるが,同時に使用でき
る設定は一つ
CPU
DMAバス
非同期SRAM用の設定
GPIF Ⅱ
透過的なアクセス
図1
GPIF Ⅱの働き
108
USB 3.0 対応 EZ-USB FX3 の GPIF Ⅱ活用の基礎