This is an old revision of the document!
The ADIS16227 iSensor® is a complete vibration sensing system that combines wide bandwidth, triaxial acceleration sensing with advanced time domain and frequency domain signal processing. Time domain signal processing includes a programmable decimation filter and selectable windowing function. Frequency domain processing includes a 512 point, real-valued FFT for each axis, along with FFT averaging, which reduces the noise floor variation for finer resolution. The 16-record FFT storage system offers users the ability to track changes over time and to capture FFTs with multiple decimation filter settings.
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 ADIS16227 driver can be used exactly as it is provided. There are three functions which are called by the ADIS16227 driver:
Driver architecture
The implementation of these three functions depends on the used microcontroller.
The following functions are implemented in this version of ADIS16227 driver:
Function | Description |
---|---|
unsigned short ADIS16227_GetRegister16Value(unsigned char registerAddress) | Reads the value of a register. |
void ADIS16227_SetRegister8Value(unsigned char registerAddress, unsigned char registerValue) | Writes 1 byte into a register. |
void ADIS16227_SetRegister16Value(unsigned char registerAddress, unsigned short registerValue) | Writes 2 bytes into a register. |
unsigned char ADIS16227_Init(void) | Initializes the SPI and checks if the ADIS16227 part is present. |
void ADIS16227_ConfigCapture(unsigned char window, unsigned char sampleRate, unsigned char pwrDwn, unsigned char range, unsigned char mode) | Configures the ADIS16227_REC_CTRL register. |
unsigned char ADIS16227_DataReady(void) | Reads the value of the “Data ready/busy” bit (DIAG_STAT register). |
void ADIS16227_Capture(void) | Initiates a manual data capture and wait until the process is finished. |
void ADIS16227_GetBuffers(unsigned short* x, unsigned short* y, unsigned short* z, unsigned short samplesNumber) | Reads “samplesNumber” samples from each axis's buffer. |
unsigned short ADIS16227_GetPowerSupplyInfo(void) | Reads the power supply voltage and returns the data in mV. |
char ADIS16227_GetTemperatureInfo(void) | Reads the internal temperature and returns the data in degrees Celsius. |
This section contains a description of the steps required to run the ADF4118 demonstration project on a Renesas RL78G13 platform.
An ADIS16227/PCBZ board has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:
ADIS16227/PCBZ J1 connector Pin 3 (CS) → YRDKRL78G13 PMOD1 connector Pin 1 ADIS16227/PCBZ J1 connector Pin 6 (MOSI) → YRDKRL78G13 PMOD1 connector Pin 2 ADIS16227/PCBZ J1 connector Pin 4 (MISO) → YRDKRL78G13 PMOD1 connector Pin 3 ADIS16227/PCBZ J1 connector Pin 2 (SCLK) → YRDKRL78G13 PMOD1 connector Pin 4 ADIS16227/PCBZ J1 connector Pin 1 (RST) → YRDKRL78G13 PMOD1 connector Pin 8 ADIS16227/PCBZ J1 connector Pin 7 (GND) → YRDKRL78G13 PMOD1 connector Pin 11 ADIS16227/PCBZ J1 connector Pin 10 (VCC) → YRDKRL78G13 PMOD1 connector Pin 12
The reference project runs an offset correction operation, configures the REC_CTRL register and initiates a Manual Time recording. After the process is finished on the LCD are displayed the internal temperature, the power supply voltage and the first value of each axis's buffer.