RM3100 RM2100 Sensor Suite User Manual R09 1
RM3100 RM2100 Sensor Suite User Manual R09 1
RM3100 RM2100 Sensor Suite User Manual R09 1
List of Tables
................................................................................................................
Table 3-1: Geomagnetic Sensor Performance1 5
Table 3-2: Sen-XY-f and Sen-Z-f Absolute Maximum Ratings .................................................... 6
Table 3-3: Sen-XY-f and Sen-Z-f Characteristics ......................................................................... 6
Table 3-4: MagI2C Absolute Maximum Ratings ........................................................................... 7
Table 3-5: MagI2C Recommended Operating Conditions ........................................................... 7
................................................................................
Table 3-6: Recommended Solder Processing Parameters1 14
Table 4-1: MagI2C Pin Assignments ........................................................................................... 21
Table 4-2: SPI Timing Specifications .......................................................................................... 26
Table 5-1: MagI2C Register Map ................................................................................................ 28
Table 5-2: Cycle Count Registers ............................................................................................... 29
Table 5-3: Continuous Mode DRDY Options .............................................................................. 30
Table 5-4: CMM Update Rates .................................................................................................... 32
Table 5-5: Measurement Results Registers ............................................................................... 34
Table 5-6: BIST Timeout Period .................................................................................................. 35
Table 5-7: BIST LR Periods ......................................................................................................... 35
Warranty and Limitation of Liability. PNI Sensor ("PNI") manufactures its Products from parts and components that are new
or equivalent to new in performance. PNI warrants that each Product to be delivered hereunder, if properly used, will, for ninety
(90) days following the date of shipment unless a different warranty time period for such Product is specified: (i) in PNI’s Price
List in effect at time of order acceptance; or (ii) on PNI’s web site (www.pnicorp.com) at time of order acceptance, be free
from defects in material and workmanship and will operate in accordance with PNI’s published specifications and documentation
for the Product in effect at time of order. PNI will make no changes to the specifications or manufacturing processes that af fect
form, fit, or function of the Product without written notice to the Customer, however, PNI may at any time, without such notice,
make minor changes to specifications or manufacturing processes that do not affect the form, fit, or function of the Product. This
warranty will be void if the Products’ serial number, or other identification marks have been defaced, damaged, or removed. This
warranty does not cover wear and tear due to normal use, or damage to the Product as the result of improper usage, neglect of
care, alteration, accident, or unauthorized repair.
THE ABOVE WARRANTY IS IN LIEU OF ANY OTHER WARRANTY, WHETHER EXPRESS, IMPLIED, OR
STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY
PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION,
OR SAMPLE. PNI NEITHER ASSUMES NOR AUTHORIZES ANY PERSON TO ASSUME FOR IT ANY OTHER
LIABILITY.
If any Product furnished hereunder fails to conform to the above warranty, Customer’s sole and exclusive remedy and PNI’s sol e
and exclusive liability will be, at PNI’s option, to repair, replace, or credit Customer’s account with an amount equal to the price
paid for any such Product which fails during the applicable warranty period provided that (i) Customer promptly notifies PNI in
writing that such Product is defective and furnishes an explanation of the deficiency; (ii) such Product is returned to PNI’s service
facility at Customer’s risk and expense; and (iii) PNI is satisfied that claimed deficiencies exist and were not caused by ac cident,
misuse, neglect, alteration, repair, improper installation, or improper testing. If a Product is defective, transportation cha rges for
the return of the Product to Customer within the United States and Canada will be paid by PNI. For all other locations, th e
warranty excludes all costs of shipping, customs clearance, and other related charges. PNI will have a reasonable time to mak e
repairs or to replace the Product or to credit Customer’s account. PNI warrants any such repaired or replacement Product to b e
free from defects in material and workmanship on the same terms as the Product originally purchased.
Except for the breach of warranty remedies set forth herein, or for personal injury, PNI shall have no liability for any indi rect or
speculative damages (including, but not limited to, consequential, incidental, punitive and special damages) relating to the use of
or inability to use this Product, whether arising out of contract, negligence, tort, or under any warranty theory, or for inf ringement
of any other party’s intellectual property rights, irrespective of whether PNI had advance notice of the possibility of any such
damages, including, but not limited to, loss of use, revenue or profit. In no event shall PNI’s total liability for all claim s regarding
a Product exceed the price paid for the Product. PNI neither assumes nor authorizes any person to assume for it any other
liabilities.
Some states and provinces do not allow limitations on how long an implied warranty lasts or the exclusion or limitation of
incidental or consequential damages, so the above limitations or exclusions may not apply to you. This warranty gives you
specific legal rights and you may have other rights that vary by state or province.
PNI’s geomagnetic sensor technology provides high resolution, low power consumption, large
signal noise immunity, a large dynamic range, and high sampling rates. Measurements are stable
over temperature and inherently free from offset drift. The RM3100’s MagI2C ASIC features
both continuous measurement mode and single measurement polling, software-configurable
resolution and sample rate, and the ability to operate one, two, or three PNI sensor coils. And it
incorporates both I2C and SPI interfaces for system design flexibility.
When implementing an RM3100 or RM2100 Geomagnetic Sensor, each sensor coil serves as the
inductive element in a simple LR relaxation oscillation circuit, where the coil’s effective
inductance is proportional to the magnetic field parallel to the sensor axis. The LR circuit is
driven by the MagI2C ASIC, and the MagI2C’s internal clock is used to measure the circuit’s
oscillation frequency, and hence the magnetic field. Since PNI’s Geomagnetic Sensor works in
the frequency domain, resolution and noise are established cleanly by the number of MagI2C
internal clock counts (cycle counts). In comparison, fluxgate and MR technologies require
expensive and complex signal processing to obtain similar resolution and noise, and in many
respects the geomagnetic sensor’s performance simply cannot be matched. Also, the output from
the MagI2C is inherently digital and can be fed directly into a microprocessor, eliminating the
need for signal conditioning or an analog/digital interface between the sensor and a
microprocessor. The simplicity of PNI’s geomagnetic sensor combined with the lack of signal
conditioning makes it easier and less expensive to implement than alternative fluxgate or
magneto-resistive (MR) technologies.
For more information on PNI’s magneto-inductive sensor technology, see PNI’s whitepaper
“Magneto-Inductive Technology Overview” at http://www.pnicorp.com/technology/papers.
Cycle Counts2
Parameter Units
50 100 200
Field Measurement Range3 -800 to +800 μT
Gain 20 38 75 LSB/μT
Sensitivity 50 26 13 nT
Noise 30 20 15 nT
Noise Density @ Max. Single-Axis Sample Rate 1.2 nT/√Hz
Repeatability over ±200 μT 15 8 8 nT
Footnotes:
1. Performance values are typical. Performance specifications established with a supply voltage of
3.0 V, a bias resistor of 121 Ω, an external timing resistor of 33 kΩ, and with measurements taken
at room temperature. Other bias resistors, external timing resistors and operating voltages may
be used, but performance will differ from the values listed. Contact PNI for additional information.
2. The cycle count setting (eg. 50 ,100, and 200) is user-configurable and set in the Cycle Count
Registers. See Section 4.1 for a discussion on how the RM3100 works, and Section 5.1 for how
to set the Cycle Count Registers.
3. Field measurement range is defined as the monotonic region of the output characteristic curve.
Field measurement range can be extended using different bias resistors.
CAUTION:
Stresses beyond those listed above may cause permanent damage to the device. These
are stress ratings only. Assuming operation with the MagI2C per the guidelines in this
manual, these maximum ratings will not be violated.
Footnote:
1. 1 V peak-to-peak across the coil @ 100 kHz sinewave. No DC bias resistance.
Measured orthogonal to Earth’s magnetic field.
CAUTION:
Stresses beyond those listed above may cause permanent damage to the device. These
are stress ratings only. Operation of the device at these or other conditions beyond those
indicated in the operational sections of the specifications is not implied.
Footnote:
1. Please contact PNI if operation at <2.0 V is required.
3.4.1 Sen-XY-f
Note: PNI recommends a 5 mil stencil. The solder paste area is much smaller than the pad
to reduce sensor tilt and misalignment. The above layout allows for rework: for minimal
footprint, contact PNI.
Figure 3-3: Sen-XY-f Recommended Solder Pad, Paste, & Mask Layout
Note: PNI recommends a 5 mil stencil. The solder paste area is much smaller than the pad
to reduce sensor tilt and misalignment. The above layout allows for rework: for minimal
footprint, contact PNI.
Figure 3-6: Sen-Z-f Recommended Solder Pad, Paste, & Mask Layout
Note: PNI recommends not soldering to the exposed die pad in the center of the ASIC
3.5 Soldering
Figure 3-9 and Table 3-6 provide the recommended solder reflow profile and processing
parameters for RM3100 components. After soldering PNI components to a board, it is
possible to wave solder the opposite side of the PCB.
IMPORTANT: PNI sensor coils require the use of halide-free solder pastes and processes for
reflow and cleaning. Contact PNI if you would like recommendations.
4.1 Overview
Figure 4-1 and Figure 4-2 provide basic schematics for implementing the RM3100 Sensor
Suite when using the SPI interface and I2C interface, respectively. The MagI2C is at the
center of the schematic, as it ties the user’s host controller, on the left, to the three sensor
coils, on the right. Unused sensor connections should remain floating.
Note: RM3100 and RM2100 Geomagnetic Sensors typically are used in compassing applications,
where each channel represents a Cartesian coordinate axis, X, Y, or Z. For this reason, the term
“axis” generally is used instead of “channel”.
A Sen-XY-f or Sen-Z-f sensor coil serves as the inductive element in a simple LR relaxation
oscillation circuit which is composed of an external bias resistor along with digital gates and
a comparator internal to the MagI2C. The coil’s inductance is a function of the magnetic
field strength. As such, the frequency of oscillation of the circuit varies with the strength of
the total magnetic field parallel to the sensor. To make a measurement, one side of the coil is
grounded while the other side is alternately driven with positive and negative current through
the oscillator. The circuit is driven for a set number of circuit oscillations, and the time to
complete the oscillations is measured using the MagI2C’s internal high-speed clock. The
MagI2C next switches the bias connection to the coil and makes another measurement. The
side that was previously grounded is now charged and discharged while the other is now
grounded.
• the total magnetic field represents the sum of the local field and the circuit-induced
field, and
• the circuit-induced magnetic field has the same magnitude but opposite direction for
the two bias polarities,
the local magnetic field is proportional to the difference in the time to complete the
measurement for each bias. The difference in the number of clock oscillations between the
forward and reverse bias directions is output from the MagI2C, and this number is directly
proportional to the strength of the local magnetic field in the direction of the sensor.
Figure 4-3 provides a detail of the biasing circuit. For more on PNI’s magneto-inductive
technology, refer to the “Magneto-Inductive Technology Overview” white paper found on
PNI’s website.
Since PNI’s Geomagnetic Sensor Suite works in the frequency domain, resolution is cleanly
established by the number of circuit oscillations. Also, the output from the MagI2C is
inherently digital and can be fed directly into a microprocessor, which eliminates the need for
signal conditioning or an analog/digital interface between the sensor and host processor.
If the Sen-Z-f sensor coil is flipped to the bottom of the board such that the polarity
indicator still points back or the curved portion of the sensor still points forward, then to
retain NED the Sen-Z-f’s ZDRVN and ZDRVP pads should be as shown above, except
on the bottom of the board. As the pads on the Sen-Z-f have switched positions, the
connections to the Sen-Z-f sensor will be reversed.
• The sensors have a specified linear regime of ±200 μT. (Earth’s field is ~50 μT.)
To ensure the sensors operate in their linear regime, do not place the sensors close
to large electric currents, large masses of ferrous material, or devices
incorporating permanent magnets, such as speakers and electric motors.
• To minimize the effect of gradients in the magnetic field, position the sensor coils
as close to each other as possible.
• To reduce coupling to and from other signals, keep the two traces from the
MagI2C to each sensor coil as close as possible to each other. PNI recommends
locating the MagI2C within 10 cm from the sensor coils.
• Keep capacitors, especially tantalum capacitors, far away from the sensor coils.
AVDD and DVDD should be tied to the analog and digital supply voltages,
respectively. The recommend voltages are defined in Table 3-5, and the maximum
voltages are given in Table 3-4. DVDD must be on whenever AVDD is on, so
DVDD should either be brought up first or at precisely the same time as AVDD.
AVDD can be turned off when not making a measurement to conserve power, since
all other operations are supported with DVDD. Under this condition, register values
will be retained as long as DVDD is powered. Also, AVDD must be within 0.1 V of
DVDD when AVDD is on.
AVSS and DVSS should be tied to the analog and digital ground, respectively.
Assuming the ground plane is clean, they may share a common ground.
Alternatively, they may have their own ground planes if this is more convenient.
DVSS and AVSS should be within 0.1 V of each other.
The various sensor drive and measurement pins should be connected to the sensor
coils. For a north-east-down (NED) reference frame, the connections should be as
defined in Figure 4-4.
This pin should be pulled LOW when using the SPI interface or pulled HIGH when
using the I2C interface.
DRDY is used to ensure data is read from the MagI2C only when it is available. The
DRDY pin will go HIGH when the measurement is complete. This signals the host
that data is ready to be read. The DRDY pin automatically is set LOW when the
Measurement Result registers are read or a write operation is performed.
It is not mandatory to use the DRDY pin, as alternative methods exist to determine if
data is available. Specifically, the STATUS register provides this information. And,
if using the SPI interface where CPHA=CPOL=1, the MISO line also indicates if data
is available when SSN is LOW.
REXT ties to the external timing resistor for the high-speed clock. The recommended
value for the resistor and associated clock speed are defined in Table 3-1.
MOSI is an SPI input that provides data from the master device to the MagI2C. Data
is transferred most significant bit first. Data must be presented at least 50 ns before
the rising edge of SCLK, and remain valid for 50 ns after the edge. New data
typically is presented to the MOSI pin on the falling edge of SCLK.
SSN (pin 3)
This signal sets the MagI2C as the operating slave device on the SPI bus. The SSN
pin must be LOW prior to data transfer in either direction, and must stay LOW during
the entire transfer.
The SSN pin must transition from HIGH to LOW prior to reading from or writing to
the registers. It must stay LOW for the remainder of the operation.
SCLK is a SPI input used to synchronize the data sent in and out through the MISO
and MOSI pins. SCLK is generated by the customer-supplied master device and
should be 1 MHz or less. One byte of data is exchanged over eight clock cycles.
Data is captured by the master device on the rising edge of SCLK. Data is shifted out
and presented to the MagI2C on the MOSI pin on the falling edge of SCLK, except
for the first bit (MSB) which must be present before the first rising edge of SCLK.
MISO is an SPI output that sends data from the MagI2C to the master device. Data is
transferred most significant bit first and is captured by the master device on the rising
edge of SCLK. The MISO pin is placed in a high impedance state if the MagI2C is
not selected (i.e. if SSN=1).
The SDA line is a bi-directional line used to send commands to the MagI2C and used
to transmit data from the MagI2C. Data is transferred most significant bit first. All
communication between the host and the MagI2C occurs on this line when
implementing the I2C interface.
SA1 (pin 3)
SA1 represents the second-least significant bit in the MagI2C’s slave address.
Pulling this HIGH represents a ‘1’ and pulling it low represents a ‘0’. Along with pin
28 (bit 0) and the higher 5 bits (0b01000), which are pre-defined in hardware, SA1
establishes the 7-bit slave address of the MagI2C on the I2C bus.
SCL is used to synchronize the data sent in and out through the SDA pin. SCL is
generated by the customer-supplied master device and should be 1 MHz or less. Data
is captured by the master device on the rising edge of SCL. Data is shifted out and
presented to the MagI2C on the SDA pin on the falling edge of SCL, except for the
first bit which must be present before the first rising edge of SCL.
SA0 represents the least significant bit in the MagI2C’s slave address. Pulling this
HIGH represents a ‘1’ and pulling it low represents a ‘0’. Along with pin 3 (bit 1)
and the higher 5 bits (0b01000), which are pre-defined in hardware, SA0 establishes
the 7-bit slave address of the MagI2C on the I2C bus.
As long as SSN is LOW data can transfer to or from the MagI2C. Generally it is a good idea
to pull SSN to HIGH after a read or write operation has completed such that the SPI bus can
be freed up for other devices. The MagI2C can perform measurements while the SSN line is
HIGH, as this does not involve communication with the master. Pulling the SSN to HIGH
during a data read or write will terminate the transaction.
The timing parameters, defined in Figure 4-5 or Figure 4-6 and specified in Table 4-2, must
be met to ensure reliable communication.
The MagI2C’s I2C interface complies with NXP’s UM10204 specification and user manual,
revision 03. Standard, fast, fast plus, and high speed modes of the I2C protocol are
supported. Below is a link to this document.
http://www.nxp.com/documents/user_manual/UM10204.pdf
START MagI2C ADDRESS RW ACK MagI2C REG. ADDRESS (N) ACK DATA TO REGISTER (N) ACK DATA TO REGISTER (N+1) ACK STOP
S A6 A5 A4 A3 A2 A1 A0 0 0 A7 A6 A5 A4 A3 A2 A1 A0 0 A7 A6 A5 A4 A3 A2 A1 A0 0 A7 A6 A5 A4 A3 A2 A1 A0 0 P
The MagI2C will always acknowledge the start of an I2C Write transaction by sending a
‘0’ (i.e. the ACK signal). But if the Write command cannot be executed for some reason
the MagI2C will send a ‘1’ instead (i.e. the NACK signal). The reasons a NACK signal
might be sent are established by the HSHAKE register, and include writing to an
undefined register or writing to the POLL register while CMM is in progress, or vice
versa. See Section 0 for more information.
S A6 A5 A4 A3 A2 A1 A0 0 0 A7 A6 A5 A4 A3 A2 A1 A0 0 P
START SLAVE ADDRESS RW ACK DATA FROM REG. (N) ACK DATA FROM REG. (N+1) NACK STOP
S A6 A5 A4 A3 A2 A1 A0 1 0 A7 A6 A5 A4 A3 A2 A1 A0 0 A7 A6 A5 A4 A3 A2 A1 A0 1 P
The Write sequence is described in the prior section, except for this case there is no data
to send. For the Read sequence the host again sends the MagI2C’s slave address, but this
time sets the RW bit is set to ‘1’. The MagI2C acknowledges that it is has been
addressed and then sends data from the register address that was previously sent. The
host acknowledges receipt of the data, and then the MagI2C increments the register
address and sends data from this register. This continues until the host sends the NACK
command followed by the Stop command, which terminates the transaction.
Note: The MagI2C incorporates an Idle Mode to reduce power consumption. The device automatically
idles when not exchanging data or taking a measurement. The MagI2C starts in Idle Mode at power-up.
The MagI2C’s register map is given in Table 5-1. Register addresses are 7 bits. To Write to a
register, a ‘0’ followed by the 7-bit register number should be sent, followed by the register
value. To Read from a register, a ‘1’ followed by the 7-bit register number should be sent,
effectively adding 0x80 to the register number.
Since the registers are adjacent, it is not necessary to send multiple register addresses, as the
MagI2C automatically will read/write to the next adjacent register.
The default values for the Cycle Count Registers are 0xC8 in the LSB and 0x0 in the MSB,
or 200D. This default value provides a good trade-off between acquisition time and
resolution, but favors resolution. If the user is more interested in low power consumption or
running at high data rates, a lower cycle count value of (ex. 50D or 100D) would be more
appropriate. To estimate the appropriate cycle count value for your application review the
specifications given at 50, 100, and 200 cycle counts in Table 3-1. Note that these 3 cycle
counts by no means represent all the cycle count options, as the minimum value is ‘0’ and the
maximum is 65,536. Having said this, quantization issues generally dictate working above a
cycle count value of ~30, while noise limits the useful upper range to ~400 cycle counts.
Assuming a non-default cycle count value is desired, then prior to sending a command to
take a sensor measurement it is necessary to Write values to the Cycle Count Registers.
Once the Cycle Count Registers are set, they do not need to be repopulated unless the user
wants to change the values or the system is powered down, in which case the default value
repopulates the register fields when powered up again.
Bit # 7 6 5 4 3 2 1 0
Value Reserved CMZ CMY CMX 0 DRDM Reserved START
Set to 0 Set to 0
Where:
• START – A “1” in this bit position initiates Continuous Measurement Mode. To turn
off Continuous Measurement Mode it is necessary to write a “0” to this bit position.
Note that writing to POLL (i.e. initiating a single measurement command) while
operating in Continuous Measurement Mode results in the single measurement
command being ignored.
• DRDM – These two bits establish the required condition to trigger the DRDY pin to
HIGH. There are 4 possible conditions, as set out in Table 5-3.
• CMX, CMY, CMZ – A “1” in either of these three bit positions indicates a
measurement will be taken on that sensor axis when operating in Continuous
Measurement Mode. For instance, to take measurements on all three axis, CMX =
CMY = CMZ = 1.
To read from the CMM register, send 0x81. The return byte will provide the same
information as above.
Note: Certain commands, such as reading from the CMM register or writing to the TMRC register,
will terminate Continuous Measurement Mode.
Bit # 7 6 5 4 3 2 1 0
Value 1 0 0 1 TMRC3 TMRC2 TMRC1 TMRC0
The LSB is used set the CMM updatee rate. The MSB should be 0x9, as indicated above.
The larger the TMRC value, the longer the interval between measurements. Available
data rates are given in Table 5-4. Note that the update rates are approximate, and have a
one standard deviation tolerance of about ~7%. The default value for TMRC is 0x96,
establishing a data update rate of ~37 Hz.
To set the TMRC register, send the register address, 0x0B, followed by the desired
TMRC register value. To read the TMRC register, send 0x8B.
Note: The Cycle Count Registers establish the maximum data rate of the sensors. For instance,
if the cycle count is set to 200D, then the maximum 3-axis update rate is ~430 Hz. If TMRC is set
to 0x92, indicating an update rate of ~600 Hz, the rate established by the cycle count will override
the TMRC request, and the actual update rate will be ~430 Hz.
To make a single measurement it is necessary to write the POLL address register, 0x00, and
follow this by the POLL register byte which establishes which axes are to be measured. It is
defined as shown below, where a “1” for PMX, PMY, and/or PMZ indicates the X, Y, and/or
Z axis, respectively, is to be measured. Note that the DRDY line will go HIGH after all
measurements requested in the Single Measurement Command byte have been completed.
Bit # 7 6 5 4 3 2 1 0
Value 0 PMZ PMY PMX 0 0 0 0
Bit # 7 6 5 4 3 2 1 0
Value DRDY - - - - - - -
Bit 7 will be HIGH if data is available and LOW if it is unavailable. Bits 0 – 6 are
indeterminate and should be ignored.
Bit # 7 6 5 4 3 2 1 0
Value 1 0 1 0 A B C D
Normally it is only necessary to send “A4H”, since the register value automatically
increments on the clock cycles such that after sending “A4H” all 3 bytes for the X axis
measurement would be clocked out, then the 3 bytes for the Y axis measurement, then the 3
bytes for the Z axis measurement. After these 9 bytes have been clocked out, the subsequent
output data has no relevance.
Bit # 7 6 5 4 3 2 1 0
Value STE ZOK YOK XOK BW1 BW0 BP1 BP0
• STE – Setting this to ‘1’ commands the MagI2C to run the built-in self test when
the POLL register is written to. The end of the built-in self test sequence will be
indicated by DRDY going HIGH.
• ZOK, YOK, and XOK – These read-only bits indicate whether or not the X, Y,
and Z LR oscillators functioned correctly during the built-in self test. A ‘1’
indicates a properly function oscillator. Note that STE also should be HIGH
when this is read, or the reading is invalid.
• BW – These two bits define the timeout period for the LR oscillator periods, as
given in Table 5-6.
• BP – These two bits define the number of LR periods for measurement during the
built-in self test, as given in Table 5-7.
Bit # 7 6 5 4 3 2 1 0
Value 0 NACK2 NACK1 NACK0 1 0 DRC1 DRC0
Where:
• DRC0 – Setting this to ‘1’ means DRDY is cleared by any device register write.
Clearing occurs during reception of the register address byte for the write
transaction on either the SPI or I2C interface. This is the default setting.
• DRC1 – Setting this to ‘1’ means DRDY is cleared by reading the Measurement
Results registers. Clearing occurs when the MagI2C sends back the first byte of
data. This is the default setting.
• NACK0 – This read-only bit is set to ‘1’ when writing to an undefined register.
• NACK1 – This read-only bit is set to ‘1’ when writing into POLL when CMM is
in progress or when writing to CMM when POLL is in progress.
• NACK2 – This read-only bit is set to ‘1’ when a read for the Measurement
Results registers is requested but data is not ready (DRDY = 0).
The steps to make measurements in Continuous Measurement Mode are given below.
START MagI2C ADDRESS RW ACK CCX1 REG. ADDRESS (N) ACK DATA TO CCX1 REG (N) ACK DATA TO CCX0 REG (N+1) ACK
S 0 1 0 0 0 X X 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0
DATA TO CCY1 REG (N+2) ACK DATA TO CCY0 REG (N+3) ACK DATA TO CCZ1 REG (N+4) ACK DATA TO CCZ0 REG (N+5) ACK STOP
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 P
START MagI2C ADDRESS RW ACK POLL REG. ADDRESS (N) ACK DATA TO POLL REG (N) ACK STOP
S 0 1 0 0 0 X X 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 P
After this transaction sequence the MagI2C will initiate a measurement sequence, and
this can run in the background. At the end of the measurement sequence the DRDY pin
is set HIGH and the Status Register will have a “1” in bit 7, indicating data is ready. The
MagI2C will be placed in Idle Mode.
START MagI2C ADDRESS RW ACK CMM REG. ADDRESS (N) ACK DATA TO CMM REG (N) ACK STOP
S 0 1 0 0 0 X X 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 0 P
In this example, the CMM register is set to initiate measurements on all 3 axes, and to set
DRDY to HIGH after all three measurements are made.
S 0 1 0 0 0 X X 0 0 0 0 1 0 0 1 0 0 0 P
START MagI2C ADDRESS RW ACK DATA FROM MX2 (N) ACK DATA FROM MX1 (N+1) ACK
S 0 1 0 0 0 X X 1 0 X X X X X X X X 0 X X X X X X X X 0
DATA FROM MX0 REG (N+2) ACK DATA FROM MY2 REG (N+3) ACK DATA FROM MY1 REG (N+4) ACK DATA FROM MY0 REG (N+5) ACK
X X X X X X X X 0 X X X X X X X X 0 X X X X X X X X 0 X X X X X X X X 0
DATA FROM MZ2 REG (N+6) ACK DATA FROM MZ1 REG (N+7) ACK DATA FROM MZ0 REG (N+8) NACK STOP
X X X X X X X X 0 X X X X X X X X 0 X X X X X X X X 0 P
The final NACK is optional, as communication will stop by simply implementing the
Stop condition.