SPIFIFO kills SRAM chip (23LC1024)

Status
Not open for further replies.

eretan

Member
I've been trying to figure this out for the last month or so, no luck.

I'm using a 23LC1024 1Mbit SRAM with my Teensy 3.1, and for some reason using SPIFIFO appears to completely kill the chip. What I did was this: I first tested 23LC1024 with the normal SPI library, and everything is fine, works great. Then I tried SPIFIFO, and the chip completely stopped responding (I've verified that all pins/signals are normal except that there is nothing coming out of MISO). No matter what I did (going back to the normal SPI library, changing SPI speed/modes), the chip stayed dead. I cannot imagine how SPIFIFO could damage a chip, but there you have it.

So far I've killed 3 chips - now at this point I'd be perfectly happy to find a different chip or just use the plain SPI library, but there is (surprisingly) no other SPI SRAM that is 1Mbit or larger in size, and for performance reasons I need SPIFIFO.

Any hints or ideas would be greatly appreciated.
 
In the interest of help, I suggest you post a schematic of how EXACTLY you hooked up the chips, omitting no wires, etc. Please also post the code, using code brackets (press the "Go Advanced" button and they code bracket button will appear in the menu above the text entry box, it looks like a '#')

For the hardware / software demigods out there, here is a link to the product data page.
 
I cannot imagine how SPIFIFO could damage a chip,

I'm having a hard time imagining it too.

but there you have it.

No, actually, we don't have it. You didn't post the actual chip-killing code, nor a schematic or diagram or photo (best) of how you actually wired the chip up.

I believe I actually have some of those chips laying around here. I'd like to try to reproduce this problem. If there really is a terrible bug lurking in SPIFIFO, I want to find and fix it. But how I can I even begin to try with only the info you've given?
 
Last edited:
Yes, they're pin compatible. That's why I have some here. On my very long list of stuff to implement someday is a longer delay object, using that chip.
 
Please post the complete program that reproduces this problem, and a photo or accurate diagram showing exactly how you've connected the chip.

Today I investigated another SPIFIFO issue (also lacking in details). Here's my results:

https://forum.pjrc.com/threads/27507-SPIFIO-issues?p=61918&viewfull=1#post61918

Please follow the example in that message. You need to post a complete (and hopefully small) program, and exact details of how you've connected the hardware. Without this information, I can not help.
 
Thanks Paul. Apologies for not providing the code in my initial post; it is part of a large project that uses ChibiOS and I didn't have the time to prepare an isolated program. Similarly with the hardware - though this was actually the problem and I should have posted at least a portion.

Anyway, it was not an issue with SPIFIFO but a quirk of 23LC1024. I had a NMOS connected to the 23LC1024 (I wanted to switch it on and off along with some other circuitry/ICs to save power), but the MOSFET had a S-D leakage of 1uA, which is also roughly 23LC1024's standby current, and which put it into a strange mode of operation (rather than be completely off). For some reason, a fresh 23LC1024 will function properly when full power is applied, but after a few times it no longer comes out of the strange mode even when full power is available (of course, this is true even after I cycle the power source, or else I'd have noticed it sooner). Since I always tried SPIFIFO second, this problem manifested at that time.

I've now bypassed the NMOS and everything works as it should. So the chips were not dead after all.
 
Last edited:
Status
Not open for further replies.
Back
Top