nPM1300 VBUS input current limit OTP configuration

I'm currently working on configuring the nPM1300 used in our custom board. In the product spec v1.2, it supports 2 USB compliant current limits, IBUS at 100mA and IBUS at 500mA, the default is set to 100mA. 

On our custom board, the nPM1300 VSYS connects to our host microcontroller (nRF5340) and the rest of the peripherals. We measured the inrush current at the start (at VSYS output), it is approximately 200mA. With this setup, we cannot power the system from the beginning just using the USB power source alone because it seems that there is a IBUS current limit at 100mA. It must be powered in conjunction with a battery first, then allows the host to start and configures the IBUS current to greater than default (100mA).  

I have several questions related to that, 

A) Is there a way to permanently change it to 500mA at startup? 

B) Both VBUSINILIM0 and VBUSINILIMSTARTUP indicate "Reset value from OTP...", does it mean there is a ONE TIME PROGRAMMABLE interface we can set so it starts from 500mA? 

Parents
  • Hi,
    As you can see from the documentation, the nPM1300 has two registers for configuring the VBUS input current limit: VBUSINILIM0 (host-configurable) and VBUSINILIMSTARTUP (startup default).

    There is also the note that you mentioned: "Reset value from OTP, value listed in this table may not be correct." which means that the startup current limit is determined by a value stored in One-Time Programmable (OTP) memory, which is set during device programming at the factory and cannot be changed by the user after production.

    The default current limit is 100 mA, and host software can update the limit after startup by writing to VBUSINILIM0 and triggering the change with TASK.UPDATE.ILIMSW. But I don't think it's possible for users to change the default (startup) current limit to 500 mA in the field or via software alone. The only way to have a different startup value would be if the device was programmed with a different OTP value at the factory, but this is not a user-accessible feature. Also, I don't think it's possible for end users or customers to program or re-program this OTP memory themselves.

    I can check this internally once again with the team and will get back to you.

    Regards,

    Priyanka

Reply
  • Hi,
    As you can see from the documentation, the nPM1300 has two registers for configuring the VBUS input current limit: VBUSINILIM0 (host-configurable) and VBUSINILIMSTARTUP (startup default).

    There is also the note that you mentioned: "Reset value from OTP, value listed in this table may not be correct." which means that the startup current limit is determined by a value stored in One-Time Programmable (OTP) memory, which is set during device programming at the factory and cannot be changed by the user after production.

    The default current limit is 100 mA, and host software can update the limit after startup by writing to VBUSINILIM0 and triggering the change with TASK.UPDATE.ILIMSW. But I don't think it's possible for users to change the default (startup) current limit to 500 mA in the field or via software alone. The only way to have a different startup value would be if the device was programmed with a different OTP value at the factory, but this is not a user-accessible feature. Also, I don't think it's possible for end users or customers to program or re-program this OTP memory themselves.

    I can check this internally once again with the team and will get back to you.

    Regards,

    Priyanka

Children
No Data
Related