This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SM28VLT32-HT: Questions for program bank and power save

Part Number: SM28VLT32-HT

Dear Sir

 1)  it works very well when I wrote any data into BANK0 and then erase it. but it was failed to do same thing for BANK1 to BANK7, after I wrote some data into BANK1 to BANK7, I read memory cells, they are still 0xFF,

What are the differences between the BANK0 and other BANKs?

2) the application note(slva550a) said:

"Writing to the arrays is not significantly impacted from a protocol standpoint. If a bank/pump is sleeping and a program command is initiated, the SM28VLT will automatically begin the wake up process and complete programming without further need for host to be involved (page6)"

 Can it enter sleep mode again automatically after the program process ends?

 3) I wrote the different values into the BAC1 register for different BANKs, When I read it back, all the BAC1 registers have the same value and the value is decided by the last one I wrote. it the same thing for the BAC2 register. what are the reason?

 4) For the MAC2 register. the application note (slva550a) said: " These bits must be left at 000 (Page 4)" ,but in the Psuedo Code of the note, the last line is "1D_000F001_00C1 // set pump pwr dn fallback mode to standby".

according this code, the MAC1.BANK is 001, not 000, I think only one is right, could you tell me which one correct? someone asked same question 6 years ago, but I don't see the answer

 5)


how to understand " Write to address 0 with erased value This will cause Invalid Data error if word has

been programmed."? is the address  0 cell special?

 

 Clark

  • Hey Clark,

    Bank0 includes a small "One Time Programmable" section that keeps some device specific data, but other than that, I don't see any functional difference between that and the rest of the banks.

    I'm afraid I can only provide limited support for this device.

    I would recommend to experiment with the options you have to see what works. Sorry I'm not more help.

  • Hi Emrys

    Could you forward my questions to other engineer?

    Clark

  • Hi Clark,

    Currently my team supports this device but we only provide limited support.

    I've asked one the engineers who previously supported the device to take a look at this thread to see if he can help.

  • Emrys, Clark,

    It has been some time since I have supported this device.  I have reviewed datasheet, app note, and available information.  Below responses are my best interpretation of the data.

    --

     1)  it works very well when I wrote any data into BANK0 and then erase it. but it was failed to do same thing for BANK1 to BANK7, after I wrote some data into BANK1 to BANK7, I read memory cells, they are still 0xFF,

    What are the differences between the BANK0 and other BANKs?

    WVB: There should be no programming differences other than addressing.

    2) the application note(slva550a) said:

    "Writing to the arrays is not significantly impacted from a protocol standpoint. If a bank/pump is sleeping and a program command is initiated, the SM28VLT will automatically begin the wake up process and complete programming without further need for host to be involved (page6)"

     Can it enter sleep mode again automatically after the program process ends?

    WVB:Yes, if registers are setup appropriately.  However, if you are having issues with reading/programming then it would be best to debug this without use of power saving features to insure your interface and spi timing is correct.

     3) I wrote the different values into the BAC1 register for different BANKs, When I read it back, all the BAC1 registers have the same value and the value is decided by the last one I wrote. it the same thing for the BAC2 register. what are the reason?

    WVB: This is not expected.  These registers are unique and should have independent values.  Verification of proper SPI writes is advised.

     4) For the MAC2 register. the application note (slva550a) said: " These bits must be left at 000 (Page 4)" ,but in the Psuedo Code of the note, the last line is "1D_000F001_00C1 // set pump pwr dn fallback mode to standby".

    WVB: I expect the psuedo code is incorrect.  MAC2 register is programming the pump registers and is a global register that is independent of bank, unless in a test mode.  

    according this code, the MAC1.BANK is 001, not 000, I think only one is right, could you tell me which one correct? someone asked same question 6 years ago, but I don't see the answer

     5)


    how to understand " Write to address 0 with erased value This will cause Invalid Data error if word has

    been programmed."? is the address  0 cell special?

    WVB: This is not very well worded.  0 is not special.  It was intended to imply that if you attempt to write (program) an erased value (logical 1) to a value that has already been programmed to a non erased value (0), then it will cause data error.  It is impossible to erase with a write command.  It implies that the word being written already has some values programmed (to a 0).

    I have added a power mode sequence file that sets up specific power modes with readback.  You can reference this for proper programming.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/151/pwr_5F00_modes.seq

    Regards,

    Wade