i am really having a big problem with that EEPROM AT28C64B how i can load the data from this IC ? .. i am not sure if i programmed it right ? .. i tried to connect the output to LEDS but none of them worked .. can someone explain how to write into the data ?! .. and the important thing how to read the data i wrote ?! .. how to use them ? .. thanks in advance

sort by: active | newest | oldest
Is there any particular reason to use a parallel addressed EEPROM, and not a serially addressed EEPROM ?
mac00 (author)  steveastrouk3 years ago
yea listen .. im a student in faculty of engineering .. my project is to make propeller clock with logic gates without control like AVR or arduino .. i know it is stupid thing but it is just a challenge in our department .. so my idea was to use that parallel memory to store the data i want to display ! .. and to use a counter to count the addresses automatically and i will adjust the clock of the counter with the speed of the motor .. and if i want to shift the words i want to display, i can enter the data shifted into the memory .. so i was searching for a ROM memory i can store data 0 and 1 and i can load the data when the counter do its work ! so it loads 8 bit of data >> those 8 bits i will use to turn on or off the LEDS i want, to make the propeller display
Right, now I understand your design parameters. You can use an EEPROM, or even a FLASH memory to do this. Take a look at the data sheet for the device - it won't drive an LED directly, you need to add some buffering to the output.

What package are you using ? Your pinout in your diagram is for the TSOP package - surely you're actually using a DIP ?

I am also using the AT28C64B, I need V+ or Ground for 1 and 0 because I will be using this as a control matrix for a TTL CPU I am building. Instead of V+ or Ground, it will do a voltage difference instead of Ground or V+. I need it to control the I/O of devices talking to the bus. Can the buffers solve my problem. If not, what can I do, I already tried resistors, 100k to be specific, but it did not do much, please help me!

mac00 (author)  steveastrouk3 years ago
also im not sure if i should always connect the output enable to GND always and chip enable to GND always ? i asked ATMEL techincal support and they said

"The only way to tell if your firmware impliments the datasheet required
parallel protocol is by study of all signals with a logic analyzer. Please
send logic analyzer captures of the write and read protocol."

is there any other " easy " ROM without that read and write protocols ?! .. or when i add some buffering to the output it will work ?!
First of all, correct the wiring to the pinout of the DIP version of the device. If your programmer verifies the EEPROM data in accordance with your design, the rest can be done simply. On the FALLING edge of /OE, the data selected by your address will be presented on the data pins. When its read, the line should be driven high again.

Have you got access to a logic analyser ?
mac00 (author)  steveastrouk3 years ago
well no .. and i have got no access to the programmer too right now .. but i can get access to them in the faculty tomorrow ... can u explain more ? what is wrong the wiring ? .... is there any simple way better than EEPROM to store data and use them to drive LEDS just like registers but holds alot of data as i still dont have that much time ... the programmer reads the data i entered by the way i explained u in the photo .. so there is a data in the EEPROM as i entered by changing FF
Check the pinout ! You've drawn the pins of the TSOP package, when you have the DIP.
I think the EEPROM's a good way to do it, though you could do it with multiplexers too.
mac00 (author)  steveastrouk3 years ago
it is DIP .. and the drawn here is DIP package .. i use eagle software it didnot have that kind of memory so i made a library for it .. i dont know what is wrong with my connection ? u r saying that the OE should go high after low ? that means i shouldnot connect it to GND .. and i should put buffers on the output ?! ... if i used multiplexers the board will be huge and i want to display alot of things .. i find it kinda complicated to use that EEPROM ! i dont know why .
It is NOT DIP in your DRAWING. EG DIP Pin 28 = Vcc, pin 27 = /WE YOU HAVE Pin 28=A10 and Pin 27 = /CE.
mac00 (author)  steveastrouk3 years ago
omg sry .. !!! ... it is stupid mistake cause of my colleagues sharing my project .. do u think it will work if i reconnected it ? i mean the OE is still connected to GND
I'm more worried about Vcc on pin 28 than the enables !!! YOu have GROUNDED the supply pin. That's why I want you to verify the device is still OK in your programmer tomorrow.

FIRST RULE OF CIRCUIT CHECKING. Leave your assumptions at the door.....
mac00 (author)  steveastrouk3 years ago
i programmed another one and connected it right ... but LEDS didnot turn on again
Did you buffer the LEDs like I said ?
mac00 (author)  steveastrouk3 years ago
no i didnot try to buffer them ! .. what does it mean strobe ? ...
Strobe means pulse.
Set up address. On the FALLING EDGE of OE, the data becomes valid. AFTER OE goes high, the logic resets for the next address.
mac00 (author)  steveastrouk3 years ago
thank you very much !!!!! ... it worked ! ... can i ask anothe question ?! .. i programmed my memory to write a word ! .. do u have any ideas to make these word move ? >> moving text ? .. i want to make 2 lines ! and the word beings from the 1st line and keeps moving to end within the 2nd line ! >> those lines ( led lines ) like that .. i mean i want to shift my data !
All you need is an address counter. If you're really clever, you program certain ranges of address with certain messages, and you can switch between them
mac00 (author)  steveastrouk3 years ago
yea i am using a counter .. mmmm .. do u have any experience with bq4802 >> paralllel RTC ! .. im thinking to use it as long as it doesnot use I2C protocol
Forget it for now. Concentrate on the sequencing next. Trying to read the BQ4802 into memory is too hard for your current skill set.
mac00 (author)  steveastrouk3 years ago
i know how to connect it .. just not sure about how to programm it or what to programm !
You aren't programming anything: that would be easy. You have to work out how to make a state machine to sequence the memory.
mac00 (author)  steveastrouk3 years ago
i finished the sequencing ! .. now im thinking to use that RTC .. i will use IR remote control 1 button for sequencing text or normal text and the other for the clock ! ... the remote is easy thing .. but do u recommend any tutorial before using RTC ?.. or u can tell me how to sequence the memory ? .. i mean im not using any micro processor ! but in the data sheet pins like RST WDO INT OE WE these should go to my memory ? .. and Vout CE out to external ram memory ?
The BQ4802 is NOT the part you want to use, its designed specifically for processor systems.

If you HAVE to use an RTC chip, the DP8537 is a better choice, but you have to SET the RTC, as well as read it.

You might be better building an RTC in logic, from counter/timer parts than buying in the function.
mac00 (author)  steveastrouk3 years ago
im ordering it from uk-rs online .. it is discontinued product .. any other options u recommend ?
Just look for RTCs with proper parallel interfaces. I suspect these days you may struggle.

Is there any reason why you can't type the word "you" on your keyboard ? Writing "u" looks like you're about 12 years old, and not serious about this.
mac00 (author)  steveastrouk3 years ago
aha .. no there isnot any reason to write " u " instead of "you" .. is there any reason why (you) prefer you instead of " u " .. seems that you are too old emmm ? :D .. I am 18 years old mate :) .. RTC-7301DG i found this and in stock
Yes, talking in text speak is not the way to be treated seriously. Drop it in the wrong place as a working engineer is not the way to get on. If you applied to me for a job with text speak, I, like many, will bin it.

We don't charge for extra letters on here. Text speak is the result of the old limit on characters in a text, and the speed you can type them.

I'm not "too old", I choose to communicate clearly.

I think using the RTC is too hard for your skill set. You are going to have to create the setting interface too. The chip's fine.

Lead me through how you're going to sequence data in and out of it ?

Are you allowed FPGAs or PLDs to do this ?
mac00 (author)  steveastrouk3 years ago
well I am still learning .. yea i think we are allowed as long as we dont use AVR s chip or arduino but i also dont have any experience with them but i can try ! .. I am still thinking how to sequence data in and out of it ? .. I know it might be hard for me but I want to try to improve my skills .. thanks for your advice about text speak ! :)
What you need to explore next are "state machines"
mac00 (author)  steveastrouk3 years ago
ok i am exploring it nw .. do you think i have any chance to make it work in 5 - 7 days .. i think i will be able to write into it .. just need to write its datasheet again .. RD and WR in this image ? should stand for OE and WE if im using my memory right ?
Are you imagining that all you do is fasten the memory and the clock together?
mac00 (author)  steveastrouk3 years ago
i know i will need to set the clock first
First you have to master WRITING to EEPROM. That means
1.) Set RTC address
2.) Drop RTC /CS and then /RD
3.) Read RTC into data latch.
4.) Raise RTC /RD, raise /CS
5.) Drop EEPROM /CS
6.) Set EEPROM address.
7.) Set EEPROM /OE high.
8.) Drop EEPROM /WE
9.) Assert EEPROM /WE - write cycle initiated.
10.) Drop /OE, copy data to latch 2. Raise /OE
12.) XOR latch2 with latch1. if its 0xFF, the write cycle is continuing
13.) Loop 10-13 until its not 0xFF
14.) INC RTC address

That;'s read the RTC into the EEPROM. What it HASN'T done is converted that into characters in your video mapping. You need to implement a lookup table in the memory to do that.

mac00 (author)  steveastrouk3 years ago
u mean by drop >> setting them low and raise setting them high ? .. and INC = ?
mac00 (author)  steveastrouk3 years ago
thank you ! :) ... if im using 4 memories .. each memory for a specific display .. i want to use a remote control .. which one should i use ? .. do u recommend any circuit to build it ? or ? .. i want to control the CE of the 4 memories >> if i press the 1st button >>> 0 will turn on the 1st memory and the other are off ( 1 to CE ) .. 2nd button >> 0 will turn on the 2nd memory and the other are off and so on
Buy in the remote. Take a look on Ebay. That will determine what you do for the memory control.
mac00 (author)  steveastrouk3 years ago
there are alot of kinds ? .. Infra red or RF remotes .. i want something simple
Hard to say. Go for cheapest ?
mac00 (author)  steveastrouk3 years ago
well yea .. first i was thinking to use I2C RTC and interfacing I2C to logic but i found that will be hard ! .. so after i found parallel memory and parallel RTC yea .. that will need interfacing too right ?
Are you imagining that all you do is fasten the memory and the clock together?
mac00 (author)  steveastrouk3 years ago
so i have to set the RTC and read it and it will work with that kind of memory right ?
Yes, if you have something which can do the transfer for you, in your logic.
mac00 (author)  steveastrouk3 years ago
mmm .. more ICS wider board >> need motor with good torque .. also i will have to think how to build it from counter and timers .. u mean dp8573 right ?
You'll need barely any torque. The design should be balanced, or it will shake itself to bits.
Consider too how are you going to control the stepping of the sequence.
Look at the timing diagram, You HAVE to strobe OE to make the data appear.
mac00 (author)  steveastrouk3 years ago
as u said falling edge ? so i can do this with push button pull up resistance and when i click on the push button there will be rising edge so i can put not gate .. but about the buffer ? ... ah and if i read the data in it as i put that means it is working right ?
Are you using an oscilloscope, at the very least, or better, a logic analyser.

You START with the timing diagram for the part you have selected. You look at what you have to do with the control lines CE and OE and WHEN you have to use them.

From the datasheet ONLY after the falling edge of OE and CE does data become valid on the outputs.

Without buffers, you WILL damage the memory chip - try 74HCT245 devices as buffers.
mac00 (author)  steveastrouk3 years ago
im really very grateful for ur help !!
mac00 (author)  steveastrouk3 years ago
mmm .. ok i will check it and tell u .. but if it is still working i will connect it right if it didnot work ? do u have any suggestions for any other connection ! .. sry for my too many questions :D
mac00 (author)  steveastrouk3 years ago
do u recommend any other ROM ?! .. mmm i enter data with DIP switches and load it again using the counter to drive LEDS
mac00 (author)  steveastrouk3 years ago
yea im using a DIP package
In that case, to begin with, you've wired it wrong !
mac00 (author)  steveastrouk3 years ago
i really have no experience with EEPROM or any type of memory ! also here in my region no one worked with parallel EEPROM before like this IC ,, so im not sure if i programmed it right ! .. i thought that FF digits stands for 8 bit digits binary the output of the IC so i wrote which data i want in binary like this 10101011 and i changed it to hexadecimal so it is >> AB and i wrote that AB instead of FF and i kept doing that till i finshed all data i want to store is this right ?! like shown in the photo i didnot use the software in the photo but it is just an example and the other software i used was the same like this .. sry for disturbance but i cant find any source of information i can depend on :D
mac00 (author)  steveastrouk3 years ago
i dont have a particular reason to choose that EEPROM ! i just wanted a ROM not a RAM to prevent data loss .. and for using parallel not serial .. serail EEPROM use I2C or SPI protocol and i cant interface them to use with TTL counter like 74590
Don't forget to tick the best answer box for this question !
mac00 (author)  steveastrouk3 years ago
done ! .. thank you very much ;)
What have you connected it TO. There is not enough detail in your question. What hardware, what software, what LEDs are you talking about >?
mac00 (author)  steveastrouk3 years ago
here i was just testing so i used only 4 addresses from A0 to A3 with DIP switches and i connected the output enable to GND and chip enable to GND as they are active low .. but no LED turned on .. but i programmed it right with Xeltex programmer i guess
mac00 (author)  steveastrouk3 years ago
listen first i tried to programm it by hand like that but when i read datasheet i knew that was wrong way .. so i programmed it with a universal programmer ..