Thank you for contacting Cypress Community Forum. We are reviewing your issue and will get back to you as soon as we find the resolution.
The S25FS512 is a 1.8V device, so your logic analyzer needs to use the correct thresholds (and your board too). You also should double-check that MISO and MOSI are connected correct. The last thing (although difficult to check): could it be that the Flash chips are in Quad mode on powerup (this is a non-volatile setting in the config registers)?
Yes, VCC and logic high signals are 1.8V. The 900mV displayed on the LA screen is just the trigger level.
Serial In/Out is connected correctly.
I've acknowledged that it could be in QPI mode, and am working on a way to check.
If at all possible, please read the value of the S25FS512S Status and Configuration registers.
Default (factory) values are as follows :
SR1NV = 00h
CR1NV = 00h
CR2NV = 08h
CR3NV = 02h
Please provide the Status and Configuration register values at your earliest convenience
Cypress Applications Support
Sorry, I cannot. The flash device is just as unresponsive to the RDAR command as any other command so only 0s are read on Serial Out. This goes for all volatile and non-volatile Status and Configuration registers.
On another note, the datasheet states that the "Initial Delivery State" of CR3NV is 0h, contradictory to the "Default State" of 2h. Which one is correct?
I replaced the flash device on my custom board with an identical one from a working reference board. However, the same behavior presented itself--now the flash device that used to be working is reading all zeros.
Here are two scope captures showing the RDID command given to my custom and reference boards, which have the same connections from the same processor to the same flash device. Please excuse the noise caused by the signals bleeding into each other; you'll have to trust me that the signals are stable when individually measured.
Reference Board (RDID with valid response - CS, SCK, SI, SO)
Custom Board (RDID with zeros response - CS, SCK, SI, SO)
I'll recheck all other signals just in case, but I bet they'll be within parameters as well. The only notable difference that I've encountered is the fact that the SI seems to be tri-stated when CS is deasserted and SO doesn't seem to be driven quite to zero.
I can't rule out the possibility that the flash device was damaged during the transplant, but could it also be that my custom board is somehow bricking the parts somehow?
> I replaced the flash device on my custom board with an identical one from a working reference board. However, the same behavior presented itself--now the flash device that used to be working is reading all zeros.
Now the question is: if you place the non-working device on the working board, does if function there correctly? What you are writing indicates that the problem is with the board, and not with the devices.
From the scope shots above, the CS line on the second boards looks much noisier that the other one. I would even go so far as to say that it probably goes to '1' inbetween, invalidating the whole transaction. There seems to be much more ringing in the other signals too. Maybe the PCB traces are too long, maybe you need some termination resistors.
We're currently investigating a bunch of items, and testing the working board with non-working flash device is on the list. I'll provide an update when that happens.
Regarding the signal quality, I think it's caused by poorly grounded probes since the noise is only present when using all four simultaneously. Here's how a single signal appears:
The bouncing following an edge is reduced by using a probe tip ground pin. I don't have a capture of just chip select on hand at the moment, but you'll have to trust me that it looks okay
It turned out that there was a discrepancy between the schematic and the PCB layout. Essentially, the flash device never had a reference GND due to the VSS pad not actually being connected to the rest of the GND plane.
Regrettably, we had overlooked checking continuity between the GND to the part and board GND. After an easy modification to our board, the part works as expected.
Out of curiosity: if this was the problem, then why does it work in some cases?
We had two sets of boards, our custom ones and reference ones. The reference boards were commercially available from NXP, while our custom boards were designed by another contractor and passed to us for bring-up. Only our custom boards that displayed the issue.
This is certainly good news...
From the waveforms you had provided, the issue may appear to be a grounding issue fro mall the noise captured.
However, in regards to intermittent operation there may have been some kind of marginal circuit capacitance on
the PC board and/or within the S25FS512S FLASH device which may have given the false indication that the
FLASH and PC board were actually operating correctly, when in fact, there was no solid connection from the VSS
pin to the PC board GND plane.
Glad to know it is now working.