====== Pmod ACL2 Reference Manual ====== The Digilent PmodACL2 (Revision A) is a 3-axis MEMS accelerometer that used the [[http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL362.pdf | ADXL362]] to provide up to 12 bits of resolution for each axis of acceleration. Additionally, this module offers a variety of feedback from multiple interrupt sources as well as power saving features through its inactivity monitoring. {{Digilent Image Gallery | image = {{:reference:pmod:pmodacl2:pmodacl2-0.png?direct |}} | image = {{:reference:pmod:pmodacl2:pmodacl2-1.png?direct |}} | image = {{:reference:pmod:pmodacl2:pmodacl2-2.png?direct |}} | image = {{:reference:pmod:pmodacl2:pmodacl2-3.png?direct |}} | image = {{:reference:pmod:pmodacl2:pmodacl2-4.png?direct |}} | image = {{:reference:pmod:pmodacl2:pmodacl2-5.png?direct |}} }} == Download This Reference Manual == * {{:reference:pmod:pmodacl2:pmodacl2_rm.pdf| PDF}} ---- ===== Features ===== * User-selectable resolution * Less than 2 μA consumption at 100Hz * Activity and inactivity monitoring * Free fall detection ---- =====Functional Description ===== The %%PmodACL2%% utilizes [[http://www.analog.com/static/imported-files/data_sheets/ADXL362.pdf|Analog Devices ADXL362]] to provide %%MEMS%% acceleration data to the system board. With its deep 512-sample FIFO buffer, users are able to view a long string of events prior to a triggered interrupt or simply be able to have the system board access acceleration data when the user finds it most convenient. ---- ===== Interfacing with the Pmod===== The %%PmodACL2%% communicates with the host board via the [[pmod:communication_protocols:spi|SPI protocol]]. To read from the on-board data registers, the Chip Select line must first be pulled low and then send a command byte to read from the data registers (0x0B). The desired address byte must be sent next, and then the desired byte is received with the MSB first on the falling clock edge. Because the address pointer auto-increments to the next address byte, it is possible to read multiple bytes consecutively by continuing to pulse the Serial Clock line. An example set of commands to read from the y-axis register is given below: ^ Command Read |||||||^ First Y-axis Address |||||||^ LSB byte of Y-axis data |||||||^ MSB byte of Y-axis data |||||||| |0|0|0|0|1|0|1|1 |0|0|0|0|1|0|1|0 |b7|b6|b5|b4|b3|b2|b1|LSB |SX|SX|SX|SX|MSB|b10|b9|b8| ** Note* ** Each ''SX'' bit is the same value as the most significant bit of the y-axis data To read from the FIFO buffer, a command byte to write to a data register (0x0A) must first be sent so that we can configure the FIFO Control register (address 0x28) to indicate that we want the FIFO buffer to store data. After the ADXL362 has been configured to use the FIFO buffer, a command byte to read from the FIFO buffer (0x0D) must first be sent, to then be followed by pairs of data bytes containing which axis is being measured and the acceleration data. An example set of commands to read from the FIFO buffer is given below: ^ Command Write |||||||^ FIFO Control Register Address |||||||^ Command FIFO Read |||||||| |0|0|0|0|1|0|1|0 |0|0|1|1|0|0|0|0 |0|0|0|0|1|1|0|1| ^ LSB byte of axis data |||||||^ MSB byte of axis data |||||||| |b7|b6|b5|b4|b3|b2|b1|LSB |b15|b14|SX|SX|MSB|b10|b9|b8| ** Note 1* ** Each ''SX'' bit is the same value as the most significant bit of the y-axis data\\ ** Note 2* ** ''b15'' and ''b14'' represent which axis the incoming data represents ---- ==== Pinout Description Table ==== ^ Pinout Table of the %%PmodACL2%% ||||||||||| ^ Connector J1 ||||||| ^ Connector J2 ||| ^ Pin ^ Signal ^ Description | ^ Pin ^ Signal ^ Description |:::^ Pin ^ Signal ^ Description | | 1 | ~CS | Chip select |:::| 7 | INT2 | Interrupt Two |:::| 1 | INT1 | Interrupt One | | 2 | MOSI | Master Out Slave In |:::| 8 | INT1 | Interrupt One |:::| 2 | G | Power Supply Ground | | 3 | MISO | Master In Slave Out |:::| 9 | NC | Not connected |:::^ Connector J3 ||| | 4 | SCLK | Serial clock |:::| 10 | NC | Not connected |:::^ Pin ^ Signal ^ Description | | 5 | GND | Power supply ground |:::| 11 | GND | Power supply ground |:::| 1 | INT2 | Interrupt Two | | 6 | VCC | Power supply (3.3V) |:::| 12 | VCC | Power supply (3.3V) |:::| 2 | G | Power Supply Ground | The %%PmodACL2%% also has two programmable interrupt pins available for use. Both of these pins can be set to trigger an interrupt upon multiple different triggers including activity/inactivity (to help reduce system power), when the FIFO buffer is filled to a desired level, when data is ready to be retrieved, and other triggers. Any external power applied to the %%PmodACL2%% must be within 1.6V and 3.5V. Consequently, with Digilent system boards, this Pmod must be run off of a 3.3V rail. ---- ===== Physical Dimensions ===== The pins on the pin header are spaced 100 mil apart. The PCB is 0.95 inches long on the sides parallel to the pins on the pin header and 0.8 inches long on the sides perpendicular to the pin header. ---- ===== Additional Information ===== The schematics of the %%PmodACL2%% are available {{reference:pmod:pmodacl2:pmodacl2_sch.pdf|here}}. Additional information about the on-board accelerometer by Analog Devices can be found [[http://www.analog.com/static/imported-files/data_sheets/ADXL362.pdf|here]]. Example code demonstrating how to get information from the %%PmodACL2%% can be found [[pmod:pmodacl2:start#example_projects|here]]. If you have any questions or comments about the %%PmodACL2%%, feel free to post them under the appropriate section ("Add-on Boards") of the [[https://forum.digilentinc.com/|Digilent Forum]].