Está en la página 1de 11

e

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

LABORATORIO DE:

TEORA DE COMUNICACIONES
PREPARATORIO No.: 10 TEMA: COMUNICACIN SERIAL UTILIZANDO RS232 Y 485
Realizado por: Alumnos: Jssica Jimnez Johan Montenegro

Grupo: GR1-1

Fecha de entrega:_22/10/2012_______ f. _____________________________________ Sancin:___________________________________

Semestre: 2012-1

Recibido Por:

PRCTICA No.1 TEMA: COMUNICACIN SERIAL UTILIZANDO RS232 Y 485

1. OBJETIVOS Implementar un sistema de comunicaciones utilizando el interfaz RS-485.

2. CONTENIDO 2.1. Qu es la comunicacin serial? Comunicacin serial La comunicacin serial consiste en el envo de un bit de informacin de manera secuencial, sto es, un bit a la vez y a un ritmo acordado entre el emisior y el receptor. La comunicacin serial en computadores ha seguido los estndares definidos en 1969 por el RS-232 (Recommended Standard 232) que establece niveles de voltaje, velocidad de transmisin de los datos, etc. Por ejemplo, este protocolo establece un nivel de -12v como un uno lgico y un nivel de voltaje de +12v como un cero lgico (por su parte, los microcontroladores emplean por lo general 5v como un uno lgico y 0v como un cero lgico). Existen en la actualidad diferentes ejemplos de puertos que comunican informacin de manera serial (un bit a la vez). El conocido como puerto serial ha sido gradualmente reemplazado por el puerto USB (Universal Serial Bus) que permite mayor versatilidad en la conexin de mltiples dispositivos. Aunque en naturaleza serial, no suele referenciarse de esta manera ya que sigue sus propios estndares y no los establecidos por el RS-232. La mayora de los microcontroladores, entre ellos Arduino, poseen un puerto de comunicacin serial. Para comunicarse con los computadores personales actuales que poseen nicamente puerto USB requieren de un dispositivo traductor. Arduino emplea el integrado FT232R, el cual es un convertidor USB-Serial. A travs de este integrado el microcontrolador puede recibir y enviar datos a un computador de manera serial.

Tarjeta USB-Serial que emplea el chip FT232R La parte fsica encargada de la comunicin serial es la UART (Universal Asynchronous Receiver and Transmitter). Los microcontroladores Atmega8/168/328, en los cuales est basado Arduino, disponen de un dispositivo compatible llamado USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) que permite tanto la comunicacin asincrnica como sincrnica.

En la comunicacin asincrnica, la velocidad de envo de los datos es acordada a priori entre el emisor y el receptor. En la comunicacin sincrnica, el envo de los datos es sincronizado por el emisor a partir de un pulso constante de reloj (Clock), con cada pulso enva un nuevo dato.

Comunicacin asincrnica

Comunicacin sincrnica

3. PREPARATORIO 3.1. Presentar un resumen de las principales caractersticas del circuito integrado MAX485. Adems hacer una tabla de comparacin entre el RS-485 y el RS-232(caractersticas mecnicas, funcionales y elctricas). Mximo 2 hojas. MAX485 PART HALF/FULL NUMBER DUPLEX MAX485 HALF DATA SLEW LOW RECEIVER/ QUIESCENT NUMBER OF PIN RATE RATE POWER DRIVER CURRENT TRANSMITTERS COUNT (Mbps) LIMITED SHUTDOWN ENABLE (A) ON BUS 2.5 NO NO YES 300 32 8

CARACTERSTICAS PRINCIPALES MAX485 In MAX Package: Smallest 8-Pin SO Low Quiescent Current: 300A -7V to +12V Common-Mode Input Voltage Range Three-State Outputs 30ns Propagation Delays, 5ns Skew Half-Duplex Versions Available Operate from a Single 5V Supply Current-Limiting and Thermal Shutdown for Driver Overload Protection

ABSOLUTE MAXIMUM RATINGS Supply Voltage (V) .............................................................12V Control Input Voltage (RE, DE)...................-0.5V to (VCC+ 0.5V) Driver Input Voltage (DI).............................-0.5V to (V+ 0.5V) Driver Output Voltage (A, B)...................................-8V to +12.5V Receiver Input Voltage (A, B).................................-8V to +12.5V Receiver Output Voltage (RO).....................-0.5V to (V+0.5V) Continuous Power Dissipation (T= +70C) 8-Pin Plastic DIP (derate 9.09mW/C above +70C) ....727mW 14-Pin Plastic DIP (derate 10.00mW/C above +70C) ..800mW 8-Pin SO (derate 5.88mW/C above +70C).................471mW 14-Pin SO (derate 8.33mW/C above +70C)...............667mW 8-Pin MAX (derate 4.1mW/C above +70C) ..............830mW 8-Pin CERDIP (derate 8.00mW/C above +70C).........640mW 14-Pin CERDIP (derate 9.09mW/C above +70C).......727mW Operating Temperature Ranges MAX4_ _C_ _/MAX1487C_ A ...............................0C to +70C MAX4_ _E_ _/MAX1487E_ A.............................-40C to +85C MAX4_ _MJ_/MAX1487MJA ...........................-55C to +125C Storage Temperature Range .............................-65C to +160C Lead Temperature (soldering, 10sec) .............................+300C

TABLA DE COMPARACIONES ENTRE RS232 Y RS485 ESPECIFICACIONES Modo de Operacin No. de conductores y receptores Max. Longitud del cable Velocidad de datos Controlador de tensin de salida Nivel de seal (min con carga) Nivel de seal (sin carga Mx) Conductor impedancia de carga Entrada del receptor V gama Receptor de sensibilidad de entrada Receptor resistencia de entrada RS232 Terminacin Simple 1 conductor, 1 receptor 50 ft 20kb / s + /-25V + /-5V a + /-15V + /-25V 3k a 7k + /-15V + /-3V 3k a 7k RS485 Diferencial 32 conductores, 32 receptores 4000 ft 10Mb / s -7V a +12 V + / -1,5 V + /-6V 54 -7 A 12 V + /-200mV Ms de 12k RS-485 puede tener mltiples dispositivos de mando y los mltiples dispositivos de escucha. RS-422 slo puede tener un comandante y varios detectores. Por ejemplo, se puede conectar un PC (el dispositivo de mando) a 10 controladores de temperatura (oyentes). RS-485 es ms fcil ya que slo se trata de dos cables en lugar de 4. Programacin RS-485 es ms difcil, ya que va a enviar y recibir en los mismos dos cables, necesita habilitar y deshabilitar el transmisor en el momento adecuado para que usted pueda realizar comunicaciones adecuadas. Imagnese el envo de un comando $ 2SEND fuera del transmisor.

Distancia Limitada- Longitudes de cable estn limitados a 50 pies o menos. Muchos reivindicacin ir ms all, pero esto no es recomendable, y no es parte de la especificacin RS-232. Susceptible al ruido - RS-232 es de una sola terminal, lo que significa que la transmisin y recepcin de las lneas se hace referencia a una tierra comn No es multi-drop - Slo se puede conectar un dispositivo RS-232 por puerto. Hay algunos dispositivos diseados para eco de un comando a una segunda unidad de la misma familia de productos, pero esto es muy raro. Esto significa que si usted tiene 3 metros para conectar a un PC, se necesitan 3 puertos, o por lo menos, un multiplexor RS-232.

OTRAS COMPARACIONES

3.2. Desarrollar un programa en Visual Studio que permita al usuario el envo de dos nmeros (0 al 9) en forma de bits a travs del puerto serial RS-232 del PC conectado a un conversor de niveles, MAX485. La conexin entre los integrados MAX485 se dar por medio de un par trenzado de 1 metro de longitud.

Public Class Form1 Private ComBuffer As Byte() Private Delegate Sub UpdateFormDelegate() Private UpdateFormDelegate1 As UpdateFormDelegate 'Creamos las variables a usar en el procedimiento de UpdateDisplay Dim strReturn As String Dim strPeso As String Dim car As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TraeConfiguracion() 'antes que nada hay que abrir el puerto If Not puertoserial.IsOpen Then puertoserial.Open() End If End Sub Private Sub TraeConfiguracion() puertoserial.PortName = "COM3" 'puerto de comunicacion puertoserial.BaudRate = "2400" ' velocidad puertoserial.DataBits = "8" ' bits de paridad puertoserial.StopBits = "1" ' bits de parada End Sub 'Private Sub puertoserial_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles puertoserial.DataReceived ' Dim n As Integer ' Try ' UpdateFormDelegate1 = New UpdateFormDelegate(AddressOf UpdateDisplay) ' n = puertoserial.BytesToRead ' capturamos el numero de bytes leidos ' If n > 50 Then ' ComBuffer = New Byte(n - 1) {} 'redimensionamos ' puertoserial.Read(ComBuffer, 0, n) 'leemos el dato ' Me.Invoke(UpdateFormDelegate1) ' End If ' Catch ex As Exception ' MsgBox(ex.Message) ' End Try 'End Sub 'Private Sub UpdateDisplay() ' 'variables locales

' ' '

Dim incoming As String = "" Dim longBuffer As Long Dim i As Integer

' 'calcularmos la longitud del buffer y guardamos la informacin en una variable ' longBuffer = ComBuffer.Length ' For i = 0 To longBuffer - 1 ' incoming = incoming & Chr(ComBuffer(i)) ' Next ' strReturn = incoming.ToString ' 'ahora solo tenemos que formatear la cadena tal como deseemos. ' 'Yo conecte el puerto a una bscula por tanto necesito capturar el dato del pesaje ' '-----------------------------------------------' If strReturn.Length > 2 Then ' i = 0 ' strPeso = "" ' Dim blnLeyoNumero As Boolean ' For i = 1 To strReturn.Length ' car = Mid(strReturn, i, 1) ' If IsNumeric(car) Or car = "." Then ' strPeso = strPeso & car ' blnLeyoNumero = True ' Else ' If blnLeyoNumero Then Exit For ' End If ' Next ' End If ' '-------------------------------------------------' 'Listo ahora el dato lo mostramos en la cajita de texto, ahora si a probarlo ' Me.txtDatoEntrada.Text = strPeso 'End Sub 'Private Sub tmpPrueba_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmpPrueba.Tick ' 'SOLO DE PRUEBA ' Dim x As Integer ' Dim y As Integer ' Dim z As Integer ' Dim d As Integer ' Dim strDato As String ' 'se escogen nmeros al azar para formar la cadena ' Dim random1 As New Random() ' x = random1.Next(0, 9) ' y = random1.Next(0, 9) ' z = random1.Next(0, 9) ' d = random1.Next(0, 9) ' strDato = "=" & x & y & z & "." & d & "=" ' puertoserial.Write(strDato) 'End Sub

'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' lvDatos.Items.Add(txtDatoEntrada.Text.Trim) 'End Sub Dim Dim Dim Dim a b c d As As As As Integer Integer String Integer

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click puertoserial.DtrEnable = True puertoserial.Write(TextBox1.Text) puertoserial.DtrEnable = False End Sub Private Sub nupA_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nupA.ValueChanged a = nupA.Value comparar() c = a & b & d TextBox1.Text = a & b & d End Sub Public Sub comparar() If (a < b) Then d = b Else d = a End If End Sub Private Sub nupB_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nupB.ValueChanged b = nupB.Value comparar() c = a & b & d TextBox1.Text = a & b & d End Sub End Class

3.3. Desarrollar un circuito combinacional que permita comparar dos nmeros ingresados en el computador y presentarlo en un display. Primero se debe mostrar uno por uno los dos nmeros ingresados, y al final el mayor de los nmeros

Figura 3. Esquema a ser implementado (Anexo1) 3.4. Presentar un diagrama de flujo que explique el funcionamiento tanto del programa de visual y otro para el circuito combinacional, adems incluir el diagrama de conexiones del circuito implementado. (Anexo 2)

BIBLIOGRAFA http://galaxi0.wordpress.com/el-puerto-serial/ http://www.datasheetcatalog.org/datasheet/maxim/MAX1487-MAX491.pdf http://www.datasheetcatalog.org/datasheet/maxim/MAX1487-MAX491.pdf http://www.differencebetween.com/difference-between-rs232-and-vs-rs485/ http://translate.google.com.ec/translate?hl=es&sl=en&u=http://www.differencebetween. com/difference-between-rs232-and-vsrs485/&prev=/search%3Fq%3DRS232%2BVS%2BRS485%26hl%3Des%26client%3Dfirefoxa%26hs%3DtAo%26rls%3Dorg.mozilla:esES:official%26prmd%3Dimvns&sa=X&ei=O6yEUPvPF5G89QT8poDABw&ved=0CC4Q7gEwA Q http://www.omega.com/techref/das/rs-232-422-485.html http://translate.google.com.ec/translate?hl=es&sl=en&u=http://www.omega.com/techre f/das/rs-232-422485.html&prev=/search%3Fq%3DRS232%2BVS%2BRS485%26hl%3Des%26client%3Dfirefo x-a%26hs%3DtAo%26rls%3Dorg.mozilla:esES:official%26prmd%3Dimvns&sa=X&ei=O6yEUPvPF5G89QT8poDABw&ved=0CCcQ7gEwA A

Anexo 1:

También podría gustarte