Documentos de Académico
Documentos de Profesional
Documentos de Cultura
InvenSense Inc.
Número de documento: RMMPU6000A00 Revisión:
1197 Borregas Ave, Sunnyvale, CA 94089 EE. UU.
4.2
Tel: +1 (408) 9887339 Fax: +1 (408) 9888104 Sitio web:
Fecha de lanzamiento: 19/08/2013
www.invensense.com
MPU6000 y MPU6050
1 de 46
Machine Translated by Google
CONTENIDO
1 HISTORIAL DE REVISIONES ................................................ ................................................. ................................4
2 OBJETIVO Y ALCANCE ................................................ ................................................. ................................5
3 MAPA DE REGISTRO................................................ ................................................. ........................................6
4 DESCRIPCIONES DE REGISTRO................................................ ................................................. ........................9
4.1 REGISTROS 13 A 16 – REGISTROS DE AUTOTEST ................................. ..........................................9
2 de 46
Machine Translated by Google
3 de 46
Machine Translated by Google
1 Historial de revisiones
Revisión
Fecha Descripción de la revisión
20/04/2011 1.1 Mapa de registro actualizado y descripciones para reflejar la funcionalidad de registro mejorada.
2/11/2013 4.1 Se agregó una aclaración de reinicio para la interfaz SPI (sección 4.3)
4 de 46
Machine Translated by Google
2 Propósito y Alcance
Este documento proporciona información preliminar sobre el mapa de registro y las descripciones de las Motion Processing
Units™ MPU6000™ y MPU6050™, denominadas colectivamente MPU60X0™ o MPU™.
Los dispositivos MPU proporcionan la primera solución integrada de procesador de movimiento de 6 ejes del mundo que
elimina la desalineación de los ejes transversales del giroscopio y el acelerómetro a nivel de paquete asociada con soluciones
discretas. Los dispositivos combinan un giroscopio de 3 ejes y un acelerómetro de 3 ejes en la misma matriz de silicio junto
con un Digital Motion Processor™ (DMP™) integrado capaz de procesar complejos algoritmos de fusión de sensores de 9 ejes.
utilizando el motor MotionFusion™ patentado y probado en el campo.
Los algoritmos MotionFusion integrados de 9 ejes de MPU6000 y MPU6050 acceden a magnetómetros externos u otros
sensores a través de un bus I2C maestro auxiliar , lo que permite a los dispositivos recopilar un conjunto completo de datos
de sensores sin intervención del procesador del sistema. Los dispositivos se ofrecen en el mismo tamaño QFN de 4x4x0,9
mm y distribución de pines que la actual familia MPU3000™ de giroscopios integrados de 3 ejes, lo que proporciona una ruta
de actualización sencilla y facilita la colocación en placas de circuitos que ya tienen limitaciones de espacio.
Para un seguimiento preciso de movimientos rápidos y lentos, el MPU60X0 cuenta con un rango de escala completa de
giroscopio programable por el usuario de ±250, ±500, ±1000 y ±2000°/seg (dps). Las piezas también tienen un acelerómetro
de rango completo programable por el usuario de ±2g, ±4g, ±8g y ±16g.
La familia MPU6000 se compone de dos partes, MPU6000 y MPU6050. Estas piezas son idénticas entre sí con dos
excepciones. El MPU6050 admite comunicaciones I2C de hasta 400 kHz y tiene un pin VLOGIC que define los niveles de
voltaje de su interfaz; El MPU6000 admite SPI de hasta 20 MHz además de I2C y tiene un único pin de suministro, VDD, que
es tanto el suministro de referencia lógica del dispositivo como el suministro analógico de la pieza.
Para obtener información más detallada sobre los dispositivos MPU60X0, consulte el documento “MPU6000 y MPU6050
Especificaciones del producto".
5 de 46
Machine Translated by Google
3 Mapa de registro
El mapa de registro para el MPU60X0 se enumera a continuación.
10 dieciséis
SELF_TEST_A R/E RESERVADO XA_TEST[10] YA_TEST[10] PRUEBA_ZA[10]
1A 26 R/E
CONFIGURAR EXT_SYNC_SET[2:0] DLPF_CFG[2:0]
1B 27 R/E
GYRO_CONFIG FS_SEL [1:0]
I2C_SLV0
25 37 I2C_SLV0_ADDR R/E I2C_SLV0_ADDR[6:0]
_RW
28 40 R/E I2C_SLV1
I2C_SLV1_ADDR I2C_SLV1_ADDR[6:0]
_RW
2B 43 R/E I2C_SLV2
I2C_SLV2_ADDR I2C_SLV2_ADDR[6:0]
_RW
2E 46 R/E I2C_SLV3
I2C_SLV3_ADDR I2C_SLV3_ADDR[6:0]
_RW
31 49 R/E I2C_SLV4
I2C_SLV4_ADDR I2C_SLV4_ADDR[6:0]
_RW
35 53 I2C_SLV4_DI R I2C_SLV4_DI[7:0]
I2C
PESTILLO INT_RD FSYNC_ FSYNC
37 55 INT_PIN_CFG R/E INT_LEVEL INT_ABIERTO _DERIVACIÓN
_INT_ES _CLARO INT_LEVEL _INT_ES
_ES
FIFO
I2C_MST DATOS
38 56 INT_ENABLE R/E _FLUJO
_INT_ES _RDY_ES
_ES
FIFO
I2C_MST DATOS
3A 58 INT_ESTADO R _FLUJO
_EN T _RDY_INT
_EN T
6 de 46
Machine Translated by Google
dirección De serie
Registrar Nombre Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) Dirección (dic.) SI
3B 59 ACCEL_XOUT_H R ACCEL_XOUT[15:8]
3C 60 ACCEL_XOUT_L R ACCEL_XOUT[7:0]
3D 61 ACCEL_YOUT_H R ACCEL_YOUT[15:8]
3E 62 ACCEL_YOUT_L R ACCEL_YOUT[7:0]
3F 63 ACCEL_ZOUT_H R ACCEL_ZOUT[15:8]
40 64 ACCEL_ZOUT_L R ACCEL_ZOUT[7:0]
41 sesenta y cinco
TEMP_OUT_H R TEMP_OUT[15:8]
42 66 TEMP_OUT_L R TEMP_OUT[7:0]
43 67 GYRO_XOUT_H R GYRO_XOUT[15:8]
44 68 GYRO_XOUT_L R GYRO_XOUT[7:0]
45 69 GYRO_YOUT_H R GYRO_YOUT[15:8]
46 70 GYRO_YOUT_L R GYRO_YOUT[7:0]
47 71 GYRO_ZOUT_H R GYRO_ZOUT[15:8]
48 72 GYRO_ZOUT_L R GYRO_ZOUT[7:0]
49 73 EXT_SENS_DATA_00R EXT_SENS_DATA_00[7:0]
4A 74 EXT_SENS_DATA_01R EXT_SENS_DATA_01[7:0]
4B 75 EXT_SENS_DATA_02R EXT_SENS_DATA_02[7:0]
4C 76 EXT_SENS_DATA_03R EXT_SENS_DATA_03[7:0]
4D 77 EXT_SENS_DATA_04R EXT_SENS_DATA_04[7:0]
4E 78 EXT_SENS_DATA_05R EXT_SENS_DATA_05[7:0]
4F 79 EXT_SENS_DATA_06R EXT_SENS_DATA_06[7:0]
50 80 EXT_SENS_DATA_07R EXT_SENS_DATA_07[7:0]
51 81 EXT_SENS_DATA_08R EXT_SENS_DATA_08[7:0]
52 82 EXT_SENS_DATA_09R EXT_SENS_DATA_09[7:0]
53 83 EXT_SENS_DATA_10R EXT_SENS_DATA_10[7:0]
54 84 EXT_SENS_DATA_11R EXT_SENS_DATA_11[7:0]
55 85 EXT_SENS_DATA_12R EXT_SENS_DATA_12[7:0]
56 86 EXT_SENS_DATA_13R EXT_SENS_DATA_13[7:0]
57 87 EXT_SENS_DATA_14R EXT_SENS_DATA_14[7:0]
58 88 EXT_SENS_DATA_15R EXT_SENS_DATA_15[7:0]
59 89 EXT_SENS_DATA_16R EXT_SENS_DATA_16[7:0]
5A 90 EXT_SENS_DATA_17R EXT_SENS_DATA_17[7:0]
5B 91 EXT_SENS_DATA_18R EXT_SENS_DATA_18[7:0]
5C 92 EXT_SENS_DATA_19R EXT_SENS_DATA_19[7:0]
5D 93 EXT_SENS_DATA_20R EXT_SENS_DATA_20[7:0]
5E 94 EXT_SENS_DATA_21R EXT_SENS_DATA_21[7:0]
5F 95 EXT_SENS_DATA_22R EXT_SENS_DATA_22[7:0]
60 96 EXT_SENS_DATA_23R EXT_SENS_DATA_23[7:0]
7 de 46
Machine Translated by Google
dirección De serie
Registrar Nombre Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) Dirección (dic.) SI
DISPOSITIVO
6B 107 R/E DORMIR CICLO
PWR_MGMT_1 TEMP_DIS CLKSEL[2:0]
_REINICIAR
6C 108 PWR_MGMT_2 R/E LP_WAKE_CTRL[1:0] STBY_XA STBY_YA STBY_ZA STBY_XG STBY_YG STBY_ZG
75 117 R
QUIÉN SOY QUIÉN_SOY_YO[6:1]
Nota: Los nombres de registro que terminan en _H y _L contienen los bytes alto y bajo, respectivamente, de un valor de registro
interno.
En las tablas de registros detalladas que aparecen a continuación, los nombres de los registros están en letras mayúsculas, mientras
que los valores de los registros están en letras mayúsculas y en cursiva. Por ejemplo, el registro ACCEL_XOUT_H (Registro 59)
contiene los 8 bits más significativos, ACCEL_XOUT[15:8], de la medición del acelerómetro del eje X de 16 bits, ACCEL_XOUT.
El valor de reinicio es 0x00 para todos los registros excepto los siguientes.
8 de 46
Machine Translated by Google
4 Descripciones de registros
Esta sección describe la función y el contenido de cada registro dentro del MPU60X0.
Tipo: lectura/escritura
Registro Registro
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
0D 13 XA_PRUEBA[42] XG_PRUEBA[40]
0E 14 YA_PRUEBA[42] PRUEBA_YG[40]
0F 15 PRUEBA_ZA[42] PRUEBA_ZG[40]
10 dieciséis RESERVADO XA_TEST[10] YA_TEST[10] PRUEBA_ZA[10]
Descripción:
Estos registros se utilizan para autopruebas de giroscopio y acelerómetro que permiten al usuario probar las partes
mecánicas y eléctricas del giroscopio y el acelerómetro. Las siguientes secciones describen el proceso de autoprueba.
La autoprueba del giroscopio permite a los usuarios probar las partes mecánicas y eléctricas del giroscopio.
El código para la autoprueba operativa se incluye en el software MotionApps™ proporcionado por InvenSense.
Consulte la siguiente sección (Obtención del valor de ajuste de fábrica (FT) del giroscopio) si no utiliza el software
MotionApps.
Cuando se activa la autoprueba, la electrónica de a bordo activará el sensor apropiado. Esta actuación moverá las masas
de prueba del sensor a lo largo de una distancia equivalente a una fuerza de Coriolis predefinida. Esta prueba de
desplazamiento de masa da como resultado un cambio en la salida del sensor, que se refleja en la señal de salida. La señal
de salida se utiliza para observar la respuesta de la autoprueba.
Esta respuesta de autoprueba se utiliza para determinar si la pieza pasó o no la autoprueba al encontrar el cambio con
respecto al ajuste de fábrica de la respuesta de autoprueba de la siguiente manera:
( )
()
Este cambio desde el ajuste de fábrica de la respuesta de la autoprueba debe estar dentro de los límites proporcionados en el
documento de especificaciones del producto MPU6000/MPU6050 para que la pieza pase la autoprueba. De lo contrario, se
considerará que la pieza no ha superado la autoprueba.
9 de 46
Machine Translated by Google
Si no se utiliza el software InvenSense MotionApps, se debe seguir el procedimiento que se detalla a continuación para obtener el valor
de ajuste de fábrica de la respuesta de autoprueba (FT) mencionada anteriormente. Para los registros específicos que se mencionan a
continuación, consulte los registros 1315.
El valor de ajuste de fábrica de la respuesta de autoprueba (FT) se calcula como se muestra a continuación. FT[Xg], FT[Yg] y FT[Zg] se
refieren a los valores de ajuste de fábrica (FT) para los ejes X, Y y Z del giroscopio, respectivamente.
XG_TEST es la versión decimal de XG_TEST[40], YG_TEST es la versión decimal de YG_TEST[4
0], y ZG_TEST es la versión decimal de ZG_TEST[40].
Al realizar la autoprueba del giroscopio, el rango de escala completa debe configurarse en ±250 dps.
( ) si XG_TEST ≠ 0
si XG_TEST = 0
( ) si YG_TEST ≠ 0
si YG_TEST = 0
( ) si ZG_TEST ≠ 0
si ZG_TEST = 0
La autoprueba del acelerómetro permite a los usuarios probar las partes mecánicas y eléctricas del acelerómetro. El código para la
autoprueba operativa se incluye en el software MotionApps proporcionado por InvenSense. Consulte la siguiente sección (titulada
Obtención del ajuste de fábrica del acelerómetro (FT)
Valor) si no se utiliza el software MotionApps.
Cuando se activa la autoprueba, la electrónica de a bordo activará el sensor apropiado. Esta actuación simula una fuerza externa. El
sensor activado, a su vez, producirá una señal de salida correspondiente. La señal de salida se utiliza para observar la respuesta de la
autoprueba.
Esta respuesta de autoprueba se utiliza para determinar si la pieza pasó o no la autoprueba al encontrar el cambio desde el ajuste de
fábrica de la respuesta de autoprueba de la siguiente manera:
( )
()
Este cambio desde el ajuste de fábrica de la respuesta de la autoprueba debe estar dentro de los límites proporcionados en el
documento de especificaciones del producto MPU6000/MPU6050 para que la pieza pase la autoprueba. De lo contrario, se considerará
que la pieza no ha superado la autoprueba.
10 de 46
Machine Translated by Google
Si no se utiliza el software InvenSense MotionApps, se debe seguir el procedimiento que se detalla a continuación para obtener el
valor de ajuste de fábrica de la respuesta de autoprueba (FT) mencionada anteriormente. Para los registros específicos que se
mencionan a continuación, consulte los registros 1316.
El valor de ajuste de fábrica de la respuesta de autoprueba (FT) se calcula como se muestra a continuación. FT[Xa], FT[Ya] y FT[Za]
se refieren a los valores de ajuste de fábrica (FT) para los ejes X, Y y Z del acelerómetro, respectivamente.
En las ecuaciones siguientes, los valores de ajuste de fábrica para la aceleración deben estar en formato decimal y se determinan
concatenando los bits de autoprueba del acelerómetro superior (bits 42) con los bits de autoprueba del acelerómetro inferior (bits 10).
( )
si XA_TEST ≠ 0.
si XA_TEST = 0.
( )
si YA_TEST ≠ 0.
si YA_TEST = 0.
( )
si ZA_TEST ≠ 0.
si ZA_TEST = 0.
Parámetros:
XA_PRUEBA Valor sin signo de 5 bits. FT[Xa] se determina utilizando este valor como se explicó anteriormente.
XG_PRUEBA Valor sin signo de 5 bits. FT[Xg] se determina utilizando este valor como se explicó anteriormente.
YA_TEST Valor sin signo de 5 bits. FT[Ya] se determina utilizando este valor como se explicó anteriormente.
YG_TEST Valor sin signo de 5 bits. FT[Yg] se determina utilizando este valor como se explicó anteriormente.
ZA_PRUEBA Valor sin signo de 5 bits. FT[Za] se determina utilizando este valor como se explicó anteriormente.
PRUEBA_ZG Valor sin signo de 5 bits. FT[Zg] se determina utilizando este valor como se explicó anteriormente.
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
19 25 SMPLRT_DIV[7:0]
Descripción:
11 de 46
Machine Translated by Google
Este registro especifica el divisor de la velocidad de salida del giroscopio utilizado para generar la frecuencia de muestreo para el
MPU60X0.
La salida del registro del sensor, la salida FIFO y el muestreo DMP se basan en la frecuencia de muestreo.
La frecuencia de muestreo se genera dividiendo la velocidad de salida del giroscopio por SMPLRT_DIV:
donde Velocidad de salida del giroscopio = 8 kHz cuando DLPF está deshabilitado (DLPF_CFG = 0 o 7) y 1 kHz cuando DLPF está
habilitado (consulte el Registro 26).
Nota: La velocidad de salida del acelerómetro es de 1 kHz. Esto significa que para una frecuencia de muestreo superior a 1 kHz, la
misma muestra del acelerómetro puede enviarse a los registros FIFO, DMP y del sensor más de
una vez.
Para obtener un diagrama de las rutas de señal del giroscopio y el acelerómetro, consulte la Sección 8 del documento de
especificaciones del producto MPU6000/MPU6050.
Parámetros:
SMPLRT_DIV Valor sin signo de 8 bits. La frecuencia de muestreo se determina dividiendo la velocidad de salida del
giroscopio por este valor.
12 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
1A 26 EXT_SYNC_SET[2:0] DLPF_CFG[2:0]
Descripción:
Este registro configura el muestreo de pin de sincronización de cuadro externo (FSYNC) y la configuración del filtro de paso bajo
digital (DLPF) tanto para los giroscopios como para los acelerómetros.
Se puede muestrear una señal externa conectada al pin FSYNC configurando EXT_SYNC_SET.
Los cambios de señal en el pin FSYNC están bloqueados para que se puedan capturar luces estroboscópicas cortas. La señal
FSYNC enclavada se muestreará a la frecuencia de muestreo, tal como se define en el registro 25. Después del muestreo, el
enclavamiento se restablecerá al estado actual de la señal FSYNC.
El valor muestreado se informará en lugar del bit menos significativo en un registro de datos del sensor.
determinado por el valor de EXT_SYNC_SET según la siguiente tabla.
El DLPF está configurado por DLPF_CFG. El acelerómetro y el giroscopio se filtran según el valor de DLPF_CFG como se
muestra en la siguiente tabla.
Parámetros:
13 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
1B 27 XG_ST YG_ST ZG_ST FS_SEL[1:0]
Descripción:
Este registro se utiliza para activar la autoprueba del giroscopio y configurar el rango de escala completo de los giroscopios.
La autoprueba del giroscopio permite a los usuarios probar las partes mecánicas y eléctricas del giroscopio. La autoprueba
para cada eje del giroscopio se puede activar controlando los bits XG_ST, YG_ST y ZG_ST de este registro. El autotest de
cada eje se puede realizar de forma independiente o todos al mismo tiempo.
Cuando se activa la autoprueba, la electrónica de a bordo activará el sensor apropiado. Esta actuación moverá las masas
de prueba del sensor a lo largo de una distancia equivalente a una fuerza de Coriolis predefinida. Esta prueba de
desplazamiento de masa da como resultado un cambio en la salida del sensor, que se refleja en la señal de salida. La señal
de salida se utiliza para observar la respuesta de la autoprueba.
Respuesta de autoprueba = Salida del sensor con autoprueba habilitada – Salida del sensor sin autoprueba
habilitada
Los límites de autoprueba para cada eje del giroscopio se proporcionan en las tablas de características eléctricas del
documento de especificaciones del producto MPU6000/MPU6050. Cuando el valor de la respuesta de la autoprueba está
dentro de los límites mínimo/máximo de la especificación del producto, la pieza ha pasado la autoprueba.
Cuando la respuesta de la autoprueba excede los valores mínimo/máximo especificados en el documento, se considera
que la pieza no pasó la autoprueba.
FS_SEL selecciona el rango de escala completa de las salidas del giroscopio de acuerdo con la siguiente tabla.
XG_ST Establecer este bit hace que el giroscopio del eje X realice una autoprueba.
YG_ST Establecer este bit hace que el giroscopio del eje Y realice una autoprueba.
ZG_ST Establecer este bit hace que el giroscopio del eje Z realice una autoprueba.
14 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
1C 28 XA_ST YA_ST ZA_ST AFS_SEL[1:0]
Descripción:
Este registro se utiliza para activar la autoprueba del acelerómetro y configurar el rango de escala completa del acelerómetro. Este
registro también configura el filtro digital de paso alto (DHPF).
La autoprueba del acelerómetro permite a los usuarios probar las partes mecánicas y eléctricas del acelerómetro. La autoprueba
para cada eje del acelerómetro se puede activar controlando los bits XA_ST, YA_ST y ZA_ST de este registro. El autotest de cada
eje se puede realizar de forma independiente o todos al mismo tiempo.
Cuando se activa la autoprueba, la electrónica de a bordo activará el sensor apropiado. Esta actuación simula una fuerza externa.
El sensor activado, a su vez, producirá una correspondiente
señal de salida. La señal de salida se utiliza para observar la respuesta de la autoprueba.
Respuesta de autoprueba = Salida del sensor con autoprueba habilitada – Salida del sensor sin autoprueba habilitada
Los límites de autoprueba para cada eje del acelerómetro se proporcionan en las tablas de características eléctricas del documento
de especificaciones del producto MPU6000/MPU6050. Cuando el valor de la respuesta de la autoprueba está dentro de los límites
mínimo/máximo de la especificación del producto, la pieza ha pasado la autoprueba. Cuando la respuesta de la autoprueba
excede los valores mínimo/máximo especificados en el documento, se considera que la pieza no pasó la autoprueba.
AFS_SEL selecciona el rango de escala completa de las salidas del acelerómetro de acuerdo con la siguiente tabla.
15 de 46
Machine Translated by Google
Parámetros:
AFS_SEL Valor sin signo de 2 bits. Selecciona el rango de escala completa de acelerómetros.
Tipo: lectura/escritura
Registro Registro
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
XG_ YG_ ZG_ Acelerar SLV2 SLV1 SLV0
23 35 TEMPERATURA_
Este registro determina qué mediciones del sensor se cargan en el búfer FIFO.
Los datos almacenados dentro de los registros de datos del sensor (registros 59 a 96) se cargarán en el búfer FIFO si el bit
FIFO_EN respectivo de un sensor se establece en 1 en este registro.
Cuando el bit FIFO_EN de un sensor está habilitado en este registro, los datos de los registros de datos del sensor se cargarán
en el búfer FIFO. Los sensores se muestrean a la frecuencia de muestreo definida en el Registro 25.
Para obtener más información sobre los registros de datos del sensor, consulte los registros 59 a 96.
Cuando el bit FIFO_EN correspondiente de un esclavo externo (SLVx_FIFO_EN, donde x=0, 1 o 2) se establece en 1, los datos
almacenados en sus registros de datos correspondientes (registros EXT_SENS_DATA, registros 73 a 96) se escribirán en el búfer
FIFO en la frecuencia de muestreo. La asociación del registro EXT_SENS_DATA con los esclavos I2C está determinada por los
registros I2C_SLVx_CTRL (donde x=0, 1 o 2; registros 39, 42 y 45). Para obtener información sobre los registros EXT_SENS_DATA,
consulte los registros 73 a 96.
Tenga en cuenta que el bit FIFO_EN correspondiente (SLV3_FIFO_EN) se encuentra en I2C_MST_CTRL (Registro 36). También
tenga en cuenta que el Esclavo 4 se comporta de manera diferente en comparación con los Esclavos 03. Consulte los registros
49 a 53 para obtener más información sobre el uso de Slave 4.
Parámetros:
YG_FIFO_ES Cuando se establece en 1, este bit permite escribir GYRO_YOUT_H y GYRO_YOUT_L (registros
69 y 70) en el búfer FIFO.
16 de 46
Machine Translated by Google
SLV2_FIFO_EN Cuando se establece en 1, este bit permite que los registros EXT_SENS_DATA (registros 73 a 96)
asociados con el esclavo 2 se escriban en el búfer FIFO.
SLV1_FIFO_EN Cuando se establece en 1, este bit permite que los registros EXT_SENS_DATA (registros 73 a 96)
asociados con el esclavo 1 se escriban en el búfer FIFO.
SLV0_FIFO_EN Cuando se establece en 1, este bit habilita los registros EXT_SENS_DATA (registros 73 a
96) asociado con el Esclavo 0 para escribirse en el buffer FIFO.
Nota: Para obtener más información sobre la asociación de registros EXT_SENS_DATA a dispositivos esclavos particulares,
consulte los registros 73 a 96.
Tipo: lectura/escritura
Registro Registro
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
MULT ESPERAR SLV_3 I2C_MST
24 36 I2C_MST_CLK[3:0]
_MST_ES _PARA_ES _FIFO_EN _P_NSR
Descripción:
Este registro configura el bus I2C auxiliar para control de un solo maestro o de varios maestros. Además, el registro se utiliza para
retrasar la interrupción de Datos listos y también permite la escritura de datos del Esclavo 3 en el búfer FIFO. El registro también
configura la transición del maestro I 2C auxiliar de una lectura esclava a la siguiente, así como el reloj interno de 8MHz del MPU60X0.
La capacidad multimaestro permite que varios maestros I2C funcionen en el mismo bus. En circuitos donde se requiere capacidad
multimaestro, configure MULT_MST_EN en 1. Esto aumentará la corriente consumida en aproximadamente 30 µA.
En circuitos donde se requiere capacidad de múltiples maestros, el estado del bus I2C siempre debe ser monitoreado por cada
maestro I2C por separado. Antes de que un Maestro I2C pueda asumir el arbitraje del bus, primero debe confirmar que ningún otro
Maestro I2C tenga el arbitraje del bus. Cuando MULT_MST_EN se establece en 1, la lógica de detección de arbitraje de bus del
MPU60X0 se activa, lo que le permite detectar cuándo el bus está disponible.
Cuando el bit WAIT_FOR_ES se establece en 1, la interrupción de datos listos se retrasará hasta que los datos del sensor externo de
los dispositivos esclavos se carguen en los registros EXT_SENS_DATA. Esto se utiliza para garantizar que tanto los datos del sensor
interno (es decir, del giroscopio y la aceleración) como los datos del sensor externo se hayan cargado en sus respectivos registros de
datos (es decir, los datos estén sincronizados) cuando se activa la interrupción de Datos listos.
Cuando el bit de habilitación FIFO del Esclavo 3 (SLV_3_FIFO_EN) se establece en 1, los datos de medición del sensor del Esclavo 3
se cargará en el búfer FIFO cada vez. La asociación del registro EXT_SENS_DATA con los esclavos I2C está determinada por
I2C_SLV3_CTRL (Registro 48).
Para obtener más información sobre los registros EXT_SENS_DATA, consulte los registros 73 a 96.
Los bits FIFO_EN correspondientes para el Esclavo 0, el Esclavo 1 y el Esclavo 2 se pueden encontrar en el Registro 35.
El bit I2C_MST_P_NSR configura la transición del maestro I2C de una lectura esclava a la siguiente lectura esclava. Si el bit es igual
a 0, habrá un reinicio entre lecturas. Si el bit es igual a 1, habrá una parada seguida del inicio de la siguiente lectura. Cuando una
transacción de escritura sigue a una transacción de lectura, siempre se utilizará la parada seguida de un inicio de la escritura sucesiva.
17 de 46
Machine Translated by Google
I2C_MST_CLK es un valor sin signo de 4 bits que configura un divisor en el reloj interno de 8MHz del MPU60X0. Establece la
velocidad del reloj maestro I2C de acuerdo con la siguiente tabla:
10 471 kilociclos 17
11 444 kilociclos 18
12 421 kilociclos 19
13 400 kilociclos 20
14 381 kilociclos 21
15 364 kilociclos 22
Parámetros:
ESPERA_FOR_ES Cuando se establece en 1, este bit retrasa la interrupción de Datos listos hasta que los datos del
sensor externo de los dispositivos esclavos se hayan cargado en los registros EXT_SENS_DATA.
SLV3_FIFO_EN Cuando se establece en 1, este bit permite que los registros EXT_SENS_DATA asociados con el
Esclavo 3 se escriban en el FIFO. Los bits correspondientes a los Esclavos 02 se pueden encontrar
en el Registro 35.
I2C_MST_P_NSR Controla la transición del maestro I2C de una lectura de esclavo al siguiente esclavo
leer.
Cuando este bit es igual a 0, hay un reinicio entre lecturas.
Cuando este bit es igual a 1, hay una parada y un inicio que marca el inicio de la siguiente lectura.
Cuando una escritura sigue a una lectura, siempre se aplica una parada y un inicio.
I2C_MST_CLK Valor sin signo de 4 bits. Configura el divisor de velocidad del reloj maestro I2C .
Nota: Para obtener más información sobre la asociación de registros EXT_SENS_DATA a dispositivos esclavos particulares,
consulte los registros 73 a 96.
18 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
25 37 I2C_SLV0
I2C_SLV0_ADDR[6:0]
_RW
26 38 I2C_SLV0_REG[7:0]
I2C_SLV0
27 39 I2C_SLV0 I2C_SLV0_ I2C_SLV
_BYTE I2C_SLV0_LEN[3:0]
_ES REG_DIS 0_GRP
_SUDOESTE
Descripción:
Estos registros configuran la secuencia de transferencia de datos para el Esclavo 0. Los Esclavos 1, 2 y 3 también se comportan de
manera similar al Esclavo 0. Sin embargo, las características del Esclavo 4 difieren mucho de las de los Esclavos 03.
Para obtener más información sobre Slave 4, consulte los registros 49 a 53.
Las transacciones de datos del esclavo I 2C entre el MPU60X0 y el Esclavo 0 se configuran como operaciones de lectura o escritura
mediante el bit I2C_SLV0_RW . Cuando este bit es 1, la transferencia es una operación de lectura. Cuando el bit es 0, la transferencia
es una operación de escritura.
La transferencia de datos comienza en un registro interno dentro del Esclavo 0. Esta dirección de este registro se especifica mediante
I2C_SLV0_REG.
El número de bytes transferidos se especifica en I2C_SLV0_LEN. Cuando se transfiere más de 1 byte (I2C_SLV0_LEN > 1), los
datos se leen (escriben en) direcciones secuenciales a partir de I2C_SLV0_REG.
En modo lectura, el resultado de la lectura se coloca en el registro EXT_SENS_DATA más bajo disponible. Para obtener más
información sobre la asignación de resultados de lectura, consulte la descripción del registro EXT_SENS_DATA (Registros 73 – 96).
I2C_SLV0_EN habilita el Esclavo 0 para la transacción de datos I 2C. Una transacción de datos se realiza solo si se van a transferir
más de cero bytes (I2C_SLV0_LEN > 0) entre un dispositivo esclavo habilitado
(I2C_SLV0_EN = 1).
I2C_SLV0_BYTE_SW configura el intercambio de bytes de pares de palabras. Cuando el intercambio de bytes está habilitado, se
intercambian los bytes alto y bajo de un par de palabras. Consulte I2C_SLV0_GRP para conocer la convención de emparejamiento
de pares de palabras. Cuando este bit se borra a 0, los bytes transferidos hacia y desde el Esclavo 0 se escribirán en los registros
EXT_SENS_DATA en el orden en que fueron transferidos.
Cuando I2C_SLV0_REG_DIS se establece en 1, la transacción solo leerá o escribirá datos. Cuando se borra a 0, la transacción
escribirá una dirección de registro antes de leer o escribir datos. Este bit debe ser igual a 0 al especificar la dirección de registro
dentro del dispositivo esclavo hacia/desde el cual se llevará a cabo la siguiente transacción de datos.
19 de 46
Machine Translated by Google
I2C_SLV0_GRP especifica el orden de agrupación de los pares de palabras recibidos de los registros. Cuando se pone a 0, los bytes de
las direcciones de registro 0 y 1, 2 y 3, etc. (direcciones de registro pares y luego impares) se emparejan para formar una palabra. Cuando
se establece en 1, los bytes de las direcciones de registro se emparejan 1 y 2, 3 y 4, etc. (las direcciones de registro impares y luego pares)
se emparejan para formar una palabra.
Las transacciones de datos I 2C se realizan a la frecuencia de muestreo, como se define en el Registro 25. El usuario es responsable de
garantizar que las transacciones de datos I 2C hacia y desde cada esclavo habilitado puedan completarse dentro de un único período de la
frecuencia de muestreo.
La tasa de acceso esclavo I2C se puede reducir en relación con la tasa de muestreo. Esta tasa de acceso reducida está determinada por
I2C_MST_DLY (Registro 52). I2C_MST_DELAY_CTRL (Registro 103) determina si la tasa de acceso de un esclavo se reduce en relación
con la tasa de muestreo.
El orden de procesamiento de los esclavos es fijo. La secuencia seguida para procesar los esclavos es Esclavo 0, Esclavo 1, Esclavo 2,
Esclavo 3 y Esclavo 4. Si un Esclavo en particular está deshabilitado, se omitirá.
Se puede acceder a cada esclavo a la frecuencia de muestreo o a una frecuencia de muestreo reducida. En el caso de que se acceda a
algunos esclavos a la velocidad de muestreo y a algunos esclavos a la velocidad reducida, se sigue la secuencia de acceso a los esclavos
(Esclavo 0 a Esclavo 4). Sin embargo, los esclavos de tarifa reducida se omitirán si su tarifa de acceso dicta que no se debe acceder a ellos
durante ese ciclo en particular. Para obtener más información sobre la velocidad de acceso reducida, consulte el Registro 52. Si se accede
a un esclavo a la velocidad de muestreo o a la velocidad reducida se determina mediante los bits de habilitación de retardo en el Registro
103.
Parámetros:
I2C_SLV0_RW Cuando se establece en 1, este bit configura la transferencia de datos como una operación de lectura.
Cuando se pone a 0, este bit configura la transferencia de datos como una operación de escritura.
I2C_SLV0_ADDR Dirección I2C de 7 bits del Esclavo 0.
I2C_SLV0_REG Dirección de 8 bits del registro Esclavo 0 hacia/desde el cual comienza la transferencia de datos.
I2C_SLV0_EN Cuando se establece en 1, este bit habilita al Esclavo 0 para operaciones de transferencia de datos.
Cuando se pone a 0, este bit desactiva al Esclavo 0 de las operaciones de transferencia de datos.
I2C_SLV0_BYTE_SW Cuando se establece en 1, este bit permite el intercambio de bytes. Cuando el intercambio de bytes está habilitado,
se intercambian los bytes alto y bajo de un par de palabras. Consulte I2C_SLV0_GRP para conocer la
convención de emparejamiento de pares de palabras.
Cuando se borra a 0, los bytes transferidos hacia y desde el Esclavo 0 se escribirán en los registros
EXT_SENS_DATA en el orden en que fueron transferidos.
I2C_SLV0_GRP Valor de 1 bit que especifica el orden de agrupación de los pares de palabras recibidos de los registros.
Cuando se pone a 0, los bytes de las direcciones de registro 0 y 1, 2 y 3, etc. (direcciones de registro
pares y luego impares) se emparejan para formar una palabra. Cuando se establece en 1, los bytes de
las direcciones de registro se emparejan 1 y 2, 3 y 4, etc. (las direcciones de registro impares y luego
pares) se emparejan para formar una palabra.
I2C_SLV0_LEN Valor sin signo de 4 bits. Especifica el número de bytes transferidos hacia y desde el Esclavo 0.
20 de 46
Machine Translated by Google
1. El primer byte, leído del registro Esclavo 0 0x01, se almacenará en EXT_SENS_DATA_00. Debido a que I2C_SLV0_GRP
= 0, los bytes de las direcciones de registro pares y luego impares se emparejarán como pares de palabras. Dado que la
operación de lectura comenzó desde una dirección de registro impar en lugar de una dirección par, solo se lee un byte.
2. El segundo y tercer bytes se intercambiarán, ya que I2C_SLV0_BYTE_SW = 1 e I2C_SLV0_REG[0] = 1. Los datos leídos
de 0x02 se almacenarán en EXT_SENS_DATA_02 y los datos leídos de 0x03 se almacenarán en EXT_SENS_DATA_01.
3. El último byte, leído desde la dirección 0x04, se almacenará en EXT_SENS_DATA_03. porque hay
Si solo queda un byte en la operación de lectura, no se producirá el intercambio de bytes.
21 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
28 40 I2C_SLV1
I2C_SLV1_ADDR[6:0]
_RW
29 41 I2C_SLV1_REG[7:0]
I2C_SLV1
2A 42 I2C_SLV1 I2C_SLV1_ I2C_SLV
_BYTE I2C_SLV1_LEN[3:0]
_ES REG_DIS 1_GRP
_SUDOESTE
Descripción:
Estos registros describen la secuencia de transferencia de datos para el Esclavo 1. Sus funciones corresponden a las
descrito para los registros Esclavo 0 (Registros 37 a 39).
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
2B 43 I2C_SLV2
I2C_SLV2_ADDR[6:0]
_RW
2C 44 I2C_SLV2_REG[7:0]
I2C_SLV2
2D 45 I2C_SLV2 I2C_SLV2_ I2C_SLV
_BYTE I2C_SLV2_LEN[3:0]
_ES REG_DIS 2_GRP
_SUDOESTE
Descripción:
Estos registros describen la secuencia de transferencia de datos para el Esclavo 2. Sus funciones corresponden a las
descritas para los registros del Esclavo 0 (Registros 37 a 39).
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
2E 46 I2C_SLV3
I2C_SLV3_ADDR[6:0]
_RW
2F 47 I2C_SLV3_REG[7:0]
I2C_SLV3
30 48 I2C_SLV3 I2C_SLV3_ I2C_SLV
_BYTE I2C_SLV3_LEN[3:0]
_ES REG_DIS 3_GRP
_SUDOESTE
Descripción:
Estos registros describen la secuencia de transferencia de datos para el Esclavo 3. Sus funciones corresponden a las
descritas para los registros del Esclavo 0 (Registros 37 a 39).
22 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
31 49 I2C_SLV4
I2C_SLV4_ADDR[6:0]
_RW
32 50 I2C_SLV4_REG[7:0]
33 51 I2C_SLV4_DO[7:0]
Descripción:
Estos registros describen la secuencia de transferencia de datos para el Esclavo 4. Las características del Esclavo 4 difieren
mucho de las de los Esclavos 03. Para obtener más información sobre las características de los Esclavos 03, consulte los
Registros 37 a 48.
Las transacciones de datos del esclavo I 2C entre el MPU60X0 y el Esclavo 4 se configuran como operaciones de lectura o
escritura mediante el bit I2C_SLV4_RW . Cuando este bit es 1, la transferencia es una operación de lectura. Cuando el bit es
0, la transferencia es una operación de escritura.
La transferencia de datos comienza en un registro interno dentro del Esclavo 4. Esta dirección de registro está especificada
por I2C_SLV4_REG.
En modo lectura, el resultado de la lectura estará disponible en I2C_SLV4_DI. En modo de escritura, el contenido de
I2C_SLV4_DO se escribirá en el dispositivo esclavo.
Una transacción de datos se realiza solo si el bit I2C_SLV4_EN está establecido en 1. La transacción de datos debe habilitarse
una vez que sus parámetros estén configurados en los registros _ADDR y _REG. Para escribir, también se requiere el registro
_DO. I2C_SLV4_EN se borrará después de que la transacción se realice una vez.
Se activa una interrupción al finalizar una transacción de datos del Esclavo 4 si la interrupción está habilitada.
El estado de esta interrupción se puede observar en el Registro 54.
Cuando I2C_SLV4_REG_DIS se establece en 1, la transacción leerá o escribirá datos en lugar de escribir una dirección de
registro. Este bit debe ser igual a 0 al especificar la dirección de registro dentro del dispositivo esclavo hacia/desde el cual se
llevará a cabo la siguiente transacción de datos.
I2C_MST_DLY configura la tasa de acceso reducida de los esclavos I 2C en relación con la tasa de muestreo. Cuando la
velocidad de acceso de un esclavo disminuye en relación con la frecuencia de muestreo, se accede al esclavo cada
1 / (1 + I2C_MST_DLY) muestras
Esta frecuencia de muestreo base, a su vez, está determinada por SMPLRT_DIV (registro 25) y DLPF_CFG.
(registro 26). I2C_MST_DELAY_CTRL (registro 103) determina si la tasa de acceso de un esclavo se reduce en relación con
la tasa de muestreo.
Para obtener más información sobre la frecuencia de muestreo, consulte el registro 25.
Las transacciones del Esclavo 4 se realizan después de que se hayan completado las transacciones del Esclavo 0, 1, 2 y 3.
Por lo tanto, la tasa máxima para las transacciones del Esclavo 4 está determinada por la Tasa de muestreo definida en el
Registro 25.
23 de 46
Machine Translated by Google
Parámetros:
I2C_SLV4_RW Cuando se establece en 1, este bit configura la transferencia de datos como una operación de lectura.
Cuando se pone a 0, este bit configura la transferencia de datos como una operación de escritura.
I2C_SLV4_REG Dirección de 8 bits del registro Esclavo 4 hacia/desde el cual comienza la transferencia de datos.
I2C_SLV4_EN Cuando se establece en 1, este bit habilita al Esclavo 4 para operaciones de transferencia de datos.
Cuando se pone a 0, este bit desactiva al Esclavo 4 de las operaciones de transferencia de datos.
I2C_SLV4_INT_EN Cuando se establece en 1, este bit permite la generación de una señal de interrupción al completar
una transacción del Esclavo 4.
Cuando se pone a 0, este bit desactiva la generación de una señal de interrupción al completar
una transacción del Esclavo 4.
I2C_MST_DLY Configura la tasa de acceso reducida de los dispositivos esclavos en relación con la tasa de
muestreo.
24 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
APROBAR_ I2C_SLV4 I2C_LOST I2C_SLV4 I2C_SLV3 I2C_SLV2 I2C_SLV1 I2C_SLV0
36 54 A TRAVÉS DE _HECHO _ARB _NACK _NACK _NACK _NACK _NACK
Descripción:
Este registro muestra el estado de las señales que generan interrupciones en el I2C Master dentro del MPU60X0.
Este registro también comunica el estado de la interrupción FSYNC al procesador host.
La lectura de este registro borrará todos los bits de estado del registro.
Parámetros:
PASS_THROUGH Este bit refleja el estado de la interrupción FSYNC desde un dispositivo externo al MPU60X0.
Esto se utiliza como una forma de pasar una interrupción externa a través del MPU60X0
al procesador de aplicaciones del host. Cuando se establece en 1, este bit provocará
una interrupción si se afirma FSYNC_INT_EN en INT_PIN_CFG (Registro 55).
I2C_SLV4_DONE Se establece automáticamente en 1 cuando se completa una transacción del Esclavo 4. Esto
desencadena una interrupción si se afirma el bit I2C_MST_INT_EN en el registro
INT_ENABLE (Registro 56) y si se afirma el bit SLV_4_DONE_INT en el registro
I2C_SLV4_CTRL (Registro 52).
I2C_LOST_ARB Este bit se establece automáticamente en 1 cuando el maestro I2C ha perdido el
arbitraje del bus I2C auxiliar (una condición de error). Esto desencadena una interrupción
si se afirma el bit I2C_MST_INT_EN en el registro INT_ENABLE (Registro 56).
I2C_SLV4_NACK Este bit se establece automáticamente en 1 cuando el maestro I2C recibe un NACK en una
transacción con el esclavo 4. Esto desencadena una interrupción si el I2C_MST_INT_EN
Se afirma el bit en el registro INT_ENABLE (Registro 56).
I2C_SLV3_NACK Este bit se establece automáticamente en 1 cuando el maestro I2C recibe un NACK en una
transacción con el esclavo 3. Esto desencadena una interrupción si el I2C_MST_INT_EN
Se afirma el bit en el registro INT_ENABLE (Registro 56).
I2C_SLV2_NACK Este bit se establece automáticamente en 1 cuando el maestro I2C recibe un NACK en una
transacción con el esclavo 2. Esto desencadena una interrupción si el I2C_MST_INT_EN
Se afirma el bit en el registro INT_ENABLE (Registro 56).
I2C_SLV1_NACK Este bit se establece automáticamente en 1 cuando el maestro I2C recibe un NACK en una
transacción con el esclavo 1. Esto desencadena una interrupción si el I2C_MST_INT_EN
Se afirma el bit en el registro INT_ENABLE (Registro 56).
I2C_SLV0_NACK Este bit se establece automáticamente en 1 cuando el maestro I2C recibe un NACK en una
transacción con el esclavo 0. Esto desencadena una interrupción si el I2C_MST_INT_EN
Se afirma el bit en el registro INT_ENABLE (Registro 56).
25 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
I2C
PESTILLO INT_RD FSYNC_ FSYNC_
37 55 INT_LEVEL INT_OPEN
_INT_ES _CLARO INT_LEVEL INT_ES
_DERIVACIÓN
_ES
Descripción:
Este registro configura el comportamiento de las señales de interrupción en los pines INT. Este registro también se usa para permitir
que el pin FSYNC se use como una interrupción para el procesador de aplicaciones del host, así como para habilitar el modo Bypass
en el I 2C Master. Este bit también habilita la salida del reloj.
FSYNC_INT_EN permite que el pin FSYNC se utilice como una interrupción para el procesador de aplicaciones del host. Una
transición al nivel activo especificado en FSYNC_INT_LEVEL provocará una interrupción.
El estado de esta interrupción se lee del bit PASS_THROUGH en el Registro de Estado Maestro I2C (Registro 54).
Cuando I2C_BYPASS_EN es igual a 1 y I2C_MST_EN (Registro de 106 bits [5]) es igual a 0, el procesador de aplicaciones del host
podrá acceder directamente al bus I2C auxiliar del MPU60X0. Cuando este bit es igual a 0, el procesador de la aplicación host no
podrá acceder directamente al bus I2C auxiliar del MPU60X0 independientemente del estado de I2C_MST_EN.
Para obtener más información sobre el modo de derivación, consulte las secciones 7.11 y 7.13 del documento de especificaciones
del producto MPU6000/MPU6050.
Parámetros:
INT_LEVEL Cuando este bit es igual a 0, el nivel lógico para el pin INT está activo alto.
Cuando este bit es igual a 1, el nivel lógico para el pin INT está activo bajo.
INT_ABIERTO Cuando este bit es igual a 0, el pin INT está configurado como pushpull.
Cuando este bit es igual a 1, el pin INT se configura como drenaje abierto.
LATCH_INT_ES Cuando este bit es igual a 0, el pin INT emite un pulso de 50us de longitud.
Cuando este bit es igual a 1, el pin INT se mantiene alto hasta que se borre la interrupción.
INT_RD_CLEAR Cuando este bit es igual a 0, los bits de estado de interrupción se borran solo leyendo
INT_STATUS (Registro 58)
Cuando este bit es igual a 1, los bits de estado de interrupción se borran en cualquier
operación de lectura.
FSYNC_INT_LEVEL Cuando este bit es igual a 0, el nivel lógico para el pin FSYNC (cuando se usa como interrupción para el
procesador host) está activo alto.
Cuando este bit es igual a 1, el nivel lógico para el pin FSYNC (cuando se usa como interrupción
para el procesador host) está activo bajo.
FSYNC_INT_ES Cuando es igual a 0, este bit desactiva el pin FSYNC para que no cause una interrupción en el
procesador host.
Cuando es igual a 1, este bit permite que el pin FSYNC se utilice como interrupción para el procesador
host.
26 de 46
Machine Translated by Google
I2C_BYPASS_EN Cuando este bit es igual a 1 y I2C_MST_EN (Registro 106 bit[5]) es igual a 0, el procesador de aplicaciones
host podrá acceder directamente al bus I 2C auxiliar del MPU60X0.
Cuando este bit es igual a 0, el procesador de la aplicación host no podrá acceder directamente
al bus I2C auxiliar del MPU60X0 independientemente del estado de I2C_MST_EN (Registro 106
bit[5]).
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
FIFO
I2C_MST DATOS
38 56 _FLUJO
_INT_ES _RDY_ES
_ES
Descripción:
Para obtener información sobre el estado de interrupción para cada fuente de generación de interrupciones, consulte el Registro
58. Puede encontrar más información sobre la generación de interrupciones I 2C Master en el Registro 54.
Parámetros:
FIFO_OFLOW_EN Cuando se establece en 1, este bit permite que un desbordamiento del búfer FIFO genere una interrupción.
I2C_MST_INT_EN Cuando se establece en 1, este bit permite que cualquiera de las fuentes de interrupción maestra I2C
generar una interrupción.
DATA_RDY_EN Cuando se establece en 1, este bit habilita la interrupción de datos listos, que ocurre cada vez que
se completa una operación de escritura en todos los registros del sensor.
27 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
FIFO
DATOS
3A 58
_FLUJO
I2C_MST
_EN T _RDY_INT
_EN T
Descripción:
Este registro muestra el estado de interrupción de cada fuente de generación de interrupciones. Cada bit se borrará después de leer el
registro.
Para obtener información sobre los bits de habilitación de interrupción correspondientes, consulte el Registro 56.
Para obtener una lista de interrupciones maestras I2C , consulte el Registro 54.
Parámetros:
FIFO_OFLOW_INT Este bit se establece automáticamente en 1 cuando se produce una interrupción por desbordamiento del búfer FIFO.
sido generado.
I2C_MST_INT Este bit se establece automáticamente en 1 cuando se genera una interrupción maestra I2C . Para
obtener una lista de interrupciones maestras I2C , consulte el Registro 54.
DATOS_RDY_INT Este bit se establece automáticamente en 1 cuando se genera una interrupción de Datos listos.
28 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
3B 59 ACCEL_XOUT[15:8]
3C 60 ACCEL_XOUT[7:0]
3D 61 ACCEL_YOUT[15:8]
3E 62 ACCEL_YOUT[7:0]
3F 63 ACCEL_ZOUT[15:8]
40 64 ACCEL_ZOUT[7:0]
Descripción:
Las mediciones del acelerómetro se escriben en estos registros a la frecuencia de muestreo definida en el registro 25.
Los registros de medición del acelerómetro, junto con los registros de medición de temperatura, los registros de medición del
giroscopio y los registros de datos de sensores externos, se componen de dos conjuntos de registros: un conjunto de registros
internos y un conjunto de registros de lectura de cara al usuario.
Los datos dentro del conjunto de registros internos de los sensores del acelerómetro siempre se actualizan a la frecuencia de
muestreo. Mientras tanto, el conjunto de registros de lectura de cara al usuario duplica los valores de datos del conjunto de registros internos.
siempre que la interfaz serie esté inactiva. Esto garantiza que una lectura en ráfaga de los registros del sensor leerá las mediciones
del mismo instante de muestreo. Tenga en cuenta que si no se utilizan lecturas en ráfaga, el usuario es responsable de garantizar
que un conjunto de lecturas de un solo byte corresponda a un único instante de muestreo verificando la interrupción de Datos listos.
Cada medición del acelerómetro de 16 bits tiene una escala completa definida en ACCEL_FS (Registro 28). Para cada configuración
de escala completa, la sensibilidad de los acelerómetros por LSB en ACCEL_xOUT se muestra en la siguiente tabla.
Parámetros:
29 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
41 sesenta y cinco
TEMP_OUT[15:8]
42 66 TEMP_OUT[7:0]
Descripción:
Las mediciones de temperatura se escriben en estos registros a la frecuencia de muestreo definida en el registro 25.
Estos registros de medición de temperatura, junto con los registros de medición del acelerómetro, los registros de medición del
giroscopio y los registros de datos de sensores externos, se componen de dos conjuntos de registros: un conjunto de registros
internos y un conjunto de registros de lectura de cara al usuario.
Los datos dentro del conjunto de registros internos del sensor de temperatura siempre se actualizan a la frecuencia de muestreo.
Mientras tanto, el conjunto de registros de lectura de cara al usuario duplica los valores de datos del conjunto de registros internos.
siempre que la interfaz serie esté inactiva. Esto garantiza que una lectura en ráfaga de los registros del sensor leerá las mediciones
del mismo instante de muestreo. Tenga en cuenta que si no se utilizan lecturas en ráfaga, el usuario es responsable de garantizar
que un conjunto de lecturas de un solo byte corresponda a un único instante de muestreo verificando la interrupción de Datos listos.
El factor de escala y la compensación para el sensor de temperatura se encuentran en la tabla de Especificaciones eléctricas
(Sección 6.4 del documento de Especificaciones del producto MPU6000/MPU6050).
Temperatura en grados C = (Valor de registro TEMP_OUT como cantidad con signo)/340 + 36,53
Parámetros:
30 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
43 67 GYRO_XOUT[15:8]
44 68 GYRO_XOUT[7:0]
45 69 GYRO_YOUT[15:8]
46 70 GYRO_YOUT[7:0]
47 71 GYRO_ZOUT[15:8]
48 72 GYRO_ZOUT[7:0]
Descripción:
Las mediciones del giroscopio se escriben en estos registros a la frecuencia de muestreo definida en el Registro 25.
Estos registros de medición de giroscopio, junto con los registros de medición del acelerómetro, los registros de medición de
temperatura y los registros de datos de sensores externos, se componen de dos conjuntos de registros: un conjunto de registros
internos y un conjunto de registros de lectura de cara al usuario.
Los datos dentro del conjunto de registros internos de los sensores de giroscopio siempre se actualizan a la frecuencia de muestreo.
Mientras tanto, el conjunto de registros de lectura de cara al usuario duplica los valores de datos del conjunto de registros internos
siempre que la interfaz serie esté inactiva. Esto garantiza que una lectura en ráfaga de los registros del sensor leerá las mediciones
del mismo instante de muestreo. Tenga en cuenta que si no se utilizan lecturas en ráfaga, el usuario es responsable de garantizar
que un conjunto de lecturas de un solo byte corresponda a un único instante de muestreo verificando la interrupción de Datos listos.
Cada medición de giroscopio de 16 bits tiene una escala completa definida en FS_SEL (Registro 27). Para cada configuración de
escala completa, la sensibilidad de los giroscopios por LSB en GYRO_xOUT se muestra en la siguiente tabla:
Parámetros:
31 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
49 73 EXT_SENS_DATA_00[7:0]
4A 74 EXT_SENS_DATA_01[7:0]
4B 75 EXT_SENS_DATA_02[7:0]
4C 76 EXT_SENS_DATA_03[7:0]
4D 77 EXT_SENS_DATA_04[7:0]
4E 78 EXT_SENS_DATA_05[7:0]
4F 79 EXT_SENS_DATA_06[7:0]
50 80 EXT_SENS_DATA_07[7:0]
51 81 EXT_SENS_DATA_08[7:0]
52 82 EXT_SENS_DATA_09[7:0]
53 83 EXT_SENS_DATA_10[7:0]
54 84 EXT_SENS_DATA_11[7:0]
55 85 EXT_SENS_DATA_12[7:0]
56 86 EXT_SENS_DATA_13[7:0]
57 87 EXT_SENS_DATA_14[7:0]
58 88 EXT_SENS_DATA_15[7:0]
59 89 EXT_SENS_DATA_16[7:0]
5A 90 EXT_SENS_DATA_17[7:0]
5B 91 EXT_SENS_DATA_18[7:0]
5C 92 EXT_SENS_DATA_19[7:0]
5D 93 EXT_SENS_DATA_20[7:0]
5E 94 EXT_SENS_DATA_21[7:0]
5F 95 EXT_SENS_DATA_22[7:0]
60 96 EXT_SENS_DATA_23[7:0]
Descripción:
Estos registros almacenan datos leídos de sensores externos por el Esclavo 0, 1, 2 y 3 en la interfaz I2C auxiliar . Los
datos leídos por el Esclavo 4 se almacenan en I2C_SLV4_DI (Registro 53).
Los datos del sensor externo se escriben en estos registros a la velocidad de muestreo definida en el registro 25. Esta
velocidad de acceso se puede reducir utilizando los registros Slave Delay Enable (registro 103).
Los registros de datos de sensores externos, junto con los registros de medición del giroscopio, los registros de medición
del acelerómetro y los registros de medición de temperatura, se componen de dos conjuntos de registros: un conjunto de
registros internos y un conjunto de registros de lectura de cara al usuario.
Los datos dentro del conjunto de registros internos de los sensores externos siempre se actualizan a la frecuencia de
muestreo (o la velocidad de acceso reducida) siempre que la interfaz serie esté inactiva. Esto garantiza que una lectura en
ráfaga de los registros del sensor leerá las mediciones del mismo instante de muestreo. Tenga en cuenta que si no se
utilizan lecturas en ráfaga, el usuario es responsable de garantizar que un conjunto de lecturas de un solo byte corresponda
a un único instante de muestreo verificando la interrupción de Datos listos.
Los datos se colocan en estos registros de datos de sensores externos de acuerdo con I2C_SLV0_CTRL, I2C_SLV1_CTRL,
I2C_SLV2_CTRL e I2C_SLV3_CTRL (registros 39, 42, 45 y 48). Cuando se leen más de cero bytes (I2C_SLVx_LEN > 0)
de un esclavo habilitado (I2C_SLVx_EN = 1), el esclavo se lee a la frecuencia de muestreo (como se define en el registro
25) o a la velocidad de retardo (si se especifica en los registros 52 y 103). Durante cada ciclo de muestra, las lecturas de
esclavos se realizan en orden de número de esclavo. Si todos los esclavos están habilitados con más de cero bytes para
leer, el orden será Esclavo 0, seguido por Esclavo 1, Esclavo 2 y Esclavo 3.
32 de 46
Machine Translated by Google
Cada esclavo habilitado tendrá registros EXT_SENS_DATA asociados por número de bytes leídos (I2C_SLVx_LEN) en orden de
número de esclavo, comenzando desde EXT_SENS_DATA_00. Tenga en cuenta que esto significa que habilitar o deshabilitar un
esclavo puede cambiar los registros asociados de los esclavos con números más altos.
Además, si se leen menos bytes en total desde los sensores externos como resultado de dicho cambio, entonces los datos restantes
en los registros que ya no tienen un dispositivo esclavo asociado (es decir, registros con números altos) permanecerán en estos
registros previamente asignados a menos que reiniciar.
Si la suma de las longitudes de lectura de todas las transacciones SLVx excede el número de registros EXT_SENS_DATA
disponibles, los bytes sobrantes se eliminarán. Hay 24 registros EXT_SENS_DATA y, por lo tanto, la longitud total de lectura entre
todos los esclavos no puede ser mayor que 24 o se perderán algunos bytes.
Nota: El comportamiento del Esclavo 4 es distinto del de los Esclavos 03. Para obtener más información sobre las características
del Slave 4, consulte los registros 49 a 53.
Ejemplo:
Supongamos que el Esclavo 0 está habilitado con 4 bytes para leer (I2C_SLV0_EN = 1 y I2C_SLV0_LEN = 4) mientras que el
Esclavo 1 está habilitado con 2 bytes para leer (I2C_SLV1_EN=1 y I2C_SLV1_LEN = 2). En tal situación, EXT_SENS_DATA _00 a
_03 se asociarán con el Esclavo 0, mientras que
EXT_SENS_DATA _04 y 05 se asociarán con el Esclavo 1.
Si el Esclavo 2 también está habilitado, los registros que comiencen desde EXT_SENS_DATA_06 se asignarán al Esclavo 2.
Si el Esclavo 2 está deshabilitado mientras el Esclavo 3 está habilitado en esta misma situación, los registros que comiencen desde
EXT_SENS_DATA_06 se asignarán al Esclavo 3.
Si un esclavo se deshabilita en cualquier momento, el espacio inicialmente asignado al esclavo en el registro EXT_SENS_DATA
permanecerá asociado con ese esclavo. Esto es para evitar el ajuste dinámico de la asignación de registros.
La asignación de los registros EXT_SENS_DATA se vuelve a calcular solo cuando (1) todos los esclavos están deshabilitados o (2)
el bit I2C_MST_RST está establecido (Registro 106).
Lo anterior también es cierto si uno de los esclavos recibe NACK y deja de funcionar.
33 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
63 99 I2C_SLV0_DO[7:0]
Descripción:
Este registro contiene los datos de salida escritos en el Esclavo 0 cuando el Esclavo 0 está configurado en modo de escritura.
Para obtener más información sobre el control del Esclavo 0, consulte los registros 37 a 39.
Parámetros:
I2C_SLV0_DO Valor sin signo de 8 bits que se escribe en el Esclavo 0 cuando el Esclavo 0 está configurado para escribir
modo.
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
64 100 I2C_SLV1_DO[7:0]
Descripción:
Este registro contiene los datos de salida escritos en el Esclavo 1 cuando el Esclavo 1 está configurado en modo de escritura.
Para obtener más información sobre el control del Esclavo 1, consulte los registros 40 a 42.
Parámetros:
I2C_SLV1_DO Valor sin signo de 8 bits que se escribe en el Esclavo 1 cuando el Esclavo 1 está configurado para escribir
modo.
34 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
sesenta y cinco 101 I2C_SLV2_DO[7:0]
Descripción:
Este registro contiene los datos de salida escritos en el Esclavo 2 cuando el Esclavo 2 está configurado en modo de escritura.
Para obtener más información sobre el control del Esclavo 2, consulte los registros 43 a 45.
Parámetros:
I2C_SLV2_DO Valor sin signo de 8 bits que se escribe en el Esclavo 2 cuando el Esclavo 2 está configurado para escribir
modo.
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
66 102 I2C_SLV3_DO[7:0]
Descripción:
Este registro contiene los datos de salida escritos en el Esclavo 3 cuando el Esclavo 3 está configurado en modo de escritura.
Para obtener más información sobre el control del Esclavo 3, consulte los registros 46 a 48.
Parámetros:
I2C_SLV3_DO Valor sin signo de 8 bits que se escribe en el Esclavo 3 cuando el Esclavo 3 está configurado para escribir
modo.
35 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
DEMORA
I2C_SLV4 I2C_SLV3 I2C_SLV2 I2C_SLV1 I2C_SLV0
67 103 _ES
_DLY_ES _DLY_ES _DLY_ES _DLY_ES _DLY_ES
_SOMBRA
Descripción:
Este registro se utiliza para especificar el momento del sombreado de datos del sensor externo. El registro también se utiliza para
disminuir la velocidad de acceso de los dispositivos esclavos en relación con la frecuencia de muestreo.
Cuando DELAY_ES_SHADOW se establece en 1, el sombreado de los datos del sensor externo se retrasa hasta que se hayan
recibido todos los datos.
Cuando la velocidad de acceso de un esclavo disminuye en relación con la frecuencia de muestreo, se accede al esclavo cada
Esta frecuencia de muestreo base, a su vez, está determinada por SMPLRT_DIV (registro 25) y DLPF_CFG.
(registro 26).
Para obtener más información sobre la frecuencia de muestreo, consulte el registro 25.
Parámetros:
DELAY_ES_SHADOW Cuando se configura, retrasa el sombreado de los datos del sensor externo hasta que se
hayan recibido todos los datos.
I2C_SLV4_DLY_EN Cuando está habilitado, solo se accederá al esclavo 4 a una velocidad reducida.
I2C_SLV3_DLY_EN Cuando está habilitado, solo se accederá al esclavo 3 a una velocidad reducida.
I2C_SLV2_DLY_EN Cuando está habilitado, solo se accederá al esclavo 2 a una velocidad reducida.
I2C_SLV1_DLY_EN Cuando está habilitado, solo se accederá al esclavo 1 a una velocidad reducida.
I2C_SLV0_DLY_EN Cuando está habilitado, solo se accederá al esclavo 0 a una velocidad reducida.
36 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
Acelerar
68 104
GIROSCOPIO TEMPERATURA
Descripción:
Este registro se utiliza para restablecer las rutas de señales analógicas y digitales del giroscopio, acelerómetro y sensores de
temperatura.
El reinicio revertirá la ruta de la señal de los convertidores y filtros analógicos a digitales a sus configuraciones de encendido.
Nota: Este registro no borra los registros del sensor. El reinicio también inicializa la interfaz serie.
Parámetros:
GYRO_RESET Cuando se establece en 1, este bit restablece las rutas de las señales analógicas y digitales del giroscopio.
ACEL_RESET Cuando se establece en 1, este bit restablece las rutas de las señales analógicas y digitales del
acelerómetro.
TEMP_RESET Cuando se establece en 1, este bit restablece las rutas de señal analógica y digital del sensor de
temperatura.
37 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
I2C_MST I2C_IF FIFO I2C_MST SIG_COND
6A 106 FIFO_EN
_ES _DIS _REINICIAR _REINICIAR _REINICIAR
Descripción:
Este registro permite al usuario habilitar y deshabilitar el búfer FIFO, el modo maestro I2C y la interfaz I 2C primaria . El búfer FIFO, el
maestro I2C , las rutas de señal del sensor y los registros del sensor también se pueden restablecer utilizando este registro.
Cuando I2C_MST_EN se establece en 1, el modo maestro I2C está habilitado. En este modo, el MPU60X0 actúa como maestro I2C
para los dispositivos esclavos de sensores externos en el bus I2C auxiliar . Cuando este bit se pone a 0, las líneas de bus I2C auxiliar
(AUX_DA y AUX_CL) son controladas lógicamente por el bus I2C primario (SDA y SCL). Esta es una condición previa para habilitar el
modo Bypass. Para obtener más información sobre el modo de derivación, consulte el Registro 55.
MPU6000: La interfaz SPI principal se habilitará en lugar de la interfaz I2C principal deshabilitada
cuando I2C_IF_DIS se establece en 1.
Parámetros:
Cuando este bit se pone a 0, el búfer FIFO se desactiva. No se puede escribir ni leer el búfer FIFO
mientras está deshabilitado.
Cuando este bit se pone a 0, las líneas de bus I2C auxiliar (AUX_DA y AUX_CL) son controladas
lógicamente por el bus I2C primario (SDA y SCL).
I2C_IF_DIS MPU6000: Cuando se establece en 1, este bit desactiva la interfaz I2C principal y
habilita la interfaz SPI en su lugar.
FIFO_RESET Este bit restablece el búfer FIFO cuando se establece en 1, mientras que FIFO_EN es igual a 0. Este bit
se borra automáticamente a 0 después de que se haya activado el reinicio.
I2C_MST_RESET Este bit restablece el maestro I2C cuando se establece en 1 mientras que I2C_MST_EN es igual a 0.
Este bit se borra automáticamente a 0 después de que se haya activado el reinicio.
38 de 46
Machine Translated by Google
SIG_COND_RESET Cuando se establece en 1, este bit restablece las rutas de señal para todos los sensores
(giroscopios, acelerómetros y sensores de temperatura). Esta operación también borrará
los registros del sensor. Este bit se borra automáticamente a 0 después de que se haya
activado el reinicio.
Al restablecer solo la ruta de la señal (y no los registros del sensor), utilice el Registro
104, SIGNAL_PATH_RESET.
39 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
DISPOSITIVO
6B 107 _REINICIAR
DORMIR CICLO TEMP_DIS CLKSEL[2:0]
Descripción:
Este registro permite al usuario configurar el modo de energía y la fuente del reloj. También proporciona un poco para
restablecer todo el dispositivo y un poco para desactivar el sensor de temperatura.
Al configurar SLEEP en 1, el MPU60X0 se puede poner en modo de suspensión de bajo consumo de energía. Cuando
CYCLE se establece en 1 mientras SLEEP está desactivado, el MPU60X0 se pondrá en modo de ciclo. En el modo de
ciclo, el dispositivo alterna entre el modo de suspensión y el modo de despertar para tomar una única muestra de datos
del acelerómetro a una velocidad determinada por LP_WAKE_CTRL (registro 108). Para configurar la frecuencia de
activación, utilice LP_WAKE_CTRL dentro del registro Power Management 2 (Registro 108).
Se puede seleccionar un oscilador interno de 8 MHz, un reloj basado en giroscopio o fuentes externas como
Fuente de reloj MPU60X0. Cuando se elige el oscilador interno de 8 MHz o una fuente externa como fuente de reloj, el MPU60X0
puede funcionar en modos de bajo consumo con los giroscopios desactivados.
Al encenderse, la fuente de reloj del MPU60X0 pasa por defecto al oscilador interno. Sin embargo, se recomienda
encarecidamente que el dispositivo esté configurado para utilizar uno de los giroscopios (o un reloj externo).
fuente) como referencia del reloj para mejorar la estabilidad. La fuente del reloj se puede seleccionar según la siguiente
tabla.
Para obtener más información sobre la fuente de reloj MPU60X0, consulte el documento de especificaciones del
producto MPU6000/MPU6050.
El bit 4 está reservado.
40 de 46
Machine Translated by Google
Parámetros:
DISPOSITIVO_RESET Cuando se establece en 1, este bit restablece todos los registros internos a sus valores predeterminados.
CICLO Cuando este bit se establece en 1 y SLEEP está desactivado, el MPU60X0 alternará entre el modo de
suspensión y el despertar para tomar una única muestra de datos de los sensores activos a una
velocidad determinada por LP_WAKE_CTRL (registro 108).
CLKSEL Valor sin signo de 3 bits. Especifica la fuente del reloj del dispositivo.
Nota:
Al usar la interfaz SPI, el usuario debe usar DEVICE_RESET (registro 107) así como SIGNAL_PATH_RESET
(registro 104) para garantizar que el reinicio se realice correctamente. La secuencia utilizada debe ser:
41 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
6C 108 LP_WAKE_CTRL[1:0] STBY_XA STBY_YA STBY_ZA STBY_XG STBY_YG STBY_ZG
Descripción:
Este registro permite al usuario configurar la frecuencia de los despertares en el modo de bajo consumo solo con acelerómetro.
Este registro también permite al usuario poner ejes individuales del acelerómetro y giroscopio en modo de espera.
El MPU60X0 se puede poner en modo de bajo consumo solo con acelerómetro siguiendo los siguientes pasos:
Todos los bits anteriores se pueden encontrar en el registro 1 de administración de energía (registro 107).
En este modo, el dispositivo apagará todos los dispositivos excepto la interfaz I2C principal , activando solo el acelerómetro a
intervalos fijos para tomar una sola medición. La frecuencia de los despertares se puede configurar con LP_WAKE_CTRL como
se muestra a continuación.
Para obtener más información sobre los modos de energía del MPU6050, consulte el Registro 107.
El usuario puede poner los ejes individuales del acelerómetro y giroscopio en modo de espera utilizando este registro. Si el
dispositivo utiliza un eje de giroscopio como fuente de reloj y este eje se pone en modo de espera, la fuente de reloj cambiará
automáticamente al oscilador interno de 8 MHz.
Parámetros:
Especifica la frecuencia de los despertares durante el modo de bajo consumo solo con acelerómetro.
STBY_XA Cuando se establece en 1, este bit pone el acelerómetro del eje X en modo de espera.
STBY_YA Cuando se establece en 1, este bit pone el acelerómetro del eje Y en modo de espera.
STBY_ZA Cuando se establece en 1, este bit pone el acelerómetro del eje Z en modo de espera.
STBY_XG Cuando se establece en 1, este bit pone el giroscopio del eje X en modo de espera.
STBY_YG Cuando se establece en 1, este bit pone el giroscopio del eje Y en modo de espera.
STBY_ZG Cuando se establece en 1, este bit pone el giroscopio del eje Z en modo de espera.
42 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
72 114 FIFO_COUNT[15:8]
73 115 FIFO_COUNT[7:0]
Descripción:
Estos registros realizan un seguimiento del número de muestras actualmente en el búfer FIFO.
Estos registros ocultan el valor del recuento FIFO. Ambos registros se cargan con el recuento de muestras actual cuando se lee
FIFO_COUNT_H (Registro 72).
Nota: Leer solo FIFO_COUNT_L no actualizará los registros al recuento de muestra actual.
Primero se debe acceder a FIFO_COUNT_H para actualizar el contenido de ambos registros.
FIFO_COUNT siempre debe leerse en orden altobajo para garantizar que se lea el valor de recuento FIFO más actual.
Parámetros:
FIFO_COUNT Valor sin signo de 16 bits. Indica el número de bytes almacenados en el búfer FIFO. Este número
es, a su vez, el número de bytes que se pueden leer del búfer FIFO y es directamente proporcional
al número de muestras disponibles dado el conjunto de datos del sensor que se almacenarán en
el FIFO (registros 35 y 36).
43 de 46
Machine Translated by Google
Tipo: lectura/escritura
Registro Registro
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
74 116 FIFO_DATOS[7:0]
Descripción:
Este registro se utiliza para leer y escribir datos del búfer FIFO.
Los datos se escriben en FIFO en orden de número de registro (de menor a mayor). Si todos los indicadores de habilitación FIFO
(ver a continuación) están habilitados y todos los registros de datos de sensores externos (registros 73 a 96) están asociados con
un dispositivo esclavo, el contenido de los registros 59 a 96 se escribirá en orden a la frecuencia de muestreo.
El contenido de los registros de datos del sensor (registros 59 a 96) se escriben en el búfer FIFO cuando
sus correspondientes indicadores de habilitación FIFO se establecen en 1 en FIFO_EN (Registro 35). Se puede encontrar un
indicador adicional para los registros de datos del sensor asociados con I2C Slave 3 en I2C_MST_CTRL (Registro 36).
Si el búfer FIFO se ha desbordado, el bit de estado FIFO_OFLOW_INT se establece automáticamente en 1. Este bit se encuentra
en INT_STATUS (Registro 58). Cuando el búfer FIFO se desborda, los datos más antiguos se perderán y se escribirán datos
nuevos en el FIFO.
Si el búfer FIFO está vacío, la lectura de este registro devolverá el último byte leído previamente desde el FIFO hasta que haya
nuevos datos disponibles. El usuario debe verificar FIFO_COUNT para asegurarse de que el búfer FIFO no se lea cuando esté
vacío.
Parámetros:
44 de 46
Machine Translated by Google
Registro Registro Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
(Maleficio) (Decimal)
75 117 QUIÉN_SOY_YO[6:1]
Descripción:
Este registro se utiliza para verificar la identidad del dispositivo. El contenido de WHO_AM_I son los 6 bits
superiores de la dirección I2C de 7 bits del MPU60X0 . El bit menos significativo de la dirección I 2C del
MPU60X0 está determinado por el valor del pin AD0. El valor del pin AD0 no se refleja en este registro.
El valor predeterminado del registro es 0x68.
Los bits 0 y 7 están reservados. (Codificado de forma rígida a 0)
Parámetros:
45 de 46
Machine Translated by Google
Se cree que esta información proporcionada por InvenSense es precisa y confiable. Sin embargo, InvenSense no asume ninguna responsabilidad por su uso, ni por cualquier
infracción de patentes u otros derechos de terceros que puedan resultar de su uso. Las especificaciones están sujetas a cambios sin previo aviso. InvenSense se reserva el derecho
de realizar cambios en este producto, incluidos sus circuitos y software, para mejorar su diseño y/o rendimiento, sin previo aviso. InvenSense no ofrece garantías, ni expresas ni
implícitas, con respecto a la información y especificaciones contenidas en este documento. InvenSense no asume ninguna responsabilidad por ningún reclamo o daño que surja de
la información contenida en este documento, o del uso de los productos y servicios detallados en el mismo. Esto incluye, entre otros, reclamos o daños basados en la infracción de
patentes, derechos de autor, trabajos de máscaras y/u otros derechos de propiedad intelectual.
Cierta propiedad intelectual propiedad de InvenSense y descrita en este documento está protegida por patente. No se otorga ninguna licencia por implicación o de otro modo bajo
ninguna patente o derechos de patente de InvenSense. Esta publicación sustituye y reemplaza toda la información proporcionada anteriormente. Las marcas comerciales que son
marcas registradas son propiedad de sus respectivas compañías. Los sensores InvenSense no deben usarse ni venderse en el desarrollo, almacenamiento, producción o utilización
de armas convencionales o de destrucción masiva o para cualquier otra arma o aplicación que ponga en peligro la vida, así como en cualquier otra aplicación crítica para la vida,
como equipos médicos, transporte. , instrumentos aeroespaciales y nucleares, equipos submarinos, equipos para centrales eléctricas, equipos para prevención de desastres y
prevención del delito.
InvenSense® es una marca registrada de InvenSense, Inc. MPUTM , MPU6000TM , MPU6050TM , MPU60X0TM , Digital Motion Motion
Procesador™ , DMP ™, Processing Unit™, MotionFusion™ y MotionApps™ son marcas comerciales de InvenSense, Inc.
46 de 46