166
PSoC CY8CTMG20x and CY8CTST200 TRM, Document No. 001-53603 Rev. *C
Full-Speed USB
20.2.2
USB SRAM
The PSoC USB System Resource contains dedicated 512
bytes SRAM. This SRAM is identical to 2 SRAM pages used
in the PSoC Core; however, it is not accessible by way of the
M8C memory access instructions. The USB's dedicated
SRAM may only be accessed by way of the PMA registers.
For more information on how to use the USB's dedicated
SRAM, see the next section, PSoC Memory Arbiter (PMA).
The USB SRAM contents are not directly affected by any
reset, but must be treated as unknown after any POR, WDR,
and XRES.
20.2.2.1
PSoC Memory Arbiter
The PSoC Memory Arbiter (PMA) is the interface between
the USB's dedicated SRAM and the two blocks that access
the SRAM: the M8C and the USB SIE. The PMA provides
16 channels to manage data with four Endpoints/8 channels
mapped to Page 0 of USB dedicated SRAM and other four
Endpoints/8 channels mapped to Page 1 of USB dedicated
SRAM. All of the channel registers may be used by the
M8C, but the eight non-control USB endpoints are each allo-
cated to a specific set of PMA channel registers. It is the
responsibility of the firmware to ensure that the M8C is not
accessing a set of channel registers that are in use by the
USB SIE.
If the M8C wants to access the same data that an SIE chan-
nel is using, two channels must be configured to access the
same SRAM address ranges.
Table 20-2
shows the map-
ping between PMA channels and which blocks can use
them.
Table 20-1. Mode Encoding for Control and Non-Control Endpoints
Mode
Encoding
SETUP
IN
OUT
Comments
Disable
0000
Ignore
Ignore
Ignore
Ignore all USB traffic to this endpoint.
NAK IN/OUT
0001
Accept
NAK
NAK
NAK IN and OUT token.
Status OUT Only
0010
Accept
STALL
Check
For control endpoint, STALL IN and ACK zero byte OUT.
STALL IN/OUT
0011
Accept
STALL
STALL
For control endpoint, STALL IN and OUT token.
Reserved
0100
Ignore
Ignore
Ignore
ISO OUT
0101
Ignore
Ignore
Always
Isochronous OUT.
Status IN Only
0110
Accept
TX 0 Byte
STALL
For control endpoint, STALL OUT and send zero byte data for IN token.
ISO IN
0111
Ignore
TX Count
Ignore
Isochronous IN.
NAK OUT
1000
Ignore
Ignore
NAK
Send NAK handshake to OUT token.
ACK OUT (STALL = 0)
1001
Ignore
Ignore
ACK
This mode is changed by the SIE to mode 1000 on issuance of ACK hand-
shake to an OUT.
ACK OUT (STALL = 1)
1001
Ignore
Ignore
STALL
STALL the OUT transfer.
Reserved
1010
Ignore
Ignore
Ignore
ACK OUT – STATUS
IN
1011
Accept
TX0 Byte
ACK
ACK the OUT token or send zero byte data for IN token.
NAK IN
1100
Ignore
NAK
Ignore
Send NAK handshake for IN token.
ACK IN (STALL = 0)
1101
Ignore
TX Count
Ignore
This mode is changed by the SIE to mode 1100 after receiving ACK hand-
shake to an IN data.
ACK IN (STALL = 1)
1101
Ignore
STALL
Ignore
STALL the IN transfer.
Reserved
1110
Ignore
Ignore
Ignore
ACK IN – Status OUT
1111
Accept
TX Count
Check
Respond to IN data or Status OUT.
Table 20-2. PMA Channel Assignments
PMA
Channel
USB SIE
M8C
Channel Registers (PMAx_xx)
0
Page 0
PMA0_DR, PMA0_RA, PMA0_WA
1
EP1
Page 0
PMA1_DR, PMA1_RA, PMA1_WA
2
EP2
Page 0
PMA2_DR, PMA2_RA, PMA2_WA
3
EP3
Page 0
PMA3_DR, PMA3_RA, PMA3_WA
4
EP4
Page 0
PMA4_DR, PMA4_RA, PMA4_WA
5
Page 0
PMA5_DR, PMA5_RA, PMA5_WA
6
Page 0
PMA6_DR, PMA6_RA, PMA6_WA
7
Page 0
PMA7_DR, PMA7_RA, PMA7_WA
8
Page 1
PMA8_DR, PMA8_RA, PMA8_WA
9
EP5
Page 1
PMA9_DR, PMA9_RA, PMA9_WA
10
EP6
Page 1
PMA10_DR, PMA10_RA, PMA10_WA
11
EP7
Page 1
PMA11_DR, PMA11_RA, PMA11_WA
12
EP8
Page 1
PMA12_DR, PMA12_RA, PMA12_WA
13
Page 1
PMA13_DR, PMA13_RA, PMA13_WA
14
Page 1
PMA14_DR, PMA14_RA, PMA14_WA
15
Page 1
PMA15_DR, PMA15_RA, PMA15_WA
Summary of Contents for PSoC CY8CTMG20 Series
Page 4: ...4 Contents Overview Feedback...
Page 26: ...26 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C Section B PSoC Core Feedback...
Page 82: ...82 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C Sleep and Watchdog Feedback...
Page 134: ...134 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C I2C Slave Feedback...
Page 142: ...142 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C System Resets Feedback...
Page 160: ...160 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C SPI Feedback...
Page 182: ...182 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C Full Speed USB Feedback...
Page 302: ...302 PSoC CY8CTMG20x and CY8CTST200 TRM Document No 001 53603 Rev C Glossary Feedback...