STK8BA58
Digital Output 3-axis MEMS Accelerometer
Datasheet
Version – 1.0
2019/11/26
Hazardous Substance Free
RoHS / REACH Compliant
STK8BA58 REV 1.0
1.
OVERVIEW
Description
Feature
The STK8BA58 is a ±2g/±4g/±8g, 3-axis linear
2
accelerometer, with digital output (I C). It is a low profile
capacitive MEMS sensor featuring, compensation for 0g
offset and gain errors, and conversion to 12-bit digital
values at user configurable samples per second. The
device can be arranged for sensor data changes through
the interrupt pins. The STK8BA58 is available in a small
2.0mm x 2.0mm x 1.0 mm LGA package and it is
guaranteed to operate over an extended temperature
range from -40 °C to +85 °C.
Low Voltage Operation:
- Supply Internal Domain Voltage: 1.7V~3.6V
- I/O Voltage Range: 1.62V~3.6V
±2g/±4g±/8g dynamically selectable full-scale
2
I C digital output interface
Low noise
12 bit data output
10000 g high shock survivability
2.0mm x 2.0mm x 1.0 mm LGA Package
Configurable Samples from 14 to 2000 samples
per second
Sleep Feature for Low Power Consumption
On-chip interrupt controller, motion-triggered
interrupt-signal generation for
- New data
- Any-motion (slope) detection
- Significant motion
RoHS Compliant
Halogen Free
Environmentally Preferred Product
Moisture Sensitivity Level 3
Applications
www.sensortek.com.tw
1
Display orientation
Gaming and virtual reality input devices
Impact recognition and logging
Vibration monitoring and compensation
Pedometer
Activity trackers for fitness apps
Smart power management for mobile devices
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
2.
PIN DESCRIPTION
Pin#
Name
Dir.
Function
1
NC
NC
2
SDA
B
3
VDDIO
PWR
4
Reserved
I
Recommended tie to GND.
5
INT1
O
Interrupt 1 Output.
6
NC
NC
7
VS
PWR
Supply Voltage.
8
GNDIO
GND
Must be connected to ground.
9
GND
GND
Must be connected to ground.
10
NC
NC
Not Internally Connected.
11
NC
NC
Not Internally Connected.
12
SCL
I
Not Internally Connected.
2
Serial Data (I C, Open-Drain)
Digital Interface Supply Voltage.
Not Internally Connected.
2
Serial Communications Clock (I C, Open-Drain)
Direction denotation:
www.sensortek.com.tw
O
Output
GND
Ground
I
Input
B
Bi-direction
PWR
Power
NC
Not Connected
2
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
www.sensortek.com.tw
3
I2C Interface
Digital Engine
FUNCTION BLOCK
Decimation Filter
3.
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
4.
ELECTRICAL SPECIFICATIONS
TA = 25°C, VS = 2.6 V, VDDIO = 2.6 V, acceleration = 0 g, CS = CI/O = 10 μF and 0.1 μF
Parameter
Test Conditions
Min
Typ
Max
Unit
Operating Voltage Range (VS)
1.7
2.6
3.6
V
Interface Voltage Range (VDDIO)
1.62
2.6
3.6
V
POWER SUPPLY
Current consumption in normal mode
Current consumption in suspend mode
Current consumption in low-power mode
Start-Up Time
Sleep duration=25 ms
Bandwidth=1k Hz
POR
Bandwidth=1k Hz
Digital high level input voltage (VIH)
110
μA
1
μA
7
uA
3
ms
0.7 x VDDIO
V
Digital low level input voltage (VIL)
0.3 x VDDIO
1
High level output voltage (VOH)
0.8 x VDDIO
V
1
Low level output voltage (VOL)
OUTPUT DATA RATE AND BANDWIDTH
0.2 x VDDIO
V
Each axis
Bandwidth (BW)
Output data rate (ODR) in normal mode
1.
V
7.81
Hz
15.63
Hz
31.25
Hz
62.5
Hz
125
Hz
250
Hz
500
Hz
1000
Hz
BW * 2
Hz
IOL = 10mA, IOH = -4mA
www.sensortek.com.tw
4
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
5.
MECHANICAL SPECIFICATIONS
TA = 25°C, VS = 2.6 V, VDDIO = 2.6 V, acceleration = 0 g, CS = CI/O = 10 μF and 0.1 μF
Parameter
SENSOR INPUT
Test Conditions
Typical
Max
Unit
Each axis
Measurement Range
User selectable
Non-linearity
Percentage of full scale
Cross-Axis Sensitivity
OUTPUT RESOLUTION
Min
±2, ±4, ±8
g
±0.5
%FS
1
%
Each axis
±2 g Range
Full resolution
12
Bits
±4 g Range
Full resolution
12
Bits
±8 g Range
Full resolution
12
Bits
±2g, 12-bit resolution
1024
LSB/g
Sensitivity at XOUT, YOUT, ZOUT
±4g, 12-bit resolution
512
LSB/g
Sensitivity Change Due to Temperature
X-, Y-, Z-Axes
SENSITIVITY
Each axis
±8g, 12-bit resolution
0 g OFFSET
1
256
LSB/g
±0.02
%/°C
±100
mg
X-, Y-, Z-Axes
±1
mg/°C
±2g, 12-bit resolution
Bandwidth = 1k Hz
200
μg/sqrt(Hz)
Each axis
0 g Output for XOUT, YOUT, ZOUT
0 g Offset Change Due to Temperature
NOISE
X-, Y-, Z-Axes
1. These parameters are tested in production at final test, and could slightly change after mounting the sensor onto a printed circuit board or
exposing it to extensive mechanical stress.
www.sensortek.com.tw
5
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
6.
ABSOLUTE MAXIMUM RATINGS
Symbol
Ratings
Maximum value
Unit
VS
VDDIO
Vin
AUNP
TOP
TSTG
Supply voltage
Digital Interface Supply Voltage
Input voltage on any control pin
Acceleration (any axis, unpowered)
Operating temperature range
Storage temperature range
ESD
Electrostatic discharge protection
-0.3 to 3.6
-0.3 to 3.6
-0.3 to 3.6
10000
-40 to +85
-40 to +125
2 (HBM)
500 (CDM)
200 (MM)
100 (Latch Up)
V
V
V
g
°C
°C
kV
V
V
mA
7.
DIGITAL INTERFACE
2
I C digital interface are available in STK8BA53. In the cases, the STK8BA58 operates as a slave device.
7.1
I2C
2
All registers in STK8BA58 can be accessed via the I C bus. All operations can be controlled by the related registers.
There are two signals associated with the I2C bus: the serial clock line (SCL) and the serial data line (SDA). The latter
is a bidirectional signal used for sending and receiving the data to/from the interface. Both signals are pull-up to VDD I/O
through an external resistor.
2
2
A watchdog timer (WDT) is used to prevent the I C bus lock-up by STK8BA53. The I C bus will be reset and return to
normal operation state once the WDT is reached. The WDT can be enabled/disabled by I2C_WDT_EN bit and the
timer period can be set by I2C_WDT_SEL bit in register INTFCFG (0x34).
2
The STK8BA58 I C command format description for reading and writing operation between the host and STK8BA58
are shown in the following timing chart.
Slave Address
Slave Address (7-bit)
R/W Command Bit
0x18
OPERATION
0
Write Data to STK8BA53
1
Read Data form STK8BA53
Characteristics of the I2C Timing
Standard Mode
Symbol
Fast Mode
Parameter
Unit
Min.
Max.
Min.
Max.
fSCLK
SCL clock frequency
10
100
10
400
KHz
tHDSTA
Hold time after (repeated) start condition. After this
period, the first clock is generated
4.0
—
0.6
—
μs
tLOW
LOW period of the SCL clock
4.7
—
1.3
—
μs
www.sensortek.com.tw
6
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
tHIGH
HIGH period of the SCL clock
4.0
—
0.6
—
μs
tSUSTA
Set-up time for a repeated START condition
4.7
—
0.6
—
μs
tHDDAT
Data hold time
0
—
0
—
ns
tSUDAT
Data set-up time
250
—
100
—
ns
tr
Rise time of both SDA and SCL signals
—
1000
—
300
ns
tf
Fall time of both SDA and SCL signals
—
300
—
300
ns
tSUSTO
Set-up time for STOP condition
4.0
—
0.6
—
μs
tBUF
Bus free time between a STOP and START condition
4.7
—
1.3
—
μs
-1
Note: fSCLK is the (tSCLK) .
Timing Chart of the I2C
Write Command
Read Data
Sequential Read Data
www.sensortek.com.tw
7
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
8.
8.1
PRINPICLE OF OPERATION
Mode of Operation
STK8BA58 acts as a slave and can communicate with a master (uC or uP). Acceleration data and status information
2
can be accessed with I C interface. The interrupt pin are freely configured by user, depends on different requirements.
8.2
Power Management
STK8BA58 has three different power modes, Normal Mode, Low-Power Mode and Suspend Mode. After power-on, it
will enter Normal Mode, and user can transfer to Low-Power Mode or Suspend Mode for power-saving purpose.
In Normal Mode, all functions are available and data acquisition is performed continuously.
In Suspend Mode, whole analog and oscillator are power-down. No data acquisition is performed. Only register
reading and writing to SUSPEND bit in register POWMODE (0x11) or register SWRST (0x14) are supported. Suspend
mode can be entered by set SUSPEND bit in register POWMODE (0x11) to 1. In the suspend mode, the output data
doesn’t clear or update, but keeps the last value before entering into suspend mode.
In Low-Power Mode, STK8BA58 will switch between wake-up and sleep phase. In wake-up phase, the device is full
functional operation, just like in Normal Mode, and in sleep phase, the analog circuit is power-down except oscillator.
During the wake-up phase, enabled interrupts are processed normally. If an interrupt is detected, device will stay in
wake-up phase as long as the interrupt condition endures (non-latched interrupt), or until the latch time expires
(temporary interrupt), or until the interrupt is reset (latched interrupt). If no interrupt is detected, the device enters the
sleep phase automatically. Average current consumption can be effectively reduced by entering low-power mode.
Low-power mode can be entered by setting LOWPOWER bit in register POWMODE (0x11) to 1.
The duration of sleep phase can be set by SLEEP_DUR [3:0] in register POWMODE (0x11).
www.sensortek.com.tw
8
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
SLEEP_DUR[3:0]
4’b0000 ~ 4’b0101
4’b0110
4’b0111
4’b1000
4’b1001
4’b1010
4’b1011
4’b1100
4’b1101
4’b1110
4’b1111
8.3
Duration (ms)
0.5
1
2
4
6
10
25
50
100
500
1000
Actually ODR with 1kHz bandwidth (Hz)
295
255
202
140
110
75
34
18
10
2
1
Data, Range and Bandwidth
Acceleration Data
The acceleration data of STK8BA58 is 12 bit and is given in two's complement format. The MSB in each axis will be
stored in register XOUT2/YOUT2/ZOUT2 (0x03, 0x05, 0x07) individually, and the LSB will be stored in register
XOUT1/YOUT1/ZOUT1 (0x02, 0x04, 0x06) individually. The NEW_X/NEW_Y/NEW_Z bit in register
XOUT1/YOUT1/ZOUT1 (0x02, 0x04, 0x06) is used for new data flag, and it will be set to 1 if the data is updated, and
reset if either the corresponding MSB or LSB is read. Reading the acceleration data registers shall always start with
the LSB part due to the data protection function. When data protection function is enabled, the content of an MSB
register will be updated by reading the corresponding LSB register. The data protection function can be disabled
(enabled) by writing '1' (‘0’) to the PROTECT_DIS bit in register DATASETUP (0x13). With disabled data protection,
the content of both MSB and LSB registers is updated by a new value immediately.
Range
The STK8BA58 supports four different acceleration measurement ranges. A measurement range can be selected by
RANGE[3:0] bits in register RANGESEL (0x0F).
RANGE[3:0]
4’b0011
4’b0101
4’b1000
others
Sensing Range
±2g
±4g
±8g
undefined
Resolution
0.98 mg/LSB
1.95 mg/LSB
3.91 mg/LSB
undefined
Bandwidth
There are two different data stream of STK8BA53, unfiltered data and filtered data. Unfiltered data is sampled as 2
kHz, and the sample rate of filtered data depends on the selected bandwidth; it is twice of the bandwidth. If the
DATA_SEL bit in register DATASETUP (0x13) is set to '0' ('1'), the filtered (unfiltered) data will be stored in the
XOUT/YOUT/ZOUT data register. Each of the data stream can be separately offset-compensated, and also can be the
data source of interrupts controller. The actual bandwidth for the filtered data can be selected by BW [4:0] bits in
register BWSEL (0x10).
BW[4:0]
5’b00xxx
5’b01000
5’b01001
5’b01010
5’b01011
5’b01100
5’b01101
5’b01110
5’b01111
5’b1xxxx
www.sensortek.com.tw
Actual Bandwidth (Hz)
7.81
7.81
15.63
31.25
62.5
125
250
500
1000
1000
9
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
8.4
Motion Algorithm Status and Interrupt Event Detection
The following table shows the interrupt events offered by STK8BA53. Two interrupt engines and one INT pins are
integrated for conveniently motion detection. Each interrupt could be enabled independently, and mapped into the INT
pin. If the condition of enabled interrupt is fulfilled, the corresponding status is set to ‘1’ and the INT pin is asserted.
The INT pin state is logical ‘or’ combination of all mapped interrupts. The INT pin state is logical ‘or’ combination of all
mapped interrupts. If an interrupt is disabled, all active pins and status are reset immediately.
Two motion algorithms, any-motion and significant motion, used for detecting user movement can flexibly choose
three independent axes as the data source via register INTEN1 (0x16), and the event signal is triggered by an “OR”
combination of the enabled axes.
Interrupt Event
New Data
Any-Motion (Slope)
Significant Motion
Control Bit
DATA_EN in INTEN2 (0x17)
SLP_EN_Z in INTEN1 (0x16)
SLP_EN_Y in INTEN1 (0x16)
SLP_EN_X in INTEN1 (0x16)
ANY_MOT_EN in SIGMOT2 (0x2A)
SIG_MOT_EN in SIGMOT2 (0x2A)
Status Bit in Register INTSTS1/2 (0x09, 0x0A)
DATA_STS
ANY_MOT_STS
SIG_MOT_STS
ANY_MOT_STS
SIG_MOT_STS
Note: Motion algorithm engine follows the logic shown below.
Interrupt Latch Mode
There are three different interrupt latch modes of Any-Motion (Slope) and Significant Motion: non-latched, temporary,
and latched. The modes can be selected by the INT_LATCH [3:0] bits in register INTCFG2 (0x21). The following table
shows the different configurations of interrupt modes in INT_LATCH [3:0].
Note: Interrupt latched mode INT_LATCH [3:0] in register INTCFG2 (0x21) can not be default setting after motion
algorithms enabled. Interrupt latched mode must be set in the initial configuration.
INT_LATCH[3:0]
4’b0000
4’b0001
4’b0010
4’b0011
4’b0100
4’b0101
4’b0110
4’b0111
4’b1000
4’b1001
4’b1010
4’b1011
4’b1100
4’b1101
4’b1110
4’b1111
www.sensortek.com.tw
Output Mode
non-latched
temporary, 250ms
temporary, 500ms
temporary, 1s
temporary, 2s
temporary, 4s
temporary, 8s
latched
non-latched
temporary, 250us
temporary, 500us
temporary, 1ms
temporary, 12.5ms
temporary, 25ms
temporary, 50ms
latched
10
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
In the non-latched mode, the corresponding status and mapped INT pin are clear as soon as the activation condition
is no more valid.
In the latched mode, the status and mapped INT pins are cleared only by setting ‘1’ to the INT_RST bit in register
INTCFG2 (0x21). If the activation condition still holds when it is cleared, the interrupt pin and status will be both
asserted again.
In the temporary mode, an asserted interrupt and selected pin are cleared after a defined period of time. The
following figure shows the behavior of three interrupt modes.
Both filtered and unfiltered data could be the data source of the interrupt events. Setting the corresponding bit in
register DATASETUP (0x13) to ‘0’(‘1’) will select the filtered(unfiltered) data as the data source for interrupt events.
Interrupt latch mode control bits only apply to Any-Motion (Slope) and Significant Motion. Other interrupt events are
fixed to their own latch mode, which are shown in the following table.
Interrupt Event
New data
Any-Motion (Slope)
Significant Motion
Type
Status
Programmable
Programmable
Latch mode
Non-latch
Programmable
Programmable
Clear
Auto clear after 250us
Based on configuration
Based on configuration
Interrupt Pin Mapping
The mapping of interrupts to the INT1 is controlled by registers INTMAP2 (0x1A). Setting the corresponding bit to
‘1’(‘0’) maps(un-maps) the related interrupt to the INT1 pin.
INT Pin Output Type and Active Level
INT1 could be configured as Push-Pull/Open-Drain output and the active level could also be set as active-high/activelow.
The related bits in register INTCFG1 (0x20) are used to select the INT1 output type and active level.
8.5
Offset Compensation
Manual Compensation
STK8BA58 offers the manual digital offset-compensation method. It is done by adding a compensation value to the
acceleration data coming from the ADC. The registers OFSTX/Y/Z (0x38, 0x39, 0x3A) are used to for the offset
compensation purpose and are given in two's complement format. 1 LSB of OFSTX/Y/Z represents 7.81mg in any
sensing range.
By writing '1' to the OFST_RST bit in register OFSTCOMP1 (0x36), all offset compensation registers are reset to zero.
It is recommended to write into these registers immediately after a new data interrupt in order not to disturb running
offset computations.
www.sensortek.com.tw
11
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
9.
9.1
REGISTER DEFINATION
Register Map
ADDR
REG NAME
00h
CHIP_ID
01h
RESERVED
02h
XOUT1
03h
XOUT2
04h
YOUT1
05h
YOUT2
06h
ZOUT1
07h
ZOUT2
08h
RESERVED
09h
INTSTS1
BIT
7
BWSEL
POWMODE
12h
RESERVED
13h
DATASETUP
SLPSIGN_X
1Bh-1Fh
RESERVED
20h
INTCFG1
21h
INTCFG2
22h-26h
RESERVED
27h
SLOPEDLY
28h
SLOPETHD
29h
SIGMOT1
2Ah
SIGMOT2
2Bh
SIGMOT3
2Ch-33h
RESERVED
34h
INTFCFG
35h
RESERVED
36h
OFSTCOMP1
www.sensortek.com.tw
SIG_MOT_STS
SLP_1ST_Z
SLP_1ST_Y
SLP_1ST_X
DATA_SEL
PROTECT_DIS
03h
1Fh
reserved
SLEEP_DUR[3:0]
00h
reserved
reserved
00h
00h
SLP_EN_Z
SLP_EN_Y
SLP_EN_X
reserved
00h
ANYMOT2INT1
reserved
reserved
SIGMOT2INT1
00h
reserved
INT1_OD
reserved
INT1_LV
00h
reserved
SLP_DUR[1:0]
96h
SKIP_TIME[7:0]
ANY_MOT_EN
SIG_MOT_EN
SKIP_TIME[8]
00h
I2C_WDT_EN
reserved
reserved
12
02h
32h
PROOF_TIME[6:0]
reserved
reserved
00h
14h
SLP_THD[7:0]
reserved
01h
00h
INT_LATCH[3:0]
reserved
OFST_RST
00h
DATA2INT1
reserved
reserved
00h
00h
reserved
DATA_EN
reserved
INT_RST
00h
00h
reserved
reserved
00h
00h
BW[4:0]
reserved
00h
00h
reserved
INTEN1
INTMAP2
reserved
RANGE[3:0]
16h
INTMAP1
ANY_MOT_STS
reserved
LOWPOWER
00h
00h
reserved
reserved
19h
NEW_Z
00h
reserved
SUSPEND
00h
00h
reserved
SLPSIGN_Y
SWRST[7:0]
1Ah
NEW_Y
reserved
SWRST
INTEN2
reserved
00h
00h
reserved
RESERVED
RESERVED
NEW_X
reserved
15h
18h
reserved
ZOUT[11:4]
SLPSIGN_Z
Default
00h
ZOUT[3:0]
14h
17h
0
YOUT[11:4]
reserved
11h
1
87h
YOUT[3:0]
DATA_STS
10h
2
XOUT[11:4]
INTSTS2
RESERVED
3
reserved
EVENTINFO1
RANGESEL
4
XOUT[3:0]
0Bh
0Fh
5
CHIP_ID[7:0]
0Ah
0Ch-0Eh
6
I2C_WDT_SEL
reserved
00h
00h
00h
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
37h
RESERVED
reserved
00h
38h
OFSTX
OFST_X[7:0]
00h
39h
OFSTY
OFST_Y[7:0]
00h
3Ah
OFSTZ
OFST_Z[7:0]
00h
9.2
Register Description
CHIP_ID Register (00h)
b7
b6
b5
b4
b3
b2
b1
b0
b3
b2
reserved
3’b000
RO
b1
b0
NEW_X
0
RO
CHIP_ID[7:0]
8’b10000111
RO
The register contains the chip identification code.
XOUT1 Register (02h)
b7
b6
b5
b4
XOUT[3:0]
4’b0000
RO
XOUT1/XOUT2 register contain the x-axis acceleration data and the new data flag for the x-axis.
XOUT2 Register (03h)
b7
b6
b5
b4
b3
b2
b1
b0
b3
b2
reserved
3’b000
RO
b1
b0
NEW_Y
0
RO
XOUT[11:4]
8’b00000000
RO
YOUT1 Register (04h)
b7
b6
b5
b4
YOUT[3:0]
4’b0000
RO
YOUT1/YOUT2 register contain the y-axis acceleration data and the new data flag for the y-axis.
YOUT2 Register (05h)
b7
b6
b5
b4
b3
b2
b1
b0
b3
b2
reserved
3’b000
RO
b1
b0
NEW_Z
0
RO
b1
b0
YOUT[11:4]
8’b00000000
RO
ZOUT1 Register (06h)
b7
b6
b5
b4
ZOUT[3:0]
4’b0000
RO
ZOUT1/ZOUT2 register contain the z-axis acceleration data and the new data flag for the z-axis.
ZOUT2 Register (07h)
b7
b6
b5
b4
b3
b2
ZOUT[11:4]
8’b00000000
RO
www.sensortek.com.tw
13
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
INTSTS1 Register (09h)
b7
b6
b5
reserved
5’b00000
RO
b4
b3
b2
ANY_MOT_STS
0
RO
b1
reserved
0
RO
b0
SIG_MOT_STS
0
RO
This register contains the interrupts status in STK8BA53.
BIT
0
2
BIT NAME
SIG_MOT_STS
ANY_MOT_STS
Description
Significant motion interrupt status. ‘1’ : event triggered, ‘0’ : no event.
Any-motion (slope) detection interrupt status. ‘1’ : event triggered, ‘0’ : no event.
INTSTS2 Register (0Ah)
b7
DATA_STS
0
RO
b6
b5
b4
b3
reserved
7’b0000000
RO
b2
b1
b0
b1
SLP_1ST_Y
0
RO
b0
SLP_1ST_X
0
RO
This register contains the new data interrupt status in STK8BA53.
BIT
7
BIT NAME
DATA_STS
Description
New data interrupt status. ‘1’ : event triggered, ‘0’ : no event.
EVENTINFO1 Register (0Bh)
b7
reserved
0
RO
b6
SLPSIGN_Z
0
RO
b5
SLPSIGN_Y
0
RO
b4
SLPSIGN_X
0
RO
b3
reserved
0
RO
b2
SLP_1ST_Z
0
RO
This register contains any-motion (slope) detection information.
BIT
0
1
2
BIT NAME
SLP_1ST_X
SLP_1ST_Y
SLP_1ST_Z
4
SLPSIGN_X
5
SLPSIGN_Y
6
SLPSIGN_Z
Description
1 : Motion on the X-axis cause SLOPE interrupt asserted.
1 : Motion on the Y-axis cause SLOPE interrupt asserted.
1 : Motion on the Z-axis cause SLOPE interrupt asserted.
Sign of acceleration slope on the X-axis that triggered the SLOPE interrupt.
0 : positive. 1 : negative.
Sign of acceleration slope on the Y-axis that triggered the SLOPE interrupt.
0 : positive. 1 : negative.
Sign of acceleration slope on the Z-axis that triggered the SLOPE interrupt.
0 : positive. 1 : negative.
RANGESEL Register (0Fh)
b7
b6
b5
b4
b3
reserved
4’b0000
RO
b2
b1
b0
RANGE[3:0]
4’b0011
R/W
This register contains the acceleration sensing range.
RANGE[3:0]
4’b0011
4’b0101
4’b1000
others
www.sensortek.com.tw
Sensing Range
±2g
±4g
±8g
undefined
14
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
BWSEL Register (10h)
b7
b6
reserved
3’b000
RO
b5
b4
b3
b2
BW[4:0]
5’b11111
R/W
b1
b0
b1
b0
reserved
0
RO
b1
b0
This register contains the output data bandwidth selection.
BW[4:0]
5’b00xxx
5’b01000
5’b01001
5’b01010
5’b01011
5’b01100
5’b01101
5’b01110
5’b01111
5’b1xxxx
Actual Bandwidth (Hz)
7.81
7.81
15.63
31.25
62.5
125
250
500
1000
1000
POWMODE Register (11h)
b7
SUSPEND
0
R/W
b6
LOWPOWER
0
R/W
b5
reserved
0
RO
b4
b3
b2
SLEEP_DUR[3:0]
4’b0000
R/W
This register contains the power mode selection and the sleep time duration setting.
BIT
BIT NAME
[4:1]
SLEEP_DUR[3:0]
6
LOWPOWER
7
SUSPEND
Description
Sleep time duration.
SLEEP_DUR[3:0]
4’b0000 ~ 4’b0101
4’b0110
4’b0111
4’b1000
4’b1001
4’b1010
4’b1011
4’b1100
4’b1101
4’b1110
4’b1111
Duration (ms)
0.5
1
2
4
6
10
25
50
100
500
1000
0 : low-power mode disable.
1 : low-power mode enable.
0 : suspend mode disable.
1 : suspend mode enable.
DATASETUP Register (13h)
b7
DATA_SEL
0
R/W
b6
PROTECT_DIS
0
R/W
b5
b4
b3
b2
reserved
6’b000000
RO
This register is used to select if the output data is filtered or unfiltered and how the output data contained in the
register XOUT1/XOUT2, YOUT1/YOUT2, ZOUT1/ZOUT2 are updated.
www.sensortek.com.tw
15
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
BIT
BIT NAME
6
PROTECT_DIS
7
DATA_SEL
Description
0 : Enable the data protection function.
1 : Disable the data protection function.
0 : Data output filtered.
1 : Data output unfiltered.
SWRST Register (14h)
b7
b6
b5
b4
b3
b2
b1
b0
SWRST[7:0]
8’b00000000
W
This register is used to software reset. Write 0xB6 into SWRST to reset all the registers to default value.
INTEN1 Register (16h)
b7
b6
b5
reserved
5’b00000
RO
b4
b3
b2
SLP_EN_Z
0
R/W
b1
SLP_EN_Y
0
R/W
b0
SLP_EN_X
0
R/W
b1
b0
b1
reserved
0
RO
b0
SIGMOT2INT1
0
R/W
This register contains the several interrupt enable bit.
BIT
BIT NAME
0
SLP_EN_X
1
SLP_EN_Y
2
SLP_EN_Z
Description
0 : Disable X-axis any-motion (slope) interrupt.
1 : Enable X-axis any-motion (slope) interrupt.
0 : Disable Y-axis any-motion (slope) interrupt.
1 : Enable Y-axis any-motion (slope) interrupt.
0 : Disable Z-axis any-motion (slope) interrupt.
1 : Enable Z-axis any-motion (slope) interrupt.
INTEN2 Register (17h)
b7
b6
Reserved
3’b000
RO
b5
b4
DATA_EN
0
R/W
b3
b2
reserved
4’b0000
RO
This register contains the several interrupt enable bit.
BIT
BIT NAME
4
DATA_EN
Description
0 : Disable new data interrupt.
1 : Enable new data interrupt.
INTMAP1 Register (19h)
b7
b6
b5
Reserved
5’b00000
RO
b4
b3
b2
ANYMOT2INT1
0
R/W
This register is used to map the related interrupt to the desired INT pin.
BIT
BIT NAME
0
SIGMOT2INT1
2
ANYMOT2INT1
www.sensortek.com.tw
Description
0 : Do not map significant motion interrupt to INT1.
1 : Map significant motion interrupt to INT1.
0 : Do not map any-motion (slope) interrupt to INT1.
1 : Map any-motion (slope) interrupt to INT1.
16
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
INTMAP2 Register (1Ah)
b7
b6
b5
b4
reserved
7’b0000000
RO
b3
b2
b1
b0
DATA2INT1
0
R/W
b2
b1
INT1_OD
0
R/W
b0
INT1_LV
1
R/W
This register is used to map the related interrupt to the desired INT pin.
BIT
BIT NAME
0
DATA2INT1
Description
0 : Do not map new data interrupt to INT1.
1 : Map new data interrupt to INT1.
INTCFG1 Register (20h)
b7
b6
b5
b4
b3
reserved
6’b000000
RO
This register is used to define the INT1 pin output type and active level. Open-drain or Push-pull output type and active
high or active low can be selected.
BIT
BIT NAME
0
INT1_LV
1
INT1_OD
Description
INT1 active level selection.
0 : Active low.
1 : Active high.
INT1 output type selection.
0 : Push-pull output type.
1 : Open-drain output type.
INTCFG2 Register (21h)
b7
INT_RST
0
R/W
b6
b5
reserved
3’b000
RO
b4
b3
b2
b1
INT_LATCH[3:0]
4’b0000
R/W
b0
This register is used to reset latched interrupt pin and select the interrupt mode.
BIT
BIT NAME
[3:0]
INT_LATCH[3:0]
7
INT_RST
www.sensortek.com.tw
Description
INT pin output mode selection.
INT_LATCH[3:0]
Output Mode
4’b0000
non-latched
4’b0001
temporary, 250ms
4’b0010
temporary, 500ms
4’b0011
temporary, 1s
4’b0100
temporary, 2s
4’b0101
temporary, 4s
4’b0110
temporary, 8s
4’b0111
latched
4’b1000
non-latched
4’b1001
temporary, 250us
4’b1010
temporary, 500us
4’b1011
temporary, 1ms
4’b1100
temporary, 12.5ms
4’b1101
temporary, 25ms
4’b1110
temporary, 50ms
4’b1111
latched
1 : Reset any latched interrupt pin.
17
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
SLOPEDLY Register (27h)
b7
b6
b5
b4
b3
b2
reserved
6’b000000
RO
b1
b0
SLP_DUR[1:0]
2’b00
R/W
This register is used to set the number of samples needed in slope detection. The actual number of samples will be
equal to SLP_DUR[1:0] + 1.
SLOPETHD Register (28h)
b7
b6
b5
b4
b3
SLP_THD[7:0]
8’b00010100
R/W
b2
b1
b0
This register is used to set the threshold value for the slope detection. The actual slope threshold will depend on
sensing range. The default value of SLP_THD[7:0] is 0x14.
RANGE[3:0]
4’b0011
4’b0101
4’b1000
Sensing Range
±2g
±4g
±8g
Actual Slope Threshold (mg)
SLP_THD[7:0] * 3.91
SLP_THD[7:0] * 7.81
SLP_THD[7:0] * 15.63
SIGMOT1 Register (29h)
b7
b6
b5
b4
b3
SKIP_TIME[7:0]
8’b10010110
R/W
b2
b1
b0
This register is used to set the skip time for the significant motion. Holding the duration for skip, for which the motion is
checked for re-detection. 1 LSB=20 ms. Range is 0 to 10sec. The default value of SKIP_TIME[8:0] is 0x96 correspond
to 3 seconds.
SIGMOT2 Register (2Ah)
b7
b6
b5
reserved
5’b00000
RO
b4
b3
b2
b1
ANY_MOT_EN SIG_MOT_EN
0
1
R/W
R/W
b0
SKIP_TIME[8]
0
R/W
This register contains MSB of SKIP_TIME[8:0] for the significant motion, and significant motion interrupt enable bit.
BIT
BIT NAME
1
SIG_MOT_EN
2
ANY_MOT_EN
Description
0 : Disable significant motion.
1 : Enable significant motion.
0 : Disable any-motion.
1 : Enable any-motion.
SIGMOT3 Register (2Bh)
b7
reserved
0
RO
b6
b5
b4
b3
PROOF_TIME[7:0]
7’b0110010
R/W
b2
b1
b0
This register is used to set the proof time for the significant motion. Holding the duration for proof, for which the motion
is re-checked after. 1 LSB=20 ms. Range is 0 to 2.5sec. The default value of PROOF_TIME[8:0] is 0x32 correspond to
1 seconds.
www.sensortek.com.tw
18
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
INTFCFG Register (34h)
b7
b6
b5
reserved
5’b00000
RO
b4
b3
b2
b1
I2C_WDT_EN I2C_WDT_SEL
0
0
R/W
R/W
b0
reserved
0
RO
2
This register contains the digital interface parameters for the I C interface.
BIT
BIT NAME
Description
2
1
I2C_WDT_SEL
2
I2C_WDT_EN
I C watchdog timer period selection.
0 : Watchdog timer period 1ms.
1 : Watchdog timer period 50ms.
2
I C watchdog timer enable bit.
0 : Disable I2C watchdog timer.
1 : Enable I2C watchdog timer.
OFSTCOMP1 Register (36h)
b7
OFST_RST
0
W
b6
b5
b4
b3
reserved
2’b0000000
R
b2
b1
b0
This register is used to define the setting for the offset compensation.
BIT
7
BIT NAME
OFST_RST
Description
1 : Reset all the offset compensation register (register 0x38 ~ 0x3A) to zero.
OFSTX Register (38h)
B7
b6
b5
b4
b3
b2
b1
b0
b2
b1
b0
b2
b1
b0
OFST_X[7:0]
8’b00000000
R/W
This register contains the offset compensation value for the x-axis data output.
OFSTY Register (39h)
B7
b6
b5
b4
b3
OFST_Y[7:0]
8’b00000000
R/W
This register contains the offset compensation value for the y-axis data output.
OFSTZ Register (3Ah)
b7
b6
b5
b4
b3
OFST_Z[7:0]
8’b00000000
R/W
This register contains the offset compensation value for the z-axis data output.
Register 0x38 to 0x3A can be modified manually set by user. The value in these register will be added to the actual
acceleration data sensing by STK8BA58 and store the new value to XOUT/YOUT/ZOUT register.
www.sensortek.com.tw
19
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
10. APPLICATION INFORMATION
10.1 New Data Interrupt
This interrupt serves for synchronous reading of acceleration data. It is generated after storing a new value of z-axis
acceleration data in the data register. The interrupt is cleared automatically when the next cycle of data acquisition
starts. The interrupt status is ’0’ for at least 50μs. The interrupt mode of the new data interrupt is fixed to non-latched
for at least 250 us.
Control Register
INTEN2[4]
INTSTS[7]
INTMAP2
DATASETUP[5]
Bit Name
DATA_EN
DATA_STS
DATA2INT1
DATA_SEL
Function
‘1’: enabled, ‘0’: disabled, and the interrupt mode is fixed to non-latched.
The interrupt status.
New data interrupt maps to INT1.
‘1’: unfiltered data, ‘0’: filtered data, as the input of the new data interrupt.
10.2 Any-motion (Slope) Detection
Any-motion (slope) detection is to detect the change of motion. By monitoring the slop of acceleration, user can
estimate the variation of acceleration. STK8BA58 use the slop between successive acceleration data to detect it, and
would active the interrupt when the slop exceeds a preset threshold. Moreover, a duration setting has to be configured
to suppress failure signals. The following figure shows the relationship between acceleration data, acceleration slop,
and INT status. If a certain number N of consecutive slope data points is larger (smaller) than the slope threshold, the
INT would be trigger (clear).
One LSB of SLP_THD [7:0] represents 1 LSB of acceleration data, and it depends on which sensing range is set. For
Example, 3.91mg in 2g-range, 7.81 mg in 4g-range, 15.6 mg in 8g-range and 31.3 mg in 16g-range. The consecutive
slope data points are set by SLP_DUR [1:0], and is equal to (SLP_DUR [1:0] + 1). The time difference between the
successive acceleration signals depends on the selected bandwidth and equates to 1/(2*bandwidth).
Any-motion (slope) detection can be enabled by writing ‘1’ to ANY_MOT_EN bit in the register SIGMOT2 (0x2A).
Furthermore, user must select which axes are enabled independently by writing ‘1’ to the bit SLP_EN_X, SLP_EN_Y,
and SLP_EN_Z in the register INTEN1 (0x16).
If slope of any axis fulfills the specified condition, INT pin would be triggered, interrupt status would be updated to
ANY_MOT_STS, and the sign of slop would be shown in SLPSIGN_X, SLPSIGN_Y, SLPSIGN_Z. Moreover,
SLP_1ST_X, SLP_1ST_Y, and SLP_1ST_Z would indicate which axis is the first axis triggering the interrupt of slop
detection.
Control Register
INTEN1 [0]
INTEN1 [1]
INTEN1 [2]
SIGMOT2[2]
SLOPETHD [7:0]
SLOPEDLY [1:0]
INTMAP1
INTSTS1 [2]
DATASETUP [7]
EVENTINFO1 [0]
EVENTINFO1 [1]
EVENTINFO1 [2]
EVENTINFO1 [4]
EVENTINFO1 [5]
EVENTINFO1 [6]
www.sensortek.com.tw
Bit Name
SLP_EN_X
SLP_EN_Y
SLP_EN_Z
ANY_MOT_EN
SLP_THD
SLP_DUR
ANTMOT2INT1
ANT_MOT _STS
DATA_SEL
SLP_1ST_X
SLP_1ST_Y
SLP_1ST_Z
SLPSIGN_X
SLPSIGN_Y
SLPSIGN_Z
Function
Slope detection enable for X-axis, ‘1’: enabled, ‘0’: disabled
for Y-axis, ‘1’: enabled, ‘0’: disabled
for Z-axis, ‘1’: enabled, ‘0’: disabled
Any-motion enable bit. 0: Disabled. 1: Enabled.
Slope threshold, 1LSB=1LSB of XOUT/YOUT/ZOUT
Slope duration, 1LSB=1/(2*bandwidth)
Slope detection interrupt maps to INT1
Slope detection status which is synchronized with INT1 activity
‘1’: unfiltered data, ‘0’: filtered data, as the input of the slop detection
‘1’: triggered axis, ‘0’: not triggered
Sign of slope when interrupt is triggered, ‘0’: Positive, ‘1’: Negative
20
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
Note1: In order to ensure motion algorithm working normally, interrupt latched mode must be set before motion
algorithms enabled.
Note2: It’s not recommended that motion algorithm working in the low-power mode and set BW less than 1k Hz
simultaneously.
10.3 Significant Motion
The significant motion is defined as some activities that might lead to a change in a user's location. Examples of
significant motions are walking or biking, sitting in a moving car, coach or train, etc. Examples of situations that should
not trigger significant motion include phone in pocket and person is not moving, phone is on a table and the table
shakes a bit due to nearby traffic or washing machine. For more information, please refer to Android Sensor types:
https://source.android.com/devices/sensors/sensor-types.html#significant_motion.
Significant motion function would be triggered by means of monitoring the slope of acceleration over a period of time.
The algorithm will be started when a motion is detected, and generates a signal if another motion is detected after the
SKIP_TIME[8:0] (0x29-0x2A) and within the PROOF_TIME[7:0] (0x2B). Both 1 LSB of skip time and proof time
correspond to 20ms.
The significant motion and slope detection share event-triggered settings including independent XYZ-axes slope
enable bit INTEN1 [2:0] (0x16), threshold SLOPETHD [7:0] (0x28), duration SLOPEDLY [1:0] (0x27). User should be
noticed that the slope detection has to be enabled before enabling significant motion due to a sharing algorithm engine.
Then enable significant motion by writing ‘1’ to SIG_MOT_EN bit in register SIGMOT2 (0x2A).
www.sensortek.com.tw
21
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
Follow the steps below to enable significant motion:
Step1. (MUST) Set interrupt configurations INTCFG1 (0x20) and INTCFG2 (0x21).
Step2. Set configuration settings include SKIP_TIME[8:0] (0x29-0x2A), PROOF_TIME[7:0] (0x2B),
SLOPEDLY[1:0] (0x27) and SLOPETHD[7:0] (0x28).
Step3. Set XYZ-axes slope detection enabled by INTEN1[2:0] (0x16).
Step4. Set significant motion enabled by SIGMOT2[1] (0x2A).
Step5. Mapping significant motion to physical interrupt pin by INTMAP1[0] (0x19).
Step6. Wait for INT triggered or monitor SIG_MOT_STS bit in INTSTS1[0] (0x09)
Significant Motion algorithm flow chart
10.4 Application Circuit
I2C Interface
Note: A 22 ohm resistor is recommended to filter out the system power noise.
www.sensortek.com.tw
22
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
10.5 Sensing Axes Orientation
By measuring the acceleration components respect to g field, the position and orientation information could be
recognized. It could be used for such applications as Portrait/Landscape in Mobile phone/PDA/PMP. This enables a
product to set its display orientation appropriately to either portrait/landscape mode, or to turn off the display if the
product is placed upside down. The sensor provides positive or negative directions of X/Y/Z axes. The relationship
between directions and six different positions: Left, Right, Up, Down, Back, and Front, is shown in the following figure.
If the sensor is at rest and the force of gravity is acting along the indicated directions, the output of the corresponding
channel will be negative (static acceleration).
Example: If the sensor is at rest or at uniform motion in a gravity field according to the figure given below, the output
signals are:
± 0g for the X-axis
± 0g for the Y-axis
+ 1g for the Z-axis
Gravity Vector
Front (+Z)
Up (+X)
Right (+Y)
Left (-Y)
Down (-X)
Back (-Z)
Sensing axes orientation
The following table lists all corresponding output signals on X, Y, and Z while the sensor is at rest or at uniform motion
in a gravity field under assumption of a ±2g range setting, a 12 bit resolution, and a top down gravity vector as shown
above.
Sensor Orientation
&
X-axis Output
Y-axis Output
Z-axis Output
www.sensortek.com.tw
Top View
Top View
Top View
Top View
+1g/1024LSB
0g / 0 LSB
0g / 0 LSB
0g / 0 LSB
+1g/1024LSB
0g / 0 LSB
-1g/1024LSB
0g / 0 LSB
0g / 0 LSB
0g / 0 LSB
-1g/1024LSB
0g / 0 LSB
23
Side View
Side View
0g / 0 LSB
0g / 0 LSB
+1g/1024LSB
0g / 0 LSB
0g / 0 LSB
-1g/1024LSB
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
11. PACKAGE OUTLINE
11.1 Package Outline Drawing
SYMBOLS
A
A1
A2
D
D1
D2
D3
D4
D5
E
E1
E2
E3
E4
E5
e
y
www.sensortek.com.tw
DIMENSIONS IN MILLIMETERS
MIN.
NOM.
MAX
0.95
1.00
1.05
0.16
0.19
0.22
0.80 REF.
1.95
2.00
2.05
1.51 REF.
0.24
0.29
0.34
0.23
0.28
0.33
0.325
0.375
0.425
0.10 REF.
1.95
2.00
2.05
1.50 REF.
0.23
0.28
0.33
0.24
0.29
0.34
0.10 REF.
0.11 REF.
0.50 REF.
0.00
--0.10
24
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
11.2 Recommended PCB Layout
The PCB layout should use NSMD (Non Solder mask Defined) pad definitions for all pads. The solder mask opening
must be defined at least 0.05 mm larger than the metal pad on all sides.
11.3 Marking Rule
Marking
YYYY
XXXX
●
www.sensortek.com.tw
Symbol
Name
YYYY
Order number
XXXX
Product serial number
●
Pin1 dot
25
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
11.4 Tape and Reel Information
1. Carrier Tape Specification
2. Reel Specification
3. Unit Orientation
www.sensortek.com.tw
26
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
11.5 Soldering Condition
1. Pb-free solder temperature profile
Max. temperature
265+0/-5°C/10sec.
255°C
200°C
Ramp-down rate
6°C/sec. max.
Ramp-up rate
3°C/sec. max.
217°C
Ramp-up rate
3°C/sec. max.
Soldering Zone
60~150 sec.
150°C
Pre-heating Time
60~180 sec.
2. Reflow soldering should not be done more than three times.
3. When soldering, do not put stress on the ICs during heating.
4. After soldering, do not warp the circuit board.
11.6 Soldering Iron
Each terminal is to go to the tip of soldering iron temperature less than 350℃ for 3 seconds within once in less than
the soldering iron capacity 25W. Leave two seconds and more intervals, and do soldering of each terminal. Be careful
because the damage of the product is often started at the time of the hand solder.
11.7 Repairing
Repair should not be done after the ICs have been soldered. When repairing is unavoidable, a double-head soldering
iron should be used (as below figure). It should be confirmed beforehand whether the characteristics of the ICs will or
will not be damaged by repairing.
www.sensortek.com.tw
27
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
12. STORAGE INFORMATION
12.1 Storage Condition
1. Devices are packed in moisture barrier bags (MBB) to prevent the products from moisture absorption during
transportation and storage. Each bag contains a desiccant.
2. The delivery product should be stored with the conditions shown below:
Storage Temperature
Relatively Humidity
10 to 30℃
below 60%RH
12.2 Treatment After Unsealed
1. Floor life (time between soldering and removing from MBB) must not exceed the time shown below:
Floor Life
Storage Temperature
Relatively Humidity
168 Hours
10 to 30℃
below 60%RH
2. When the floor life limits have been exceeded or the devices are not stored in dry conditions, they must be rebaked before reflow to prevent damage to the devices. The recommended conditions are shown below
Temperature
Re-Baking Time
www.sensortek.com.tw
60℃
12 Hours
28
@copyright 2019 Sensortek Technology Corp.
STK8BA58 REV 1.0
Revision History
Date
2019/11/26
Version
1.0
Modified Items
Initial release.
Important Notice
This document contains information that is proprietary to Sensortek Technology Corp. (“sensortek”), and is
subject to change without notice. Any part of this document may not be used, reproduced, duplicated or disclosed in
any form or any means without the prior written permission of sensortek.
Sensortek does not warrant or represent that any license, either express or implied, is granted under any sensortek‘s
patent right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or
process in which sensortek‘s products or services are used. In addition, Sensortek does not assume any liability for
the occurrence of infringing on any patent or other intellectual property rights of a third party.
Sensortek reserves the right to make corrections, modifications, enhancements, improvements, and other changes
to its products and services at any time and to discontinue any product or service without notice. Customers should
obtain the latest relevant information before placing orders and should verify that such information is current and
complete.
www.sensortek.com.tw
29
@copyright 2019 Sensortek Technology Corp.