| Electronic Components Datasheet Search |
|
L5965 Datasheet(PDF) 52 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
L5965 Datasheet(HTML) 52 Page - STMicroelectronics |
|
52 / 73 page ![]() After power-on release, the SAF (Antifuse cell) FSM (Finite State Machine) starts to download all SAF rows to internal DFFs. When the auto download has finished, if Prim Id (bit15~13, ROW9) are “000”, the FSM will go to OTP program mode for customer usage. In this mode, the user could program/burn SAF rows: • Write data to SAF_REG_DI via SPI • Set SAF parameter in SAF_REG_CFG via SPI The program/burn command should be sent to SAF_REG_OP via SPI, then the data in SAF_REG_DI will be burned in SAF cells. USR_ Area _PROTECTION (bit15~13 of ROW12) is used to protect SAF rows from re-burning; when the bits are “111”, the burning command for USR SAF rows can’t be executed. So the Row12 must be the last one to be burned in the USR Area. In OTP program mode, the saf_addr should be from 8~12; otherwise the saf_opration_error flag will be set. Table 13 shows the detailed instructions on how to program an OTP row. Table 13. OTP row programming Step Description Action SPI Frame Enter OTP prog mode Power on device. If OTP has not been burned yet, the device goes to OTP program mode Power on device. -- Burn OTP In this step, selected words (indicated as data1) must be written to a selected row of OTP (address indicated as row_addr) Write register SAF_REG_DI = “data1” via SPI. Note: bit15~13 of this register is crc of data1, it is auto calculated by digital circuit. DI frame: Bit31=’1’, bit30~23 =“0x32”, Bit22=’1’, bit21=’0’, bit20~5=data1, bit4~0=CRC. Write register SAF_REG_CFG=“0x7000” via SPI; note: saf_hv_en_force_decoding (bit14~bit12 of this register) should be set to "111", otherwise the burn operation is forbidden. DI frame: Bit31=’1’, bit30~23 =“0x31”, Bit22=’1’, bit21=’1’, bit20~5=“0x7000”, bit4~0=CRC. Send burn command and address of selected row of OTP. Write register SAF_REG_OP=“0x001[row_addr]” via SPI DI frame: Bit31=’1’, bit30~23 =“0x30”, Bit22=’1’, bit21=’0’, bit20~11=“0x000”, Bit10~9=”01”, Bit8~5=”row_addr”, bit4~0=CRC. Wait end of write procedure, then read register SAF_REG_STAT via SPI. For first reading, don’t care DO frame. DI frame: Bit31=’0’, bit30~23 =“0x34”, Bit22=’1’, bit21=’1’, bit20~5=”--”, bit4~0=CRC. Read register SAF_REG_STAT via SPI again. Saf_busy (bit4 of this register)=’1’ indicates burn operation is not finished, then wait a moment and read this register again. Saf_busy =’0’ indicates burn operation is finished. Saf_opration_error (bit6 of this register) =’0’ indicates the burn operation is valid, otherwise invalid. DI frame: Bit31=’0’, bit30~23 =“0x34”, Bit22=’1’, bit21=’0’, bit20~5=”--”, bit4~0=CRC. DO frame: Check if bit28~21=“0x34”, If bit9=’0’, if bit11=’0’. Read OTP In this step, read the selected row of OTP Write register SAF_REG_CFG=“0xXXXX” via SPI; This is not necessary, you can skip it if you keep saf_r_code default. -- L5965 OTP program mode DS12567 - Rev 3 page 52/73 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |