By Wade Bussing,
Allegro MicroSystems, LLC
With the proliferation of human interface devices, there is a growing need for robust, non-contact sensing solutions that are low cost, low power, and low form factor. The Allegro ALS31300 3D Hall-Effect Sensor IC in small DFN10 package is ideally suited for trigger, pushbutton, rotation, joystick, and 2D slider joystick applications. The highly configurable power management options, including lowpower duty cycle mode, sleep mode and wake on motion, make the ALS31300 well-suited in battery-powered applications such as drones, camera gimbals, as well as console and mobile gaming controllers. This application note discusses the unique and advanced low power modes available on the ALS31300 3D Linear Hall-Effect Sensor IC with I2C output available from Allegro MicroSystems.
The ALS31300 is a 3D linear Hall-effect sensor IC from Allegro MicroSystems. The ability to sense magnetic fields in three different axes allows the ALS31300 to be extremely versatile to sense linear motion on any axis or rotational motion using magnetic data from two axes. This application note will walk the user through application examples and device configuration tailored for specific application needs.
The ALS31300 sensor may operate on supply voltages from 2.65 to 3.5 V and features highly configurable power management to maximize efficiency. The available power modes and typical supply currents for the ALS31300 are listed in Table 1.
Table 1: ALS31300 Power Modes
|Operating Mode||Mode Description||Suppy Current
|Active Mode|| The device continuously
updates magnetic and
temperature data. Supply
current is constant.
| ICC(ACTIVE) ≈
|Sleep Mode|| The device is in a near
powered-off state. No
magnetic or temperature
data updates. Supply
current is constant.
≈ 14 nA
| Low Power Duty
| The device toggles between
fully active and inactive
state. The device periodically
wakes up to refresh magnetic
and temperature data.
≈ 3.4 mA
≈ 12 μA
The operating mode of the ALS31300 is determined by the value in the Sleep field: address 0x27, bits 1:0. These bits may be accessed at any time and are described in Table 2.
Table 2: Sleep Register
|2|| Low-Power Duty Cycle Mode
In sleep mode, the ALS31300 is in a near powered-off state where it consumes the minimum amount of current (14 nA, typical). In this mode, the device will still respond to I2C commands, but will not update magnetic or temperature data. Sleep mode is valuable in applications where the supply voltage cannot be disabled but minimal power consumption is required. The time it takes to exit sleep mode is equivalent to Power-On Delay time (tPOD).
In Low Power Duty Cycle Mode (LPDCM), the ALS31300 toggles between active and inactive states, reducing overall current consumption. The average ICC for the ALS31300 during low power duty cycle mode varies based on the settings used, and may range between 12 μA to 2 mA (typical).
The diagram in Figure 1 shows the profile of ICC as the ALS31300 toggles between active and inactive states during Low Power Duty Cycle Mode.
The duration tINACTIVE is determined by the field Low Power Mode Count Max: address 0x27, bits 6:4. The ALS31300 offers eight discrete time frames for tINACTIVE. The typical values for tINACTIVE are listed in Table 3. Typical ICC during tINACTIVE ≈ 12 μA.
Table 3: LPDCM Inactive Time (tINACTVE)
|Address||Bits||Value||tINACTIVE (typ) (ms)|
The duration of tACTIVE, shown in Figure 1, is dependent on two settings: BW Select and the number of active channels.
Magnetic sensing channels on the ALS31300 are enabled independently by writing ‘1’ to the channel x en, channel y en, and channel z en bits, listed in Table 4.
Table 4: Channel Enable Control
|0x02||8||1||Enables Z Sensing Channel|
|7||1||Enables Y Sensing Channel|
|6||1||Enables X Sensing Channel|
BW Select controls the amount of filtering applied to the sampled magnetic data. Values for BW Select and corresponding update rates (typical) are listed in Table 5.
Table 5: BW Select and Update Rate
| 3 Channel
Resulting noise performance for each BW Select value is listed in Table 6.
Table 6: BW Select, Filtering Modes and Resulting Noise Performance (Input Referred)
|FIR Enabled||Z Channel
| X/Y Channel
This section will serve as a guide for configuring Low Power Duty Cycle Mode (LPDCM) based on a few top-level system requirements. Users should consider the goals of the specific application while configuring low power operation for the ALS31300. Screenshots in this section are taken from the ALS31300 Demonstration software available on Allegro’s Software Portal.
Assume the ALS31300 is used in a system that requires new magnetic data from two channels, X and Y, approximately every 500 μs with full resolution.
First the X and Y magnetic channels are enabled and the Z channel is disabled under the EEPROM tab. The Bandwidth Select value is set to code ‘0’ for full measurement resolution. Refer to the screenshot in Figure 2. Note: All channels come enabled from the Allegro factory.
Next, set the value for LPM Count Max, which controls the duration of tINACTIVE. Referring back to Table 3, the appropriate code for tINACTIVE ≈ 500 μs is code ‘0’. With LPM Count Max set, the device may then be put into LPDCM by setting the Sleep field to a value of ‘2’. These volatile settings are shown in the screenshot in Figure 3.
The resulting ICC profile is shown in the scope plot in Figure 4. Key parameters including inactive time (tINACTIVE), active time (tACTIVE), ICC(ACTIVE), and ICC(INACTIVE) are highlighted.
Note that the I2C commands are still processed even while the ALS31300 returns to the inactive state. This is possible because the I2C clock (SCLK) is processed in a separate domain from the
main system clock.
In Figure 4, ICC was observed by measuring a voltage across a series resistor on VCC using an oscilloscope with a differential probe (Figure 5).
The average current consumption can be estimated based on the scope plot in Figure 4 and the typical values for tACTIVE, tINACTIVE, ICC(ACTIVE), and ICC(INACTIVE). Recall that the duration tACTIVE
is the combination of settings for BW Select and the number of active channels.
The typical values for each of the parameters used in this example are summarized in Table 7.
Table 7: Typical Values for Key LPDCM Parameters
|Parameter Name||Typical Value||Units|
For a complete table on timing versus BW Select and number of active channels, refer to Table 8 in Appendix A.
Current consumption may be estimated by the following equation, Average ICC in LPDCM:
The interrupt feature on the ALS31300 enables further system level power savings for applications requiring long battery life. This technique allows a system’s microcontroller to enter a low power state and wait for an interrupt from the ALS31300.
Assume that a system is monitoring for the presence of an applied magnetic field. For example, an electricity power meter may become inaccurate in the presence of large external magnetic fields. Assume this meter is sensitive to magnetic fields greater than 300 gauss (30 mT). Finally, assume there is a need for maximum current reduction in the system while on battery power due to a power blackout. A simplified block diagram is outlined in Figure 6.
The ALS31300 interrupt thresholds may be configured independently for all three axes (X, Y, and Z). For this example, each axes threshold will be set to a value equivalent to 300 gauss.
During normal operation of the meter, the ALS31300 will be used in its full active mode, Sleep = 0, since power consumption is not as much of a concern. In this mode, the device is consuming its typical ICC(ACTIVE) at all times and continuously updating magnetic and temperature data.
Assume that the electricity meter detects a loss of power from the grid and reverts to battery backup, but it is still necessary to monitor for tampering events or large external fields. Since these events are interesting but not dangerous, we may choose to put the ALS31300 in its most efficient LPDCM.
First, set BW Select to the fastest state, code 7.
Average ICC consumption is again estimated in this mode using Equation 1 and substituting the symbols with typical values. Typical value for tINACTIVE with 3 channels enabled and BW Select = 7 can be found in Table 8 in Appendix A.
The system’s microcontroller may now be put into a deeper sleep state where it will be woken up by an active low by an active low Interrupt signal from the ALS31300 in the presence of field > 300 gauss.
The resulting ICC profile is shown in the scope plot in Figure 8. The duration of tACTIVE is so small in comparison to tINACTIVE that it appears as two small slits on the oscilloscope. I2C transactions
still occur during LPDCM.
The full table of typical values for active time (tACTIVE) based on BW SELECT settings and the number of active channels are shown in Table 8.
Table 8: Typical Active Times (tACTIVE) vs. Number of Active Channels and BW Select Values
|BW SELECT||Active Channels||Active Time (tACTIVE) (μs)|
The information contained in this document does not constitute any representation, warranty, assurance, guaranty, or inducement by Allegro to the customer with respect to the subject matter of this document. The information being provided does not guarantee that a process based on this information will be reliable, or that Allegro has explored all of the possible failure modes. It is the customer’s responsibility to do sufficient qualification testing of the final product to insure that it is reliable and meets all design requirements.