37.13.5 Pipe Status Register n

Name: PSTATUS
Offset: 0x106
Reset: 0x00
Property: PAC Write-Protection

Bit 76543210 
 BK1RDYBK0RDY PFREEZE CURBK DTGL 
Access RRRRR 
Reset 00000 

Bit 7 – BK1RDY Bank 1 is ready

Writing a one to the bit EPSTATUSCLR.BK1RDY will clear this bit.

Writing a one to the bit EPSTATUSSET.BK1RDY will set this bit.

This bank is not used for Control pipe.

ValueDescription
0 The bank number 1 is not ready: For IN the bank is empty. For Control/OUT the bank is not yet fill in.
1 The bank number 1 is ready: For IN the bank is filled full. For Control/OUT the bank is filled in.

Bit 6 – BK0RDY Bank 0 is ready

Writing a one to the bit EPSTATUSCLR.BK0RDY will clear this bit.

Writing a one to the bit EPSTATUSSET.BK0RDY will set this bit.

This bank is the only one used for Control pipe.

ValueDescription
0 The bank number 0 is not ready: For IN the bank is not empty. For Control/OUT the bank is not yet fill in.
1 The bank number 0 is ready: For IN the bank is filled full. For Control/OUT the bank is filled in.

Bit 4 – PFREEZE Pipe Freeze

Writing a one to the bit EPSTATUSCLR.PFREEZE will clear this bit.

Writing a one to the bit EPSTATUSSET.PFREEZE will set this bit.

This bit is also set by the hardware:
  • When a STALL handshake has been received.
  • After a PIPE has been enabled (rising of bit PEN.N).
  • When an LPM transaction has completed whatever handshake is returned or the transaction was timed-out.
  • When a pipe transfer was completed with a pipe error. See the PINTFLAG register.

When PFREEZE bit is set while a transaction is in progress on the USB bus, this transaction will be properly completed. PFREEZE bit will be read as “1” only when the ongoing transaction will have been completed.

ValueDescription
0 The Pipe operates in normal operation.
1 The Pipe is frozen and no additional requests will be sent to the device on this pipe address.

Bit 2 – CURBK Current Bank

ValueDescription
0 The bank0 is the bank that will be used in the next single/multi USB packet.
1 The bank1 is the bank that will be used in the next single/multi USB packet.

Bit 0 – DTGL Data Toggle Sequence

Writing a one to the bit EPSTATUSCLR.DTGL will clear this bit.

Writing a one to the bit EPSTATUSSET.DTGL will set this bit.

This bit is toggled automatically by hardware after a data transaction.

This bit will reflect the data toggle in regards of the token type (IN/OUT/SETUP).

ValueDescription
0 The PID of the next expected transaction will be zero: data 0.
1 The PID of the next expected transaction will be one: data 1.