S25FS512S unresponsive to instructions

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I'm currently bringing up a custom board which uses the S25FS512SAGNFI011 NOR Flash NVM as a flash memory device. Due to a demand for pins on the processor, the QSPI interface between it and the flash device only supports single-bit or dual I/O mode. The physical layout of the QSPI interface and other connections is identical to that of another working board that was used as a close reference.

At this time, I've tested two boards that exhibit the same behavior; I can't get the flash device to read out any non-zero data. The Serial Out signal will stay perpetually low no matter which instructions I send. Some examples:

     1) RDID command to read from ID-CFI address space.

CMD_Read_Identification.png

     2.a) WREN command to set SR1V[1] (WEL bit).

2_WREN.png

     2.b) Subsequent RDSR1 command to read SRV1.

4_RDSR1.PNG

I have checked the power, control, and data signals on an oscilloscope. All signals are at proper thresholds. VCC remains at 1.8V and never drops below VCC(min) or VCC(cut-off) during operation. Everything seems to match the timing requirements too. Nothing in particular stands out to me other than that the signals seem to be tri-stated when the CS isn't asserted.

It worries me that CS# does not follow VCC during power-up, but I perform hard and soft resets which should ensure proper initialization.

I've also tried sending the RES command in case the device is in the deep power-down state.

There may be the possibility that the device was pre-programmed to default into QPI mode, in which case it wouldn't recognize my single-bit instructions. The physical interface of my board doesn't allow me to send quad I/O mode instructions, but I'm seeing if I can find a workaround to test for this.

Any insight or suggestions are appreciated!

0 Likes
1 Solution
Anonymous
Not applicable

Problem Solved

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.

View solution in original post

0 Likes
12 Replies
BushraH_91
Moderator
Moderator
Moderator
750 replies posted 50 likes received 250 solutions authored

Hello Alex,

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.

Regards,

Bushra

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

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)?

0 Likes
Anonymous
Not applicable

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.

0 Likes
AlbertB_56
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 replies posted

Hello Alex,

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

Best regards,

Albert

Cypress Applications Support

0 Likes
Anonymous
Not applicable

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?

0 Likes
Anonymous
Not applicable

Update:

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)

FRDM_RDID_CS-CLK-SI-SO.png

Custom Board (RDID with zeros response - CS, SCK, SI, SO)

WDC_RDID_CS-CLK-SI-SO.png

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?

0 Likes

> 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.

0 Likes
Anonymous
Not applicable

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:

signal_SI-IO0_1.png

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

0 Likes
Anonymous
Not applicable

Problem Solved

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.

0 Likes

Out of curiosity: if this was the problem, then why does it work in some cases?

0 Likes
Anonymous
Not applicable

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.

0 Likes

Hello Alex,

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.

Best regards,

Albert

0 Likes