martes, 22 de enero de 2008

Coneccion


En la siguiente imagen se puede observar las conexiones de los diferentes pines del CMPS03, entre los que destaca la patilla 4 y la 2 - 3, que corresponden a los dos posibles interfaces que incorpora: el PWM (Pulse Witdh Modulation - Modulación por anchura de pulso) y el bus I2C formado por las señales SDA (señal de datos) y SCL (señal de reloj) y que es un interfaz serie bidireccional sincrono.











En la salida 4, se obtiene una señal PWM en la que el pulso positivo representa el angulo de la brujula. El pulso varia en duración desde 1mS (0º) hasta 36,99 ms (359,9 º), o dicho de otra forma, el pulso es igual a 100 uS por cada grado mas 1ms de tara. La señal permanece a cero durante 65 ms entre pulsos, por lo que el periodo de trabajo es de 65mS + la anchura del pulso. El pulso es generado por un contador de 16 bits del propio procesador, con una resolucion de 1 uS, aunque en la practica no es recomendable hacer mediciones con una resolucion de mas de 0,1º (10uS). Cuando use el interfaz PWM, es necesario conectar a +5V mediante 2 resistencias de 47 Kohm, los pines 2 y 3 (SCL - SDA) del interfaz I2C, ya que no se incluye resistencias de pull-up en el circuito.



La otra posibilidad es la de usar el interfaz I2C formado por los pines 2 y 3, que nos permite una lectura directa del valor en grados de la dirección. El protocolo de comunicación I2C empleado en el modulo, es el mismo que se emplea con la populares eeprom como la 24C04. Primero se envía un bit de comienzo, la dirección. del modulo (0XC0) con el bit de lectura a cero, y a continuación el numero del registro que se desea leer. Después se vuelve a mandar el bit de comienzo y la dirección. del modulo con el bit de lectura a uno (0XC1). Ahora se puede leer uno, o los dos bytes correspondientes a los registros de 8 y 16 bits respectivamente. (El byte de mayor peso se lee primero en los registros de 16 bits).






No hay comentarios: