User Manual RM3100 Evaluation Board Geomagnetic Sensor Module
Table of Contents 1 2 3 4 5 COPYRIGHT & WARRANTY INFORMATION ............................................................ 3 INTRODUCTION .......................................................................................................... 4 SPECIFICATIONS ....................................................................................................... 5 3.1 RM3100 EVALUATION BOARD CHARACTERISTICS .................................. 5 3.2 DIMENSIONS ..............................................
List of Figures Figure 3-1: Figure 4-1: Figure 4-2: Figure 5-1: RM3100 Evaluation Board Mechanical Drawing ................................................... 7 SPI Timing Diagram, CPOL = CPHA = 0 ............................................................. 13 SPI Timing Diagram, CPOL = CPHA = 1 ............................................................. 13 SPI Activity Sequence Diagram ...........................................................................
1 Copyright & Warranty Information © Copyright PNI Sensor Corporation 2013 All Rights Reserved. Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under copyright laws. Revised July 2013: for the most recent version visit our website at www.pnicorp.com PNI Sensor Corporation 2331 Circadian Way Santa Rosa, CA 95407, USA Tel: (707) 566-2260 Fax: (707) 566-2261 Warranty and Limitation of Liability.
2 Introduction Thank you for purchasing PNI Sensor Corporation’s RM3100 Evaluation Board, pn 13606. The RM3100 Evaluation Board is a plug-and-play module (PCA) version of PNI’s RM3100 Geomagnetic Sensor, principally intended for quickly evaluating and prototyping PNI’s magnetic sensor technology. The primary components of the RM3100 Evaluation Board are two Sen-XY-f sensor coils, one Sen-Z-f sensor coil, and PNI’s MagI2C ASIC controller.
3 Specifications 3.1 RM3100 Evaluation Board Characteristics Table 3-1: Operating Performance1 Parameter Field Measurement Range Cycle Counts2 50 100 200 Units -800 to +800 T 3 Gain 20 38 75 LSB/ T Sensitivity 50 26 13 nT Noise 30 20 15 nT Noise Density @ Max. Single-Axis Sample Rate Repeatability over 200 T 1.2 15 8 nT/ Hz 8 nT Hysteresis over 200 T 15 nT Linearity over 200 T 0.5 % Maximum Single-Axis Sample Rate (divide by 3 for max.
Table 3-2: Absolute Maximum Ratings Parameter Minimum Maximum Units Analog/Digital DC Supply Voltage, AVDD & DVDD -0.3 +3.7 VDC Input Pin Voltage -0.3 AVDD or DVDD VDC Input Pin Current @ 25C -10.0 +10.0 mA Storage Temperature -40° +85° C CAUTION: Stresses beyond those listed above may cause permanent damage to the device. These are stress ratings only.
3.
4 RM3100 Evaluation Board Overview & Set-Up This section provides an overview of how to set-up the RM3100 Evaluation Board and the basic I2C and SPI communications requirements. For a discussion of PNI’s magneto-inductive sensor technology, please refer to either the RM3100 Geomagnetic Sensor User Manual or PNI’s whitepaper “Magneto-Inductive Technology Overview”, both of which can be found on PNI’s website at www.pnicorp.com. 4.
4.3 RM3100 Evaluation Board Pin Assignments The RM3100 Evaluation Board’s pin assignments are summarized below in Table 4-1. Pin numbers run counterclockwise, when looking from the top, starting at the Pin 1 designator as shown in Figure 3-1.
AVSS and DVSS (pins 7 & 14) 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. DRDY (pin #5) DRDY is used to ensure data is read from the RM3100 Evaluation Board only when it is available. The DRDY pin will go HIGH when the measurement is complete.
SI (pin 3) SI, or more commonly MOSI (master output, slave input), is a SPI input providing data from the host to the RM3100 Evaluation Board. Data is transferred most significant bit first. Data must be presented at least 50 ns before the rising edge of SCK, and remain valid for 50 ns after the edge. New data typically is presented to the MOSI pin on the falling edge of SCK. SSN (pin 4) This signal sets the RM3100 Evaluation Board as the operating slave device on the SPI bus.
pre-defined in hardware, SA0 establishes the 7-bit slave address of the RM3100 Evaluation Board on the I2C bus. SA1 (pin 2) SA1 represents the second-least significant bit in the RM3100 Evaluation Board’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 module on the I2C bus. 4.
Figure 4-1: SPI Timing Diagram, CPOL = CPHA = 0 Figure 4-2: SPI Timing Diagram, CPOL = CPHA = 1 PNI Sensor Corporation RM3100 Evaluation Board User Manual Doc 1017252 r02 Page 13 of 33
Table 4-2: SPI Timing Specifications Symbol Description Min Max Units tSHZD SSN LOW to data output 100 ns tSSDV SSN LOW to Command Byte 100 ns tDBSH Setup data before active edge 50 ns tDASH Hold data after active edge 50 ns tDRDV Clock falling edge to valid data tSSH Final clock cycle falling edge to SSN HIGH tSHDZ SSN HIGH to output data tri-state tSSW SSN HIGH to LOW (time between transactions) 10 100 ns ns 100 ns 100 4.
All communication is on the SDA line. The transaction is initiated by the host, or master, sending the Start condition followed by the RM3100 Evaluation Board’s slave address, and then the RW bit is set to ‘0’, indicating a Write operation. The slave address is acknowledged by the module by setting SDA to LOW. This is followed by the desired 7bit register address and then the register data. The register value automatically increments after every received data byte.
5 RM3100 Evaluation Board Operation The primary functions of the RM3100 Eval Board are: Set the Cycle Count Registers if the default is not desired. Initiate either a Single Measurement or Continuous Measurement. Confirm New Data Ready. Read the Measurement Results Registers. Each of these steps is discussed in detail in the following sections. Note: The RM3100 module incorporates an Idle Mode to reduce power consumption. The device is in Idle Mode when not exchanging data or taking a measurement.
5.1 Set the Cycle Count Registers (0x04 – 0x09) The Cycle Count Registers establish the number of sensor oscillation cycles (cycle counts) that will be counted for each sensor in both the forward and reverse bias directions during a measurement sequence. Each sensor has its own cycle count value, and each can be different. Increasing the cycle count value increases measurement gain and resolution.
5.2 Initiate Continuous Measurement Mode (0x01) The RM3100 Evaluation Board can either take measurements automatically on a regular frequency (Continuous Measurement Mode) or by polling for single measurement. This section discusses Continuous Measurement Mode. See Section 5.3 for polling a single measurement. To initiate Continuous Measurement Mode, write to the CMM register address, 0x01, followed by the CMM register contents.
Table 5-3: Continuous Mode DRDY Options DRDY Requirements DRDM1 DRDM0 DRDY to HIGH when ALARM = 1, AND a full measurement sequence is completed, as established by CMX, CMY, and CMZ. 0 0 DRDY to HIGH after the completion of a measurement on any axis. 0 1 DRDY to HIGH after a full measurement sequence is completed, as established by CMX, CMY, and CMZ. 1 0 DRDY to HIGH when Alarm = 1.
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.
There are two types of limits, Absolute and Relative. The LDM bit in the CMM register establishes which type will be used, where “0” indicates Absolute and “1” indicates Relative. In Absolute Alarm Mode, the limits are fixed and do not change, while in Relative Alarm Mode the limits change whenever the current Alarm Limits are exceeded. As the name suggests, Absolute Alarm Mode is used for monitoring the absolute magnetic field, while Relative Alarm Mode is used to monitor changes in magnetic field.
Since the registers are adjacent, it is not necessary to send multiple register addresses, as the RM3100 Evaluation Board automatically will read/write to the next adjacent register. Relative Alarm Mode In Relative Alarm Mode the limits for each axis initially are set by the Alarm Lower Limit and Alarm Upper Limit value registers, as given in Table 5-5, similar to Absolute Alarm Mode.
case only the X axis sensor is being monitored, the ALLX register is set to 0x0A00, the AULX register is set to 0x1000, and the ADLX register is set to 0x0100. Table 5-7: Absolute vs.
5.4 Confirm New Data Ready There are several ways to determine if a measurement has been completed and data is available in the Measurement Results Registers. One method is monitoring the DRDY line for it to go HIGH. Recall that for continuous measurement mode, the DRDM bits of the Continuous Measurement Command byte establish the conditions for DRDY to go HIGH. Another option when using the SPI interface is monitoring the MISO pin for it to go HIGH.
Table 5-8: Measurement Results Registers Write Address (Hex) Read Address (Hex) X Axis Measurement (2) 24 A4 X Axis Measurement (1) 25 A5 X Axis Measurement (0) 26 A6 Y Axis Measurement (2) 27 A7 Y Axis Measurement (1) 28 A8 Y Axis Measurement (0) 29 A9 Z Axis Measurement (2) 2A AA Z Axis Measurement (1) 2B AB Z Axis Measurement (0) 2C AC Register Description Normally it is only necessary to send “A4H”, since the register value automatically increments on the clock cycles such
Where: STE – Setting this to ‘1’ commands the RM3100 Evaluation Board 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.
Bit # 7 Value 0 6 5 4 NACK2 NACK1 NACK0 3 2 1 0 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 RM3100 Evaluation Board sends back the first byte of data.
5.7.2 Making and Reading Measurements Figure 5-1 gives the SPI activity sequence for initiating a single measurement and reading the results. While the RM3100 Evaluation Board is designed for CPOL = 0 and CPHA = 0 operation, it also can operate with CPOL = 1 and CPHA =1, so both cases are given. The assumption in the diagram is that the DRDY pin or the MISO line is used to establish when data is ready, but a query of the Status Register could be used instead.
The steps to make measurements in Continuous Measurement Mode are given below. Start with SSN set HIGH, then set SSN to LOW. Initiate Continuous Measurement Mode by writing to the CMM register address, 0x01, followed by the CMM register value. This value defines which axes are to be measured, how the DRDY line will be set HIGH, and which type of Alarm will be implemented assuming the Alarm feature is being utilized.
Once the measurement sequence is completed on all desired axes, the DRDY pin is set HIGH and the MISO pin goes low, indicating data is read. The MagI2C is placed in Idle Mode. When the host is ready to read the measured values, set SSN to LOW. If SSN already is LOW, then toggle SSN from LOW to HIGH to LOW. Assuming the X axis was one of the axes to be measured, send the MX2 Read address, 0xA4, to begin reading the Measurement Results registers.
5.8.2 Initiate a Single Measurement The I2C transactions to initiate a single measurement on all 3 axes are given below. RM3100 Eval Board ADDRESS START S 0 1 0 0 0 X RW ACK POLL REG. ADDRESS (N) ACK X 0 0 0 0 0 0 0 0 0 0 0 DATA TO POLL REG (N) 0 1 1 1 0 0 0 ACK STOP 0 0 P From Host to RM3100 E.B. From RM3100 E.B. to Host After this transaction sequence the RM3100 Evaluation Board will initiate a measurement sequence, and this can run in the background.
RM3100 Eval Board ADDRESS START S 0 1 0 0 0 X RW ACK X 1 0 DATA FROM MX2 (N) X X X X X X ACK X X 0 DATA FROM MX1 (N+1) X X X X X X X ACK 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 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