SLYS053C November 2023 – May 2025 TMAG3001
PRODUCTION DATA
Result and status register values are locked at the start of any I2C transaction. If a conversion finishes during an I2C transaction, the latest results are updated immediately after the STOP bit of that transaction.
| ADDRESS | TYPE | RESET | ACRONYM | RESGISTER NAME | SECTION |
|---|---|---|---|---|---|
| 0h | R/W | 00h | Device_Config_1 | Configure Device Operation Modes | Go |
| 1h | R/W | 00h | Device_Config_2 | Configure Device Operation Modes | Go |
| 2h | R/W | 00h | Sensor_Config_1 | Sensor Device Operation Modes | Go |
| 3h | R/W | 00h | Sensor_Config_2 | Sensor Device Operation Modes | Go |
| 4h | R/W | 00h | THR_Config_1 | Threshold Configuration | Go |
| 5h | R/W | 00h | THR_Config_2 | Threshold Configuration | Go |
| 6h | R/W | 00h | THR_Config_3 | Threshold Configuration | Go |
| 7h | R/W | 00h | Sensor_Config_3 | Configure Device Operation Modes | Go |
| 8h | R/W | 00h | INT_Config_1 | Configure Device Operation Modes | Go |
| 9h | R/W | 00h | Sensor_Config_4 | Configure Device Operation Modes | Go |
| Ah | R/W | 00h | Sensor_Config_5 | Configure Device Operation Modes | Go |
| Bh | R/W | 00h | Sensor_Config_6 | Configure Device Operation Modes | Go |
| Ch | R/W | 00h | I2C_Address | I2C Address Register | Go |
| Dh | R | 0xh | Device_ID | ID for the device die | Go |
| Eh | R | 49h | Manufacturer_ID_LSB | Manufacturer ID lower byte | Go |
| Fh | R | 54h | Manufacturer_ID_MSB | Manufacturer ID upper byte | Go |
| 10h | R | 00h | T_Result_MSB | Conversion Result Register | Go |
| 11h | R | 00h | T_Result_LSB | Conversion Result Register | Go |
| 12h | R | 00h | X_Result_MSB | Conversion Result Register | Go |
| 13h | R | 00h | X_Result_LSB | Conversion Result Register | Go |
| 14h | R | 00h | Y_Result_MSB | Conversion Result Register | Go |
| 15h | R | 00h | Y_Result_LSB | Conversion Result Register | Go |
| 16h | R | 00h | Z_Result_MSB | Conversion Result Register | Go |
| 17h | R | 00h | Z_Result_LSB | Conversion Result Register | Go |
| 18h | R | 00h | Conv_Status | Conversion Status Register | Go |
| 19h | R | 00h | Angle_Result_MSB | Conversion Result Register | Go |
| 1Ah | R | 00h | Angle_Result_LSB | Conversion Result Register | Go |
| 1Bh | R | 00h | Magnitude_Result | Conversion Result Register | Go |
| 1Ch | R | 00h | Device_Status | Device_Diag Status Register | Go |
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| W1C | W 1C |
Write 1 to clear |
| Reset or Default Value | ||
| - n | Value after reset or the default value | |
Device_Config_1 allows the configuration of CRC, magnetic tempco, averaging, and I2C read mode.
Return to Register Map.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CRC_EN | MAG_Tempco[1:0] | Conv_AVG[2:0] | I2C_RD[1:0] | ||||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | CRC_EN | R/W | 0h | Enables I2C CRC byte to added to I2C read
transactions 0h = CRC disabled 1h = CRC enabled |
| 6-5 | MAG_Tempco[1:0] | R/W | 0h | Temperature Coefficient of Sense Magnet 0h = 0% (Current sensor applications) 1h = 0.12%/ deg C (NdBFe) 2h = 0.03% / deg C (SmCo) 3h = 0.2%/deg C (Ceramic) |
| 4-2 | Conv_AVG[2:0] | R/W | 0h | Enables additional sampling of the sensor data to
reduce the noise effect (or to increase resolution) 0h = 1x - 10.5 ksps (3-axes) or 22 ksps (1 axis) 1h = 2x - 5.9 ksps (3-axes) or 14.3 ksps (1 axis) 2h = 4x - 3.1 ksps (3-axes) or 8.3 ksps (1 axis) 3h = 8x - 1.6 ksps (3-axes) or 4.5 ksps (1 axis) 4h = 16x - 0.8 ksps (3-axes) or 2.4 ksps (1 axis) 5h = 32x - 0.4 ksps (3-axes) or 1.2 ksps (1 axis) |
| 1-0 | I2C_RD[1:0] | R/W | 0h | Defines the I2C read mode 0h = Standard I2C 3-byte read command 1h = 1-byte I2C read command for 16 bit sensor data and conversion status 2h = 1-byte I2C read command for 8 bit sensor MSB data and conversion status 3h = Reserved |
Device_Config_2 can be used to configure device operation.
Return to Register Map.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| THR_HYST[2:0] | LP_LN | I2C_Glitch_Filter | Trigger_Mode | Operating_Mode[1:0] | |||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-5 | THR_HYST[2:0] | R/W | 0h | Select hysteresis for the magnetic field thresholds in
switch mode (INT_MODE = 5h or 6h) or wake on change mode (WOC_SEL =
2h) 0h = 2 LSB of threshold, 12 bit resolution (switch mode) | 1 LSB of threshold, 8 bit resolution (wake on change mode) 1h = 4 LSB of threshold, 12 bit resolution (switch mode) | 2 LSB of threshold, 8 bit resolution (wake on change mode) 2h = 8 LSB of threshold, 12 bit resolution (switch mode) | 4 LSB of threshold, 8 bit resolution (wake on change mode) 3h = 16 LSB of threshold, 12 bit resolution (switch mode) | 8 LSB of threshold, 8 bit resolution (wake on change mode) 4h = 32 LSB of threshold, 12 bit resolution (switch mode) | 16 LSB of threshold, 8 bit resolution (wake on change mode) 5h = 64 LSB of threshold, 12 bit resolution (switch mode) | 32 LSB of threshold, 8 bit resolution (wake on change mode) 6h = 128 LSB of threshold, 12 bit resolution (switch mode) | 64 LSB of threshold, 8 bit resolution (wake on change mode) 7h = 256 LSB of threshold, 12 bit resolution (switch mode) | 128 LSB of threshold, 8 bit resolution (wake on change mode) |
| 4 | LP_LN | R/W | 0h | Selects the modes between low active current or
low-noise modes 0h = Low active current mode 1h = Low noise mode |
| 3 | I2C_Glitch_Filter | R/W | 0h | I2C glitch filter 0h = Glitch filter on 1h = Glitch filter off |
| 2 | Trigger_Mode | R/W | 0h | Selects a condition which initiates a single
conversion based off already configured registers. A running
conversion completes before executing a trigger. Redundant triggers
are ignored. TRIGGER_MODE is available only during the modes
explicitly mentioned in OPERATING_MODE[1:0]. 0h = Conversion Start at I2C Command Bits, DEFAULT 1h = Conversion starts through trigger signal at INT pin |
| 1-0 | Operating_Mode[1:0] | R/W | 0h | Selects Operating Mode and updates value based on
operating mode if device transitions from Wake-up and sleep mode to
Standby mode. 0h = Standby Mode (starts new conversion at trigger event) 1h = Sleep mode 2h = Continuous mode 3h = Wake-up and Sleep mode (duty-cycled mode) |
Sensor_Config_1 can be used to configure the magnetic channels enabled and the sleep time for operating in wake and sleep mode.
Return to Register Map.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MAG_CH_EN[3:0] | SLEEPTIME[3:0] | ||||||
| R/W-0h | R/W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | MAG_CH_EN[3:0] | R/W | 0h | Enables data acquisition of the magnetic axis
channel 0h = All magnetic channels of OFF, DEFAUT 1h = X channel enabled 2h = Y channel enabled 3h = X, Y channel enabled 4h = Z channel enabled 5h = Z, X channel enabled 6h = Y, Z channel enabled 7h = X, Y, Z channel enabled 8h = XYX channel enabled 9h = YXY channel enabled Ah = YZY channel enabled Bh = XZX channel enabled Ch = X,Y,Z with positive diagnostic offset Dh = X,Y,Z with negative diagnostic offset Eh = Hall resistance check + ADC check Fh = Hall offset check +AFE check |
| 3-0 | SLEEPTIME[3:0] | R/W | 0h | Selects the time spent in low power mode between
conversions when Operating_Mode[1:0] = 3h 0h = 1ms 1h = 5ms 2h = 10ms 3h = 15ms 4h = 20ms 5h = 30ms 6h = 50ms 7h = 100ms 8h = 500ms 9h = 1000ms Ah = 2000ms Bh = 5000ms Ch = 20000ms |
Sensor_Config_2 can be used to configure general sensor operation.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| T_Rate | INTB_POL | MAG_THR_DIR | MAG_Gain_CH | Angle_EN[1:0] | X_Y_Range | Z_Range | |
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | T_Rate | R/W | 0h | Temperature Averaging 0h = Single temp conversion if MAG_CH_EN > 0 1h = Filtering per Conv_AVG[2:0] |
| 6 | INTB_POL | R/W | 0h | Selects the polarity of the interrupt event 0h = INTB pin is set to default high and active low during an interrupt event 1h = INTB pin is set to default low and active high during an interrupt event |
| 5 | MAG_THR_DIR | R/W | 0h | Selects the direction of threshold check 0h = sets interrupt for external field above the threshold 1h = sets interrupt for external field below the threshold |
| 4 | MAG_Gain_CH | R/W | 0h | Selects the axis for magnitude gain correction value
entered in Sensor_Config_4 register 0h = 1st channel is selected for gain adjustment 1h = 2nd channel is selected for gain adjustment |
| 3-2 | Angle_EN[1:0] | R/W | 0h | Enables angle calculation, magnetic gain, and offset
corrections between two selected magnetic channels 0h = No angle calculation 1h = X 1st, Y 2nd 2h = Y 1st, Z 2nd 3h = X 1st, Z 2nd |
| 1 | X_Y_Range | R/W | 0h | Select the X and Y axes magnetic range from 2
different options: 0h = ±40mT (TMAG3001x1) or ±120mT (TMAG3001x2) 1h = ±80mT (TMAG3001x1) or ±240mT (TMAG3001x2) |
| 0 | Z_Range | R/W | 0h | Select the Z axis magnetic range from 2 different
options: 0h = ±40mT (TMAG3001x1) or ±120mT (TMAG3001x2) 1h = ±80mT (TMAG3001x1) or ±240mT (TMAG3001x2) |
THR_Config_1 can be used to configure X_THRLO, ANGLE_TH_REF, MAG_THRLO via the Threshold1[7:0] field.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Threshold1[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Threshold1[7:0] | R/W | 00h | Configuration functionality and LSB is based on
THR_SEL[1:0] bits: If THR_SEL[1:0] = 1h then Threshold1[7:0] = A_THR_REF (Reference threshold for Angle). A_THR_REF is absolute angle coded an unsigned 8-bit value, with a resolution of 2° per LSB and max range of 360° If THR_SEL[1:0] = 2h then Threshold1[7:0] = X_THR_LO (Low threshold for X channel). If INT_Mode ≠ 5h, X_THR_LO[6:0] create a positive magnetic low threshold for the X channel (X_THR_LO[7] is ignored). If INT_Mode = 5h (unipolar switch mode), X_THR_LO is treated as an 8-bit signed magnitude integer, where X_THR_LO[7] represents the sign (0 for positive, 1 for negative) and X_THR_LO[6:0] represent the magnitude. If THR_SEL[1:0] = 11b then Threshold1[7:0] = M_THR_LO (Low threshold for Magnitude). M_THR_LO is an unsigned 8-bit value with a LSB size that depends on the range of the device.
|
THR_Config_2 can be used to configure Y_THRLO, ANGLE_TH_BAND, MAG_THRHI via the Threshold2[7:0] field.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Threshold2[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Threshold2[7:0] | R/W | 00h | Configuration functionality and LSB is based on
THR_SEL[1:0] bits: If THR_SEL[1:0] = 1h, then Threshold2[7:0] = A_THR_BAND (Threshold band for Angle). A_THR_BAND is an absolute angle coded on an unsigned 8-bit value, with a resolution of 1° per LSB and a maximum range of up to 180°. If THR_SEL[1:0] = 2h, then Threshold2[7:0] = Y_THR_LO (Low threshold for Y channel). If INT_Mode ≠ 5h, Y_THR_LO[6:0] create a positive magnetic low threshold for the Y channel (Y_THR_LO[7] is ignored). If INT_Mode = 5h (unipolar switch mode), Y_THR_LO is treated as an 8-bit signed magnitude integer, where Y_THR_LO[7] represents the sign (0 for positive, 1 for negative) and Y_THR_LO[6:0] represent the magnitude. If THR_SEL[1:0] = 3h, then Threshold2[7:0] = M_THR_HI (High threshold for Magnitude). M_THR_HI is an unsigned 8-bit value with a LSB size that depends on the range of the device.
|
THR_Config_3 is shown in Table 7-9.
Return to Register Map
Z_THRLO, ANGLE_OFFSET
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Threshold3[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Threshold3[7:0] | R/W | 00h | Configuration functionality and LSB is based on
THR_SEL[1:0] bits: If THR_SEL[1:0] = 1h, then Threshold3[7:0] = Angle_Offset[7:0]. Unsigned 8-bit angle value with a resolution of 1° per LSB. Angle_Offset_DIR provides the ability to add or subtract the angle offset value. If THR_SEL[1:0] = 2h, then Threshold3[7:0] = Z_THR_LO (Low threshold for Z channel). If INT_Mode ≠ 5h, Z_THR_LO[6:0] create a positive magnetic low threshold for the Z channel (Z_THR_LO[7] is ignored). If INT_Mode = 5h (unipolar switch mode), Z_THR_LO is treated as an 8-bit signed magnitude integer, where Z_THR_LO[7] represents the sign (0 for positive, 1 for negative) and Z_THR_LO[6:0] represent the magnitude. If THR_SEL[1:0] = 3h, then Threshold3[7:0] = Angle_Offset[7:0]. Unsigned 8-bit angle value with a resolution of 1° per LSB. Angle_Offset_DIR provides the ability to add or subtract the angle offset value. |
Sensor_Config_3 is used to configure the Wake on change, Thresholds functionality, Angle hysteresis and offset.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WOC_SEL[1:0] | THR_SEL[1:0] | Angle_HYS[1:0] | Angle_Offset_EN | ANG_Offset_DIR | |||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-6 | WOC_SEL[1:0] | R/W | 0h | Enables an interrupt response when any of the measured
magnetic readings differ from the previous measurements by THR_HYST.
0h = Wake on change disabled 1h = Wake on change from previous angle measurements. ANGLE_EN bits must to be set to a value other than 0h. 2h = Wake on change from previous magnetic field measurement for one axis. Only responds to changes in the first axis enabled (X, Y, or Z) according to MAG_CH_EN 3h = Reserved |
| 5-4 | THR_SEL[1:0] | R/W | 0h | Sets the functionality of the THR_Config_1,
THR_Config_2 and THR_Config_3 registers 0h = No threshold selected 1h = Angle Thresholds selected. Threshold1[7:0] sets A_THR_REF and Threshold2[7:0] sets A_THR_BAND 2h = B Field Thresholds selected. Threshold1[7:0] sets X_THR_LO, Threshold2[7:0] sets Y_THR_LO, and Threshold3[7:0] sets Z_THR_LO. Gain_X_THR_HI[7:0] sets X_THR_HI, Offset1_Y_THR_HI[7:0] sets Y_THR_HI, and Offset2_Z_THR_HI[7:0] sets Z_THR_HI. 3h = Magnitude Threshold (Button Press) selected. Threshold1[7:0] sets Magnitude_THR_LO and Threshold2[7:0] sets Magnitude_THR_HI. If THR_SEL[1:0] is not equal to 2h, Gain_X_THR_HI[7:0] sets Gain_Config, Offset1_Y_THR_HI[7:0] sets Offset1, Offset2_Z_THR_HI[7:0] sets Offset2, and Threshold3[7:0] sets Angle_Offset |
| 3-2 | Angle_HYS[1:0] | R/W | 0h | Selects the hysteresis for the angle thresholds in
angle switch mode (THR_SEL= 1h) or wake on change mode (WOC_SEL =
1h) 0h = 1 degree (switch mode) | 4 degree change triggers interrupt (wake on change) 1h = 2 degrees (switch mode) | 6 degree change triggers interrupt (wake on change) 2h = 4 degrees (switch mode) | 10 degree change triggers interrupt (wake on change) 3h = 8 degrees (switch mode) | 18 degree change triggers interrupt (wake on change) |
| 1 | Angle_Offset_EN | R/W | 0h | Enables to add an offset to the final angle value 0h = Value from the register Angle_Offset[7:0] is not added to the final angle result 1h = Value from the register Angle_Offset[7:0] is added to the final angle result |
| 0 | Angle_Offset_DIR | R/W | 0h | Indicates to add or subtract the offset value in the
Angle_Offset[7:0] to the final angle result. 0h = Value from Angle_Offset[7:0] is added to the final angle result 1h = Value from Angle_Offset[7:0] is subtracted from the final angle result |
INT_CONFIG_1 is shown in Table 7-11.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Result_INT | Threshold_INT | INT_State | INT_Mode[2:0] | INT_POL_EN | MASK_INTB | ||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | Result_INT | R/W | 0h | Enable interrupt response on conversion complete 0h = Interrupt is not asserted when the configured set of conversions are complete 1h = Interrupt is asserted when the configured set of conversions are complete |
| 6 | Threshold_INT | R/W | 0h | Enable interrupt response on a predefined threshold
cross 0h = Interrupt is not asserted when a threshold is crossed 1h = Interrupt is asserted when a threshold is crossed |
| 5 | INT_State | R/W | 0h | INT latched or pulsed 0h = INT\ interrupt latched until clear by a Controller addressing the device 1h = INT\ interrupt pulse for 5us |
| 4-2 | INT_Mode[2:0] | R/W | 0h | Interrupt Mode Select 0h = No interrupt 1h = Interrupt through INT 2h = Interrupt through INT and ignore if I2C communication active with the Target. Conversion data lost. 3h = Interrupt through SCL based on width of interrupt 4h = Interrupt through SCL and ignore if I2C communication active irrespective of the Target address. Conversion data lost. 5h = Unipolar Switch Mode. This mode overrides any interrupt function (INT trigger is also disabled), and only implements a Switch function. 6h = Omnipolar Switch Mode. This mode overrides any interrupt function (INT trigger is also disabled), and only implements a Switch function. 7h = Not valid. defaults to no interrupt |
| 1 | INT_POL_EN | R/W | 0h |
0h = INT_POL bit from Sensor_Config2 is disabled 1h = INT_POL bit from Sensor_Config2 is enabled |
| 0 | MASK_INT | R/W | 0h | Mask INT pin when
INT connected to GND 0h = INT pin is enabled 1h = INT pin cannot be used as input or output |
Sensor_Config_4 is used to configure GAIN_CONFIG and X_THR_HI via Gain_X_THR_HI[7:0].
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Gain_X_THR_HI[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Gain_X_THR_HI[7:0] | R/W | 0h | Configuration functionality is based on THR_SEL[1:0]
bits: If THR_SEL[1:0] = 0h, 1h, or 3h, then Gain_X_THR_HI[7:0] = Gain_Config (Adjusts gain of a selected magnetic channel). Unsigned 8-bit value with an LSB size of 0.00390625 used as a direct multiplier to the measured magnetic field with a value between 0 and 1. If THR_SEL[1:0] = 2h and ANGLE_EN = 0h, then Gain_X_THR_HI[7:0] = X_THR_HI (High threshold for X channel). Gain_X_THR_HI[6:0] create a positive magnetic high threshold for the X channel (Gain_X_THR_HI[7] is ignored). |
Sensor_Config_5 is used to configure Offset_Config_1, Y_THR_HI via Offset1_Y_THR_HI[7:0].
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Offset1_Y_THR_HI[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Offset1_Y_THR_HI[7:0] | R/W | 00h | Configuration functionality and LSB is based on
THR_SEL[1:0] and ANGLE_EN[1:0]: If ANGLE_EN[1:0] ≠ 0h then Offset1_Y_THR_HI[7:0] = Offset_Config_1[7:0] (Adjusts offset of first magnetic channel measured). Offset correction is stored as an 8-bit 2's complement value with LSB size specific to each magnetic range:
If THR_SEL[1:0] = 2h and ANGLE_EN = 0h, then Offset1_Y_THR_HI[7:0] = Y_THR_HI[7:0] (High threshold for Y channel). Offset1_Y_THR_HI[6:0] create a positive magnetic high threshold for the Y channel (Offset1_Y_THR_HI[7] is ignored). |
Sensor_Config_6 is used to configure Offset_Config_2, Z_THR_HI via Offset2_Z_THR_HI[7:0].
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Offset2_Z_THR_HI[7:0] | |||||||
| R/W-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Offset2_Z_THR_HI[7:0] | R/W | 0h | Threshold configuration functionality is set based on
THR_SEL[1:0] and ANGLE_EN[1:0]: If ANGLE_EN[1:0] ≠ 0h, then Offset2_Z_THR_HI[7:0] = Offset_Config_2[7:0] (adjusts offset of a second magnetic channel). Offset correction is stored as an 8-bit 2's complement value with LSB size specific to each magnetic range:
If THR_SEL[1:0] = 2h and ANGLE_EN[1:0] = 0h then Offset2_Z_THR_HI[7:0] = Z_THR_HI[7:0] (High threshold for Z channel). Offset2_Z_THR_HI[6:0] create a positive magnetic high threshold for the Z channel (Offset2_Z_THR_HI[7] is ignored). |
This register can be used to configure the I2C Address for TMAG3001.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| I2C_Address[6:0] | I2C_Address_Update_EN | ||||||
| R/W-00h | R/W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-1 | I2C_Address[6:0] | R/W | 0h | 7-bit device address based on the ADDR pin connection. User can change this address to assign a new address if needed. |
| 0 | I2C_Address_Update_EN | R/W | 0h |
0h = Use ADDR pin configuration for target address 1h = Use I2C_Address[6:0] for target address |
This register contains the Device version.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | Version[1:0] | Reserved | |||||
| R-0h | R-xh | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | Reserved | R | 0h | Reserved |
| 3-2 | Version[1:0] | R | xh | Device Version 0h = TMAG3001 ±40 mT 2h = TMAG3001 ±120mT |
| 1-0 | Reserved | R | 0h | Reserved |
This register contains the LSB of Manufacturer_ID[15:0].
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Manufacturer_ID[7:0] | |||||||
| R-49h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Manufacturer_ID[7:0] | R | 49h | LSB of Manufacturer_ID[15:0] |
This register contains the MSB of Manufacturer_ID[15:0].
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Manufacturer_ID[15:8] | |||||||
| R-54h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Manufacturer_ID[15:8] | R | 54h | MSB of Manufacturer_ID[15:0] |
This register is an 8-bit, read-only register that stores the MSB output of the most recent temperature conversion. Data is represented in binary 2's complement format. Temperature Sensor Data shows how to convert the Temp_Result[15:0] to temperature.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Temp_Result[15:8] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Temp_Result[15:8] | R | 00h | 8-bit MSB of Temperature data conversion results. |
This register is an 8-bit, read-only register that stores the LSB output of the most recent temperature conversion. Data is represented in binary 2's complement format. Temperature Sensor Data shows how to convert the Temp_Result[15:0] to temperature.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Temp_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Temp_Result[7:0] | R | 00h | 8-bit LSB of Temperature data conversion results. |
This register is an 8-bit, read-only register that stores the MSB output of the most recent X-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| X_Result[15:8] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | X_Result[15:8] | R | 00h | 8-bit MSB of X-Channel data conversion results |
This register is an 8-bit, read-only register that stores the LSB output of the most recent X-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| X_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | X_Result [7:0] | R | 00h | 8-bit LSB of X-Channel data conversion results |
This register is an 8-bit, read-only register that stores the MSB output of the most recent Y-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Y_Result[15:8] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Y_Result[15:8] | R | 00h | 8-bit MSB of Y-Channel data conversion results |
This register is an 8-bit, read-only register that stores the LSB output of the most recent Y-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Y_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Y_Result[7:0] | R | 00h | 8-bit LSB of Y-Channel data conversion results |
This register is an 8-bit, read-only register that stores the MSB output of the most recent Z-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Z_Result[15:8] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Z_Result[15:8] | R | 00h | 8-bit MSB of Z-Channel data conversion results |
This register is an 8-bit, read-only register that stores the LSB output of the most recent Z-channel conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Z_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Z_Result[7:0] | R | 00h | 8-bit LSB of Z-Channel data conversion results |
This register contains the conversion status information.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Set_Count[2:0] | POR | Reserved | Diag_Status | Result_Status | |||
| R-0h | R/W1C-0h | R-0h | R-0h | R-0h | |||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-5 | Set_Count[2:0] | R | 0h | Rolling Count of Conversion Data Sets |
| 4 | POR | R/W1C | 0h | Device powered up, or experienced power-on-reset. Bit
is clear when host writes back 1. 0h = No POR has occurred 1h = POR occurred |
| 3-2 | Reserved | R | 0h | Reserved |
| 1 | Diag_Status | R | 0h | Detect any internal diagnostics fail which include
Internal Memory CRC error, INT pin error 0h = No diagnostic fail 1h = Diagnostic fail detected |
| 0 | Result_Status | R | 0h | Conversion data result is ready to be read 0h = Conversion Data not complete 1h = Conversion Data complete |
This register is an 8-bit, read-only register that stores the MSB output of the most recent Angle conversion. Angle_Result[12:0] data is represented in binary 2's complement format with a LSB size of 0.0625°.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | Angle_Result[12:8] | ||||||
| R-0h | R-00h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-5 | Reserved | R | 0h | Reserved |
| 4-0 | Angle_Result[12:8] | R | 00h | 5-bit MSB of Angle data conversion results |
This register is an 8-bit, read-only register that stores the LSB output of the most recent Angle conversion. Angle_Result[12:0] data is represented in binary 2's complement format with a LSB size of 0.0625°.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Angle_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Angle_Result[7:0] | R | 00h | 8-bit LSB of Angle data conversion results |
This register is an 8-bit, read-only register that stores the output of the most recent Magnitude conversion. Data is represented in binary 2's complement format.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Magnitude_Result[7:0] | |||||||
| R-00h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Magnitude_Result[7:0] | R | 00h | Resultant vector magnitude (during angle measurement) result. This value is constant during 360 degree measurements |
This register contains the device status information.
Return to Register Map
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | INT_RB | Reserved | INT_ER | OTP_CRC_ER | THR_Cross | ||
| R-0h | R-0h | R-0h | R/W1CP-0h | R/W1CP-0h | R-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-5 | Reserved | R | 0h | Reserved |
| 4 | INT_RB | R | 0h | Indicates the level that the device is reading back
from INT pin. 0h = INT pin driven low 1h = INT pin status high |
| 3 | Reserved | R | 0h | Reserved |
| 2 | INT_ER | R/W1CP | 0h | Indicates if INT pin error is
detected. Bit is clear when host writes 1h. 0h = No INT Error detected 1h = INT Error detected |
| 1 | OTP_CRC_ER | R/W1CP | 0h | Indicates if OTP CRC error is detected. Bit is clear
when host writes 1h. 0h = No OTP CRC Error detected 1h = OTP CRC Error detected |
| 0 | THR_Cross | R | 0h | When a threshold crossing is detected, this bit is
set. 0h = No threshold crossing detected 1h = Threshold Crossing detected |