TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: black_flowers en 24 de Junio de 2007, 16:42:32

Título: i2c o rs232?
Publicado por: black_flowers en 24 de Junio de 2007, 16:42:32
hola, alguien sabe qué ventajas tiene el i2c sobre el rs232 (osea la comunicacion serie o usart como se conoce el modulo que integra el pic). En fin que no entiendo muy bien por qué en los micros se incluyen los dos tipos de comunicación serie, y quería saber un poco las ventajas que puede tener uno sobre otro.

un saludo.  :-)
Título: Re: i2c o rs232?
Publicado por: jfh900 en 24 de Junio de 2007, 16:54:07
A groso modo el I2C es un bus que permite conectar varios esclavos y maestros en paralelo (utilizando los 4 hilos solamente), mientras el rs232 es una comunicación punto a punto entre dos dispositivos. Imagínate que queremos conectar una memoria EEPROM, un termómetro y una placa controladora a un PC todos estos dispositivos son I2C, mediante los pines I2C del micro los conectamos y entre el micro y el PC utilizamos la comunicación RS232. Mediante el hiperterminal mandamos comandos al PIC y este a su vez se lo mandaría al dispositivo correspondiente mediante I2C.

Un saludo
Título: Re: i2c o rs232?
Publicado por: maunix en 24 de Junio de 2007, 18:12:37
El I2C puede ser muy rápido e incluye dentro del mismo protocolo del bus la detección del address del dispositivo a acceder. 

Ventaja:
  - Se necesitan solo 2 hilos1
  - Address y chequeo de Rta incluido en el protocolo.

Desventajas
  - Es más complicado que el USART, al menos al principio.
  - Limitado a pequeñas distancias por la limitante de 400pF de capacitancia del bus.
  - Complicado lograr una comunicación con PIC-PC usando este bus.


Los pics tienen USART, no RS232.  Es un error común confundirlos.  El RS232 contiene muchas más señales y maneja otros niveles de tensión.  Para usar RS232 necesitarías usar un conversor tipo MAX232.

Ventajas
  - Extremadamente popular
  - Facilidad de Codificación, gran cantidad de ejemlpos
  - Muy útil para comunicar PC con PIC.

Desventajas:
  - No adecuado para comunicarse con muchos dispositivos. Surge la necesidad de adaptar el protocolo 'muy' bien si quieres una comunicación multidispositivo.  No está diseñado para esto y podrías tener problemas y daños.
  - El addressing y el chequeo de rta no se da por el bus.




Nota 1: Jesús he visto que pusiste que hacen falta 4 hilos para el I2C pero la verdad desconozco en que modalidad puede darse un caso así.
Título: Re: i2c o rs232?
Publicado por: jfh900 en 24 de Junio de 2007, 18:27:48
Cuando se implementa un bus I2C lo normal es llevar positivo, negativo, clock y datos, así se alimentan los esclavos del propio bus.

Un saludo.
Título: Re: i2c o rs232?
Publicado por: maunix en 24 de Junio de 2007, 18:45:37
Cuando se implementa un bus I2C lo normal es llevar positivo, negativo, clock y datos, así se alimentan los esclavos del propio bus.

Ah, ahora entiendo a qué hacías referencia.  Es que como el i2c fue concebido para comunicación en un PCB; se entiende que la alimentación se lleva a todos los IC.  :) :)
Título: Re: i2c o rs232?
Publicado por: jfh900 en 24 de Junio de 2007, 18:57:53
Exacto, es un bus que lo ideo y diseño Philips para conectar varios periféricos a un micro en sus aparatos electrodomésticos por ejemplo en un vídeo podemos poner un reloj en tiempo real, un conversor AD, etc conectado al micro. Por esta razón el bus se compone de alimentación, mas dato y clock. En robótica es un bus muy utilizado ya que permite conectar en cualquier punto del bus el dispositivo que queramos y estos son intercambiables con lo que da una facilidad de escalabilidad muy grande.

Un saludo
Título: Re: i2c o rs232?
Publicado por: black_flowers en 25 de Junio de 2007, 16:54:27
ok, me ha quedado clarísimo despues de esta magnífica explicación. Pero de todas formas con respecto a lo del usart, recuerdo que en el microcontrolador que estudié yo (no era pic era de siemens) había dos modos de programar el puerto serie. En modo maestro, en el cual como su nombre indica el micro era el que manda. Y en modo esclavo, modo en el cual el micro es el mandado y sólo respondía al maestro. Y podía haber una red con varios esclavos y un maestro. Al no tratarse del mismo micro, estoy desconfiando de que no se tratase de la usart que se llama en los pic. Lo que sí es seguro es que se conocía como la comunicación serie. voy a volver a echar una ojeada porque puede incluso ser que se tratase del i2c, todo es posible.

un saludo.
Título: Re: i2c o rs232?
Publicado por: Giovanny en 25 de Junio de 2007, 17:03:10
muy probablemente estaban diseñando un bus de campo utilizando la usart, en modo asincrono.. he leido varios post sobre el tema.
en cuanto al tema principal me quedo con el i2c para interconectar dispositivos en la misma PCB, y con respecto a la comunicacion con pc, me quedo ahora con usb... jejeje..  
Título: Re: i2c o rs232?
Publicado por: black_flowers en 26 de Junio de 2007, 19:34:09
he estado mirando, y el microcontrolador en cuestion era el 80c537 de siemens, y el modo de comunicacion serie se le llamaba uart. Me parece que no tiene nada que ver con la usart de los pic no? Había varios modos de comunicacion (sincrona/asincrona) pero en cualquier caso viene a cuento de que se podía establecer una comunicación de un maestro con varios esclavos.

un saludo.
Título: Re: i2c o rs232?
Publicado por: maunix en 27 de Junio de 2007, 22:27:56
uart es el módulo que puede tener niveles TTL o RS232.  En tu caso sería casi seguro niveles ttl, con señalización NRZ.

Saludos