Cypress CY7C601xx 8. ProtectBlock Parameters, EraseAll Function, TableRead Function, Table Number

Models: CY7C601xx CY7C602xx

1 68
Download 68 pages 62.39 Kb
Page 18
Image 18
Table 11-8. ProtectBlock Parameters

CY7C601xx, CY7C602xx

Table 11-8. ProtectBlock Parameters

Name

Address

Description

KEY1

0,F8h

3Ah

 

 

 

KEY2

0,F9h

Stack Pointer value when SSC is

 

 

executed

CLOCK

0,FCh

Clock Divider used to set the write

 

 

pulse width

DELAY

0,FEh

For a CPU speed of 12 MHz set to 56h

 

 

 

11.5.6 EraseAll Function

11.5.7 TableRead Function

The TableRead function gives the user access to part specific data stored in the Flash during manufacturing. It also returns a Revision ID for the die (not to be confused with the Silicon ID).

Table 11-10. Table Read Parameters

Name

Address

Description

KEY1

0,F8h

3Ah

 

 

 

KEY2

0,F9h

Stack Pointer value when SSC is

 

 

executed.

BLOCKID

0,FAh

Table number to read.

 

 

 

The EraseAll function performs a series of steps that destroy the user data in the Flash macros and resets the protection block in each Flash macro to all zeros (the unprotected state). The EraseAll function does not affect the three hidden blocks above the protection block in each Flash macro. The first of these four hidden blocks is used to store the protection table for its eight Kbytes of user data.

The EraseAll function begins by erasing the user space of the Flash macro with the highest address range. A bulk program of all zeros is then performed on the same Flash macro, to destroy all traces of previous contents. The bulk program is followed by a second erase that leaves the Flash macro ready for writing. The erase, program, erase sequence is then performed on the next lowest Flash macro in the address space if it exists. Following erase of the user space, the protection block for the Flash macro with the highest address range is erased. Following erase of the protection block, zeros are written into every bit of the protection table. The next lowest Flash macro in the address space then has its protection block erased and filled with zeros.

The result of the EraseAll function is that all user data in Flash is destroyed and the Flash is left in an unprogrammed state, ready to accept one of the various write commands. The protection bits for all user data are also reset to the zero state.

Besides the keys, the CLOCK and DELAY parameter block values are also set.

Table 11-9. EraseAll Parameters

Name

Address

Description

KEY1

0,F8h

3Ah

 

 

 

KEY2

0,F9h

Stack Pointer value when SSC is

 

 

executed

CLOCK

0,FCh

Clock Divider used to set the write pulse

 

 

width

DELAY

0,FEh

For a CPU speed of 12 MHz set to 56h

 

 

 

The table space for the enCoRe II LV is simply a 64 byte row broken up into eight tables of eight bytes. The tables are numbered zero through seven. All user and hidden blocks in the CY7C601xx/CY7C602xx parts consist of 64 bytes.

An internal table (Table 0) holds the Silicon ID and returns the Revision ID. The Silicon ID is returned in SRAM, while the Revision and Family IDs are returned in the CPU_A and CPU_X registers. The Silicon ID is a value placed in the table by programming the Flash and is controlled by Cypress Semicon- ductor Product Engineering. The Revision ID is hard coded into the SROM and also redundantly placed in SROM Table 1. This is discussed in more detail later in this section.

SROM Table 1 holds Family/Die ID and Revision ID values for the device and returns a one-byte internal revision counter. The internal revision counter starts with a value of zero and is incre- mented when one of the other revision numbers is not incre- mented. It is reset to zero when one of the other revision numbers is incremented. The internal revision count is returned in the CPU_A register. The CPU_X register is always set to FFh when Table 1 is read. The CPU_A and CPU_X registers always return a value of FFh when Tables 2-7 are read. The BLOCKID value, in the parameter block, indicates which table must be returned to the user. Only the three least significant bits of the BLOCKID parameter are used by TableRead function for enCoRe II LV devices. The upper five bits are ignored. When the function is called, it transfers bytes from the table to SRAM addresses F8h–FFh.

The M8C’s A and X registers are used by the TableRead function to return the die’s Revision ID. The Revision ID is a 16-bit value hard coded into the SROM that uniquely identifies the die’s design.

The return values for corresponding Table calls are tabulated as shown in Table 11-11.

Table 11-11. Return Values for Table Read

Table Number

 

Return Value

A

 

X

 

 

0

Revision ID

 

Family ID

 

 

 

1

Internal Revision Counter

0xFF

 

 

 

 

2-7

0xFF

 

0xFF

 

 

 

 

Document 38-16016 Rev. *E

Page 18 of 68

[+] Feedback

Page 18
Image 18
Cypress CY7C601xx manual 8. ProtectBlock Parameters, EraseAll Function, TableRead Function, 10. Table Read Parameters, Name