This is an old revision of the document!
The ADXL362 is an ultralow power, 3-axis MEMS accelerometer that consumes less than 2 μA at a 100 Hz output data rate and 270 nA when in motion triggered wake-up mode. The ADXL362 always provides 12-bit output resolution; 8-bit formatted data is also provided for more efficient single-byte transfers when a lower resolution is sufficient. Measurement ranges of ±2 g, ±4 g, and ±8 g are available, with a resolution of 1 mg/LSB on the ±2 g range. For applications where a noise level lower than the normal 550 μg/√Hz of the ADXL362 is desired, either of two lower noise modes (down to 175 μg/√Hz typical) can be selected at minimal increase in supply current. In addition to its ultralow power consumption, the ADXL362 has many features to enable true system level power reduction. It includes a deep multimode output FIFO, a built-in micropower temperature sensor, and several activity detection modes including adjustable threshold sleep and wake-up operation that can run as low as 270 nA at a 6 Hz (approximate) measurement rate. A pin output is provided to directly control an external switch when activity is detected, if desired. In addition, the ADXL362 has provisions for external control of sampling time and/or an external clock.
The goal of this project (Microcontroller No-OS) is to be able to provide reference projects for lower end processors, which can't run Linux, or aren't running a specific operating system, to help those customers using microcontrollers with ADI parts. Here you can find a generic driver which can be used as a base for any microcontroller platform and also specific drivers for Renesas platforms.
HW Platform(s):
The driver contains two parts:
The Communication Driver has a standard interface, so the ADXL362 driver can be used exactly as it is provided.
There are three functions which are called by the ADXL362 driver:
SPI driver architecture
The following functions are implemented in this version of ADXL362 driver:
Function | Description |
---|---|
unsigned char ADXL362_Init(void) | Initializes the device. |
void ADXL362_SetRegisterValue(unsigned short registerValue, unsigned char registerAddress, unsigned char bytesNumber) | Writes data into a register. |
void ADXL362_GetRegisterValue(unsigned char *pReadData, unsigned char registerAddress, unsigned char bytesNumber) | Performs a burst read of a specified number of registers. |
void ADXL362_GetFifoValue(unsigned char *pBuffer, unsigned short bytesNumber) | Reads multiple bytes from the device's FIFO buffer. |
void ADXL362_SoftwareReset(void) | Resets the device via SPI communication bus. |
void ADXL362_SetPowerMode(unsigned char pwrMode) | Places the device into standby/measure mode. |
void ADXL362_SetRange(unsigned char gRange) | Selects the measurement range. |
void ADXL362_SetOutputRate(unsigned char outRate) | Selects the Output Data Rate of the device. |
void ADXL362_GetXyz(short *x, short *y, short *z) | Reads the 3-axis raw data from the accelerometer. |
float ADXL362_ReadTemperature(void) | Reads the temperature of the device. |
void ADXL362_FifoSetup(unsigned char mode, unsigned short waterMarkLvl, unsigned char enTempRead) | Configures the FIFO feature. |
void ADXL362_SetupActivityDetection(unsigned char refOrAbs, unsigned short threshold, unsigned char time) | Configures activity detection. |
void ADXL362_SetupInactivityDetection(unsigned char refOrAbs, unsigned short threshold, unsigned short time) | Configures inactivity detection. |
This section contains a description of the steps required to run the ADXL362 demonstration project on a Renesas RL78G13 platform using the PmodACL2.
The reference project continuously displays on the LCD the accelerations on x-axis, y-axis and x-axis and simultaneously detects any activity or inactivity detected by the device.
This section presents the steps for developing a software application that will run on the Renesas Demo Kit for RL78G13 for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the ADXL362 demonstration project on a Renesas RX63N platform.
The reference project continuously displays on the LCD the accelerations on x-axis, y-axis and x-axis and simultaneously detects any activity or inactivity detected by the device.
This section presents the steps for developing a software application that will run on the Renesas Demo Kit for RX63N for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the ADXL362 demonstration project on a Digilent Cerebot MC7 platform.
Following commands were implemented in this version of ADXL362 reference project for Cerebot MC7 board.
Command | Description |
---|---|
help? | Displays all available commands. |
id? | Device details. |
measure= | Start/stop the measure process of the device. Accepted values: 0 - 1. |
temp? | Read the temperature. |
reset= | Reset the device. |
acceleration? | Displays the accelerations on XYZ axis. |
activity? | Displays the activity status of the device. It runs for 5 motion detections. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of dsPIC33FJ128MC706A.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MC7 development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the ADXL362 demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of ADXL362 reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
id? | Device details. |
measure= | Start/stop the measure process of the device. Accepted values: 0 - 1. |
temp? | Read the temperature. |
reset= | Reset the device. |
acceleration? | Displays the accelerations on XYZ axis. |
activity? | Displays the activity status of the device. It runs for 5 motion detections. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of PIC32MX320F128H.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the ADXL362 Arduino demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of ADXL362 Arduino reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
id? | Device details. |
measure= | Start/stop the measure process of the device. Accepted values: 0 - 1. |
temp? | Read the temperature. |
reset= | Reset the device. |
acceleration? | Displays the accelerations on XYZ axis. |
activity? | Displays the activity status of the device. It runs for 5 motion detections. |
Commands can be executed using the serial monitor.
Carriage return has to be selected as a line ending character. The required baud rate is 9600 baud.
The following image shows a list of commands in the serial monitor.
This section presents the steps for developing a chipKIT application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.