1Mbit EEPROM
EMPTY_C
Posts: 29
Hello All,
I am creating a data logger using microchip's 24LC1025 EEPROM; in order to do this I was adapting a code from the stamp works book:
SW21-EX32.BS2
I changed the read/write location : wrdAddr to show 0 to 65535 to indicate all the possible addresses (2^16) or did I?
I have a feeling that there are more addresses to write to; according to the documentation: "the device has an internal addressing boundary limitation that is divided into 2 segments of 512K bits."
At this time I am assuming that I am operating in one 512K bit block of memory.
My question is: What is my address range? (assuming I am writing to a 512K bit block of memory)
Thank you for your help!
MT
I am creating a data logger using microchip's 24LC1025 EEPROM; in order to do this I was adapting a code from the stamp works book:
SW21-EX32.BS2
I changed the read/write location : wrdAddr to show 0 to 65535 to indicate all the possible addresses (2^16) or did I?
I have a feeling that there are more addresses to write to; according to the documentation: "the device has an internal addressing boundary limitation that is divided into 2 segments of 512K bits."
At this time I am assuming that I am operating in one 512K bit block of memory.
My question is: What is my address range? (assuming I am writing to a 512K bit block of memory)
Thank you for your help!
MT
Comments
Pay attention to hardware requirement on Ax pins, especially A2.
As far as addressing / capacity.
The physical address is 16 bits word ( same as in your code sample) plust the additional two bits A0 A1 in control word.
Per spec , the device physical capacity is 128K x 8 and you can control four of them (4x 128 Kbits ) on the same address bus.
The "block" feature is generaly used when consecutive read / write ( not sure about write) is required.
I need to do some "digesting" spec desription of block. I am not sure how they came up with two 512K "parts".
Cheers Vaclav
And similar text is in there twice.
"Each device has internal addressing boundary
limitations. This divides each part into two segments of
512K bits. The block select bit ‘B0’ controls access to
each “half”."
Vaclav
I do have A2 set to 1.
I have A0 and A1 set to 0,0 respectively. If I wanted to add more capacity I could add up to 3 more chips and make their A0,A1 to: 1,0 ; 0,1; 1,1. This would give my system a total of 4 Mbits.
I am not sure if I agree with the above quote. I thought for a given address, say 0,0 (A0,A1) and setting the block select bit to 0 that I would have a capacity of 512 Kbits.
Thanks for your help
MT
So does this mean that I have 64000 addresses to write to on %0XX and 64000 addresses on %1XX totaling 128000 addresses?
According to the documentation I should have an address boundary of 0000h (0) to FFFFh (65535) (within %0XX). This seems a little confusing to me.
There must be an error in the spec when they talk about anything "512K".- it should be "64K".
Do not forget to add the device ID to the control word.
Vaclav
Jeff T.
This just shows how important is to pay attention to “details”.
I did not and overlooked the bits versus bytes!
The spec is correct when it talks about 512 kbits “blocks”.
Vaclav