CY7C64013 CYPRESS [Cypress Semiconductor], CY7C64013 Datasheet - Page 14

no-image

CY7C64013

Manufacturer Part Number
CY7C64013
Description
Full-Speed USB (12 Mbps) Function
Manufacturer
CYPRESS [Cypress Semiconductor]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
CY7C64013-PC
Manufacturer:
CY
Quantity:
101
Part Number:
CY7C64013-PC
Manufacturer:
CY
Quantity:
116
Part Number:
CY7C64013-PXC
Quantity:
17
Part Number:
CY7C64013-SC
Manufacturer:
CY
Quantity:
15 625
Part Number:
CY7C64013A-PXC
Manufacturer:
CY
Quantity:
548
Part Number:
CY7C64013C-SXC
Manufacturer:
CYPRESS/赛普拉斯
Quantity:
20 000
5.4
During a reset, the program stack pointer (PSP) is set to 0x00 and “grows” upward from this address. The PSP may be set by
firmware, using the MOV PSP,A instruction. The PSP supports interrupt service under hardware control and CALL, RET, and
RETI instructions under firmware control. The PSP is not readable by the firmware.
During an interrupt acknowledge, interrupts are disabled and the 14-bit program counter, carry flag, and zero flag are written as
two bytes of data memory. The first byte is stored in the memory addressed by the PSP, then the PSP is incremented. The second
byte is stored in memory addressed by the PSP, and the PSP is incremented again. The overall effect is to store the program
counter and flags on the program “stack” and increment the PSP by two.
The Return from Interrupt (RETI) instruction decrements the PSP, then restores the second byte from memory addressed by the
PSP. The PSP is decremented again and the first byte is restored from memory addressed by the PSP. After the program counter
and flags have been restored from stack, the interrupts are enabled. The overall effect is to restore the program counter and flags
from the program stack, decrement the PSP by two, and re-enable interrupts.
The Call Subroutine (CALL) instruction stores the program counter and flags on the program stack and increments the PSP by
two.
The Return from Subroutine (RET) instruction restores the program counter but not the flags from the program stack and decre-
ments the PSP by two.
5.4.1
The CY7C64x13 microcontrollers provide 256 bytes of data RAM. Normally, the SRAM is partitioned into four areas: program
stack, user variables, data stack, and USB endpoint FIFOs. The following is one example of where the program stack, data stack,
and user variables areas could be located.
5.5
The data stack pointer (DSP) supports PUSH and POP instructions that use the data stack for temporary storage. A PUSH
instruction pre-decrements the DSP, then writes data to the memory location addressed by the DSP. A POP instruction reads
data from the memory location addressed by the DSP, then post-increments the DSP.
During a reset, the DSP is reset to 0x00. A PUSH instruction when DSP equals 0x00 writes data at the top of the data RAM
(address 0xFF). This writes data to the memory area reserved for USB endpoint FIFOs. Therefore, the DSP should be indexed
at an appropriate memory location that does not compromise the Program Stack, user-defined memory (variables), or the USB
endpoint FIFOs.
For USB applications, the firmware should set the DSP to an appropriate location to avoid a memory conflict with RAM dedicated
to USB FIFOs. The memory requirements for the USB endpoints are described in Section 18.2. Example assembly instructions
to do this with two device addresses (FIFOs begin at 0xD8) are shown below:
Notes:
Document #: 38-08001 Rev. **
1.
2.
8-bit DSP
8-bit DSP
MOV A,20h
SWAP A,DSP ; swap accumulator value into DSP register
Refer to Section 5.5 for a description of DSP.
Endpoint sizes are fixed by the Endpoint Size Bit (I/O register 0x1F, Bit 7), see Table 18-1.
(Move DSP
8-Bit Program Stack Pointer (PSP)
Data Memory Organization
8-Bit Data Stack Pointer (DSP)
After reset
8-bit PSP
; Move 20 hex into Accumulator (must be D8h or less)
[1]
)
user selected
Address
0xFF
0x00
User variables
USB FIFO space for five endpoints
Program Stack Growth
Data Stack Growth
[2]
CY7C64013
CY7C64113
Page 14 of 48

Related parts for CY7C64013