Está en la página 1de 6

Acelerómetro SPI modo Núcleo de exclusión

de la Serie Juntas

Para Quartus II 14.0

Este documento describe núcleo IP del Programa de la Universidad de Altera que se puede utilizar para acceder al acelerómetro periférica encontró en los
tablones de DE0-Nano-MT y Veek de Altera.

1 Acelerómetro chip

El periférico acelerómetro consta de chip de ADXL345 la de Analog Devices. Se mide la aceleración en tres direcciones, que se conocen como X- eje, y- eje
y Z- eje. Cuando estacionaria, la única aceleración experimentada por el chip es debida a la gravedad. Los resultados medidos tienen una resolución de 13
bits en el rango de hasta ± dieciséis g.

El chip acelerómetro incluye un conjunto de registros de ocho bits que almacenan los resultados de las mediciones y proporcionan ajustes para diferentes modos de

funcionamiento. Para acomodar el tamaño de 13 bits, los valores medidos de x, y y z se almacenan en pares de registros.

El chip AXDL345 soporta la comunicación en serie utilizando el SPI (Serial Peripheral Interface) o I 2 C (Circuito Inter-Integrated) Normas. La
comunicación SPI es compatible usando un tres hilos o conexión de cuatro hilos. En las tablas DE0-nano y Veek-MT, el chip acelerómetro
está conectada al chip FPGA por la disposición SPI de tres hilos.

Una descripción completa se puede encontrar en hojas de datos de Analog Devices: Digital ADXL345 del acelerómetro.

2 ARRIBA acelerómetro Core general

El UP Acelerómetro Core proporciona una interfaz conveniente para acceder el chip acelerómetro. El núcleo puede ser instanciado en sistemas diseñados mediante el
uso de la QSys herramienta en el software Quartus II. El núcleo también está incluido en el DE0-Nano ordenador, que puede ser utilizado convenientemente en el
monitor de programa del Programa de la Universidad de Altera.

Figura 1 muestra un diagrama de bloques de alto nivel del núcleo. Para configurar el dispositivo de acelerómetro, el núcleo toma la información de un programa (a
través del bus Avalon) o un circuito auto-inicialización y lo envía a través del bus serial.

Altera Corporation - Programa de la Universidad 1


de agosto de 2014
UNA CCELEROMETER SPI M ODA do MINERAL PARA DE-S ERIE segundo OARDS Para Quartus II 14.0

Avalon
autobús
serial
Bus
serializador

Auto-Init

Figura 1. Diagrama de bloques de alto nivel de la UP Acelerómetro Core.

3 Ins tantiati ng el Core

El núcleo UP acelerómetro se pueden crear instancias de un sistema que utiliza QSys o como un componente independiente del Catálogo de IP dentro del software
Quartus II. Los diseñadores que deseen incluir la UP acelerómetro Core en sus sistemas personalizados deben utilizar el asistente de con fi guración del núcleo. El
asistente se representa en la figura 2 . No tiene opciones, como se indica en la figura.

Figura Asistente fi guración 2. Con el UP Acelerómetro Core.

2 Altera Corporation - Programa de la Universidad

de agosto de 2014
UNA CCELEROMETER SPI M ODA do MINERAL PARA DE-S ERIE segundo OARDS Para Quartus II 14.0

4 Software de Programación Modelo

La UP acelerómetro Core puede ser controlado por un programa que se ejecuta en un procesador. Esto se logra mediante la lectura y la escritura en dos registros en

configuración de memoria en el núcleo. Esto se puede hacer accediendo directamente a estos registros. Alternativamente, para el procesador Nios II, estos registros

pueden ser manipulados utilizando las funciones del lenguaje C accesibles a través de la interfaz de la capa de abstracción de hardware (HAL).

En las siguientes secciones, se describen los registros mapeados en memoria y cómo usarlos, tanto directamente como a través de la interfaz de HAL.

4.1 Registros de la UP acelerómetro Core

La UP acelerómetro núcleo tiene dos registros de 8 bits, llamados dirección y datos. Que se asignan a las direcciones de memoria especí fi cos en el momento en el núcleo se

instancia en un sistema desarrollado QSys. Sus direcciones son compensados ​por un byte, como se indica en la Tabla 1. La tabla muestra el desplazamiento de bytes, los

derechos de acceso (lectura / escritura) y el significado de cada bit en los registros.

Al escribir en estos registros, el procesador puede especificar el modo de operationg del acelerómetro y leer sus valores actuales.

Tabla 1. Hasta acelerómetro registradores de núcleo

Desplazamiento en el registro de lectura / escritura 7.. . sesenta y cinco. . . 0 bytes

Nombre

0 dirección W 0 addr
1 datos R/W Datos

4.1.1 Dirección Registro

los dirección registro se utiliza para transmitir la dirección de un registro en el dispositivo de ADXL345 que se va a acceder. La dirección deseada se se da en los seis bits de

fi cativas menos significantes, como se muestra en la Tabla 1.

4.1.2 Datos Registro

los datos registro se utiliza para transmitir datos desde / a los registros en el dispositivo ADXL345. Leer o escribir en este registro iniciar una transferencia
en serie desde / hasta el acelerómetro.

4.2 Registros En el dispositivo de ADXL345

El chip ADXL345 tiene una serie de registros de control y de datos, que son identificados por direcciones de seis bits en el rango 0x00 a 0x39. Todos los registros son ocho

bits de longitud. Los registros de control se utilizan para definir diferentes modos de funcionamiento. Se cargan mediante la realización de una operación de escritura. Sus

contenidos pueden ser examinadas mediante la realización de una operación de lectura. Los registros de datos comprenden tres pares de registros, que contienen los

valores de medición de aceleración en la

x, y y z direcciones.

Los registros de datos DATAX0 y DATAX1, con direcciones 0x32 y 0x33, mantenga el valor de complemento a 2 del X- medición del eje. los DATAX0 registro
contiene el byte de orden inferior y DATAX1 sostiene el byte de orden superior. Similar,

Altera Corporation - Programa de la Universidad 3


de agosto de 2014
UNA CCELEROMETER SPI M ODA do MINERAL PARA DE-S ERIE segundo OARDS Para Quartus II 14.0

DATAY0 y DATAY1, con direcciones 0x34 y 0x35, mantenga el y- valor del eje, mientras DATAZ0 y DATAZ1, con direcciones 0x36 y 0x37, mantenga el Z- valor
del eje.

4.3 fi gurar Con el acelerómetro

El chip acelerómetro tiene que ser con fi gurada para llevar a cabo las funciones deseadas, que se lleva a cabo mediante la escritura en los registros de
control apropiados. Utilizando el acelerómetro UP Core, esto se puede lograr escribiendo las direcciones y los datos necesarios en el dirección y datos registra
en el núcleo. Sin embargo, el UP Acelerador de núcleo tiene una opción de auto-initialize, que automáticamente con fi guras en un modo que hace que las
mediciones a realizar de manera continua y permite la lectura de los resultados a través de la X, Y y Z regístrese pares utilizando la resolución de ± 2 g.

La inicialización automática se lleva a cabo cada vez que el núcleo se pone a cero, que también se produce cuando el sistema de hardware que contiene el núcleo
se descarga en el dispositivo FPGA en el tablero.

5 Controlador de dispositivo para el procesador Nios II

Para el uso con el procesador Nios II, el UP Acelerómetro Core está empaquetado con funciones C-lenguaje accesible a través de la capa de abstracción de
hardware (HAL) . Estas funciones permiten a los usuarios comunicarse con el acelerómetro basado en la dirección de registro y datos dada. Los usuarios
deben referirse a la descripción de los registros en las fichas técnicas ADXL345.

Para utilizar las funciones, el código C debe incluir la declaración:

# incluir "altera_up_avalon_accelerometer_spi.h"

5.1 alt hasta acelerómetro spi dev abierto

Prototipo: alt_up_accelerometer_spi_dev *
alt_up_accelerometer_spi_open_dev (char const
* nombre)
Incluir: <Altera_up_avalon_accelerometer_spi_spi.h>
parámetros: nombre - el nombre del componente accelerometer_spi en QSys.
Devoluciones: La estructura del dispositivo correspondiente, o NULL si no se encuentra el dispositivo.

Descripción: Abre el dispositivo accelerometer_spi fi especificados por nombre .

4 Altera Corporation - Programa de la Universidad

de agosto de 2014
UNA CCELEROMETER SPI M ODA do MINERAL PARA DE-S ERIE segundo OARDS Para Quartus II 14.0

5.2 alt hasta spi acelerómetro leer registro de direcciones

Prototipo: int alt_up_accelerometer_spi_read_address_register (alt_up_accelerometer_spi_dev


* Accel, alt_u8 * addr)
Incluir: <Altera_up_avalon_accelerometer_spi.h>
parámetros: Accel - la estructura del dispositivo
addr - un puntero a la ubicación donde se debe almacenar la dirección de lectura
Devoluciones: 0 para el éxito
Descripción: Lee datos con fi guración de uno de los registros del acelerómetro.

5.3 alt hasta acelerómetro spi lectura

Prototipo: int alt_up_accelerometer_spi_read (alt_up_accelerometer_spi_dev


* accel_spi, alt_u8 addr, alt_u8 * datos)
Incluir: <Altera_up_avalon_accelerometer.h>
parámetros: Accel - la estructura del dispositivo
addr - la dirección del registro acelerómetro
datos - un puntero a la ubicación donde se deben almacenar los datos leídos
Devoluciones: 0 para el éxito
Descripción: Lee datos de los registros del acelerómetro.

5.4 alt hasta acelerómetro spi escritura

Prototipo: int alt_up_accelerometer_spi_write (alt_up_accelerometer_spi_dev


* Accel, alt_u8 addr, los datos alt_u8)
Incluir: <Altera_up_avalon_accelerometer.h>
parámetros: Accel - la estructura del dispositivo
addr - la dirección del registro acelerómetro
datos - los datos que se escriben
Devoluciones: 0 para el éxito
Descripción: Escribe los datos en los registros del acelerómetro.

5.5 alt hasta acelerómetro spi leer eje x

Prototipo: int alt_up_accelerometer_spi_read_x_axis (alt_up_accelerometer_spi_dev


* accel_spi, alt_32 * x_axis)
Incluir: <Altera_up_avalon_accelerometer.h>
parámetros: Accel - la estructura del dispositivo
x_axis - un puntero a la ubicación en la X- datos del eje deben ser almacenados

Devoluciones: 0 para el éxito


Descripción: lee el X- valor xis de ambos registros, DATAX0 y DATAX1, y
convierte el valor a un número entero firmado.

Altera Corporation - Programa de la Universidad 5


de agosto de 2014
UNA CCELEROMETER SPI M ODA do MINERAL PARA DE-S ERIE segundo OARDS Para Quartus II 14.0

5.6 alt hasta acelerómetro spi leer eje y

Prototipo: int alt_up_accelerometer_spi_read_y_axis (alt_up_accelerometer_spi_dev


* Accel, alt_32 * y_axis)
Incluir: <Altera_up_avalon_accelerometer.h>
parámetros: Accel - la estructura del dispositivo
y_axis - un puntero a la ubicación en la y- datos del eje deben ser almacenados

Devoluciones: 0 para el éxito


Descripción: lee el y- valor del eje de ambos registros, DATAY0 y DATAY1, y
convierte el valor a un número entero firmado.

5,7 alt hasta acelerómetro spi leer eje z

Prototipo: int alt_up_accelerometer_spi_read_z_axis (alt_up_accelerometer_spi_dev


* Accel, alt_32 * z_axis)
Incluir: <Altera_up_avalon_accelerometer.h>
parámetros: Accel - la estructura del dispositivo
eje Z - un puntero a la ubicación en la Z- datos del eje deben ser almacenados

Devoluciones: 0 para el éxito


Descripción: lee el Z- valor del eje de ambos registros, DATAZ0 y DATAZ1, y
convierte el valor a un número entero firmado.

6 Altera Corporation - Programa de la Universidad

de agosto de 2014

También podría gustarte