Sorry, I made a mistake:
1. Read the SYSTEM_STATUS(0x8A) register
2. If SYSTEM_STATUS (bit0) is 1, write configuration parameter to MBR3 (according to Register TRM)
3. If it is 0, nothing is done.
These are correct.
Could you please help me to understand what your question is again?
> after doing this process, the SYSTEM_STAUTS register will be 0, but the configuration will remain at the
> factory default.
For this case, there would be possibility to not configure registers correctly. Please make sure if the register can be program correctly.
> I think that the SYSTEM_STATUS register is 1 at the time of shipment from the factory, and will be 0 when
> writing something.
> Is this correct?
Yes, this is correct.
Here is the summarization of "SYSTEM_STATUS"register.
0) At a time to MBR3 device shipment from Cypress, the SYSTEM_STATUS register would be “Not defined”.
Please refer to the MBR3 register manual.
1) When the device is power-on, “SYSTEM_STATUS” is set to “1” in the firmware at this time. This mean that when you check this register at this timing, “SYSTEM_STATUS” has been already set to “1” (nothing was changed from factory default configuration)
2) If you changed any configuration and don't change “SYSTEM_STATUS” register, “SYSTEM_STATUS” is still “1” at this point. However, any changing of configuration registers will be effective only after reset command, then the "SYSTEM_STATUS” will be 0. If no reset, the changing will not be effective, "SYSTEM_STATUS” is still “1” at this point.
During Power Off, “SYSTEM_STATUS” is “Not defined”. After power on, because the configuration was changed at 2), “SYSTEM_STATUS” would be “0”.
Thank you for your reply.
I want to debug the configuration write procedure.
However, once SYSTEM_STATUS becomes 0, it can not be returned to 1.
Is there any way to set SYSTEM_STATUS to 1?
Could you please explain what the step you confirmed is, and what the specific condition/configuration is...?
Thank you very much.
Have to apologize for making you confused...
According MBR3 registers TRM, SYSTEM_STATUS register is Read only by Host ACCESS.
So, we can not write this register, for example, through BCP.
Apologize for late update...
Actually, there are:
- Factory default firmware of MBR3 device
- Default configuration loaded on the KIT
And, the Factory default firmware of MBR3 device may be different from default configuration loaded on the kit. Factory default firmware/configuration on MBR3 is the default configuration loaded on the device when device is shipped out from Fab.
During kit manufacturing, a user configuration i.e. Water Tolerance.cprj may have been loaded on MBR3 which the kit UG is referring to as default configuration probably because it is the default loaded during kit manufacturing.
However SYSTEM_STATUS compares this user config with factory default (of mbr3, loaded from fab) and is expected to report these as different configurations.
In addition to this, the Factory default configuration of MBR3 is same as that mentioned in the device datasheet and the registers TRM.
CY8CMBR3002, CY8CMBR3102, CY8CMBR3106S, CY8CMBR3108, CY8CMBR3110, CY8CMBR3116 Datasheet: CapSenseR Express? Controllers With SmartSense? Auto-tuning 16 Buttons, 2 Sliders, Proximity Sensors
CY8CMBR3102, CY8CMBR3106S, CY8CMBR3108, CY8CMBR3110, CY8CMBR3116 CapSenseR Express Controllers Registers TRM
As the conclusion, if the Factory default firmware/configuration of MBR3 device is store into the device, SYSTEM_STATUS register would be set to 1.