Você está na página 1de 7

HMC6343

Protocolo de Comunicacin I2C


El HMC6343 comunica a travs de un sistema de bus I 2C de dos hilos
como un dispositivo esclavo. El HMC6343 utiliza un protocolo de capas
con el protocolo de interfaz definido por la especificacin de bus I 2C y el
protocolo de comandos inferior definido por Honeywell. La velocidad de
datos es la velocidad de 100kbps en modo estndar como se define en
la Especificacin I2C Bus 2.1. El formato de bits de bus est a 8 bits de
datos/envo de direcciones y un 1-bit acknowledge. El formato de los
bytes de datos (carga til) ser caracteres ASCII maysculas y
minsculas o datos binarios al esclavo HMC6343, y los datos binarios
devueltos. Valores binarios negativos sern en forma de complemento a
dos. Por defecto (de fbrica) la direccin esclava de 7 bits del HMC6343
es 0x32 para operaciones de escritura, o 0x33 para operaciones de
lectura.
Las lneas Serial Clock (SCL) y el Serial Data (SDA) del HMC6343 no
tienen resistencias de pull-up internas, y requieren de resistencias de
pull-ups (Rp) entre el dispositivo maestro (por lo general un
microprocesador anfitrin) y el HMC6343. El valor de las resistencias de
pull-up recomendado es alrededor de 10k ohmios con una tensin de
alimentacin de 3,3 voltios nominales. Otros valores pueden ser
utilizados tal como se define en la Especificacin de bus I2C 2.1.
Las lneas SCL y SDA en esta especificacin de bus se pueden conectar a
una serie de dispositivos. El bus puede ser un solo maestro para varios
esclavos, o puede ser una configuracin maestro mltiple. Todas las
transferencias de datos son iniciadas por el dispositivo maestro que es
responsable de generar la seal de reloj, y las transferencias de datos
son de 8 bits de longitud. Todos los dispositivos estn direccionados por
la direccin de 7 bits nica de I 2C. Despus de cada transferencia de 8
bits, el dispositivo maestro genera un noveno pulso de reloj, y libera la
lnea SDA. El dispositivo receptor (dirigido esclavo) tirar la lnea SDA
bajo reconocer (ACK) la transferencia exitosa o deja la SDA alta para una
confirmacin negativa (NACK).
Por la especificacin I2C, todas las transiciones en la lnea SDA deben
ocurrir cuando SCL es baja. Este requisito conduce a dos condiciones
nicas en el bus asociadas con las transiciones SDA cuando SCL es alta.
Dispositivo maestro tirando de la lnea baja SDA mientras que la lnea
SCL es alta indica condicin de inicio (S), y la condicin de parada es
cuando la lnea SDA se tira alto, mientras que la lnea SCL es alta. El
protocolo I2C tambin permite la condicin de reinicio en la que el

dispositivo maestro emite una segunda condicin de arranque sin emitir


una parada.
SDA_Bajo + SCL_Alto = Condicin de inicio (S)
SDA_Alto + SCL_Alto = Condicin de parada (P)
Todas las transacciones de buses comienzan con el dispositivo maestro
emitiendo la secuencia de arranque seguido por el byte de direccin del
esclavo. El byte de direccin contiene la direccin del esclavo; los 7 bits
superiores (bits7-1), y el bit menos significativo (LSb). El LSb de la
direccin de byte designa si la operacin es una lectura (LSb = 1) o una
escritura (LSb = 0). Al noveno pulso de reloj, el dispositivo esclavo
receptor emitir el ACK (o NACK). Siguiendo estos eventos de buses, el
maestro enviar bytes de datos para una operacin de escritura, o el
esclavo registrar datos de salida con una operacin de lectura. Todas
las transacciones de bus se terminan con la secuencia de parada emitida
por el maestro.
El control del bus I2C puede ser implementado, ya sea con la lgica de
hardware o en software. Diseos de hardware tpicos dar a conocer las
lneas SDA y SCL segn sea apropiado para permitir al dispositivo
esclavo manipular estas lneas. En una implementacin de software, se
debe tener cuidado al realizar estas tareas en el cdigo.

I2C Address Slave


El byte de direccin del esclavo I2C consta de los 7 bits ms
significativos con el bit cero menos significativo lleno. Un antes, el valor
por defecto (de fbrica) descrito es 0x32 y el I2C legal delimita valores
que se encuentran entre 0x10 y 0xF6. Esta direccin de esclavo se
encuentra en la direccin EEPROM 0x00. Los usuarios pueden cambiar la
direccin del esclavo por escrito a esta ubicacin. Cualquier
actualizacin de direcciones entrarn en vigor despus de que el
siguiente arranque o despus de un comando de restablecimiento.

Versin del software


Este nmero de versin de software EEPROM byte contiene el valor
binario del software programado. Los valores de produccin de software
0x05 y ms all se consideran.

Desviacin de correccin del ngulo


Tpicamente, en el HMC6343 el eje X (o eje Z) se designa la direccin de
avance de la brjula, y se coloca mecnicamente hacia la direccin de
avance del producto del usuario final. El ngulo de desviacin se utiliza
para corregir los errores de ngulo mecnico en la orientacin paquete
aadiendo el ngulo de desviacin a la direccin de la brjula interna
antes de que el resultado sea puesto como encabezamiento
computarizada. Dos Bytes EEPROM se utilizan para almacenar el ngulo
de desviacin, y el valor binario esta en dcimas de grado y en dos
formas de complemento para una representacin de 1800. El ngulo
de desviacin MSB est situado en EEPROM registro 0x0B y el LSB en
0x0A.
Correccin Variacin ngulo
El ngulo de variacin o ngulo declinacin del HMC6343 es el nmero
de grados que debe aadirse a la direccin de la brjula interna para
convertir la direccin de referencia del norte magntico a la (verdadera)
direccin de referencia del norte geogrfico. Esta informacin de ngulo
se proporciona para el HMC6343 a partir de los datos de latitud y
longitud externos procesados a travs de una ecuacin del mundo del
modelo Magntico para calcular ngulo de variacin, o por tabla de
bsqueda. Dos Bytes EEPROM se utilizan para almacenar el ngulo de
variacin, y el valor binario est en dcimas de grado y en do formas de
complemento para una representacin de 1800. El ngulo de
desviacin MSB se encuentra en EEPROM registro 0x0D y el LSB en
0x0C.
Compensaciones magnetmetro
Los bytes de offset del magnetmetro son los valores almacenados
despus de la finalizacin de la ltima rutina de calibracin hard-iron de
fbrica o del usuario. Otros cambios de valor son posibles, pero se
sobrescribirn cuando se complete la siguiente rutina de calibracin.
Tenga en cuenta que estos valores de offset se aaden a los valores de
offset del sensor calculados por la rutina SET / RESET para convertir los
datos del magnetmetro primarios hasta los datos del magnetmetro
compensados. Estos valores se escriben en la direccin de la EEPROM de
0x0E a 0x13 y se cargan en la RAM en el encendido.
La partida de filtro
Esto permite una respuesta de impulso infinito (IIR) del filtro a emplear
en las salidas de datos de partida actuales y anteriores. Los valores
tpicos son de 0 a 15 con un defecto de fbrica de cero. El filtro slo se

aplica en modo de ejecucin donde un flujo continuo de datos est


presente. A la velocidad de actualizacin de 5 Hz por defecto, un valor
de filtro de 4 sera ponderar la ltima partida con las cuatro letras
anteriores coeficientes regresivos para un segundo valor de filtrado.
EEPROM Registros
El HMC6343 EEPROM contiene una memoria no voltil Ubicaciones
(registros) para almacenar datos de la brjula tiles para las rutinas de
procesador. La siguiente tabla muestra los valores predeterminados de
lugares de registro, contenido, descripcin, y enviado de fbrica.
La partida de filtro.
Esto permite una respuesta de impulso infinito (IIR) del filtro a emplear
en las salidas de datos de partida actuales y anteriores. Los valores
tpicos son de 0 a 15 y por defecto de fbrica es cero. El filtro slo se
aplica en modo de ejecucin donde un flujo continuo de datos est
presente. A la velocidad de actualizacin de 5 Hz por defecto, un valor
de filtro de 4 sera el peso de la ltima partida con las cuatro partidas
anteriores de coeficientes regresivos para un segundo valor de filtrado.
EEPROM Registros
El HMC6343 EEPROM contiene una memoria de ubicaciones (registros)
no voltil para almacenar datos de la brjula tiles para las rutinas de
procesador. La siguiente tabla muestra los valores predeterminados de
ubicaciones de registro, contenido, descripcin, y envo de fbrica por
defecto.

Protocolo de comandos
El protocolo de comandos define el contenido de los bytes datos (carga
til) de protocolo I2C enviados por el maestro, y el dispositivo esclavo
(HMC6343).
Despus de que el dispositivo maestro enva la direccin de 7 bits del
esclavo, el 1-bit de lectura/escritura, y obtiene el bit de acknowledge del
dispositivo esclavo de regres; los prximos uno a tres bytes de datos
enviados se definen como el comando de entrada y bytes de
argumentos. Para conservar el trfico de datos, todo dato de respuesta
(Ledo) ser sensible al contexto de la ltima orden (Write) enviada.
Todos los comandos de escritura tendrn la direccin del byte con el bit
menos significativo (0x32 predeterminado de fbrica) despejado. Estos
comandos luego siguen con el byte de comando y el comando especifico
de argumento, binario, formato y Bytes en la forma general de:
(Command Byte) (Argument Binary MS Byte) (Argument Binary LS Byte)

El esclavo (HMC6343) proporcionar los bits de acknowledge


(reconocimiento) entre cada byte de datos por el protocolo I2C. El Byte
de Respuesta de lectura est hecho para enviar la direccin del byte
(0x33 por defecto) con el menor bit significativo, y luego registra la

respuesta de los bytes de regreso, dependiendo del ultimo comando. La


Tabla 2 muestra los comandos y la respuesta del flujo de datos del
HMC6343.

Sincronizacin
Tras la aplicacin de energa al HMC6343, espere nominalmente 5
milisegundos antes de enviar el primer comando I2C (tpicamente un
byte 0x32 seguido de un byte de 0x50 para el habitual heading/pitch/roll).
Dependiendo del comando enviado, un tiempo de retardo se debe
insertar antes de fichar los bytes de respuesta (enviar 0x33, registra de
nuevo los bytes de respuesta). La siguiente tabla indica los tiempos de
retardo de respuesta para varios comandos.

Você também pode gostar