e-tipsmemo

ごった煮

EZ-USB FX2 Slave FIFO①

e-tipsmemo.hatenablog.com
この記事の続き且つSlave FIFO modeで動かす。
上の記事で見落としていたが

Interface Descriptorの中に
利用するエンドポイントの数を指定する場所があった。

;; Interface Descriptor
      .db   DSCR_INTRFC_LEN      ;; Descriptor length
      .db   DSCR_INTRFC         ;; Descriptor type
      .db   0               ;; Zero-based index of this interface
      .db   0               ;; Alternate setting
      .db   2               ;; Number of end points
      .db   0xff            ;; Interface class
      .db   0x00               ;; Interface sub class
      .db   0x00               ;; Interface sub sub class
      .db   0               ;; Interface descriptor string index

これを2(EP2(OUT) EP6(OUT))に設定して
EP4とEP8のディスクリプタコメントアウトすればよかった。

このPDFのp11と
http://www.cypress.com/file/386321/download

この記事を参考にする。
平坂久門ただいま失業中: EZ-USB FX2LP を動かしてみる (26) 転送レート測定のソースコード

とりあえずクロックはチップ内部のクロックを位相を180度回転させて外部へとだすようにしている。
また、Slave FIFOのうちSynchronous Modeを選択肢する。
読み出し時の波形は
http://www.cypress.com/file/126446/download
のp107, p108に書いてあるものを参考にする。

理想としては、以下のような感じ?
f:id:katakanan:20180415235232p:plain

上のクロックがチップ内部のロジックを駆動しており、
下のクロックがFPGAの受信側を駆動する。

二度手間感あるが、データを内部の非同期FIFOに入れる予定。