0 évaluation0% ont trouvé ce document utile (0 vote)
76 vues3 pages
El bus I�C es un protocolo de comunicaci�n entre circuitos integrados desarrollado por Philips en 1982 que utiliza solo dos l�neas (reloj y datos) para la transmisi�n de informaci�n. Funciona con el modelo maestro-esclavo y permite hasta 1136 nodos en una red. Aunque es m�s lento que otros buses, su bajo costo lo hace �til para la transmisi�n de datos de control y configuraci�n entre dispositivos.
El bus I�C es un protocolo de comunicaci�n entre circuitos integrados desarrollado por Philips en 1982 que utiliza solo dos l�neas (reloj y datos) para la transmisi�n de informaci�n. Funciona con el modelo maestro-esclavo y permite hasta 1136 nodos en una red. Aunque es m�s lento que otros buses, su bajo costo lo hace �til para la transmisi�n de datos de control y configuraci�n entre dispositivos.
El bus I�C es un protocolo de comunicaci�n entre circuitos integrados desarrollado por Philips en 1982 que utiliza solo dos l�neas (reloj y datos) para la transmisi�n de informaci�n. Funciona con el modelo maestro-esclavo y permite hasta 1136 nodos en una red. Aunque es m�s lento que otros buses, su bajo costo lo hace �til para la transmisi�n de datos de control y configuraci�n entre dispositivos.
Circuito inter-integrado (I�C, del ingl�s Inter-Integrated Circuit) es un bus serie
de datos desarrollado en 1982 por Philips Semiconductors (hoy NXP Semiconductors,
parte de Qualcomm1). Se utiliza principalmente internamente para la comunicaci�n entre diferentes partes de un circuito, por ejemplo, entre un controlador y circuitos perif�ricos integrados. El sistema original fue desarrollado por Philips a principios de 1980 con el fin de controlar varios chips en televisores de manera sencilla. Desde mediados de 1990 el I�C tambi�n es utilizado por algunos competidores para designar los sistemas compatibles I�C Philips, incluyendo Siemens AG (posteriormente Infineon Technologies AG), NEC, STMicroelectronics, Motorola (Freescale m�s adelante), Intersil, etc. Hay un total de mil circuitos integrados diferentes de m�s de 50 fabricantes (seg�n datos de 2014). Atmel introdujo por motivos de licencia la designaci�n TWI (interfaz de dos hilos) actualmente utilizada por algunos otros fabricantes. Desde el punto de vista t�cnico, TWI e I�C son id�nticos. Sin embargo, el 1 de octubre 2006, la patente original caduc�, as� que ya no hay derechos de autor para el uso del t�rmino I�C. I�C no es tampoco una marca comercial registrada de NXP Semiconductors, la protecci�n de marca es s�lo para el logotipo. Historia[editar] El bus I�C fue introducido en 1982 por Philips para la comunicaci�n interna entre circuitos integrados como por ejemplo juegos de CD y televisiones. Para ello, fue desarrollada la familia de microcontrolador MAB8400, la cual pose�a un controlador de bus I�C. La primera especificaci�n estandarizada 1.0 fue publicada en 1992. �sta sustituy� el est�ndar original de 100 kbps por un nuevo modo r�pido con 400 kbps y expandi� el espacio de direccionamiento a un modo de 10 bits, de tal manera que en vez de los 112 nodos originales, ahora es compatible con hasta 1136 nodos. Con la versi�n 2.0 de 1998 lleg� el modo de alta velocidad (Hs) con un m�ximo de 3,4 Mbps, aunque los requisitos de voltaje e intensidad de corriente fueron reducidos. La versi�n 3.0 de 2007 incluy� un nuevo modo denominado Fm+ (modo r�pido mejorado) con una velocidad m�xima de 1 Mbps que, al contrario que el modo Hs, utiliza el mismo protocolo que los modos de 100 y 400 kbps. En el a�o 2012 fue establecido con la versi�n V.4 un modo a�n m�s r�pido, el Ufm (modo ultrarr�pido), el cual es compatible con velocidades de transferencia unidireccionales de hasta 5 Mbps. En el mismo a�o fueron corregidos con la versi�n actual de V.5 los errores de la versi�n anterior. En abril de 2014 fue presentada la versi�n V.6 que volvi� a corregir algunos errores. Sistema de bus[editar] El I�C est� dise�ado como un bus maestro-esclavo. La transferencia de datos es siempre inicializada por un maestro; el esclavo reacciona. Es posible tener varios maestros mediante un modo multimaestro, en el que se pueden comunicar dos maestros entre s�, de modo que uno de ellos trabaja como esclavo. El arbitraje (control de acceso en el bus) se rige por las especificaciones, de este modo los maestros pueden ir turn�ndose. Definici�n el�ctrica[editar] En el diagrama de la derecha se encuentran representados tres dispositivos. El I�C precisa de dos l�neas de se�al: reloj (CLK, Serial Clock) y la l�nea de datos (SDA, Serial Data). Ambas l�neas precisan resistencias de pull-up hacia VDD. Cualquier dispositivo conectado a estas l�neas es de drenador o colector abierto (Open Collector), lo cual en combinaci�n con las resistencias pull-up, crea un circuito Wired-AND. El nivel alto debe ser de al menos 0,7 x VDD y el nivel bajo no debe ser m�s de 0,3 x VDD. Las resistencias en serie Rs (no representadas en el diagrama), en la entrada de los dispositivos, son opcionales y se usan como resistencias de protecci�n. El Bus I�C trabaja con l�gica positiva, esto quiere decir que un nivel alto en la l�nea de datos corresponde a un 1 l�gico, el nivel bajo a un 0. Pulso y estado del bus[editar] La se�al de reloj siempre es generada por el maestro. Para cada modo especificado, est� predeterminado respectivamente un pulso de reloj m�ximo permitido. En general, tambi�n pueden ser utilizadas se�ales de reloj m�s lentas, siempre y cuando sean compatibles con la interfaz del maestro. Sin embargo, algunos circuitos integrados (por ejemplo, un conversor o convertidor de se�al anal�gica-digital) requieren una frecuencia m�nima con el fin de funcionar correctamente. En la tabla siguiente se muestran los porcentajes m�ximos permisibles de reloj. Si el esclavo necesita m�s tiempo que el dictado por el reloj del maestro, puede mantener, entre la transferencia de bytes individuales, la se�al de reloj en nivel bajo o low (clock-stretching) para frenar de este modo al maestro. Los datos (bits individuales) s�lo son v�lidos si su nivel l�gico no cambia durante una fase de reloj alta. Las excepciones son el inicio, la parada, y la se�al de inicio repetida o reset. La se�al de arranque es un flanco descendente en SDA mientras SCL se encuentra en nivel alto. La se�al de parada es un flanco ascendente en SDA mientras SCL est� en en nivel alto. La se�al de reset se comporta de igual manera que la se�al de inicio. Una unidad de datos consta de 8 bits = 1 octeto (los cuales puede ser interpretados como un valor o como una direcci�n, dependiendo del protocolo) y un bit de ACK. Este bit de confirmaci�n (Acknowledge) es se�alizado por un esclavo como NACK (not acknowledge) con un nivel alto, durante un nivel bajo en SDA y el noveno nivel alto de SCL (que sigue siendo generado por el maestro). El esclavo debe poner un nivel bajo en SDA antes de que SCL cambie a nivel alto, de lo contrario otros participantes podr�an interpretar esto como una se�al de arranque. Direccionamiento[editar] La direcci�n de I�C est�ndar es el primer byte enviado por el maestro, aunque los primeros 7 bits representan la direcci�n y el octavo bit (R/W-Bit) es el que comunica al esclavo si debe recibir datos del maestro (low/bajo) o enviar datos al maestro (high/alto). Por lo tanto, I�C utiliza un espacio de direccionamiento de 7 bits, lo cual permite hasta 112 nodos en un bus (16 de las 128 direcciones posibles est�n reservadas para fines especiales). Cada uno de los circuitos integrados con capacidad de soportar un I�C tiene una direcci�n predeterminada por el fabricante, de la cual los �ltimos tres bits (subdirecci�n) pueden ser fijados por tres pines de control. En este caso, pueden funcionar en un I�C hasta 8 circuitos integrados. Si no es as�, los circuitos integrales (que precisan ser id�nticos) deben ser controlados por varios buses I�C separados. Debido a la escasez de direcciones, se introdujo m�s tarde un direccionamiento de 10 bits. Es compatible con el est�ndar de 7 bits mediante el uso de 4 de las 16 direcciones reservadas. Ambos modos de direccionamiento pueden utilizarse simult�neamente, lo que permite hasta 1136 nodos en un �nico bus. Protocolo de transferencia[editar] El inicio de una transmisi�n es indicado por la se�al de inicio del maestro, seguido de la direcci�n. �sta es confirmada por el ACK-Bit del esclavo correspondiente. En funci�n del R/W-Bit se escriben bytes de datos (datos al esclavo) o se leen (datos al maestro). El ACK es enviado desde el esclavo al escribir, y desde el maestro al leer. El �ltimo byte �le�do� es reconocido por el maestro como un NACK (not acknowledge), para indicar el final de una transmisi�n. Una transmisi�n es finalizada por la se�al de parada. Como alternativa, puede ser enviada una se�al de reset al arranque de una nueva transmisi�n, sin necesidad de parar la transmisi�n anterior con una se�al de parada. Todos los bytes son transferidos de esta manera como �Most Significant Bit First� (bit m�s significativo primero). Para el modo de alta velocidad (High-Speed-Mode) es enviado un c�digo del maestro a trav�s del modo est�ndar o r�pido, antes de cambiar al aumento de frecuencia. Uso[editar] Una de las propiedades del I�C es el hecho de que un microcontrolador puede controlar toda una red de circuitos integrados con s�lo dos I/O-Pins (Input/Output) y un software muy simple. Los buses de este tipo fueron realizados ya que una proporci�n significativa del precio de un circuito integrado y la placa de circuito depende del tama�o de la carcasa y del n�mero de pines. Una carcasa grande tiene m�s pines, necesita m�s espacio en la placa de circuito y tiene m�s conexiones que podr�an fallar. Todo esto aumenta los costes de desarrollo, producci�n y pruebas. Aunque es m�s lento que los sistemas de bus m�s nuevos, I�C es beneficioso (debido al bajo coste) para los sistemas perif�ricos que no necesitan ser r�pidos. A menudo es usado para la transmisi�n de datos de control y configuraci�n, por ejemplo para control de volumen, conversor de se�al anal�gica-digital o digital-anal�gica con baja tasa de frecuencia de muestreo, relojes a tiempo real, peque�os espacios de memoria o conmutadores bidireccionales y multiplexores. Incluso los sensores electr�nicos integran con frecuencia un convertidor anal�gico-digital con un I�C. Es posible a�adir o retirar microcontroladores al bus durante su funcionamiento (Hot-Plugging). Tambi�n es utilizado como base para ACCESS.bus y monitores de interfaz VESA (DCC, Display Data Channel). El SMBus (del fabricante Intel) para la comunicaci�n de componentes de la placa base, se parece mucho al bus I�C. La mayor�a de los circuitos integrados soportan ambos buses. El protocolo I�C tuvo gran importancia en el pasado en el �rea de las tarjetas chip. La tarjeta sanitaria utilizada en Alemania hasta finales del 2014 era una tarjeta I�C, es decir, debajo de la superficie dorada del chip, se encontraba una simple I�C-EEPROM, que pod�a ser le�da y escrita por el lector de tarjetas a trav�s de un protocolo de bus I�C. Estabilidad[editar] El protocolo del I�C es por definici�n bastante simple, pero a la vez muy susceptible a las interferencias. Este hecho limita su uso �nicamente a entornos de poca interferencia, en los cuales no se ha de esperar ning�n tipo de ruido, problemas de compatibilidad electromagn�tica o diafon�as, ni problemas de contacto (clavijas, enchufes). Asimismo, no es adecuado como puente entre grandes distancias, como suele ser t�pico para los buses de campo, por ejemplo. Sin embargo, el bus puede ser implementado por conductores especiales a un mayor nivel de intensidad de corriente o tensi�n, gracias a lo cual la posible longitud de potencia y la distancia de se�al de ruido aumenta. Una mayor distancia de ruido es posible a trav�s de una implementaci�n sobre la capa f�sica del bus CAN, la cual opera con se�ales diferenciales de colector abierto (drenador abierto). Las irregularidades tanto de la se�al SDA como de la se�al SCL provocan que los datos sean transmitidos incorrectamente. Estas irregularidades a menudo no se pueden detectar, especialmente si son producidas en la se�al SDA. �nicamente con perturbaciones o irregularidades de corto tiempo, como por ejemplo muy por encima de la frecuencia de se�al, el sistema puede hacerse m�s estable a trav�s de se�ales de procesamiento. Un problema importante dentro de la especificaci�n de un I�C es la falta de un tiempo de espera, que en ocasiones puede conducir a que los microcontroladores se bloqueen. Si un esclavo se encuentra empujando la l�nea de datos a "0" y el reset restablece al maestro, esta l�nea de datos permanece indefinidamente en "0". De este modo, todo el bus I�C permanece bloqueado con todos los microcontroladores conectados. A no ser que el esclavo tenga un propio reset, este bloqueo puede ser resuelto �nicamente por pulsos de reloj generados manualmente, es decir, apagar o encender el suministro de energ�a.