Está en la página 1de 3

Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2015, Barrera Kevin, Protocolo de comunicación

1-Wire

Protocolo de comunicación 1-Wire


Barrera Llanga Kevin Iván
E-mail: kevinivancho@hotmail.com

seleccionado físicamente, de esta forma es posible la


Abstract: In this document will be described which is comunicación en un bus. La comunicación puede ser
the communication protocol 1-Wire , and whether bidireccional aunque por limitaciones físicas no es
different characteristics including: specifications for use , posible realizar comunicaciones full duplex, solo soporta
the resumption of bus, as you can send and receive data half duplex como máximo. (Lozano, 2000)
, states that supports this type communication ,
commands and functions of the ROM , finally existing
times in the protocol and proper method of use.

Resumen: En este documento se describirá en que


consiste el protocolo de comunicación 1-Wire, así como
si diferentes características entre las cuales: las
especificaciones para su uso, el reinicio de Bus, como
se puede enviar y recibir datos, los estados que soporta
este tipo de comunicación, los comandos y funciones de
la ROM, finalmente los tiempos existentes en dicho
protocolo y su método adecuado de utilización.

PALABRAS CLAVE:

Bus digital, Datos, Estados 1-Wire, Protocolo 1-Wire,


ROM.

Figura1. Diagrama de tiempos del protocolo 1-Wire


I. Introducción
2.2 Características
El protocolo de comunicación 1-Wire es un
protocolo en serie diseñado por Dallas Semiconductor.
Está basado en un bus, un maestro y varios esclavos de Podemos señalar algunas características de éste
una sola línea de datos en la que se alimentan. Necesita tipo de bus:
una referencia a tierra común a todos los dispositivos.  Utiliza niveles de alimentación CMOS/TTL con
En principio los dispositivos de este tipo se alimentan un rango de operación que abarca desde 2.8V
con corrientes parasitas, poseen un único pin de datos hasta 6V.
de tipo “open drain”, al que se conecta una resistencia  Tanto el maestro como los esclavos transmiten
de “Pull Up” anclada a +5VDC (nominal). Una de las información de forma bidireccional, pero, sólo
características de la tecnología 1-Wire, es que cada en una dirección a la vez (half duplex).
dispositivo esclavo tiene una única e irrepetible  La información es leída o escrita comenzando
identificación grabada en su memoria ROM al momento por el bit menos significativo.
de su fabricación. (Lugo, 2008)  No se requiere del uso de un oscilador externo,
ya que, cada dispositivo 1-Wire posee un
II. Desarrollo oscilador interno que se sincroniza con el del
maestro cada vez que en la línea de datos
aparezca un flanco de bajada.
2.1 Protocolo de comunicación 1-  Todas las tensiones mayores que 2,2Voltios
wire son consideradas un "1" mientras que como un
"0" se interpreta cualquier voltaje menor o igual
a 0,8 V.
Consiste en utilizar un sólo conductor (más su
conexión a tierra) para efectuar las comunicaciones y la 2.3 Estados de comunicación
transmisión de energía entre un dispositivo maestro y los
múltiples esclavos. Dicho protocolo permite realizar una
comunicación serial asincrónica entre un dispositivo Este protocolo de comunicación soporta 5 estados
maestro y uno o varios dispositivos esclavos, utilizando por lo general, aunque dependiendo de los dispositivos
un único pin I/O del microcontrolador. Los esclavos se esto puede variar, aunque todos se especifican
identifican a través de un valor de ID, el cual puede ser

1
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2015, Barrera Kevin, Protocolo de comunicación
1-Wire

siguiendo una misma regla. Estos estados son el Una vez que el microcontrolador recibe el pulso
START, RESET, DATA0, DATA1, ATTEMP_REQUEST. de presencia de los dispositivos esclavos, se puede
enviar un comando de ROM. Los comandos de
 El dato START requiere de un cero en el bus ROM son comunes a todos los dispositivos 1-Wire
de datos de entre 80[us] a 109 [us]. y se relacionan con la búsqueda, lectura y
 El dato RESET requiere de un cero en el bus utilización de la dirección de 64 bits que identifica a
de datos de entre 354[us] a 500[us]. esclavos. La tabla siguiente, muestra los comandos
 El dato DATA0 requiere de un cero en el bus de de ROM utilizados con los dispositivos 1-Wire.
datos de entre 11.8[us] a 17[us].
 El dato DATA1 requiere de un cero en el bus de
datos de entre 35.4[us] a 48.9[us].

Para leer datos de un dispositivo que quiere enviar


un dato se realiza de la siguiente manera. El maestro
pone el bus de datos en cero entre 12[us] y 15[us], y le
deja en control al dispositivo (el pin por el cual el
maestro escribia en el puerto debe ser configurado como
entrada en este momento), debe esperarse entre 15[us]
y 17[us] y leerse el puerto. Si este esta en nivel cero
2.5.1 Read ROM
equivale a que el dispositivo escribio un 1 en el bus y si
este esta en nivel uno el dispositivo no escribio nada en Permite al maestro leer el código de 8bits de la
el bus por lo que el dato que se lee es un cero. (Mera familia, los 48 bits de numero de serie y 8 bits CRC, es
Villavicencio, 2011) decir lee la identificación de 64 bits del dispositivo
esclavo. Este comando solo funciona si existe un solo
2.4 Enviar y recibir datos de una trama dispositivo, ya que de lo contrario ocurrirá una colisión
de datos cuando todos los esclavos transmitan al mismo
tiempo.
Para enviar o recibir una trama siempre se debe
esperar al menos el tiempo T_inact, y siempre que se
envíe un dato por primera vez o se cambie de dispositivo 2.5.2 Match ROM
es recomendable resetear el bus y la trama se envía de
la siguiente forma: Seguido de una identificación de 64bits, este
comando permite al maestro direccionar a un dispositivo
START, AS2, AS1, AS0, REG5, REG4, REG3, REG2, en especifico cuando existe mas de un esclavo. El
REG1, REG0, R/!W, [PAQUETES 8 o 16 DATA0 y/o dispositivo que coincida con la identificación esperara
DATA1], EP, ACK por la instrucción siguiente, mientras que el resto de los
esclavos esperaran por el pulso de reset.
 AS2:AS1 hace referencia a la dirección física
del dispositivo, depende de en que dirección 2.5.3 Skip ROM
este puesto el dispositivo.
 REG5:REG0 es el valor binario de algún Permite direccionar de forma directa, sin la
registro que se quiere escribir o leer del necesidad de enviar la identificación. Este comando solo
dispositivo, esto depende del dispositivo es utilizable cuando existe un solo esclavo, de lo
obviamente y puede ser buscado en la hoja de contrario ocurrirá una colisión de datos cuando todos
datos. respondan.
 R/!W hace referencia a si lo que se desea es
escribir o leer. 2.5.1 Search ROM
 [PAQUETES 8 o 16 DATA0 y/o DATA1]
dependiendo del registro que se envía este A través de este comando se puede leer los 64 bits
paquete puede tener 8 o 16 bits y deben ser de identificación de todos los dispositivos esclavos
leídos o escritos según el valor de R/!W. conectados. Se utiliza un método de eliminación de 3
 EP es el bit de paridad par, se deben contar pasos para distinguir cada dispositivo conectado, se
todos los DATA1 que se envían o reciben y se explicara en extenso mas adelante. Estos pasos son:
debe poner o leer este bit como DATA1 o leer un bit, leer el complemento del bit y entonces
DATA0 de forma tal que la cantidad de DATA1 escribe el valor deseado de ese bit.
se par. Es un bit de control.
 ACK se lee en uno si el dato enviado junto con
el EP están correctos y se escribe en uno en 2.7 Reinicio del bus y envío/recepción
caso de que el dato leído sea correcto.
(Quintana Alcaraz, 2008) de datos
Se mantiene la señal de datos a 0 voltios durante
480 microsegundos. Se reinician todos los dispositivos
2.5 Comandos y funciones de la ROM conectados al bus (les retira la alimentación). Los
dispositivos reiniciados indican su presencia

2
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2015, Barrera Kevin, Protocolo de comunicación
1-Wire

manteniendo la señal de datos a 0 voltios durante 60 C. Mera Villavicencio, D. V. (2011). Sistema


microsegundos. de adquisición de datos de humedad y
Para enviar un bit a 1 el maestro se lleva a 0 voltios temperatura utilizando tecnología 1 wire y
la línea de datos durante 1-15 microsegundos. Para labview.
enviar un bit a 0 el maestro se lleva a 0 voltios la línea
de datos durante 60 microsegundos. Los dispositivos
D. Quintana Alcaraz, S. &. (2008).
esclavos leen el bit aproximadamente a los 30 Monitorización remota de una red 1-Wire.
microsegundos después del flanco de bajada de cada E. Sainz Nieto, L. E. (2013). Aurebot, sistema
bit. Cuando el maestro lee los datos del dispositivo didáctico para el aprendizaje de
esclavo pone 0 voltios durante 1-15 microsegundos en la electrónica basado en una plataforma
línea de datos y a partir de ese momento el esclavo no robótica.
hace nada (la señal se mantiene en 5 voltios) si quiere
enviar un 1 lógico o mantiene la señal en 0 voltios hasta
los 60 microsegundos si quiere enviar un 0 lógico. Los
datos se envían o reciben en grupos de 8 bits. Para
iniciar una comunicación se reinicia el bus. El protocolo
puede incluir detección de errores transmitiendo códigos
de detección de errores (CRC). Como en el bus puede
haber muchos dispositivos el protocolo incluye el
direccionamiento de los mismos empleando un código
único de 64 bits de los cuales el byte más significativo
indica el tipo de dispositivo, y el último es un código de
detección de errores (CRC) de 8 bits. Los comandos que
pueden interpretar los dispositivos esclavos dependerán
de estos. Para encontrar los dispositivos presentes en el
bus el maestro puede enviar un comando de
enumeración que responderán todos los dispositivos.
(Sainz Nieto, 2013)

III. Conclusiones
 El protocolo de comunicación 1-wire consiste
en utilizar un solo conductor con su respectiva
puesta a tierra para realizar la comunicación
entre el dispositivo maestro y los distintos
dispositivos esclavos. Esta comunicación es
asincrónica y a su ves funciona con un solo pin
del microcontrolador de entrada o salida.
 Puede aplicarse en cualquier tipo de tecnología
CMOS y TTL con una comunicación
bidireccional entre el maestro y el esclavo,
comenzando siempre la lectura o escritura por
el bit menos significativo.
 Para poder reiniciar este bus, es necesario
enviar un dato 0 durante 480 microsegundos, al
hacer esto se reiniciaran todos los dispositivos
conectados a este bus y para su posterior inicio
estos dispositivos funcionaran después de 60
microsegundos aplicando un 0 lógico en el
dispositivo maestro.
IV. Bibliografía
A. Lugo, E. M. (2008). Sistema digital para la
gestión de historias clínicas electrónicas
almacenadas en iButtons bajo el estándar
internacional HL7/CDA. Revista
INGENIERÍA UC , 59-68.
B. Lozano, P. M. (2000). Sistema de control
distribuido y supervisión para la instalación
de climatización de un edificio. Sistemas
ES , 49.

También podría gustarte