Sensors
30 NXP Semiconductors
MMA16xx
4.2.1.1 Initialization Command
The initialization command conforms to the description provided in Section 6.1.1 of the DSI Bus Standard V2.5. The
initialization command is only supported as a standard long command. No other commands are recognized by the device until a
valid standard long initialization command is received.
Figure 23 illustrates the sequence of operations performed following negation of internal power-on reset (POR) and execution
of a DSI Initialization command. The BUSOUT node is tested for a bus short to high voltage condition, and the bus fault (BF) flag
is set if an error condition is detected. If no bus fault condition is detected and the BS bit is set in the Initialization command
message, the bus switch will be closed. The device implements a blanking time (t
DSI_BLANK_INIT
) to allow for the bus voltage to
recover following closure of the bus switch.
If the device has been preprogrammed, PA[3:0] and A[3:0] must match the preprogrammed address.
If no device address has been previously programmed into the OTP array, PA[3:0] contains the device address, and A[3:0]
must be zero. If either addressing condition is not met, the device address is not assigned, the bus switch will remain open and
the device will not respond to the Initialization command. If the addressing conditions are met, the new device address is
assigned to A[3:0]. Once the device address is assigned, the new address (A[3:0]) is not protected by the user programmable
OTP array error detection. The user programmable OTP array error detection is calculated and verified using the OTP
programmed values of A[3:0] = ‘0000’.
Once initialized, the device will no longer recognize or respond to Initialization commands.
Table 13. Initialization Command
Data Address Command
CRC
D[7] D[6] D[5] D[4] D[3] D[2] D[1] D[0] A[3] A[2] A[1] A[0] C[3] C[2] C[1] C[0]
NV
BS
Bnk[1] Bnk[0] PA[3] PA[2] PA[1] PA[0] A[3] A[2] A[1] A[0] 0 0 0 0 4 bits
Table 14. Initialization Command Bit Definitions
Bit Field Definition
C[3:0] Initialization Command = ‘0000’
A[3:0]
DSI device address. This address is set to the preprogrammed device address following reset, or to ‘0000’ if no preprogrammed address
has been assigned.
PA[3:0] DSI Address to be programmed.
Bnk[1:0]
These bits select the bank address for the user writable data registers. Bank selection affects the Read/Write NVM command operation.
Invalid combinations of B1 and B0 result in no response from the device to the associated initialization. Refer to Section 4.2.1.10 for fur-
ther details regarding register programming and bank selection.
BS
Bus Switch state. This bit controls the state of the DSI bus switch.
1 - Close the bus switch.
0 - Do not close the bus switch.
NV
NVM Program Enable. This bit enables programming of the user-programmed OTP locations. Data to be programmed is transferred to the
device during subsequent Read Write NVM commands.
1 - Enable OTP programming
0 - Disable OTP programming
Table 15. Initialization Command Response
Response
CRC
D[15] D[14] D[13] D[12] D[11] D[10] D[9] D[8] D[7] D[6] D[5] D[4] D[3] D[2] D[1] D[0]
PA[3] PA[2] PA[1] PA[0] 0 0 0 BF NV
BS
Bnk[1] Bnk[0] PA[3] PA[2] PA[1] PA[0] 4 bits
Table 16. Initialization Response Bit Definitions
Bit Field Definition
PA[3:0]
DSI device address. This field contains the device address. If the device is unprogrammed when the initialization command is issued, the
device address is assigned. This field contains the programmed address. An Initialization command which attempts to assign a device
address of zero is ignored.
Bnk[1:0]
These bits select the bank address for the user writable data registers. Bank selection affects the Read/Write NVM command operation.
Invalid combinations of B1 and B0 result in no response from the device to the associated initialization. Refer to Section 4.2.1.10 for fur-
ther details regarding register programming and bank selection.
BS
Bus Switch state. This bit controls the state of the bus switch:
1 - Close the bus switch
0 - Do not close the bus switch
NV
NVM Program Enable. This bit indicates if programming of the user-accessible OTP is enabled.
1 - OTP programming Enabled
0 - OTP programming Disabled
BF
This bit indicates the success or failure of the bus test performed as part of the Initialization command.
1 - Bus fault detected
0 - Bus test passed