IS23SC1604 chip introduction

Keywords: ISSI company IS23SC1604 chip

The IS23SC1604 is a low-cost, low-power, high-security 16K-bit serial EEPROM with security features produced using ISSI's advanced CMOS technology.
The security features of the IS23SC1604 provide a high level of memory security for smart card applications. The memory is divided into four unequal application areas, each of which has multiple password protections to effectively protect the read/write/erase operations of the area.
The storage area distribution of the IS23SC1604 is shown in Table 1.

Table 1 memory distribution table



In addition, there is a read/write enable flag in each zone. The bit addresses (decimal) of the write enable flag bits of the first, second, third, and fourth zones are: 216, 9816, 11904, and 13992; and the bit addresses of the read enable flag bits of the one, two, three, and four zones (decimal) ) are: 217, 9817, 11905, 13993. Whether to allow reading and writing to the chip memory area, in addition to the corresponding password, is also related to the corresponding read and write flags.
The following is the assembly language reading and writing program of IS23SC1604, which is only for reference by relevant technical personnel.
; R1=DATA TO CHIP

; R0=DATA FROM CHIP

; R2=8 BIT COUNTER

; R7=TIME DELAY COUNTER

; R3=BYTE NUMBER

; 40H=ATR INPUT ADDRESS

; 50H=READ DATA OUT

; 79H=WRITE/ERASE OK/NOT OK ID

; 71H=READ DATA ADDRESS HIGH 8 BIT

; 72H=READ DATA ADDRESS LOW 8 BIT

; 73H=DATA BYTE

; 76H=BYTE NUMBER

; 77H=FIRST PSC BYTE

; 78H=SECOND PSC BYTE

ORG 00H

START:

PIN_CLK EQU P1.0

PIN_IO EQU P1.1

PIN_RST EQU P1.4

PIN_FUS EQU P1.3

PIN_PGM EQU P1.2

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

; read reset response

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

READ_ATR:

MOV R0, # 40H

MOV R3, # 40H

SETB PIN_RST

SETB PIN_CLK

SETB PIN_PGM

SETB PIN_IO

LCALL DELAY_10US

CLR PIN_PGM

CLR PIN_CLK

LCALL DELAY_5US

CLR PIN_RST

LOOP_1_BYTE:

LCALL READ_8_BIT

MOV @R0,A

INC R0

DJNZ R3, LOOP_1_BYTE

RET

ADDRESS:

MOV P1, # 0FFH

SETB PIN_RST

SETB PIN_CLK

SETB PIN_PGM

SETB PIN_IO

LCALL DELAY_10US

CLR PIN_PGM

CLR PIN_CLK

LCALL DELAY_5US

CLR PIN_RST

LCALL DELAY_3US

LCALL MUL_8

MOV A, 71H

MOV B, 72H

ORL A, B

JZ ZERO_BACK

MOV A, 71H

JZ HIGH_ZERO

MOV A, 72H

JZ LOW_ZERO

LCALL HIGH_Z

LCALL LOW_Z

JMP ZERO_BACK

HIGH_ZERO:

LCALL HIGH_Z

JMP ZERO_BACK

LOW_ZERO:

LCALL LOW_Z

ZERO_BACK:

RET


HIGH_Z:

MOV R0, 72H

CLK_LOOPH:

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US

DJNZ R0, CLK_LOOPH

RET


LOW_Z:

MOV R0, # 0H

MOV R1, 71H

CLK_LOOPL:

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US

DJNZ R0, CLK_LOOPL

DJNZ R1, CLK_LOOPL

RET

MUL_8:

MOV R2, # 03H

CLR C

MUL_LOOP:

MOV A, 72H

RLC A

MOV 72H, A

MOV A, 71H

RLC A

MOV 71H, A

DJNZ R2, MUL_LOOP

RET

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Read data

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

READ_EE:

LCALL ADDRESS

MOV R0, # 40H

MOV R3, 76H

LOOP_BYTE:

LCALL READ_8_BIT

MOV @R0,A

INC R0

DJNZ R3, LOOP_BYTE

RET

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

; Erase data (write bytes to "FFH")

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

ERASE_BYTE:

LCALL ADDRESS

MOV R3, 76H

ERASE_LOOP:

SETB PIN_IO
SETB PIN_PGM
LCALL DELAY_3US
SETB PIN_CLK
LCALL DELAY_3US
CLR PIN_PGM
LCALL DELAY_5MS
CLR PIN_CLK
LCALL DELAY_3US
SETB PIN_CLK
LCALL DELAY_3US

MOV C, PIN_IO

JNC LOOP_ERASEWRONG ; ERASE CHECK ERROR

CLR PIN_CLK

DEC R3
CJNE R3, # 0H, ERASE_NEXT

JMP ERASE_END

ERASE_NEXT:

LCALL READ_8_BIT

JMP ERASE_LOOP

LOOP_ERASEWRONG:

MOV 79H, # 00H ; SET THE ID TO ZERO

ERASE_END:

RET

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

; write byte (write the corresponding bit to "0")

; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

WRITE_BYTE:

LCALL ADDRESS

MOV R3, 76H

MOV R0, # 30H

WRITE_LOOP:

MOV A, @R0

LCALL WRITE_1_BYTE

INC R0

DJNZ R3, WRITE_LOOP

RET


WRITE_1_BYTE:

MOV R2, # 08H

WR_BYTE_LOOP:

RLC A

JC NEXT_BIT

CLR PIN_IO

SETB PIN_PGM

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_PGM

LCALL DELAY_5MS

CLR PIN_CLK

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

MOV C, PIN_IO

JC LOOP_WRITEWRONG ; WRITE CHECK ERROR

CLR PIN_CLK

LCALL DELAY_3US

JMP SKIP_BIT

NEXT_BIT:

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US
SKIP_BIT:

DJNZ R2, WR_BYTE_LOOP

LOOP_WRITEWRONG:

MOV 79H, # 00H ; SET WRITE ERROR ID TO ZERO

RET


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

; check password

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

COMPAR_CODE:

LCALL ADDRESS

MOV R0, # 77H

MOV R3, 76H

COMPAR_LOOP:

MOV A, @R0

LCALL COMPARE

INC R0

DJNZ R3, COMPAR_LOOP

SETB PIN_IO

RET
CODE_VALI:

LCALL COMPAR_CODE

MOV R2, # 08H

FIND_NEXT:

LCALL DELAY_3US

MOV C, PIN_IO

LCALL DELAY_3US

JC FOUND_ONE

SETB PIN_CLK
LCALL DELAY_3US

CLR PIN_CLK

DJNZ R2, FIND_NEXT

JMP NO_ONE

FOUND_ONE:

CLR PIN_IO

SETB PIN_PGM

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_PGM

LCALL DELAY_5MS

CLR PIN_CLK

LCALL DELAY_3US

SETB PIN_IO

SETB PIN_PGM

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_PGM

LCALL DELAY_5MS

CLR PIN_CLK

LCALL DELAY_3US

NO_ONE:

NOP

RET

COMPARE:

MOV R2, # 08H

LOOP_COMPAR:

RLC A

MOV PIN_IO, C

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

DJNZ R2, LOOP_COMPAR

RET


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Fused fuse

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

FUS_BLOW:

MOV 71H, # 07H

MOV 72H, # 0F4H

LCALL BLOW_BYTE

RET

BLOW_BYTE:

LCALL ADDRESS

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US

SETB PIN_RST

LCALL DELAY_3US

CLR PIN_IO

SETB PIN_PGM

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_PGM

LCALL DELAY_5MS

CLR PIN_CLK

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US

CLR PIN_IO

SETB PIN_PGM

LCALL DELAY_3US

SETB PIN_CLK

LCALL DELAY_3US

CLR PIN_PGM

LCALL DELAY_5MS

CLR PIN_CLK

LCALL DELAY_3US

CLR PIN_RST

LCALL DELAY_3US

RET

READ_8_BIT:

MOV R2, # 08H

LOOP_8BIT_OUT:

SETB PIN_CLK

MOV C, PIN_IO

RLC A

CALL DELAY_3US

CLR PIN_CLK

LCALL DELAY_3US

DJNZ R2, LOOP_8BIT_OUT

RET


DELAY_10US:

MOV R7, # 05H

LOOP_10:

DJNZ R7, LOOP_10

RET

DELAY_5US:

MOV R7, # 02H

LOP_5:

DJNZ R7, LOP_5

RET

DELAY_3US:

MOV R7, # 01H

LOP_3:

DJNZ R7, LOP_3

RET

DELAY_5MS:

MOV R7, # 0FFH

LOOP_5MS:

DJNZ R7, LOOP_5MS

RET



Tipping machines,

Our Tipping machines is used to tip the Tipping Film on both end of shoelace, or bag handle rope lace. there is fully Automatic Tipping Machine. We have max 1.5meter, 2meter, 2.5meter according to customer demand. We also have semi auto Tipping Machine, which have no length limited, but need one operator to work.

The advantages of the tipping machines, 
1, the processing temperature can be adjusted automatically, normally in 50°to 60°.When reaching the set temp, it will be fixed automatically.  
2, the main motor has the overload protection function. 
3, the machine is equipped with special safety device and the base of the mold is made of high quality casting, so, the mold can be used for a longer life. 
4, strong structure and safe operation and good materials and good brand electrical parts, technically and mechanically, the whole machine can be used for at least 20 to 30 years without any problems. 
5, the machine has the function of programming protection, under which function the machine parts will not be easily broken because of reverse or wrong power connection. When power cable is wrongly connected, the machine will not run. 
6, the machine will stop working automatically when there is no tipping film feeding, under which function the machine idle running will be avoided.

Tipping Machine

Tipping Machine,Tipping Film,Automatic Tipping Machine,Transparent Tipping Film, semi auto tippin machine

DongGuan FeiYang Packaging Machinery Equipment Co., Ltd , http://www.feiyang-machinery.com