UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
PROTOCOLO 1-WIRE Aplicación de Microcontroladores Microcontroladores con Lenguajes de Alto Nivel Francis D. Soto P.; P.;
[email protected]
1. PRE PRESE SENT NTAC ACIO ION N En el presente informe se entregara la infor informac mació ión n neces necesari aria a para para compre comprende nderr el funcio funcionam namien iento to y la corre correcta cta utili utilizac zació ión n del del protocolo 1-Wire. Ademas a través de un claro y sencillo ejemplo se verificara su funcionamiento gracias a disponer un potente simula simulador dor de circui circuitos tos como como es Proteu Proteus s de Isis, ademas de contar con el conocimiento adquirido durante el desarrollo del curso. 2. ABSTRACT This report will submit the information need needed ed to unde unders rsta tand nd the the oper operat atio ion n and and correct use of the 1-Wire protocol. Through a clear and simple example we will verified its oper operat atio ion n due due to have have a pow powerfu erfull circ circui uitt simulator such as Proteus Isis, besides having the knowledge acquired during the class.
Figura 1
Una red red de dispositi dispositivos vos 1-Wir 1-Wire e está conf confor orma mada da por por un maes maestr tro o y uno uno o más más esclavos que poseen un único pin de datos de tipo tipo “ope “opend ndra rain in”, ”, al que que se cone conect cta a una una resi resist sten enci cia a de “Pul “Pulll Up” Up” ancl anclad ada a a +5V +5V DC (nominal), Figura 2. Una de las características de la tec tecnología 1-Wire, es que cada disp dispos osit itiv ivo o escl esclav avo o tien tiene e una una únic única a e irre irrepe peti tibl ble e iden identi tifi fica caci ción ón grab grabad ada a en su memoria ROM al momento de su fabricación. fabricación.
3. PROT PROTOC OCOL OLO O DE TRANS TRANSMI MICI CION ON 1- WIRE Dallas Semiconductor ha desarrollado una poderosa poderosa tecnolog tecnología ía llamada llamada 1-Wire, 1-Wire, la cual cual,, util utiliz iza a un sólo sólo cond conduc ucto torr más más su conexión a tierra para efectuar las comunica comunicacion ciones es y la transmisi transmisión ón de energía energía entr entre e un disp dispos osit itiv ivo o maes maestr tro o y múlt múltip iple les s esclavos, Figura 1 Figura 2
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
El BUS 1-Wir 1-Wire, e, permi permite te realiz realizar ar una comu comuni nica caci ción ón seri serial al asin asincr crón ónic ica a entre entre un dispositivo maestro y uno o varios dispositivos esclavos, utilizando un único pin de E/S del microcontr microcontrola olador dor.. Podemos Podemos señalar señalar algunas algunas características de éste bus: •
•
•
•
•
Utiliza niveles de alimentac tación CMOS/TTL con un rango de operación que abarca desde 2.8V hasta 6V. Tanto anto el maestr maestro o como como los los esclav esclavos os tran transm smit iten en info inform rmac ació ión n de form forma a bidir idire ecci cciona onal, pero ero, sól sólo en una dirección a la vez, de ésta manera la comun comunica icació ción n es reali realizad zada a en forma forma “half duplex”. Toda la información es leída o escrita comenzando por el bit menos significativo (LSB). No se requiere del uso de una señal de reloj, ya que, cada dispositivo 1-Wire pose posee e un osci oscila lado dorr inte intern rno o que que se sincroniza con el del maestro cada vez que en la línea de datos aparezca un flanco de bajada. La alim alimen enta taci ción ón de los los escl esclav avos os se puede hacer utilizando el voltaje propio del del BUS. BUS. Para Para ello ello,, cada cada circ circui uito to esclavo posee un rectificador de media onda onda y un conde condensa nsador dor,, duran durante te los períodos en los cuales no se efectúa ning ningun una a comu comuni nica caci ción ón,, la líne línea a de dato datos s se encu encuen entra tra en esta estado do alto alto debido a la la resistencia resistencia de “Pull Up”; en esa cond ondició ción, el diodo odo entra tra en conducció conducción n y carga carga al condensa condensador dor.. Cuando el voltaje de la red cae por debajo de la tensión del condensador, el dio diodo se pol polari ariza en invers verso o evita vitan ndo que el conde onden nsado sadorr se
descargue. La carga almacenada en el cond conden ensa sado dorr alim alimen enta tará rá al circ circui uito to esclavo. •
•
•
Las Las rede redes s de disp dispos osit itiv ivos os 1-Wi 1-Wire re pueden pueden tener fácilmente fácilmente una longitud longitud desd desde e 200m 200m y cont conten ener er unos unos 100 100 dispositivos. Todas las tensiones mayores que 2,2 Voltios son consideradas un 1 lógico mien mientr tras as que que como como un 0 lógi lógico co se inter interpre preta ta cualqu cualquie ierr voltaj voltaje e menor menor o igual a 0,8 V. La transferencia de información es a 16.3Kbps en modo “Standard” y hasta a 142Kbps en modo “overdrive”.
4. DESC DESCRI RIPC PCIO ION N DEL PROT PROTOC OCOL OLO O 1- WIRE Podemos describir al protocolo 1-Wire como como una una secu secuen enci cia a de tran transa sacc ccio ione nes s de información, la cual, se desarrolla según los siguientes pasos: la IInicializa nicialización, ción, comandos y funciones de ROM, comandos y funciones de control y memoria, transferencia de bytes o datos.
4.1
INICIALIZACIÓN
Todas las comunicaciones en el bus 1Wire Wire comien comienzan zan con una una secue secuenci ncia a de un pulso de Reset y Presencia. El pulso de reset prov rovee una form forma a limp limpiia de ini inicia ciar las comunicaciones, comunicaciones, ya que, con él se sincronizan todos los dispositivos esclavos presentes en el bus. bus. Un Rese Resett es un puls pulso o que que gene genera ra el maestro al colocar la línea de datos en estado lógico bajo por unos 480µs, Figura 3, y luego de 15 a 60µs 60µs los los escl esclav avos os resp respon onde derá rán n poniendo en bajo la linea durante 60 a 240µs.
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
b) Match RO ROM: Segui Seguido do de una identi identific ficaci ación ón de 64 bits, ts, este coman mando permi rmite al mae maestro tro direc direccio cionar nar a un dispos dispositi itivo vo en especi especific fico o cuando existe mas de un esclavo. El dispositivo que coincida con la identificación esperara por la instrucción siguiente, mientras que el resto de los esclavos esperaran por el pulso de reset.
Figura 3 4.2
CO COMANDOS
Y
c) Skip ROM:
FUNCIONES DE ROM
Una vez que el microcontrolador microcontrolador recibe el puls pulso o de pres presen enci cia a de los los disp dispos osit itiv ivos os esclav esclavos, os, se puede puede enviar enviar un comand comando o de ROM. Los comandos de ROM son comunes a todos los dispositivos 1-Wire y se relacionan con la búsqueda, lectura y utilización de la dirección de 64 bits que identifica a esclavos. La Tabla 1, muestra los comandos de ROM utilizados con los dispositivos 1-Wire.
C om a n d o
C odi go
Read ROM
33h
Match ROM
55h
Skip ROM
CCh
Search ROM
F0h Tabla 1
a) Read ROM Permite al maestro leer el código de 8 bits de la familia, los 48 bits de numero de serie y 8 bits CRC, es decir lee la iden identi tifi fica caci ción ón de 64 bits bits del del disp dispos osit itiv ivo o esclavo. Este comando solo funciona si existe un solo solo dispo disposit sitivo ivo,, ya que de lo contra contrario rio ocurrirá una colisión de datos cuando todos los esclavos transmitan al mismo tiempo.
Permite Permite direccion direccionar ar de forma directa, sin la necesida necesidad d de enviar enviar la identific identificació ación. n. Este comando solo es utilizable cuando existe un solo esclavo, de lo contrario ocurrirá una colisión de datos cuando todos respondan.
d) Searc earch h ROM: ROM: A través de este comando se puede leer los 64 bits de identificación de todos los dispositivos esclavos conectados. Se utiliza un méto método do de elim elimin inac ació ión n de 3 paso pasos s para para disti disting ngui uirr cada cada disp dispos osit itiv ivo o cone conecta ctado do,, se explic explicara ara en extens extenso o mas adela adelante nte.. Estos Estos pasos son: leer un bit, leer el complemento del bit y entonces escribe el valor deseado de ese bit.
4.3 COMANDOS Y FUNC FUNCIO IONE NES S DE CONT CONTRO ROL L Y MEMORIA Son funciones funciones propias propias del disposit dispositivo ivo 1-Wire. Incluyen comandos para leer/escribir en localidades de memoria, leer memorias de “scra scratc tch hpad pad”, contro ntrollar el inici nicio o de la conversión de un ADC, iniciar la medición de una temperatura o manipular el estado de un bit de salid salida, a, entre entre otros. otros. Cada dispo dispositiv sitivo o define su propio conjunto de comandos.
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
4.4 4.4 TRANS RANSF FERENCIA DATOS
DE
La lectura y escritura de datos en el bus 1-Wire se hace por medio de “Slots”, la generació generación n de estos es responsa responsabilid bilidad ad del maestro. Cuando el maestro lee información del bus, debe forzar la línea de datos a estado bajo durante al menos 1 µs y esperar unos 15 µs para entonces leer el estado de la misma. El estado lógico de la línea en ese momento, estará determinado por el dispositivo esclavo. La Figura 4., muestra el proceso de lectura de un “Slot” típico,
Figura 4
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
Al momento de efectuar la escritura de un bit en el bus ocurre algo similar, el maestro prod produc uce e un pulso pulso de entr entre e 1µs 1µs y 15µs 15µs de duración, para luego colocar en el bus al bit que que se dese desea a trans transmi miti tirr. Este Este bit bit debe deberá rá permanecer en el bus al menos 60µs, Figura 5.
Figura 5
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
5. TOPOLOGIAS DE ENTRE DISPOSITIVOS
CONEXION
La Figura Figura 6., muestr muestra a las difere diferente ntes s topologías de interconexión entre dispositivos en una una red 1-Wir 1-Wire. e. La topol topologí ogía a exclus exclusiva iva también denominada 1:1, es la más simple de todas, se permite en este tipo de topología la conexión sólo de un dispositivo maestro con un dispositivo esclavo. Es muy utilizada para la medici medición ón de parám parámetr etros os en dispo disposit sitivo ivos s esclavos tipo “stand alone” como por ejemplo: los dispositivos iButton de Dallas Semiconductor.
6. CONEXION ENTRE MICROPROCESADOR Y DISPOSITIVOS ESCLAVOS
UN LOS
En la práct ráctic ica, a, se pue puede util tilizar zar cualquier pin de entrada – salida del microcontrolador- para efectuar la conexión a dispositivos esclavos 1-Wire, incluso cada pin del del micr microc ocon ontro trola lado dorr pued puede e impl implem emen enta tar r cualqu cualquie iera ra de las las topolo topología gías s anter anterio iorme rmente nte mencionadas con un sólo dispositivo esclavo o con muchos de ellos conectados en forma simultán simultánea. ea. La única única consider consideració ación n que hay que tener es la colocación de una resistencia de “Pul “Pulll Up” Up” gene genera ralm lmen ente te de valo valorr 2KΩ, 2KΩ, antes mencionadas. Esto se puede observar en la Figura 7., en la cual, se han conectado dos dispositivos esclavos 1-Wire a través del pin PORTB<1>.
Figura 6
La top topolog ología ía lineal neal y rami ramifi fica cad da extienden el alcance de la red 1-Wire hasta una distancia de aproximada de 200 metros. En ellas ellas,, los los dispo disposit sitivo ivos s escla esclavos vos pueden pueden inter intercon conec ectar tarse se en forma forma secuen secuencia ciall y/o a través de ramificaciones. ramificaciones. Por último, último, la topología topología tipo estrella, estrella, la cual, en la práctica es la más utilizada, permite la conexión de ramas a través de un punto común común denomi denominad nado o nodo nodo de conexi conexión, ón, sin embargo, esta topología limita la cantidad de dispositivos esclavos en comparación con las anteriores, ya que, incrementa la capacitancia equivalente en el punto central de conexión al estar las ramas conectadas en paralelo.
Figura 7
En la prác prácti tica ca,, es much mucho o más más fáci fácill manejar un sólo dispositivo esclavo por cada pin pin del del micr microc ocon ontr trol olad ador or,, esto esto elim elimin ina a la necesi necesidad dad de conoce conocerr a priori priori el seria seriall del dispositivo. Como hay uno sólo dispositivo en la línea o pin de conexión, el microcontrolador puede acceder a la memoria del dispositivo esclavo a través de la función de ROM CCh Skip ROM.
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
7. CALCULO DEL CRC-8, IDENTIFICACION DE ERRORES
presenten en la ID de 64 bits. •
Cuand Cuando o se transm transmite ite inform informaci ación ón en forma serial, es necesario verificar la posible existe existenci ncia a de error errores es que pudier pudieran an ocurri ocurrir r dura durant nte e la comu comuni nica caci ción ón.. Exis Existe ten n vari varios os métodos para efectuar este chequeo. Uno de los más simples consiste en añadir un bit extra a cada cada byte byte tran trans smiti mitido do de modo modo que que el número de unos contenidos en el paquete de 9 bits siempre sea par o impar. Este procedimiento se le conoce como verificación de parid paridad ad y permit permite e encon encontra trarr error errores es que que ocurren en un bit, pero no es confiable cuando cambia más de un bit dentro del byte.
•
Cualquier grupo de errores de hasta 8 bits incorrectos. La gran mayoría de los errores de más de 8 bits incorrectos.
Uno de los mecanismos de detección de errores más eficientes es el Chequeo de redu redun ndanc ancia Cícli íclic ca (de (del inglés glés Cycl Cyclic ic redundancy Check) conocido por sus iniciales CRC. El CRC de un conjunto de datos, es un númer úmero o de ciert ierta a cant cantiidad dad de bits its que contiene el resultado de la aplicación de una expresión matemática al mencionado conjunto de datos. tos. Así, Así, si el CRC es de 4 bits its se denominará CRC4, si es de 8 bits se llamará CRC8, si es de 16 bits será CRC16, etc. El algoritmo utilizado para el cálculo de CRC de Dallas Semiconductor (DOW CRC), Figu Figura ra 8, cuyo cuyo resu result ltad ado o se incl incluy uye e en la identificación de los dispositivos 1-Wire. Este CRC es de 8 bits y se calcula introduciendo los primeros 56 bits, correspondientes correspondientes al serial del dispositivo y el código de la familia a la que que perte pertene nece ce el disp dispos osit itiv ivo. o. Los Los erro errore res s detectabl detectables es por el CRC8 CRC8 implementa implementado do por Dallas Semiconductors son: •
•
Cualqu Cualquie ierr número número impar impar de errore errores s sobre los 64 bits transmitidos. Todos los errores de dos bits que se
Figura 8
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
El cálculo del CRC8 puede hacerse de varias for formas. La primera de ellas es evide evidente ntemen mente te por hardw hardware are,, siguie siguiendo ndo el esquema de la Figura 8. Cuando se implementa por software, una forma simple de hacerlo, es por medio de una tabla de 256 bytes, la cual, es llamada repetidas veces a medida medida que se introd introduce ucen n los los bytes bytes hasta hasta obte obtene nerr el valo valorr defi defini niti tivo vo del del CRC. CRC. Este Este méto método do es muy muy senc sencil illo lo,, pero pero pres presen enta ta el inconveniente de requerir el uso de 256 bytes de la memoria del microcontrolador. La Figura 9 muestra un iButton típico de Dallas Semiconductor. La figura presenta una fotog fotograf rafía ía fronta frontall del del dispos dispositi itivo, vo, en la cual, se pueden observar claramente el serial de 64 bits del dispositivo compuesto de: 48 bits (6 bytes) del serial único, 8 bits (1 bytes) de CRC y 8 bits (1 bytes) de la familia del dispositivo.
comando SKIP ROM. También puede utilizarse el comando READ ROM para leer la identificación identificación del esclavo y direccionarlo. Pero, ¿Qué hacer cuando existe más de un dispositivo en la red 1-Wire al mismo tiempo?. Quiz Quizás ás,, podr podría íamo mos s leer leer manu manual alme ment nte e los los seriales de identificación de todos los esclavos a conectar en el bus. Con el comando READ ROM, leeríamos su identificación (serial) para luego almacenarla en una memoria EEprom exter terna o en la memoria EEprom del microcont microcontrola rolador dor.. Posterio Posteriorment rmente, e, se deberá deberá repetir el procedimiento con todos los demás dispo disposit sitivo ivos s hasta hasta llega llegarr al último último.. Una Una vez ident identifi ificad cado o cada cada dispo dispositi sitivo vo y su serial serial,, El microc microcon ontro trolad lador or maestr maestro o podrá podrá envia enviarr a la red red 1-Wi 1-Wire re el coma comand ndo o Matc Match h ROM ROM 55h 55h segu seguid ido o del del seri serial al de iden identi tifi fica caci ción ón del del dispo disposit sitivo ivo en parti particul cular ar con el cual cual desee desee comun comunica icarse rse,, de esta esta forma forma,, el dispo disposit sitivo ivo esclavo elegido quedará activo y los demás dispositivos 1-Wire en la red quedarán fuera de línea hasta que se produzca en la red una condición de RESET. Previe Previend ndo o esta esta situac situación ión,, todos todos los los dispositivos que emplean la tecnología 1-Wire, sopo soport rtan an un coma comand ndo o de ROM ROM llam llamad ado o Sear Search ch ROM, ROM, el cual cual,, perm permit ite e al maes maestro tro identificar los seriales independientes de cada disp dispos osit itiv ivo o cone conect ctad ado o a la red red en form forma a automática.
Figura 9
Cada Cada iBut iButto ton n vien viene e esta estamp mpad ado o de fábrica con ésta numeración y por supuesto cada iButton tendrá un serial de identificación único. 8. ALGO ALGORI RITM TMO O DE DE SEA SEARC RCH H ROM ROM Cuan Cuando do exis existe te un sólo sólo disp dispos osit itiv ivo o conect conectad ado o al bus bus 1-Wire 1-Wire puede puede omitir omitirse se el direc reccio cionami namien ento to medi media ante el uso del del
8.1 Buscando Buscando dispositivos dispositivos en el Bus 1-Wire La búsqu búsqued eda a de dispos dispositi itivos vos en una una red red 1-Wi 1-Wire re debe deberá rá come comenz nzar ar un “RES “RESET ET”” realizado por el maestro, quien luego deberá envi enviar ar un coma comand ndo o Sear Search ch ROM. ROM. En ese ese momento, cada cada dispositivo dispositivo esclavo enviará al bus el primer bit de su identificación, seguido del del comp comple leme ment nto o del del mism mismo. o. El maes maestr tro, o, deberá leer estos dos bits. Las combinaciones
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
posibles de estos dos bits, se muestran en la Tabla 2
I D BI T 0
0
1
1
~ID BIT
Significado
0
Conflicto en el BUS, BUS en corto circuito
1
Todos los dispositivos tienen un 0 en este bit
0
Todos los dispositivos tienen un 1 bit
1
No hay dispositivos conectados
Tabla 2
A continuación, el maestro escribirá un bit en el bus y cada esclavo comparará este bit con el que él previamente había trans transmi miti tido do.. En caso caso de que que los los bits bits sean sean difer diferent entes, es, el escla esclavo vo entrar entrará á en estad estado o de espera, del cual, sólo saldrá al producirse un nuev nuevo o rese reset. t. Si ambo ambos s bits bits coin coinci cide den, n, el esclav esclavo o trasmi trasmitir tirá á el siguie siguiente nte bit de su ID seguid seguido o de su comple complemen mento. to. El proces proceso o se repetirá hasta que se completen los 64 bits de identificación en cada dispositivo esclavo. Pero, ¿Qué bit transmitió el maestro?. En el caso de las dos combinaciones centrales mostrada en la Tabla 2, 01 y 10, el maes maestro tro toma tomará rá el bit bit reci recibi bido do ID BIT BIT, lo almacenará en una variable temporal donde al final del proceso se obtendrán los 64 bits de la ID de uno de los dispositivos Cuando ando se prod roduce una una prime rimera ra discrepancia (se reciben dos ceros consecutivos), el maestro colocará un 0 en el
bus y almacenará el bit, en el cual, se produjo la colisi colisión. ón. Esto Esto hará que los los disposit dispositivo ivos s cuy cuya ID fues fuese e 1 en la posi posici ción ón dond donde e se presentó la colisión, dejen de participar en la búsq búsque ueda da.. El bit bit que que se enví envía a al bus bus se almac almacena ena en la variab variable le tempo temporal ral de la ID. Ahora bien, el proceso de búsqueda continúa y al momento de presentarse otra colisión se compara el bit en el que ésta ocurre con la posi posici ción ón del del cero cero del del párr párraf afo o ante anteri rior or;; si coinciden, entonces entonces se enviará un 1 por el bus (ID bit se toma igual a 1). Si la posición de la colisión actual es mayor que la anterior deberá escogerse un cero, mientras que, si es menor debe ebe repeti petirs rse e el cami camin no toma tomad do en la búsqueda pasada para ese mismo bit. 9. EJEM EJEMPL PLO O DE FUN FUNCIN CINAM AMIEN IENTO TO Para ejemplificar el funcionamiento del protoc protocolo olo 1-Wir 1-Wire e realiz realizare aremos mos una una sencil sencilla la pero pero clar clara a apli aplica caci ción ón de este este.. Para Para ello ello utilizaremos el compilador PIC C CCS, y el simulador Proteus. Para trabajar usaremos la PIC16f873, solo por disponer de una cantidad de memo memori ria a mas mas que que nece necesa sari ria a para para la prog progra rama maci ción ón,, para para el trab trabaj ajo o con con 1-wi 1-wire re usar usarem emos os la libr librer ería ía de lice licenc ncia ia GNU GNU de j.d.sandoz, ya que CCS no nos provee de una librería. El ejemplo consistirá en enviar a una memor memoria ia EEPROM EEPROM DS2430 DS2430,, la cual cual es una memoria de 256 bits, los caracteres corres correspon pondi dient entes es a la palab palabra ra UTEM, UTEM, para para luego luego leerlo leerlos s desde desde la misma, misma, la accio acciones nes realizadas serán visualizadas en un LCD. La Figura 10 muestre el circuito del ejemplo.
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
cual se escribirá TX
Dato
Dato a transmitir
TX
Reset
Finaliza la transmicion
Tabla 3
M a e s tr o
La Tabla 3 indica el procedimiento que se seguirá para realizar la comunicación y en este caso mostrando la transmicion. La Tabla 4 muestra el procedimiento seguida para leer los datos desde la memoria.
TX
RX
TX
Acción
Reset
Indica que comenzara una transmisión
Presence
Respuesta del esclavo, indicando que esta preparado
CCh
Se comunica de forma directa ya que hay un solo esclavo
AAh
Se indica que se leerá la memoria
TX
Dirección
Indica la dirección de memoria en la cual se leerá
RX
Dato
Dato por recibir
TX
Reset
Finaliza la transmicion
TX
Figura 10
M a es tr o
Dato
RX
Da t o
Acción TX
Reset
Indica que comenzara una transmisión Respuesta del esclavo, indicando que esta preparado
TX
Presence
CCh
TX
0Fh
TX
Dirección
Se comunica de forma directa ya que hay un solo esclavo Se indica que se escribirá en la memoria Indica la dirección de memoria en la
Tabla 4
Las Las tabl tablas as ante anteri rior ores es mues muestr tran an los los pasos que debemos seguir para la prog progra rama maci ción ón de las func funcio ione nes s que nos permit permitirá irán n hacer hacer el envió envió y la recepc recepción ión de
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
datos desde la EEPROM El algori algoritmo tmo del ejemp ejemplo lo se ilustr ilustra a a continuación.
Figura 12
Figura 11
Como ya sabemos sabemos primero debemos debemos iniciar el lcd, es la única inicializacion, ademas de las variables a utilizar en le programa, que debemos realizar ya que la librería 1-Wire solo utiliz utiliza a un pin pin par par la transm transmisi isión ón,, este este caso caso sera sera el pin RA0. Lueg Luego o most mostra ramo mos s un mensaje en el lcd y conjuntamente realizamos el envió de los datos a la memoria EEPROM, con la utilización de la función transmicion(). El mismo procedimiento se sigue para leer los datos, solo que ahora usaremos la func funció ión n rece recepc pcio ion( n(). ). Amba Ambas s func funcio ione nes s se explican a continuación. continuación.
A través de esta función escribiremos los datos de la forma exacta mostrada en la Tabla 3. Dado que el procedimiento de recepción de datos ya fue ilustrado en la Tabla 4, no se cons consid ider era a nece necesa sari rio o most mostra rarr un algoritmo que muestre nuevamente los pasos a seguir, ya que solo se diferencia en la el comando de lectura y en la utilización de la función onewire_read() onewire_read() La codificación en C se presenta en conj conjun unto to con con este este info inform rme, e, al igua iguall que que el ejemplo.
10. CONCLUSIONE CONCLUSIONES S El protocolo 1-Wire tiene como mayor defecto que aun es de desarrollo exclusivo de Dallas, por lo que no ha conseguido masificarse. Sin embargo y si bien posee una
UNIVERSIDAD TECNOLOGICA METROPOLITANA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD ESCUELA DE ELECTRÓNICA PROFESORES: IVAN IVAN CAMOUSSEIGT; GUILLERMO GONZALEZ FECHA: 03-12-09
velo veloci cida dad d de tran transm smis isió ión n meno menorr a otros tros protocolos como el I2C, las prestaciones que pose posee e lo pone ponen n a un nive nivell comp compet etit itiv ivo. o. El hech hecho o de mane maneja jarr nive nivele les s TTL TTL elim elimin ina a la nece necesi sida dad d de elem elemen ento tos s inte interm rmed edio ios s que que realicen cambios en de voltajes; los dispositivos 1-Wire son muy pequeños, ya que solo necesitan tan 3 pines para lograr la comunicación y la alimentación, lo que genera un gran ahorro de espacio. Pero una de sus principa principales les caracterís características ticas es el CRC-8 CRC-8 que permite una alta detección de errores, lo que nos asegura que la información recibida sera realmente la información que solicitamos para real realiz izar ar algu alguna na tare tarea. a. Solo Solo esta estas s cuat cuatro ro cara caract cter erís ísti tica cas s bási básica cas s pres presen enta tada das s nos nos permiten darnos cuenta de la gran ventaja que es tener tener conocimie conocimiento nto sobre sobre este protocol protocolo o para futuros proyectos.
11. REFERENCIAS REFERENCIAS •
•
•
•
•
http://es.wikipedia.org/wiki/1-Wire http://www.maximic.com/appnotes.cfm/an_pk/2420 http://www.maxim-ic.com/products/1http://www.maxim-ic.com/prod ucts/1wire/ Datasheet DS2430 http://www.rosocontrol.com/Espanol/EDU/MICRO/20_ Clases/10_Teoria/90_Tema_08/Tema_ 08.pdf