2014年9月27日土曜日

Slave FIFOs メモ書き④

「15.5.10 REVCTL
Chip Revision Control Register」について。



Note DYN_OUT and ENH_PKT default to ‘0’ on a hard reset. Cypress highly recommends setting both bits to ‘1’.

デフォルトではDYN_OUT と ENH_PKTは両方とも0だが、
Cypressは両方とも1にする事を強く勧める。



1 DYN_OUT
 Disable Auto-Arming at the 0-1 transition of AUTOOUT.

0
 The core automatically arms the endpoints when AUTOOUT is switched from ‘0’ to ‘1’.
 This means that firmware must reset the endpoint
 (and risk losing endpoint data) when switching
between Auto-Out mode and Manual-Out mode.

1
 The core disables auto-arming of the endpoints when AUTOOUT transitions from ‘0’ to ‘1’.
This feature allows CPU intervention when switching between AUTO and Manual mode
without having to reset the endpoint.

Note
 When DYN_OUT = 1 and AUTOOUT = 1, the CPU is responsible for ‘priming the pump’ by initially arming the endpoints (OUTPKTEND w/SKIP = 1 to pass packets to host).


0 ENH_PKT
 Enhanced Packet Handling.

0 The CPU can neither source OUT packets nor skip IN packets; it has only the following capabilities.
OUT packets: Skip or Commit
IN packets: Commit or Edit/Source

1 The CPU has additional capabilities:
OUT packets: Skip, Commit, or Edit/Source
IN packets: Skip, Commit, or Edit/Source

1 DYN_OUT
 AUTOOUTが 0から 1に遷移する時、自動アーミングを無効にします。
(自動アーミングがそもそも何かが分からない……エンドポイントの切り替え?)

0
AUTOOUTが0から1へ変化した時、コア(半導体チップ?)は自動的にエンドポイントを切り替えます。
これは、Auto-Out mode と Manual-Out modeの切り替え時に、ファームウェアがエンドポイントをリセットしなければならない事を意味します。(そして、エンドポイントのデータを失う危険性を負います。)

1
AUTOOUTが0から1へ変化した時、コア(半導体チップ?)は自動的にエンドポイントを切り替え。
ることができない。
この特徴はオート・モードからマニュアル・モードへの切り替え時に、
エンドポイントをリセットする事無く、CPUが介入する事を可能にする。

注意
DYN_OUT = 1 かつ AUTOOUT = 1の場合、CPUは‘priming the pump’に対して、
エンドポイントを初期化する最初に使用する(切り替える)エンドポイントを(OUTPKTEND w/SKIP = 1 にして、パケットがホストに渡されるようにする)
責任を負う。


--------------
0 ENH_PKT
 強化されたパケットの処理方法

0
CPUはOUTパケットを参照する事も、INパケットを通過させる事もできない。
それは、唯一以下の様な機能を持つ。

OUTパケット:通過か修正
INパケット:修正、編集/参照

(――――何が違うのかが分からない……)


1
CPUは追加の機能を持ちます。

OUTパケット:通過、修正、編集/参照
INパケット:通過、修正、編集/参照



「15.6.16 INPKTEND
Force IN Packet End Register」について、





「15.6.17 OUTPKTEND
Force OUT Packet End Register」について、


7 SKIP
 Skip Packet.
When ENH_PKT (REVCTL.0) is set to ‘1’, setting this bit to a ‘1’ causes the OUT packet to be
skipped. Clearing this bit to ‘0’ automatically dispatches an OUT buffer.

3:0 EP[3:0]
 Endpoint Number.
Replaces the function of EPxBCL.7=1 (Skip). This feature is for OUT transfers. By writing the desired
endpoint number (2, 4, 6, or 8), EZ-USB logic automatically skips or commits an OUT packet
(depends on the SKIP bit settings).
Note This register has no effect if REVCTL.0 = 0.

7 SKIP
パケットをスキップする。
ENH_PKT (REVCTL.0) が1かつ、このビット(SKIP(OUTPKTEND.7))が1の時、
「OUT packet」(複数ではなく、単数、と考えていいのか?)はスキップされる。
このビットは自動的に0にクリアされ、an OUT bufferは、停止?、する


3:0 EP[3:0]
エンドポイントの番号。
EPxBCL.7=1(スキップ)の機能を置き換えます。
 この機能は、OUT転送のためのものです。
希望するエンドポイントの番号 (2, 4, 6, or 8) を書き込む事により、
 EZ-USB のハードウェアは自動的に、パケットを、スキップまたは、渡します。
(SKIP Bitの設定に依ります。)

注意
このビットは、「REVCTL.0 = 0」の場合、効果を発揮しません。

0 件のコメント:

コメントを投稿