7 Replies Latest reply on Dec 5, 2019 9:23 PM by SudheeshK_26

    How to set Burst Command in S25FL064L

    MaKu_4514886

      Hi

       

      Please support me..

      How to set Burst Command and Burst Length in S25FL064L

      I want to read the data sequentially from starting address 0x00000 to 0x7FFFFF(8MB Flash)

       

       

      Thanks

      Mahesh

        • 1. Re: How to set Burst Command in S25FL064L
          SudheeshK_26

          Hi Mahesh,

           

          You can read the entire memory content using a single read operation. Please see the information  from datasheet (https://www.cypress.com/file/316661/download , page 78) below.

           

          "The address can start at any byte location of the memory array. The address is automatically incremented to the next higher address in sequential order after each byte of data is shifted out. The entire memory can therefore be read out with one single read instruction and address 000000h provided. When the highest address is reached, the address counter will wrap around and roll back to 000000h, allowing the read sequence to be continued indefinitely"

           

          I would like to get some additional information about your query.

          1. Are you using single SPI mode or Quad SPI mode to access our flash device? Which is the read command that you use?
          2. Are you facing any issues with read operation?

           

          Thanks and Regards,

          Sudheesh

          • 2. Re: How to set Burst Command in S25FL064L
            MaKu_4514886

            Hi Sudheesh

            I am using QUAD SPI to access our flash device

             

            If I try to read bytes more that 30KB, I cannot able to render image from QUAD SPI

            Thanks

            Mahesh

            • 3. Re: How to set Burst Command in S25FL064L
              SudheeshK_26

              Hi Mahesh,

               

              As per my understanding, data in the flash device is corrupted after first 30KB locations. Please correct me, if I am wrong.

               

              1. What is the size of your image programmed into the flash? Can you read the data from flash and compare it with original image? It will help us to find out the number of bits corrupted and check if there are any patterns.

              2. Did you reprogram the flash devices without an erase operation in between? It is mandatory to erase the flash sector before programming new data.

              3. Are you able to read read data from flash using single SPI read command (03h)? Please let us know if the read image is still corrupted.

              4. Which command are you using to program the image into flash device?


              Thanks and Regards,

              Sudheesh

              • 4. Re: How to set Burst Command in S25FL064L
                MaKu_4514886

                I have compared the image programmed into the flash via memory dump,both are same..

                After erasing the flash device I am programming the new data into flash device.

                Reading the data we are using single Command(0x03h),If i try to send the command(0xEB) starting four bytes are missing.

                I think i want to read the dummy cycle (Burst Command) before reading.Can u suggest any ideas

                 

                Thanks

                Mahesh

                • 5. Re: How to set Burst Command in S25FL064L
                  SudheeshK_26

                  Hi Mahesh,

                   

                  Our device S25FL064L expects 2 clock cycles for mode bits and 8 clock cycles for dummy cycles after EBh (Quad I/O Read) command. Please refer table "Table 17. Latency Code (Cycles) Versus Frequency" on page 36 of our datasheet.

                   

                  So, the command sequence for EBh command will be as below.

                   

                  1. CS# LOW
                  2. Send EBh command
                  3. Send Address
                  4. Send mode bits (2 clock cycles)
                  5. Send dummy cycles (8 clock cycles, default configuration)
                  6. Read data
                  7. CS# HIGH

                   

                  Number of dummy cycles may vary depending upon the configuration in configuration register 3 (CR3[3:0]).

                   

                  Thanks and Regards,

                  Sudheesh

                  • 6. Re: How to set Burst Command in S25FL064L
                    MaKu_4514886

                    Hi Sudheesh

                     

                    Insteed of 0xEB(QUAD input Output Read) Command, If i Try to send the 0x6B(QUAD Output Read)

                    I can able to receive all the bytes from QUAD SPI and image i can get clear what i expected..

                     

                    Can u give some info for difference between QOR(0x6B) and QIOR(0xEB)

                     

                    Thanks

                    Mahesh

                    • 7. Re: How to set Burst Command in S25FL064L
                      SudheeshK_26

                      Hi Mahesh,

                       

                      Could you please let me know the number of IO lines that you use to transfer command, address and data bits?

                       

                      The main difference between QIOR (EBh) and QOR(6Bh) commands is in the number of address lines used to transfer command, address and data bits between the master and slave devices.

                       

                      QIOR (EBh) uses 1-4-4 format

                      Command: IO0

                      Address: IO0, IO1, IO2 and IO3

                      Dummy bits: IO0, IO1, IO2 and IO3

                      Mode bits: IO0, IO1, IO2 and IO3

                      Data: IO0, IO1, IO2 and IO3

                      QOR (6Bh) uses 1-1-4 format

                      Command: IO0

                      Address: IO0

                      Dummy bits: IO0

                      Data: IO0, IO1, IO2 and IO3

                       

                      Are you following the above signal format for EBh command? Can you capture the waveform for EBh operation and send to us? It will give us a better understanding of this issue.

                       

                      Thanks and Regards,

                      Sudheesh