1
Facultad de Ingeniería en Sistemas Electrónica e Industrial
COMUNICACIÓN SPI (MAESTRO/ESCLAVO)
MICROCONTROLADORES
Autores:
Guerrero Darío [email protected]
Jaramillo Esteban [email protected]
Llerena Sandra
Martínez Fabián [email protected]
Moyano Edisson [email protected]
Placencia Franklin
Pérez Christian [email protected]
Yacchirema Cristina [email protected]
“Estudiantes en formación Séptimo Electrónica, Facultad de Ingeniería en Sistemas Electrónica e Industrial, Ambato-Ecuador”
RESUMEN
En este documento veremos la comunicación
SPI entre un maestro y tres esclavos. Cada
esclavo maneja un sensor diferente como;
LM35, acelerómetro y potenciómetro de
esta forma el Maestro baja la señal SSTE ó
SS/Select a cero, con esto el Esclavo se activa
y empieza la transmisión. Además se contará
con el cálculo del CRC16 para verificar si este
dato enviado por el maestro será recibido de
forma correcta por cada uno de los esclavos,
los datos sensados y el CRC16 serán
mostrados en una LCD.
ABSTRACT
In this paper we will see a SPI
communication between a master and three
slaves. Each slave runs as a different sensor,
LM35, accelerometer and potentiometer
thus low signal Master SSTE or SS / Select
zero, with this Slave is activated and starts
transmission. In addition there will be the
calculation of CRC16 to verify whether this
2
Facultad de Ingeniería en Sistemas Electrónica e Industrial
data sent by the master will be correctly
received by each of the slaves, the sensed
data and CRC16 are displayed on an LCD.
PALABRAS CLAVES
SPI
Sensores
CRC16
Maestro
Esclavo
LM35
Acelerómetro
Potenciómetro
INTRODUCCIÓN
En los protocolos de comunicación existen
diferentes formas la transferencia de
información uno de ellos es SPI, el mismo
que permite la comunicación entre un
maestro y varios esclavos. En donde el
maestro es el encardo de enviar los
comandos exactos a cada uno de los esclavos
los cuales procesan la información requerida
sin embargo una de las características de
este tipo de comunicación es que los
esclavos no pueden enviar ningún tipo de
información sin petición alguna del maestro
además no existe comunicación entre
esclavos.
CARACTERÍSTICAS GENERALES
Secciones
Maestro
Para empezar la comunicación el maestro
activa el reloj a una determinada frecuencia
y pone en nivel bajo el Slave Select (SS) del
esclavo deseado. El maestro envía un bit por
la línea MOSI, el esclavo lee dicho bit por la
misma línea, para responder la petición del
maestro el esclavo envía un bit por la línea
MISO y el maestro lee dicho bit por la misma
línea. Cuando la información termina el
maestro detiene la señal de reloj y
deselecciona el esclavo con el cual estaba
comunicándose.
De esta manera el maestro podrá controlar 3
esclavos los que están interconectados a
sensores diferentes y así será capaz de
recibir, comprobar y presentar los datos
obtenidos desde sus esclavos.
Esclavo 1 (LM35)
Adquisición de datos de temperatura usando el sensor Lm35 este valor de temperatura se enviado al maestro en el momento que este lo solicite, utilizando comunicación SPI con el PIC 18F887. Recordando que el sensor LM35 lee hasta los 150 grados centígrados de temperatura.
3
Facultad de Ingeniería en Sistemas Electrónica e Industrial
Esclavo 2 (Potenciómetro)
Por medio del potenciómetro captaremos diferentes niveles de voltaje de 0V a 5V, el nivel de voltaje será enviado al maestro en el momento que este se no solicite
Esclavo 3 (Ultrasònico)A través del sensor ultrasónico Hc-sr04 se determinara la distancia existente entre el sensor y un objeto cualquiera este valor será enviado al maestro en el momento que este se no solicite
Figuras y tablas
Esclavo 2 (Potenciómetro)Voltaje = 5 * CAD/ 1024;
Esclavo 3 (Ultrasònico)
Para que se pueda diseñar el circuito, se
necesita saber el funcionamiento del
microcontrolador pic16f887 y su respectivo
datasheet.
Fig1.Datasheet pic16f887
Así mismo se utilizara el sensor ultrasónico
Hc-sr04 para el proyecto por lo que es
conveniente saber su configuración y
funcionamiento.
Fig2.Datasheet Hc-sr04
Fig3.Funcionamiento del sensor Hc-sr04
4
Facultad de Ingeniería en Sistemas Electrónica e Industrial
Funcionamiento:
1. Enviar un Pulso "1" de al menos de 10uS por el Pin Trigger (Disparador).
2. El sensor enviará 8 Pulsos de 40KHz (Ultrasonido) y coloca su salida Echo a alto (seteo), se debe detectar este evento e iniciar un conteo de tiempo.
3. La salida Echo se mantendrá en alto hasta recibir el eco reflejado por el obstáculo a lo cual el sensor pondrá su pin Echo a bajo, es decir, terminar de contar el tiempo.
4. Se recomienda dar un tiempo de aproximadamente 50ms de espera después de terminar la cuenta.
5. La distancia es proporcional a la duración del pulso y puedes calcularla con las siguiente formula (Utilizando la velocidad del sonido = 340m/s).
Distancia (cm) = Tiempo (us) x 0.017
Después de obtener la información necesaria
se procede al diseño del circuito para lo cual
programaremos al microcontrolador con las
35 instrucciones previamente consultadas en
el programa Mplab X.
Fig4.Diagrama esquemático del esclavo
Para el diseño del sensor de distancia nos
basamos en el diseño de Fig. 4 la diferencia
es que se realizara la programación para el
funcionamiento del microcontrolador en
Mplab X
Fig5.Còdigo del microcontrolador en Mplab X
PROPÓSITO
El propósito del presente proyecto es
establecer una comunicación SPI con una
trama propietaria y la utilización el
pic16f887, esta comunicación está conforma
por un solo maestro y tres esclavos.
5
Facultad de Ingeniería en Sistemas Electrónica e Industrial
CONCLUSIONES
En una comunicación maestro-
esclavo, el esclavo no puede
transmitir ninguna información sin
que existe una petición previa por
parte del maestro.
Mediante la comunicación SPI
podemos tener mayor velocidad ya
que está compuesto de tres líneas de
comunicación y una de selección.
La comunicación SPI es síncrona
haciendo posible enviar y recibir
información al mismo tiempo así
controlamos una señal de error
entre dispositivos conocido como
CRC para la verificación de una
comunicación exitosa
REFERENCIAS
1:http://www.forosdeelectronica.com/f24/voltimetro-pic-adc-49016/
2:http://josecifpn1sjd2.blogspot.com/2011/12/7-potenciometro-spi.html
3:López Pablo, Quintanilla Iván, “Proyecto previo a la obtención de título de tecnólogo en electrónica y comunicaciones” 2012 disponible en [1]
4:http://www.tecbolivia.com/ microcontroladores/comomedirdistanciasconlensorultrasonico.pdf