S25FL064L device ID read unexpected values

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

cross mob
lock attach
Attachments are accessible only for community members.
MiJo_4806601
Level 1
Level 1

Hello,

I am using a S25FL064L in combination with nrf9160 microcontroller.
When reading the device ID (command 0x9F), the device returns 0x00803F, instead of the expected 0x016017.

Here is the data viewed with an oscilloscope:

80_3F.png

I have also tried to read the configuration register 3 (command 0x33), here I also receive unexpected data (70, e1, c3), and the received data seems to change per read.
It seems like the data repeats over 7 clock cycles instead of 8.

Scope image:

Figure_1.png

I have also attached the csv files of the data.

This is the second S25FL064L chip I have tried, the first had similar results.

I have checked the Vcc and Vss voltages during a read, and the voltage does not drop.

Why do I not receive the expected data? Is there something wrong with the signals I send the the device? Has anyone had similar problems?

0 Likes
1 Solution

Hello Bushra,

I think our test setup might not work as expected. When connecting the Vcc to the scope, the ID can be read.

We probably have too much interference between the signals. We try later with an improved setup.

Thanks for the help!

Regards,

Mike

View solution in original post

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

Hello Mike,

Can you please send us more information on the following?

  1. What is the clock frequency?
  2. Try Read Status Register 1 (command 0x05) and Read Status Register 2 (command 0x07) and let us know the values
  3. Please share with us the schematic
  4. Use scope capture Power On Reset timing (Vcc, RESET#, CS# on the same screen)
  5. What is the scope the attached csv files capture with? Is there an off-line viewer I can download to view the csv files?

Thank you

Regards,

Bushra

0 Likes

Hi Bushra,

1. 1 Mhz.

2. both are 0.

3. the chip is connected to a development kit using jumper wires, there is no schematic available.

4. All are continuously 3 volt. The scope I have available only has 4 inputs, I cannot capture them all in the same screen. I can capture them in a different screen.
5. the scope used is a rigol ds1054z. I have not found an offline viewer for the scope.

Thanks,

Mike

0 Likes

Hello Mike,

RDID (0x9F) is a very simple command (no address, no read latency needed). The flash doesn’t respond to RDID (0x9F) command correctly. The possible reasons could be:

  1. Flash connection issue
  • schematic is crucial to check.  So please if possible can you send the schematic for the flash connection
  1. Flash not initialized (POR) properly
  • 4 inputs scope is enough to capture POR timing waveform. Only 3 signals are required for this purpose – Vcc, CS#, RESET#. Capture the waveform for the flash power up (i.e., Vcc ramping from 0V to 3.3V)
  • Another test – keep Vcc stable at working voltage (i.e., 3.3V), pull RESET# signal low for >200ns, after RESET# signal comes high, wait >150ns. Then try RDID command again
  1. Access flash at wrong mode (i.e., SPI vs. QPI)
  • Try RDID command at QPI (4-4-4) mode and SPI (1-1-1) mode

Thank you

Regards,

Bushra

0 Likes

Hello Bushra,

I think our test setup might not work as expected. When connecting the Vcc to the scope, the ID can be read.

We probably have too much interference between the signals. We try later with an improved setup.

Thanks for the help!

Regards,

Mike

0 Likes

Hello Mike,

Thank you for your update. I am closing the thread.

Regards,

Bushra

0 Likes