<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.museo8bits.com/wiki/index.php?action=history&amp;feed=atom&amp;title=I%C2%B2C</id>
	<title>I²C - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.museo8bits.com/wiki/index.php?action=history&amp;feed=atom&amp;title=I%C2%B2C"/>
	<link rel="alternate" type="text/html" href="https://www.museo8bits.com/wiki/index.php?title=I%C2%B2C&amp;action=history"/>
	<updated>2026-05-14T13:21:22Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://www.museo8bits.com/wiki/index.php?title=I%C2%B2C&amp;diff=3922&amp;oldid=prev</id>
		<title>Museo8bits: 1 revisión importada</title>
		<link rel="alternate" type="text/html" href="https://www.museo8bits.com/wiki/index.php?title=I%C2%B2C&amp;diff=3922&amp;oldid=prev"/>
		<updated>2021-08-30T15:40:04Z</updated>

		<summary type="html">&lt;p&gt;1 revisión importada&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión del 17:40 30 ago 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Museo8bits</name></author>
	</entry>
	<entry>
		<id>https://www.museo8bits.com/wiki/index.php?title=I%C2%B2C&amp;diff=3921&amp;oldid=prev</id>
		<title>Museo8bits: Página creada con &#039;Un ejemplo esquemático con un maestro (un [[microcontrolador) y tres nodos esclavos (un ADC, un [[Conversor d...&#039;</title>
		<link rel="alternate" type="text/html" href="https://www.museo8bits.com/wiki/index.php?title=I%C2%B2C&amp;diff=3921&amp;oldid=prev"/>
		<updated>2013-11-21T22:58:21Z</updated>

		<summary type="html">&lt;p&gt;Página creada con &amp;#039;&lt;a href=&quot;/wiki/index.php/Archivo:I2C.svg&quot; title=&quot;Archivo:I2C.svg&quot;&gt;thumb|350px|Un ejemplo esquemático con un maestro (un [[microcontrolador&lt;/a&gt;) y tres nodos esclavos (un &lt;a href=&quot;/wiki/index.php?title=Conversi%C3%B3n_anal%C3%B3gica-digital&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Conversión analógica-digital (la página no existe)&quot;&gt;ADC&lt;/a&gt;, un [[Conversor d...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Archivo:I2C.svg|thumb|350px|Un ejemplo esquemático con un maestro (un [[microcontrolador]]) y tres nodos esclavos (un [[Conversión analógica-digital|ADC]], un [[Conversor digital-analógico|DAC]], y otro microcontrolador) con [[resistencia pull-up|resistencias pull-up]] R&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;I²C&amp;#039;&amp;#039;&amp;#039; es un bus de comunicaciones en serie. Su nombre viene de &amp;#039;&amp;#039;Inter-Integrated Circuit&amp;#039;&amp;#039; (Inter-Circuitos Integrados). La versión 1.0 data del año [[1992]] y la versión 2.1 del año [[2000]], su diseñador es [[Philips]]. La velocidad es de 100 [[kilobit|kbit]]/s en el modo estándar, aunque también permite velocidades de 3.4 [[megabit|Mbit]]/s. Es un bus muy usado en la industria, principalmente para comunicar [[microcontrolador|microcontroladores]] y sus [[Periférico (informática)|periférico]]s en [[sistema embebido|sistemas integrados]] (&amp;#039;&amp;#039;Embedded Systems&amp;#039;&amp;#039;) y generalizando más para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.&lt;br /&gt;
&lt;br /&gt;
La principal característica de &amp;#039;&amp;#039;&amp;#039;I²C&amp;#039;&amp;#039;&amp;#039; es que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. También es necesaria una tercera línea, pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.&lt;br /&gt;
&lt;br /&gt;
Las líneas se llaman:&lt;br /&gt;
* SDA: datos&lt;br /&gt;
* SCL: reloj&lt;br /&gt;
* GND: tierra&lt;br /&gt;
&lt;br /&gt;
Las dos primeras líneas son [[drenador]] abierto, por lo que necesitan resistencias de [[pull-up]].&lt;br /&gt;
&lt;br /&gt;
Los dispositivos conectados al bus &amp;#039;&amp;#039;&amp;#039;I²C&amp;#039;&amp;#039;&amp;#039; tienen una dirección única para cada uno. También pueden ser &amp;#039;&amp;#039;maestros&amp;#039;&amp;#039; o &amp;#039;&amp;#039;esclavos&amp;#039;&amp;#039;. El dispositivo &amp;#039;&amp;#039;maestro&amp;#039;&amp;#039; inicia la transferencia de datos y además genera la señal de reloj, pero no es necesario que el &amp;#039;&amp;#039;maestro&amp;#039;&amp;#039; sea siempre el mismo dispositivo, esta característica se la pueden ir pasando los dispositivos que tengan esa capacidad. Esta característica hace que al bus &amp;#039;&amp;#039;&amp;#039;I²C&amp;#039;&amp;#039;&amp;#039; se le denomine bus multimaestro.&lt;br /&gt;
&lt;br /&gt;
Las transacciones en el bus I2C tienen este formato:&lt;br /&gt;
&lt;br /&gt;
| start | A7 A6 A5 A4 A3 A2 A1 R/W | ACK | ... DATA ... | ACK | stop | idle |&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
* El bus esta libre cuando SDA y SCL están en estado lógico alto.&lt;br /&gt;
* En estado bus libre, cualquier dispositivo puede ocupar el bus &amp;#039;&amp;#039;&amp;#039;I²C&amp;#039;&amp;#039;&amp;#039; como maestro.&lt;br /&gt;
* El maestro comienza la comunicación enviando un patrón llamado &amp;quot;start condition&amp;quot;. Esto alerta a los dispositivos esclavos, poniéndolos a la espera de una transacción.&lt;br /&gt;
* El maestro se dirige al dispositivo con el que quiere hablar, enviando un byte que contiene los siete bits (A7-A1) que componen la dirección del dispositivo esclavo con el que se quiere comunicar, y el octavo bit (A0) de menor peso se corresponde con la operación deseada (L/E), lectura=1 (recibir del esclavo) y escritura=0 (enviar al esclavo).&lt;br /&gt;
* La dirección enviada es comparada por cada esclavo del bus con su propia dirección, si ambas coinciden, el esclavo se considera direccionado como esclavo-transmisor o esclavo-receptor dependiendo del bit R/W. &lt;br /&gt;
* El esclavo responde enviando un bit de ACK que le indica al dispositivo maestro que el esclavo reconoce la solicitud y está en condiciones de comunicarse.&lt;br /&gt;
* Seguidamente comienza el intercambio de información entre los dispositivos.&lt;br /&gt;
* El maestro envía la dirección del registro interno del dispositivo que se desea leer o escribir.&lt;br /&gt;
* El esclavo responde con otro bit de ACK&lt;br /&gt;
* Ahora el maestro puede empezar a leer o escribir bytes de datos. Todos los bytes de datos deben constar de 8 bits, el número máximo de bytes que pueden ser enviados en una transmisión no está restringido, siendo el esclavo quien fija esta cantidad de acuerdo a sus características.&lt;br /&gt;
* Cada byte leido/escrito por el maestro debe ser obligatoriamente reconocido por un bit de ACK por el dispositivo maestro/esclavo.&lt;br /&gt;
* Se repiten los 2 pasos anteriores hasta finalizar la comunicación entre maestro y esclavo.&lt;br /&gt;
* Aun cuando el maestro siempre controla el estado de la línea del reloj, un esclavo de baja velocidad o que deba detener la transferencia de datos mientras efectúa otra función, puede forzar la línea SCL a nivel bajo. Esto hace que el maestro entre en un estado de espera, durante el cual, no transmite información esperando a que el esclavo esté listo para continuar la transferencia en el punto donde había sido detenida.&lt;br /&gt;
* Cuando la comunicación finaliza, el maestro transmite una &amp;quot;stop condition&amp;quot; para dejar libre el bus.&lt;br /&gt;
* Después de la &amp;quot;stop condition&amp;quot;, es obligatorio para el bus estar idle durante unos microsegundos.&lt;br /&gt;
&lt;br /&gt;
El código del kernel de Linux para el soporte I2C está separado en varias piezas lógicas:&lt;br /&gt;
&lt;br /&gt;
* I2C chip driver (maneja uno de los chips conectados al bus I2C, tanto si se comporta como maestro o como esclavo)&lt;br /&gt;
* I2C bus driver&lt;br /&gt;
* I2C algorithm driver&lt;br /&gt;
* I2C core (la parte genérica del subsistema de I2C)&lt;br /&gt;
&lt;br /&gt;
== Alternativas ==&lt;br /&gt;
* [[SMBus]]&lt;br /&gt;
* [[Serial Peripheral Interface|SPI]]&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
* [[Bus de datos]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
* [http://www.nxp.com/products/interface_control/i2c/ I2C NXP Semiconductors]&lt;br /&gt;
* [http://www.i2c-bus.org/ I2C al detalle]&lt;br /&gt;
* [http://robots-argentina.com.ar/Comunicacion_busI2C.htm I2C, descripción y funcionamiento]&lt;br /&gt;
&lt;br /&gt;
{{wp}}&lt;br /&gt;
&lt;br /&gt;
{{ORDENAR:IC}}&lt;br /&gt;
[[Categoría:Buses]]&lt;br /&gt;
[[Categoría:Acrónimos de informática]]&lt;/div&gt;</summary>
		<author><name>Museo8bits</name></author>
	</entry>
</feed>