0% found this document useful (0 votes)
143 views

RM3100 Faq R06

The document is a frequently asked questions document for the RM3100 3-axis magnetic sensor from PNI Corp. It describes what the RM3100 is, its interface ports, how to change settings like cycle count and sample rate, how to read measurements, convert outputs to microtesla, evaluation options, and recommended layout and axis polarities. It provides answers to questions on the sensor's operation, configuration, reading data, and evaluating its performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

RM3100 Faq R06

The document is a frequently asked questions document for the RM3100 3-axis magnetic sensor from PNI Corp. It describes what the RM3100 is, its interface ports, how to change settings like cycle count and sample rate, how to read measurements, convert outputs to microtesla, evaluation options, and recommended layout and axis polarities. It provides answers to questions on the sensor's operation, configuration, reading data, and evaluating its performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

2331 Circadian Way 707-566-2260 main www.pnicorp.

com
Santa Rosa, CA 95407-5437 USA 707-566-2261 fax

RM3100 Frequently Asked Questions

Table of Contents
1 WHAT IS RM3100? .......................................................................................................... 3
2 WHAT ARE RM3100 INTERFACE PORTS? .......................................................................... 3
3 WHAT IS CYCLE COUNT AND HOW TO CHANGE IT? .......................................................... 3
4 WHAT IS THE RELATIONSHIP BETWEEN CYCLE COUNT AND GAIN?................................... 3
5 WHAT IS THE RELATIONSHIP BETWEEN GAIN AND SENSITIVITY? ..................................... 3
6 HOW TO READ OUT RM3100 MEASUREMENT ?............................................................... 4
7 HOW TO CONVERT RM3100 OUTPUT TO MICROTESLA? .................................................. 4
8 WHAT IS THE MAXIMUM SAMPLE OR DATA RATE? ......................................................... 4
9 HOW TO CHANGE SAMPLE OR DATA RATE? .................................................................... 4
10 HOW MANY MODES RM3100 SUPPORTS? ....................................................................... 5
11 DOES RM3100 SUPPORT DATA READY SIGNAL? .............................................................. 5
12 HOW TO READ RM3100 OUTPUT? ................................................................................... 5
13 DOES RM3100 SUPPORT SELF TEST?................................................................................ 5
14 HOW TO EVALUATE RM3100? ......................................................................................... 5
15 ANY SAMPLE CODE OR DRIVER CODE ? ........................................................................... 5
16 WHAT IS THE RECOMMENDED RM3100 LAYOUT AND AXIS POLARITIES ? ....................... 6
17 HOW TO TEST AND VERIFY POLARITY ON XYZ (NED) AXES ?............................................ 7
18 WHAT IS RM3100 SENSOR ID? ........................................................................................ 8
19 DOES TEMPERATURE AFFECT RM3100 ? .......................................................................... 8
20 HOW TO START A MEASUREMENT? ................................................................................ 9
21 WHAT IS THE RM3100 REGISTER MAP? ......................................................................... 10
22 HOW TO READ/WRITE A REGISTER ON SPI? .................................................................. 10
23 HOW TO READ/WRITE A REGISTER ON I2C? .................................................................. 11
Version # Changes Date

Draft Initial Version Q1 to Q13 3/16/2018

R01 Q14 4/10/2018

R02 Add more Qs for a total of 17 11/12/2019

R03 Add Q18 12/11/2019

R04 Add Q19 01/09/2020

R05 Add Q20 2/13/2020

R06 Add Q21-23 10/22/2020

Page | 2

Oct 22, 2020


PNI Sensor Document
1 WHAT IS RM3100?
RM3100 is PNI 3-axis magnetic sensor suite. It measures magnetic field. It consists of 4
components, MagI2C ASIC, two X-axis or Y--axis sensors, and one Z-axis sensor.

2 WHAT ARE RM3100 INTERFACE PORTS?


RM3100 supports I2C and SPI. RM3100 is I2C or SPI Slave to communicate to a host. Basic
schematics for implementing the RM3100 Sensor Suite when using the SPI interface and I2C
interface are provided in RM3100 user manual.

3 WHAT IS CYCLE COUNT AND HOW TO CHANGE IT?


The internal clock count of RM3100 MagI2C ASIC establishes the number of sensor oscillation
cycles. The number of oscillation cycle is “Cycle Count”.

Cycle Count as default value is 200 or 0xC8 in hex. Each axis can have different cycle count, to
change, set CCX, CCY and/or CCZ registers. They are 16-bit registers.

4 WHAT IS THE RELATIONSHIP BETWEEN CYCLE COUNT AND GAIN?

Cycle count and gain are linearly related. See the following table on “Cycle Count” and “Gain”.

Cycle Count/Gain/Sensitivity RM3100 Measurement


Cycle Gain
Count (LSB/uT) Sensitivity(nT/LSB) in count microTesla (uT)
50 20 50.000 3000 150.000
100 38 26.316 3000 78.947
200 75 13.333 3000 40.000
300 113 8.850 3000 26.549
400 150 6.667 3000 20.000

5 WHAT IS THE RELATIONSHIP BETWEEN GAIN AND SENSITIVITY?

Sensitivity is the inverse of gain, Sensitivity = 1/Gain. See Q4 Table “Gain” and “Sensitivity”.

Page | 3

Oct 22, 2020


PNI Sensor Document
6 HOW TO READ OUT RM3100 MEASUREMENT ?
RM3100 measurement is a 24-bit signed integer in count.
//read out measurement from register 0x24 to the char mSamples[9] array
rm3100_i2c_read(Data_REG0X24, (char*)&mSamples, sizeof(mSamples)/sizeof(char));

SInt32 XYZ[3];
XYZ[0] = ((signed char)mSamples[0]) * 256 * 256;
XYZ[0] |= mSamples[1] * 256;
XYZ[0] |= mSamples[2];

XYZ[1] = ((signed char)mSamples[3]) * 256 * 256;


XYZ[1] |= mSamples[4] * 256;
XYZ[1] |= mSamples[5];

XYZ[2] = ((signed char)mSamples[6]) * 256 * 256;


XYZ[2] |= mSamples[7] * 256;
XYZ[2] |= mSamples[8];

7 HOW TO CONVERT RM3100 OUTPUT TO MICROTESLA?


Convert the output of RM3100 from count to microTesla, the equation is,

magnetic_field_in_uT = (RM3100_measurement_in_count / Gain)

Please pay attention to “Cycle Count” setting. The default is 200, if customer changes to
different value, the “Gain” will change too. Example given in Q4 Table.

8 WHAT IS THE MAXIMUM SAMPLE OR DATA RATE?

The Cycle Count establish the maximum sample rate. For instance, if the cycle count is set to
200 as default, then the maximum 3-axis sample rate is ~430 Hz. Higher sample rates can be
obtained by reducing the number of cycle counts, but this also diminishes gain and sensitivity.
When sample rate is fixed, lower cycle count will reduce sensor oscillation time and in turn to
reduce power consumption.

9 HOW TO CHANGE SAMPLE OR DATA RATE?

RM3100 TMRC register controls the time between measurements in Continuous Measurement
Mode. Its default is 0x92, indicating an update rate of ~600 Hz. When the Cycle Count is 200,
the maximum rate established by the Cycle Count will override the TMRC setting, and the
actual update rate will be ~430 Hz.
Page | 4

Oct 22, 2020


PNI Sensor Document
10 HOW MANY MODES RM3100 SUPPORTS?

RM3100 supports continuous measurement mode and single measurement polling.

11 DOES RM3100 SUPPORT DATA READY SIGNAL?

Yes. RM3100 supports measurement data ready interrupt line (PIN 23) and also STATUS
Register (0x34).

12 HOW TO READ RM3100 OUTPUT?

Assume SPI host or I2C host is well established to communicate to RM3100. Read RM3100
output from Measurement Results Registers 0x24 to 0x2C. There are total 9 bytes, and 3 bytes
(24 bits) for each axis.

13 DOES RM3100 SUPPORT SELF TEST?

Yes. RM3100 supports Built-In Self-Test (BIST) with BIST register (0x33). For troubleshooting
circuit connection on XYZ sensors, users should measure the resistance of XYZ sensors. The
resistance value should be about 35 ohms. Big resistance value such as 1M ohms indicates
broken sensor.

14 HOW TO EVALUATE RM3100?

PNI offers RM3100 Test Boards on-line, Eval Board and Break Board. They are the same PCB,
and the Eval Board has extra pins for easy connection. Check RM3100 Testing Boards Manual
for details.

15 ANY SAMPLE CODE OR DRIVER CODE ?

Sample code available on Arm Mbed OS platform.

Page | 5

Oct 22, 2020


PNI Sensor Document
I2C interface sample code can be found at the following link.
https://os.mbed.com/users/ddelsuc/code/RM3100BB_Sample_Code/

SPI interface sample code can be found at the following link.


https://os.mbed.com/users/BeiZhang/code/RM3100_SPI_SampleCode/

16 WHAT IS THE RECOMMENDED RM3100 LAYOUT AND AXIS POLARITIES ?

Following picture indicates how the three sensor coils in a RM3100 Geomagnetic Sensor should
be oriented for a system referenced as north-east-down (NED) as XYZ axes. The Line of Sight
arrow represents the direction of travel or pointing, and it’s the X axis too. The Sen-XY-f is
insensitive to the location of the polarity indicator, while the location of the polarity indicator is
critical for the Sen-Z-f.

The polarity of X and Y axes are defined by the XDRVP and YDRVP pads. The embossed arrow or
white paint on the XY coils in the following drawing can be ignored. However, PNI recommends
to layout the XY coil’s polarity indicator to be consistent on XDRVP and YDRVP for a clear layout
design.

Page | 6

Oct 22, 2020


PNI Sensor Document
The polarity of Z axis is defined by both the ZDRVP and the Z coil polarity indicator. For the NED
coordinate reference, the Z coil polarity indicator is on ZDRVN pad, therefore, the Z-axis
positive polarity is “Down”. If the Z coil is rotated 180° on the PCB, so that its polarity indictor
to be on ZDRVP pad, the Z axis positive polarity will become “UP”.

17 HOW TO TEST AND VERIFY POLARITY ON XYZ (NED) AXES ?

Geomagnetic field can be measured everywhere on earth. This example shows how to measure
it to test and confirm the polarity of XYZ (NED) axes.

• Find a magnetic clean environment in office or outdoor. Move known magnetic


distortion sources such as computers, smartphones, chairs, cabinets and any objects
with ferrous material at least 6 ft (2m) away from RM3100.

• Find the longitude and latitude of your location.


For example, Lon: 122.755348, Lat: 38.420951, North Hemisphere, West

• Enter the Lon&Lat into the following calculator to get geomagnetic field strength and
inclination of your location.
https://www.ngdc.noaa.gov/geomag/calculators/magcalc.shtml?model=wmm#igrf
wmm
Result: Geomagnetic field vector strength 48.35 𝜇T, Inclination (dip angle) 61.43°

• Align the X axis toward the “Geomagnetic field F” vector like the following picture. Point
X to north direction and tilt the PCB downward at the inclination angle of 61.43° if your
location is at the northern hemisphere. When you are adjusting the alignment,
observing the XYZ measurements, the measurement on X should be getting close to
48.35 𝜇T. Y and Z measurement should be getting around 0. If X measurement is close
to -48.35 𝜇T, that means the polarity of X is reversed.

Page | 7

Oct 22, 2020


PNI Sensor Document
Where: I – Inclination, D – Declination, F – Geomagnetic field vector
(http://wdc.kugi.kyoto-u.ac.jp/element/eleexp.html)

• Repeat the same procedure on Y. Align the Y axis toward the “Geomagnetic field F”
vector, the measurement on Y should be around 48.35 𝜇T. X and Z measurement
should be around 0. If Y measurement is negative around 48.35 𝜇T, that means the
polarity of Y is reversed.
• Do the same test on Z to verify Z polarity.

18 WHAT IS RM3100 SENSOR ID?


REVID register 0x36 can be used to identity RM3100. Its readout value should be fixed as 0x21,
0x22 or higher, depending on when the sensor was made. The newer batch, the higher of the
revision ID. RM3100 revision has not been changed since 2015.

19 DOES TEMPERATURE AFFECT RM3100 ?


RM3100 itself is not affected by temperature fluctuation. Because its LR oscillation circuit takes
measurement twice with positive and negative sensor bias. The difference of two
measurements as output cancels out temperature effect. See the following slide for your
reference. Once RM3100 is integrated into a host device, the magnetic distortion sources
introduced by the host device is affected by temperature changes, and that in turn will cause
fluctuation in magnetic fields. RM3100 measures magnetic fields and surely its
measurement will reflect the change. Therefore, the host device should still need to implement
some level of temperature compensation.

Page | 8

Oct 22, 2020


PNI Sensor Document
Overview of PNI MI technology can be found here,
https://www.pnicorp.com/download/pni-magneto-inductive-technology-overview/.

20 HOW TO START A MEASUREMENT?


RM3100 Testing Boards User Manual. Details in 5.7 Examples using the SPI Interface, and 5.8 Examples
using the I2C Interface.
Summary to poll single measurement:
1. Set cycle count. (Optional, because you can use default 200 cycle count)
2. Host MCU initiates a Single measurement on all 3 axes to the POLL register 0x00.
3. Confirm New Data is Ready with Status Register 0x34 or check DRDY interrupt line.
4. Read Measurement Results registers 0x24 to 0x2C, 3 bytes for each axis.

Page | 9

Oct 22, 2020


PNI Sensor Document
21 WHAT IS THE RM3100 REGISTER MAP ?
Following table is a full set of RM3100 registers, please read RM3100 user manual for details.

Register # Default Payload


Name R/W Description
(Hex) (Hex) Format
POLL 00 RW 00 [7:0] Polls for a Single Measurement
CMM 01 RW 00 [7:0] Initiates Continuous Measurement Mode
CCX 04 – 05 RW 00C8 UInt16 Cycle Count Register – X Axis
CCY 06 – 07 RW 00C8 UInt16 Cycle Count Register – Y Axis
CCZ 08 – 09 RW 00C8 Uint16 Cycle Count Register – Z Axis
TMRC 0B RW 96 [7:0] Sets Continuous Measurement Mode Data Rate
ALLX 0C – 0E RW 000000 Sint24 Alarm Lower Limit – X Axis
AULX 0F – 11 RW 000000 Sint24 Alarm Upper Limit – X Axis
ALLY 12 – 14 RW 000000 Sint24 Alarm Lower Limit – Y Axis
AULY 15 – 17 RW 000000 Sint24 Alarm Upper Limit – Y Axis
ALLZ 18 – 1A RW 000000 Sint24 Alarm Lower Limit – Z Axis
AULZ 1B – 1D RW 000000 Sint24 Alarm Upper Limit – Z Axis
ADLX 1E – 1F RW 0000 SInt16 Alarm Hysteresis Value – X Axis
ADLY 20 – 21 RW 0000 SInt16 Alarm Hysteresis Value – Y Axis
ADLZ 22 – 23 RW 0000 SInt16 Alarm Hysteresis Value – Z Axis
MX 24 – 26 R 000000 Sint24 Measurement Results – X Axis
MY 27 – 29 R 000000 Sint24 Measurement Results – Y Axis
MZ 2A – 2C R 000000 Sint24 Measurement Results – Z Axis
BIST 33 RW 00 [7:0] Built-In Self-Test
STATUS 34 R 00 [7:0] Status of DRDY
HSHAKE 35 RW 1B [7:0] Handshake Register
REVID 36 R -- Unit8 MagI2C Revision Identification

22 HOW TO READ/WRITE A REGISTER ON SPI?


RM3100 register addresses are 7 bits. To Write to a register on SPI interface, 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.

Register Default Value Write Address Read Address


Description (Hex) (Hex) (Hex)
CCX - MSB 0x00 04 84
CCX - LSB 0xC8 05 85

Page | 10

Oct 22, 2020


PNI Sensor Document
23 HOW TO READ/WRITE A REGISTER ON I2C?
RM3100 register addresses are 7 bits. I2C interface uses the 7-bit address to Read or Write to a
register.

Register Default Value Read/Write


Description (Hex) Address (Hex)
CCX - MSB 0x00 04
CCX - LSB 0xC8 05

Page | 11

Oct 22, 2020


PNI Sensor Document

You might also like