The following is the procedure to initialize MAX3955:
1. Read the TOPSTAT register. The MAX3955 is no longer in POR when this register reads back 010X XXXX.
2. The Initialization Required Flag is a firmware flag stating that the MAX3955 needs to be initialized. This flag should be set following POR (Power on Reset) of the microcontroller and whenever the MAX3955 is in a POR or brownout state.
3. Only continue this initialization routine if the MAX3955 needs to be initialized because of POR or brownout.
4. Read the TXSTAT1 Register to verify that the VCCT, VCCTO, VOUT, TOUTA, and TOUTC voltages are all in a valid operating range. These voltages are valid when TXSTAT1 = 0XXX 000X.
5. The factory-programmed calibration constants MUST be loaded to ensure proper operation of the MAX3955.
6. Optional Step: Wait for the VCCX, VCCT, and VCCTO voltages read from the MAX395X to be greater than 2.8V. This will help ensure that a possible drop in supply voltage will not producea brownout condition when the MAX3955 is initialized and laser current ramps. If these voltages will be monitored, a wait of at least 40ms must be added while waiting for the first conversions of the DDM parameters to complete.
7. Send the Fault Clear command, which is done by writing 68h to the MODECTRL register at address 00h. This will deassert the FAULT pin if a temporary fault occurred during the power-supply ramp.
8. Initialize all of the MAX3955 registers to their correct application-specific values.
9. Clear the Initialization Required Flag since the MAX3955 has now been properly initialized.