CY7C63801-PXC Cypress Semiconductor Corp, CY7C63801-PXC Datasheet - Page 16
![no-image](/images/manufacturer_photos/0/1/179/cypress_semiconductor_corp_sml.jpg)
CY7C63801-PXC
Manufacturer Part Number
CY7C63801-PXC
Description
IC USB PERIPHERAL CTRLR 16-DIP
Manufacturer
Cypress Semiconductor Corp
Series
CY7Cr
Specifications of CY7C63801-PXC
Controller Type
USB Peripheral Controller
Interface
USB
Voltage - Supply
4 V ~ 5.5 V
Current - Supply
40mA
Operating Temperature
0°C ~ 70°C
Mounting Type
Through Hole
Package / Case
16-DIP (0.300", 7.62mm)
Operating Temperature (max)
70C
Operating Temperature (min)
0C
Operating Temperature Classification
Commercial
Package Type
MDIP
Mounting
Through Hole
Pin Count
16
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
770-1001 - ISP 4PORT CYPRESS ENCORE II MCUCY4623 - KIT MOUSE REFERENCE DESIGN428-1774 - EXTENSION KIT FOR ENCORE II428-1773 - KIT DEVELOPMENT ENCORE II
Lead Free Status / RoHS Status
Compliant, Lead free / RoHS Compliant
Two important variables that are used for all functions are KEY1
and KEY2. These variables are used to help discriminate
between valid SSCs and inadvertent SSCs. KEY1 must always
have a value of 3 Ah, while KEY2 must have the same value as
the stack pointer when the SROM function begins execution.
This would be the Stack Pointer value when the SSC opcode is
executed, plus three. If either of the keys do not match the
expected values, the M8C halts (with the exception of the
SWBootReset function). The following code puts the correct
value in KEY1 and KEY2. The code starts with a halt, to force the
program to jump directly into the setup code and not run into it.
halt
SSCOP: mov [KEY1], 3ah
mov X, SP
mov A, X
add A, 3
mov [KEY2], A
Table 9-2. SROM Function Parameters
9.4.1 Return Codes
The SROM also features Return Codes and Lockouts.
Return codes aid in the determination of the success or failure of
a particular function. The return code is stored in KEY1’s position
in the parameter block. The CheckSum and TableRead functions
do not have return codes because KEY1’s position in the
parameter block is used to return other data.
Table 9-3. SROM Return Codes
Read, write, and erase operations may fail if the target block is
read or write protected. Block protection levels are set during
device programming.
The EraseAll function overwrites data in addition to leaving the
entire user flash in the erase state. The EraseAll function loops
through the number of flash macros in the product, executing the
following sequence: erase, bulk program all zeros, erase. After
all the user space in all the flash macros are erased, a second
loop erases and then programs each protection block with zeros.
Document 38-08035 Rev. *N
Key1/Counter/Return Code
Key2/TMP
BlockID
Pointer
Clock
Mode
Delay
PCL
00h
01h
02h
03h
Return Code
Variable Name
Success
Function not allowed due to level of protection
on block.
Software reset without hardware reset.
Fatal error, SROM halted.
Description
SRAM Address
0,FAh
0,FBh
0,FCh
0,FDh
0,FEh
0,FFh
0,F8h
0,F9h
9.5 SROM Function Descriptions
9.5.1 SWBootReset Function
The SROM function, SWBootReset, is the function that is
responsible for transitioning the device from a reset state to
running user code. The SWBootReset function is executed
whenever the SROM is entered with an M8C accumulator value
of 00h: the SRAM parameter block is not used as an input to the
function. This happens by design after a hardware reset,
because the M8C's accumulator is reset to 00h or when the user
code executes the SSC instruction with an accumulator value of
00h. The SWBootReset function is not executed when the SSC
instruction is executed with a bad key value and a non-zero
function code. An enCoRe II device executes the HALT
instruction if a bad value is given for either KEY1 or KEY2.
The SWBootReset function verifies the integrity of the calibration
data by way of a 16-bit checksum, before releasing the M8C to
run user code.
9.5.2 ReadBlock Function
The ReadBlock function is used to read 64 contiguous bytes
from flash: a block.
This function first checks the protection bits and determines if the
desired BLOCKID is readable. If the read protection is turned on,
the ReadBlock function exits setting the accumulator and KEY2
back to 00h. KEY1 has a value of 01h, indicating a read failure.
If read protection is not enabled, the function reads 64 bytes from
the flash using a ROMX instruction and stores the results in the
SRAM using an MVI instruction. The first of the 64 bytes are
stored in the SRAM at the address indicated by the value of the
POINTER parameter. When the ReadBlock completes
successfully, the accumulator, KEY1, and KEY2 all have a value
of 00h.
Table 9-4. ReadBlock Parameters
KEY1
KEY2
BLOCKID
POINTER
Name
Address
0,FBh
0,F8h
0,F9h
0,FAh
CY7C63310, CY7C638xx
3Ah
Stack Pointer value, when SSC is
executed.
flash block number
First of 64 addresses in SRAM
where returned data must be stored.
Description
Page 16 of 86
[+] Feedback