Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem with writing on EEPROM 93C46s memory

Status
Not open for further replies.

emmos

Member level 2
Joined
Dec 30, 2003
Messages
47
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
472
EEPROM 93C46

Hi

I made a program for reading and writing from 936C46 memory
but it seems that when it writes on it the Do keeps on for busy status.
why is that?
I read that the clk frequency is 2MHz does this mean its for the microcontroller used???

plz help me
 

Re: EEPROM 93C46

Seems your totally not familiar with datasheet reading (o;

2MHz is the maximum clock frequency for the 93C46 clock line (mostly for 5V operation only).

Do you use exact timing as described in the datasheet for writing to it?
Can you read back the same data as it was written to it?
 

Re: EEPROM 93C46

you must read the datasheet!
reduce the clock frequency.
 

EEPROM 93C46

the clock is very high.

below is my code,use pic16f72 ,oxc 4MHZ

SENDC:
BANK_1
MOVLW B'00010000' ;
MOVWF TRISA ;
BANK_0
;GOTO $+1
BCF CS_P
BCF CLK_P ;
MOVLW 09H ;
MOVWF R1 ;
BCF DIO_P ;
SETC ;
CLRWDT ;
BSF CS_P
CONTINUE ;
BTFSC STATUS,CARRY ;
BSF DIO_P ;
GOTO $+1 ; WAIT 2 US
BSF CLK_P ;
RLF COMMAND,1 ;
GOTO $+1 ; WAIT 2 US
BCF CLK_P ;
BCF DIO_P ;
DECFSZ R1,1 ;
GOTO CONTINUE ;
RETLW 0 ;
;********************************** ;
;** READ SECTION (TWICE) ** ;
;********************************** ;
EEREAD ;PAGE1
MOVFW ADDRESS
EEREAD0
BANK_0
MOVWF OUTBYT
BSF OUTBYT,7 ; COMMAND = READ
BCF OUTBYT,6 ; COMMAND = READ
; CALL OPCODE ; SEND COMMAND
CALL SENDC ; SEND COMMAND TO EEPROM
READ ;
BANK_1
MOVLW B'00010100' ;
MOVWF TRISA ;B11001111
BANK_0
BSF CS_P
MOVLW 16D ;
MOVWF R1 ;
READ_0 ;
GOTO READDD ;
READDD ;
BSF CLK_P ;
CLRWDT ;
CLRC ;
BTFSC DIO_P ;
SETC ;
RLF RW0,1 ;
RLF RW1,1
BCF CLK_P ;
GOTO DLB ;
DLB ;
DECFSZ R1,1 ;
GOTO READ_0 ;
GOTO END_PRM ;
;********************************** ;
;** WRITE TO 93LC46 ** ;
;********************************** ;
EEWRITE ;PAGE1
WRITE0 MOVLW 30H ; WRITE ENABLE COMMAND
MOVWF OUTBYT
CALL SENDC ; SEND COMMAND TO EEPROM
BCF CS_P ;
WRITE1 MOVFW ADDRESS ; GET EEPROM ADDRESS
MOVWF OUTBYT
BCF OUTBYT,7 ; WRITE COMMAND
BSF OUTBYT,6 ; WRITE COMMAND
CALL SENDC ; SEND COMMAND TO EEPROM
WRITE ;
BANK_1
MOVLW B'00010000'
MOVWF TRISA ;
BANK_0
MOVLW 16D ;16BIT FOR ONE WORD
MOVWF R1 ;
WRITE_0 ;
BCF DIO_P ;
RLF RW0,1 ;
RLF RW1,1 ;
BTFSC STATUS,CARRY ;
BSF DIO_P ;
GOTO $+1 ; WAIT 2 US
BSF CLK_P ;
GOTO $+1 ; WAIT 2 US
CLRWDT ;
BCF CLK_P ;
BCF DIO_P ;
DECFSZ R1,1 ;
GOTO WRITE_0 ;
BCF CS_P ;
;GOTO SDF ;
SDF ;
MOVLW 0X0C
MOVWF RW1 ;
BSF CS_P ;
CHK
DECFSZ RW0,1
GOTO CHK ;
DECFSZ RW1,1
GOTO CHK ;
;
BCF CS_P ;
CLRF OUTBYT
CALL SENDC ; SEND COMMAND TO EEPROM

END_PRM ;
BCF CS_P ;
RETLW 0
 

Re: EEPROM 93C46

beside the clock, which is actually high, some chip from different manufacturer have a pin for selecting the word length, 8 or 16 bit
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top