3 Replies Latest reply on Aug 20, 2019 2:44 AM by ApurvaS_36

    s70fs01gs only can read id

    topi_4413926

      I used s70fs01gs flash chip, can now read its id, but can not do other operations such as reading registers, if I want to operate it, need to do other initialization operations?

       

      Error flag is erasing error when doing other operations,Read the data is 0xff,Or that no data is returned.

       

      Used  normal spi mode, Infineon tc297 chip

       

      thanks .

        • 1. Re: s70fs01gs only can read id
          ApurvaS_36

          Hi Tong Pilip,

           

          Thank you for contacting Cypress Semiconductor.

           

          Could you please elaborate a little on your problem?

          1. What do you mean when you say "cannot do other operations"? What all operations did you try?
          2. Can you tell us the exact command sequence that you followed?
          3. When was the error flag set?
          4. Are you reading all data as 0xFF after erase operation?

           

          Best Regards,

          Apurva

          • 2. Re: s70fs01gs only can read id
            topi_4413926

            Hi Apurva,

                Thank you for answer the question.

                The only operations can read is RDID and SFDP.

                1.pull up the wp

                2.changed 4 byte address mode.

                3.pull down the cs after transfer

                4.send command 1 byte.

                5.send address 4 byte.

                6.read data 1 byte.

            I read many register data is 0xff.

            Is all the default register data 0xff?

            Does register write need to be erased first?

            Error returned when using a write register operation(WREN, Write register, poll...) function.

            • 3. Re: s70fs01gs only can read id
              ApurvaS_36

              Hi Tong,

               

              - Please clarify how you are enabling 4 byte address mode? Which command are you using? Please mention all the steps.

                   The correct way to do this would be -

                   Make CS# LOW.

                   Send 4BAM (B7h) command.

                   Make CS# HIGH.

               

              - For read operation, could you please clarify what location are you trying to read? Are you trying to read any of the memory locations or any of the registers?

               

              - If you are trying to read any of the memory locations, then the command sequence mentioned by you in the previous comment is correct. Could you please provide us the logic analyzer waveforms for this read operation?

               

              - If you are trying to read the value of any of the registers using RDAR command, you will have to provide the required number of latency cycles depending upon the frequency that you are operating on. Please refer to Table 25. Latency Code (Cycles) Versus Frequency on page 52 of the datasheet. (Link - https://www.cypress.com/file/215911/download)

               

              - The values of all the memory locations is erased to 0xFF when the part is shipped. The default values of the various registers can be found out from the datasheet.

               

              - No. Registers need not be erased before writing. The WRAR command takes care of the erase process before programming the data. If you trying to write to a memory location then you need to erase the location before programming.

               

              - Please clarify what commands you are using for write register operation when the error flag is getting set. Please provide the full sequence of commands.

               

              - Please provide the logic analyzer waveforms for all the write and read operations that you are performing.

               

              Best Regards,

              Apurva