Protocolos de Comunicacion

download Protocolos de Comunicacion

of 33

Transcript of Protocolos de Comunicacion

  • 106/09/2012 Sistemas electrnicos Dr. L. Salazar

    1

    PROTOCOLOS Y ESTANDARES DE COMUNICACIN

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    2

    Comunicacin serial

    Profibus

    Modbus

    USB

    Ethernet

    Conexin fsica

    Protocolo de comunicacin

  • 206/09/2012 Sistemas electrnicos Dr. L. Salazar

    3

    COMUNICACIN SERIE

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    4

    COMUNICACIN SERIELa comunicacin serie se utiliza para enviar datos entre SE a travs de cables de largas distancias, ya que la comunicacion en paralelo, a parte de resultar demasiado costosa, exige demasiado cableado para ser operativa.

    Los datos serie recibidos desde un modem u otros dispositivos son convertidos a paralelo gracias a lo cual pueden ser manejados por el bus del PC.

    Segn la direccin de informacion la CS puede ser:simplex, half-duplex y full-duplex.

    CS simplex: enva informacin en una sola direccin (p.e. una emisora de radio comercial).

    CS Half-duplex: los datos pueden ser enviados en ambas direcciones entre dos sistemas, pero en una sola direccin al mismo tiempo.

    CS full-duplex: cada sistema puede enviar y recibir datos al mismo tiempo.

  • 306/09/2012 Sistemas electrnicos Dr. L. Salazar

    5

    COMUNICACIN SERIE

    En modo transmisin sncrona los datos son enviados en bloques, el transmisor y el receptor son sincronizados por uno o ms caracteres especiales llamados caracteres sync.

    En modo transmisin asncrona, un bit identifica su bitde comienzo y 1 o 2 bits identifican su final, no es necesario ningn carcter de sincronismo.

    Segn el modo de transmisin existen dos tipos de comunicaciexisten dos tipos de comunicacin serie: n serie:

    ssncronasncronas y asy asncronas. ncronas.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    6

    Frecuencia receptor es 16 o 64 mayor que la el emisor. Sincronizacin mediante circuitos UART.

    Modo sModo sncrononcrono

  • 406/09/2012 Sistemas electrnicos Dr. L. Salazar

    7

    Los bits de datos son enviados al receptor despus del bitde start. El bit de menos peso es transmitido primero.

    Un carcter de datos suele consistir en 7 o 8 bits. Dependiendo de la configuracin de la transmisin un bit

    de paridad es enviado despus de cada bit de datos. Se utiliza para corregir errores en los caracteres de datos.

    Finalmente, se envan 1 o 2 bits de stop.

    Modo asincrono

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    8

    ESTANDAR RS-232 El RS-232C es un estndar que constituye la

    tercera revisin de la antigua norma RS-232, propuesta por la EIA (Asociacin de Industrias Electrnicas), realizndose posteriormente un versin internacional por el CCITT, conocida como V.24.

  • 506/09/2012 Sistemas electrnicos Dr. L. Salazar

    9

    ESTNDAR RS-232C Este estndar fue diseado en los 60s para comunicar un equipo terminal de datos o

    DTE (Data Terminal Equipment, el PC en este caso) y un equipo de comunicacin de datos o DCE (Data Communication Equipment, habitualmente un mdem).

    El puerto serie RS-232C, presente aun en algunos PC actuales, es la forma simple y muy comn para realizar transmisiones de datos en serie entre PC o perifricos.

    El RS-232C es un estndar que constituye la tercera revisin de la antigua norma RS-232, propuesta por la EIA (Asociacin de Industrias Electrnicas), realizndose posteriormente un versin internacional por el CCITT, conocida como V.24. Las diferencias entre ambas son mnimas, por lo que a veces se habla indistintamente de V.24 y de RS-232C (incluso sin el sufijo "C"), refirindose siempre al mismo estndar.

    El RS-232C utiliza un conector tipo DB-25 de 25 pines, o DB-9 de 9 pines, mas barato e incluso mas extendido para cierto tipo de perifricos (como el ratn serie del PC). En cualquier caso, en los PCs no se emplean mas de 9 pines en el conector DB-25.

    Las seales con las que trabaja este puerto serie son digitales, de +12V (0 lgico) y -12V (1 lgico), para la entrada y salida de datos, y a la inversa en las seales de control. El estado de reposo en la entrada y salida de datos es -12V. Dependiendo de la velocidad de transmisin empleada, es posible tener cables de hasta 15 metros.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    10

    CCITT: son las siglas de Comit Consultivo Internacional Telegrfico y Telefnico (Consultative Committee for International Telegraphy and Telephony- Comit Consultatif International Tlgraphique et Tlphonique), antiguo nombre del comit de normalizacin de las telecomunicaciones dentro de la UIT(Unin Internacional de Telecomunicaciones) ahora conocido como UIT-T.

    La organizacin ha definido importantes estndares de comunicacin como los siguientes: Group 3, Group 4, V.21, V.22, V.22bis, V.29, V.32, V.32bis, V.34, V.42, V.42bis, V.90, X.25, X.400, X.500, entre otros.

  • 606/09/2012 Sistemas electrnicos Dr. L. Salazar

    11

    RESUMEN CARACTERSTICAS

    25/9 pines de seal. Conector de DTE debe ser macho y el conector de DCE

    hembra. Los voltajes para un nivel lgico alto estn entre -3V y -

    15V, y un nivel bajo +3V y +15V. Los voltajes ms usados son +12V/-12V, +9V/9V Dependiendo de la velocidad de transmisin empleada,

    es posible tener cables de hasta 15 metros. Velocidad: 300, 600, 1200, 2400, 4800 y 9600 bps

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    12

    DETALLE DB-9

  • 706/09/2012 Sistemas electrnicos Dr. L. Salazar

    13

    Una vez que ha comenzado la transmisin de un dato, los bits tienen que llegar uno detrs de otro a una velocidad constante y en determinados instantes de tiempo. Por eso se dice que el RS-232 es asncrono por carcter y sincrono por bit.

    Los pines que portan los datos son RXD y TXD.

    Los dems se encargan de otros trabajos: DTR indica que el ordenador esta encendido, DSR que el aparato conectado a dicho puerto esta encendido, RTS que el ordenador puede recibir datos (porque no esta ocupado), CTS que el aparato conectado puede recibir datos, y DCD detecta que existe una comunicacin, presencia de datos.

    Tanto el aparato a conectar como el ordenador (o el programa terminal) tienen que usar el mismo protocolo serie para comunicarse entre si. Puesto que el estndar RS-232 no permite indicar en que modo se esta trabajando, es el usuario quien tiene que decidirlo y configurar ambas partes.

    Los parmetros que hay que configurar son: protocolo serie (8N1), velocidad del puerto serie, y protocolo de control de flujo. Este ultimo puede ser por hardware (el handshaking RTS/CTS) o bien por software (XON/XOFF, el cual no es muy recomendable ya que no se pueden realizar transferencias binarias).

    La velocidad del puerto serie no tiene por que ser la misma que la de transmisin de los datos, de hecho debe ser superior. Por ejemplo, para transmisiones de 1200 baudios es recomendable usar 9600, y para 9600 baudios se pueden usar 38400 (o 19200).

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    14

    FORMAS DE CONEXIN CONECTOR DB9

    Conector 1 Conector 2 Funcin

    2 3 Rx Tx 3 2 Tx Rx 5 5 GND

    Figura : Cable DTE-DCE

  • 806/09/2012 Sistemas electrnicos Dr. L. Salazar

    15

    Figura: Conector de test (loopback)

    Conector 1Conector 1Conector 1Conector 1 Conector 2Conector 2Conector 2Conector 2 Funci Funci Funci Funcinnnn 2 3 Rx Tx 3 2 Tx Rx 5 5 GND

    1+4+6 - DTR CD + DSR - 1+4+6 DTR CD + DSR

    7+8 - RTS CTS - 7+8 RTS CTS

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    16

    Figura: Cable DTE-DTE null modem

    Conector 1Conector 1Conector 1Conector 1 Conector 2Conector 2Conector 2Conector 2 Funci Funci Funci Funcinnnn 1 7+8 RTS2 CTS2 + CD1 2 3 Rx Tx 3 2 Tx Rx 4 6 DTR DSR 5 5 GND 6 4 DSR DTR

    7+8 1 RTS1 CTS1 + CD2

  • 906/09/2012 Sistemas electrnicos Dr. L. Salazar

    17

    GND: Es la masa. Como toda seal, tiene que estar referida a una masa. RX: Seal de recepcin. Son los datos que se reciben. (entrada)TX: Seal de transmisin. Por aqu salen los datos. (salida)DTR: Data Terminal Ready. Indica que el terminal est encendido. (salida) DSR: Data Set Ready. Se ha establecido conexin. (entrada)CTS: Clear To Send. El terminal est aceptando datos. (salida)RTS: Request to Send. Aqu se introduce una seal cuando se pide un dato. (entrada)

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    18

    DB-25 y DB-9

    Las seales TXD, DTR y RTS son

    de salida, mientras que RXD, DSR,

    CTS y DCD son de entrada. La masa

    de referencia para todas las seales

    es SG (Tierra de Seal). Finalmente,

    existen otras seales como RI

    (Indicador de Llamada).

  • 10

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    19Test ModeDCE-142--25

    Trans. Sig. Element TimingDTETSET113DA-24

    Data Signal Rate SelectorDTEDSRS111CH-23

    Ring IndicatorDCERI125CE922

    Remote Digital LoopbackDTERDL---21

    Data Terminal ReadyDTEDTR108.2CD420

    Secondary Request to SendDTESRS120SCA-19

    Local LoopbackDTELOOP141--18

    Receiver Signal Element TimingDCERSET115DD-17

    Secondary Received DataDCESRD119SBB-16

    Trans. Sig. Element TimingDCETSET114DB-15

    Secondary Transmit DataDTESTD118SBA-14

    Secondary Clear to SendDCESCTS121SCB-13

    Sec. Recv. Line Signal DetectorDCESRLSD122CI-12

    Reserved for Test-----11

    Reserved for Test-----10

    Reserved for Test-----9

    Data Carrier DetectDCEDCD/CD109CF18

    Signal Ground-SG/GND102AV57

    Data Set ReadyDCEDSR107CC66

    Clear to SendDCECTS106CB85

    Request to SendDTERTS105CA74

    Receive DataDCERD104BB23

    Transmit DataDTETD103BA32

    Frame/Protective Ground-PG/FG101AA-1

    DescriptionSignal SourceCommon NameCCITT Circuit

    SymbolEIA Circuit SymbolDB9 IBM PC PinDB25 RS232-C Pin

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    20

    El PC controla el puerto serie mediante un circuito integrado especifico, llamado UART (Transmisor-Receptor-Asncrono Universal).

    Normalmente se utilizan los siguientes modelos de este chip: 8250 (bastante antiguo, con fallos, solo llega a 9600 baudios), 16450 (versin corregida del 8250, llega hasta 115.200 baudios) y 16550A (con buffersde E/S).

    A partir de la serie PC Pentium, las UARTs de la placa base son todas de alta velocidad, es decir UART 16550A.

    La mayora de los mdems conectables a puerto serie necesitan dicho tipo de UART, incluso algunos juegos para jugar en red a travs del puerto serie lo necesitan.

    Los PC porttiles suelen llevar otros chips: 82510 (con buffer especial, emula al 16450) o el 8251 (no es compatible).

    UART

  • 11

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    21

    Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y lneas de interrupcin (IRQ).

    En un PC se eligieron las direcciones 3F8h (o 0x3f8) e IRQ 4 para el COM1, y 2F8h e IRQ 3 para el COM2. El estndar del PC llega hasta aqu.

    Al aadir posteriormente otros puertos serie, se eligieron las direcciones 3E8 y 2E8 para COM3-COM4, pero las IRQ no estn especificadas.

    Cada usuario debe elegirlas de acuerdo a las que tenga libres o el uso que vaya a hacer de los puertos serie (por ejemplo, no importa compartir una misma IRQ en dos puertos siempre que no se usen conjuntamente, ya que en caso contrario puede haber problemas).

    Con el auge de las comunicaciones, los fabricantes de PCsincluyen un puerto especial PS/2 para el ratn, dejando as libre un puerto serie. 06/09/2012 Sistemas electrnicos

    Dr. L. Salazar22

    Mediante los puertos de E/S se pueden intercambiar datos, mientras que las IRQ producen una interrupcin para indicar a la CPU que ha ocurrido un evento (por ejemplo, que ha llegado un dato, o que ha cambiado el estado de algunas seales de entrada).

    La CPU debe responder a estas interrupciones lo mas rpido posible, para que de tiempo a recoger el dato antes de que el siguiente lo sobrescriba. Sin embargo, las UART 16550A incluyen unos buffers de tipo FIFO, dos de 16 bytes (para recepcin y transmisin), donde se pueden guardar varios datos antes de que la CPU los recoja. Estotambin disminuye el numero de interrupciones por segundo generadas por el puerto serie.

    El RS-232 puede transmitir los datos en grupos de 5, 6, 7 u 8 bits, a unas velocidades determinadas (normalmente, 9600 bits por segundo o mas). Despus de la transmisin de los datos, le sigue un bit opcional de paridad (indica si el numero de bits transmitidos es par o impar, para detectar fallos), y despus 1 o 2 bits de Stop.

    Un protocolo utilizado normalmente es 8N1 que significa, 8 bits de datos, sin paridad y con 1 bit de Stop.

  • 12

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    23

    Ejemplo de proyecto: Sensor de temperatura

    Caractersticas:

    Microcontrolador PIC10F202 Visualizar la temperatura de hasta 8 sensores puestos en el mismo

    termmetro. Consultar la temperatura desde otros ordenadores que estn en la misma

    red TCP/IP. Programar un lmite mximo y otro mnimo de temperatura para cada

    sensor, si se exceden se activar una alarma. Rango de temperaturas: -55 a 125 grados con una precisin de +/- medio

    grado. Los datos de cada medida se deben grabar en un archivo de texto. El tiempo entre cada medida y cada grabacin en el archivo pueden ser

    diferentes y van desde 5 segundos hasta 6 horas. Salida para conectar un rel que active una alarma externa. Al usar el bus "1 wire" todos lo sensores pueden ir en paralelo en el mismo

    cable usando solo dos hilos.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    24

    Esquema:

    El microcontrolador PIC10F202 es el componente principal del circuito, interpreta los comandos que recibe del PC y los comunica a los sensores de temperatura. El circuito se alimenta del puerto serie a travs de los diodos D1 y D2, estos llevan una tensin de unos 12 voltios al circuito estabilizador IC2 78L05 que alimenta al microcontrolador. La resistencia R4 y el diodo zener DZ1 protegen al PIC de posibles picos de tensin en el bus 1-wire. La salida de la alarma va vonectada al transistor T1 que tiene la salida en colector abierto y puede activar un pequeo rel o zumbador con una alimentacin externa. La velocidad de comunicacin con el PC es de 1200bps, una velocidad baja pero suficiente para este proyecto ya que el nmero de bytes a enviar es bajo. El termmetro va conectado directamente a un puerto serie del PC que disponga de un conector DB9 macho, pero si se necesita mayor distancia se puede poner un cable prolongador.Todo el circuito del termmetro va montado en una placa de circuito impreso con componentes SMD dentro del conector DB9, de este conector sale un cable con un conector de 3 pines, el del medio es la masa, el de un lado es el bus 1-wire al que se conectan los sensores y el del otro lado es la salida del rel de activacin de la alarma externa; este rel necesita una alimentacin externa y se activa durante un instante si se alcanzan los lmites programados.

  • 13

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    25

    Sensores

    Los sensores usados son del tipo DS18B20, este es el sucesor del DS1820, tiene un margen de temperaturas de -55 a 125 grados con una resolucin y una precisin de medio grado y funciona con el protocolo de comunicacin 1wire de Dallas(Maxim).

    El microcontrolador PIC10F202 hace de adaptador entre este protocolo y los comandos RS232 con los que se comunica con el PC. Este sensor se usa en el modo "parasite power" que nos permite usar solo dos hilos en el bus, de este modo el pin de alimentacin del sensor se une a masa y el pin central sirve tanto para alimentar el sensor como para leer los datos.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    26

    DS18B20 Descripcin: Este es el sensor de temperatura ms reciente de Maxim. Reporta cambios de temperatura con una precisin de 9 a 12 bits, desde -55C

    hasta 125C (+/-0.5C). Cada sensor tiene un nmero serial nico de 64-Bit grabado.

    Caractersticas: Interfaz de 1-Wire para comunicacin. Cada dispositivo tiene un cdigo serial nico de 64-bit guardado en una

    memoria ROM interna. No requiere componentes externos. Puede ser alimentado a travs de la lnea de datos. El rango de voltajes de

    alimentacin es de 3V a 5.5V Realiza mediciones desde 55C hasta +125C (67F hasta +257F) 0.5C de exactitud desde10C hasta +85C Resolucin seleccionable de 9 a 12 bits. Convierte la temperatura a una palabra digital de 12 bits en 750ms (max.) Alarmas configurables por el usuario en memoria no volatil Aplicaciones de control trmico, sistemas industirales, productos finales,

    termmetros y cualquier otro sistema que sea sensible trmicamente.

  • 14

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    27

    Alarma

    El termmetro tiene la posibilidad de conectar una alarma externa que activar el programa del PC durante un segundo si al leer las temperaturas estas an alcanzado los lmites prefijados.

    En este esquema vemos como conectar un rel que puede activar el dispositivo que queramos, este rel es activado por el transistor T1. El circuito se debe alimentar de una tensin externa que debe ser igual a la de funcionamiento del rel. El diodo D1 es necesario para proteger al transistor de las descargas que se producen al conmutar la bobina.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    28

    Conexin de sensores La imagen son ejemplos de como pueden ir conectados los

    sensores al bus 1-wire, ser suficiente con usar cable de tipo telefnico de dos hilos, la longitud del bus puede sobrepasar ampliamente los 100 metros sin que haya problemas de comunicacin. Podemos usar usar el nmero de sensores desde uno hasta ocho

    El orden en el que aparecern los sensores en el programa de visualizacin no depende de la posicin en el bus sino del nmero interno que lleva cada uno grabado en la ROM por tanto se debe comprobar cual corresponde al primero, al segundo, etc.

  • 15

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    29

    Programa de lectura de las temperaturas: Interfase grafica

    Programa hecho para el PC que se comunica con el termmetro y visualiza los datos leidos, los compara con unos valores prefijados y si las temperaturas llegan a estos valores activa las alarmas sonora, externa o visual. adems va registrando las temperaturas en un grfico y opcionalmente en un archivo.

    Con conocimientos de programacin, se puede hacer un programa para ver las temperaturas, solo necesitamos usar un lenguaje que pueda enviar y recibir datos por el puerto serie usando el protocolo de comunicacin

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    30

    El programa tiene las siguientes opciones graficas:

    Grfico: Permite ver el estado de las temperaturas. Aparecern tantas columnas como sensores conectados, en la base de cada columna el valor de la temperatura y un cuadrado verde o rojo que indica si se ha superado el lmite superior o inferior definido en "Mrgenes". Logs: Registra las ltimas temperaturas leidas y tambin quedan los errores que pudiesen haberse producido.

    Mrgenes: selecciona los lmites superior e inferior para cada sensor, si estos se alcanzanse activar la alarma externa, la sonora del PC y la visual en las columnas de temperatura.

    Mximas: Indica las temperaturas mximas y mnimas alcanzadas por cada sensor.

    ROM: El nmero de sensor(1 a 8), el tipo de familia(28h para estos), la direccin ROM que le corresponde, el CRC y la temperatura actual.

    Config.: Selecciona varias opciones como por ejemplo el tiempo entre lecturas(5 a 3000 segundos), el tiempo entre cada grabacin en el archivo, validar o invalidar las alarmas, seleccionar los colores del grfico, seleccionar el puerto serie, etc.

    Salidas: Se dispone de 8 botones que sirven para activar o desactivar cada salida, tambin hay 8 luces que indican el estado de estas. Cada salida se puede activar o desactivar desde su botn pero tambin se puede asignar a su sensor (marcando la casilla correspondiente)

    OPCIONES GRAFICAS

  • 16

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    31

    Grfico de registro de temperaturas: Con el botn central se ve un grfico con las temperaturas registradas las ltimas 24 horas si el tiempo entre medidas es de 5 segundos, Si se selecciona cada 10 segundos el tiempo registrado ser de 48 horas, Sise selecciona un minuto, el tiempo registrado ser de ms de 12 das y as sucesivamente .

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    32

    Listado: "Salvar temperaturas" :graba la fecha, hora y

    temperaturas leidas en un archivo llamado "datos.txt" como en el ejemplo siguiente:

  • 17

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    33

    Configuracin En casilla de configuracin adems del tiempo entre cada lectura y

    cada grabacin en el archivo, tenemos 3 opciones de funcionamiento del programa segn la funcin que vaya a hacer en el PC:

    La 1 opcin "Solo PuertoSerie", si el termmetro va a estar conectado al PC en el cual vamos a tener el programa de lectura y no vamos a hacer ninguna consulta desde otro ordenador.

    La 2 opcin "PuertoSerie y servidor TCP/IP", si el termmetro va a estar conectado al PC en el cual tenemos el programa y adems vamos a consultar los datos desde otro PC conectado a la red.

    La 3 opcin "Cliente TCP/IP", se marca cuando se lee la temperatura del termmetro conectado a otro PC de la red. Al marcar esta opcin se valida el campo en el que tenemos que poner la direccin IP del PC al cual est conectado el termmetro.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    34

    COMANDOS DE COMUNICACIN

    Un programa que lea la temperatura, se puede elaborar en cualquier lenguaje de programacin que sea capaz de enviar y recibir datos por el puerto serie del PC, por ejemplo Visual Basic, Delphi, C, etc.El programa puede configurar el puerto serie seleccionado a 1200 b.p.s., despus debe enviar comandos que consisten en un carcter ASCII y el termmetro contestar con los datos solicitados. Los comandos pueden ser los siguientes:

    Comando "O": prueba de comunicacin, el termmetro contesta con "K". Comando "I": Inicia conversin en todos los sensores, espera 750 mS. y contesta al PC con "S" si encontr

    sensores conectados al bus y con "N" si no los encontr. Despus de este comando, cada sensor tiene en su memoria RAM el valor de la temperatura listo para ser ledo por el PC.

    Comando "T": Lee la temperatura de los sensores y la enva al PC en 12 bytes: los 8 primeros contienen la temperatura de cada sensor y un bit indicador de si este respondi o no, el 9 byte contiene 8 bits indicadores de si la temperatura es negativa, el 10 byte contiene 8 bits indicadores de si hay que sumar medio grado, el 11 byte contiene el n de sensores detectados y flags indicadores de error y el 12 byte contiene el checksum.

    Comando "R": Cada sensor tiene un n de serie nico de 8 bytes grabado en ROM, este comando sirve para leer ese cdigo ROM de los sensores, pero en la prctica no es necesario usarlo. Al recibir este comando, el termmetro contesta con 65 bytes: 8 por cada sensor ms uno de checksum.

    Comando "A": Este comando activa la alarma externa durante un segundo. El programa del PC debe comparar las temperaturas ledas con los lmites seleccionados y si se han superado estos, el mismo programa se encargar de activar la alarma. El termmetro contesta con "A" al PC cuando recibe este comando.El dilogo habitual es enviar "I" y esperar la respuesta del termmetro, despus de esto ya tiene cada sensor su temperatura en la RAM interna preparada para ser leda con el comando "T".

  • 18

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    35

    Descripcin de cada byte: Bytes 1 a 8: contienen la temperatura de cada sensor en grados

    enteros, el bit msb(el de la izda.) indica si el sensor respondicorrectamente y debemos ponerle a cero para que nos queden los grados.

    Byte 9: los 8 bits indican si la temperatura es negativa, el bit msb corresponde al sensor 1 y el lsb al sensor 8.

    Byte 10: los 8 bits indican si hay que sumar medio grado a la temperatura leda, el bit msb corresponde al sensor 1 y el lsb al sensor 8.

    Byte 11: el bit 7 indica si hubo error en el bus 1-wire, el bit 6 indica error de CRC(cyclic redundancy check) y los 4 bits lsb contienen el n de sensores detectados en el bus.

    Byte 12: en este byte est el checksum de los 11 bytes anteriores, o sea el ltimo byte de la suma de estos, en este caso 99+9C+99+99+9C+94+99+9C+00+D3+08=5A7, el checksum es A7. Con esta comprobacin el programa del PC sabe si los datos recibidos son correctos o ha habido algn error de comunicacin.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    36

    En este ejemplo vemos en la primera lnea el valor en hexadecimal de los bytes recibidos y en la segunda ese mismo valor en binario. Los 8 primeros bytes corresponden a la temperatura de los 8 sensores, excepto el bit msb(el de la izda.) de cada uno que siempre est a 1 indicando que el sensor ha respondido. Este bit hay que ponerle a cero y nos queda el valor de la temperatura engrados enteros, en el primer byte nos quedarn 25 grados, luego debemos comprobar el bit msb del byte 9 para ver si la temperatura es negativa, en este caso est a 0 por tanto es positiva, despus comprobamos el byte 10 que corresponde al primer sensor y vemos que est a 1 lo cual indica que hay que sumar 0,5 grados, as que la temperatura del primer sensor es de 25,5 grados. Tambin debemos comprobar que los bits indicadores de error en el byte 11 estn a cero y que el checksum es correcto.

    Ejemplo de los 12 bytes que se reciben cuando se enva el comando "T", corresponden a las siguientes temperaturas: 25,5 / 28,5 / 25,0 / 25,5 / 28,0 / 20,0 / 25,5 /28,5

  • 19

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    37

    ESTANDAR RS 485 EIA-485, also known as TIA/EIA-485 or RS-485, is a

    standard defining the electrical characteristics of drivers and receivers for use in balanced digital multipoint systems.

    The standard is published by the ANSITelecommunications Industry Association/Electronic Industries Alliance (TIA/EIA).

    Digital communications networks implementing the EIA-485 standard can be used effectively over long distances and in electrically noisy environments.

    Multiple receivers may be connected to such a network in a linear, multi-drop configuration. These characteristics make such networks useful in industrial environments and similar applications.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    38

    ESTANDAR RS-485 Standard: EIA RS-485 Physical Media: Twisted pairNetwork Topology

    Point-to-point, Multi-dropped, Multi-point Maximum Devices: 32 drivers or receivers Maximum Distance: 1200 metres (4000 feet) Mode of Operation: Differential signaling Maximum Baud Rate: 100 kbit/s - 10 Mbit/s Voltage Levels: -7 V to +12 V Mark(1): Positive Voltages (B-A > +200 mV) Space(0): negative voltages (B-A < -200 mV) Available Signals: Tx+/Rx+, Tx-/Rx- (Half Duplex)

    Tx+, Tx-, Rx+, Rx- (Full Duplex) Connector types: Not specified.

  • 20

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    39

    Seal en modo diferencial

    Se utiliza una conexiSe utiliza una conexin balanceada. n balanceada.

    Se consigue mejorar la velocidad y mayor distancia.Se consigue mejorar la velocidad y mayor distancia.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    40

    RS232- RS485

    EIA-485 cable usually made with twisted pair (like EIA-422) and may span up to 1200 metres. The recommended arrangement of the wires is as a connected series of point-to-point nodes, a line or bus. Ideally, the two ends of the cable will have a termination resistor connected across the two wires and two powered resistors to bias the lines apart when the lines are not being driven. The value of each termination resistor should be equal to the cable impedance (typically, 120 ohms for twisted pairs).

  • 21

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    41

    CARACTERISTICAS RELEVANTES

    Velocidad mxima de 100Kbps hasta 1200m y de 10Mbps hasta 12m.

    Rango de seales: mximo 6V,mnimo 200mV.

    Amplificadores de triple estado, permiten interconectar hasta 64 dispositivos.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    42

    COMPARACIN El uso de tensiones elevados de hasta 15V en RS-

    232 y de circuitos no balanceados hace que sea ms susceptible al ruido.

    En cambio en RS-485 se utilizan voltajes mximo de 6V y circuitos balanceados por lo que se reduce el factor de ruido.

    Con RS-485 se permiten conectar hasta 64 dispositivos y se puede llegar a distancias mas largas.

  • 22

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    43

    Conversores RS232 / RS485 Permite pasar de una comunicacin

    RS-232 a una RS-485 y viceversa El dispositivo al que se conecta el

    conversor debe realizar el control del RTS

    Los puertos RS-232 y RS-485 pueden estr optoacoplados

    Es un dispositivo transparente al sistema

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    44

    Ejemplo: monitoreo de medidores elctricos

  • 23

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    45

    PROTOCOLO MODBUSAPLICACIONES DE CONTROL Y DE INSTRUMENTACION INDUSTRIAL

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    46

    PROTOCOLO MODBUS

    El protocolo de comunicaciones industriales MODBUS fue desarrollado en 1979 por la empresa norteamericana MODICONDebido a que es pblico, relativamente sencillo de implementar y flexible se ha convertido en uno de los protocolos de comunicaciones ms populares en sistemas de automatizacin y control. Existen tambin versiones con pequeas modificaciones o adaptadas para otros entornos (como p.ej JBUS o MODBUS II)

  • 24

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    47

    PROTOCOLO MODBUS

    MODBUS especifica el procedimiento que el controlador y el esclavo utilizan para intercambiar datos, el formato de estos datos, y como se tratan los errores. No especifica estrictamente el tipo de red de comunicaciones a utilizar, por lo que se puede implementar sobre redes basadas en Ethernet , RS-485, RS-232 etc.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    48

    DESCRIPCION GENERAL MODBUS funciona siempre en modo maestro-esclavo

    (cliente - servidor), siendo el maestro (cliente) quien controla en todo momento las comunicaciones con los esclavos que pueden ser hasta 247 (@1d a @247d). Los esclavos (servidores) se limitan a retornar los datos solicitados o a ejecutar la accin indicada por el maestro. La comunicacin del maestro hacia los esclavos puede ser de dos tipos:

    peer to peer: en que se establece comunicacin maestro - esclavo, el maestro solicita informacin y el esclavo responde (se enva el comando a un dispositivo comprendido entre las direcciones 1d y 247d).

    broadcast: en que se establece comunicacin maestro - todos los esclavos, el maestro enva un comando a todos los esclavos de la red sin esperar respuesta (se enva a la direccin @0d).

  • 25

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    49

    La secuencia bsica en las comunicaciones MODBUS consiste siempre en una trama depregunta, seguida de su correspondiente trama de respuesta

    Pregunta: con el cdigo de funcin que indica al esclavo que operacin ha de realizar, y los bytes necesarios (datos, comprobacin) para su ejecucin.

    Respuesta: con la confirmacin o datos resultantes de la ejecucin de la funcin.

    DESCRIPCION GENERAL

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    50

    DESCRIPCION GENERAL

    Existe algn caso concreto, en que hay ms de una trama de respuesta para una trama de pregunta, como p.ej. cuando el maestro enva una operacin cuya respuesta puede llevar al esclavo un tiempo elaborar. En estas situaciones el esclavo enva una primera respuesta indicando que an no tiene los datos y tardar un tiempo en disponer de ellos, y otra segunda respuesta con los datos o confirmacin de la operacin.

  • 26

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    51

    MODOS DE COMUNICACIN EN MODBUSLas comunicaciones MODBUS se pueden realizar en modo ASCII o en modo RTU.

    En modo ASCII los bytes se envan codificados en ASCII, es decir, que por cada byte a transmitir se envan dos caracteres ASCII (2 bytes) con su representacin hexadecimal (esto permite leer las tramas con un simple editor de texto). En modo RTU se envan en binario, tal cual.

    En el modo ASCII las tramas comienzan por 3AH (carcter ':'), y terminan en 0DH-0AH (CR LF Carrier Return Line Feed) y cada byte se enva como dos caracteres ASCII.

    En modo RTU no se utiliza indicador de inicio y final de trama. 06/09/2012 Sistemas electrnicos

    Dr. L. Salazar52

    MODOS DE COMUNICACIN MODBUS

    Modo ASCII Modo RTU

    Carcteres ASCII 09,A.F Binario 0255

    Comprob. Error LRC Longitudinal Redundancy

    check

    CRC Cyclic Redundancy

    Check

    Inicio de trama Carater : 3.5 veces t de carcter

    Final de trama Character CR/CL 3.5 veces t de carcter

    Distancia max. entre

    caracteres 1 seg 1.5 veces t de carcter

    Bit de inicio 1 1

    Bits de datos 7 8

    Paridad Par / Impar / Ninguna Par / Impar / Ninguna

    Bits de parada 1 si hay paridad 2 si ninguna 1 si hay paridad 2 si

    ninguna

  • 27

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    53

    PROTOCOLO USB

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    54

    JUSTIFICACIONProblemas que tienen los PCs (problemas debido a un diseo deficiente en algunos aspectos) es fundamentalmente escasez de determinados recursos:

    Lneas de interrupcin IRQs Canales de acceso directo a memoria DMAs.

    En ambos casos las capacidades del diseo inicial tuvieron que ser dobladas en 1984, tres aos despus de su lanzamiento, aprovechando la aparicin de la gama AT.

  • 28

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    55

    JUSTIFICACION La instalacin de perifricos ha sido un

    constante quebradero de cabeza para los ensambladores: asignar los escasos recursos disponibles entre los dispositivos del sistema.

    El estndar PnP ("Plug and Play") vino a aliviar en parte las dificultades mecnicas de cambiar "jumpers" en las placas,

    El problema persista, ya que desde la aparicin del PC el diseo de bus para comunicacin externa no haba sufrido cambios sustanciales.

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    56

    JUSTIFICACION Los puertos serie y paralelo presentaban claras

    limitaciones en cuanto a capacidad de expansin y rendimiento, a pesar de que haban persistido desde los inicios del PC, y de su conveniencia para multitud de aplicaciones.

    Por las razones expuestas y como una necesidad de dotar al PC de un bus de alta velocidad que ofreciera las caractersticas ideales (PnP, universalidad, facilidad de conexin y desconexin incluso en caliente (Hot Swappable)), un consorcio formado por multitud de empresas desarroll una nueva interfaz estndar para la conexin de dispositivos externos del PC, el denominado puerto USB (Universal Serial Bus).

  • 29

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    57

    CONSORCIO Las empresas que formaron el grupo

    inicial fueron siete: Compaq, Intel, IBM, Microsoft, Nec, Northern Telecom y Digital Equipment

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    58

    USB Como su nombre indica, es un bus serie

    bidireccional y de bajo coste, diseado como una extensin en la arquitectura estndar del PC y orientado principalmente a la integracin de perifricos y en sus orgenes dirigidos a la integracin de dispositivos telefnicos CTI en los ordenadores (Computer Telephony Integrations).

  • 30

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    59

    Ao Mes Suceso

    1994 NoviembreCompaq, Intel y el resto de empresas iniciaron las especificaciones del Universial Serial Bus

    1994 30 Diciembre USB 0.8 (Borrador)

    1995 13 Abril USB 0.9 (Borrador)

    1996 15 Enero USB 1.0- Velocidad Oficial 12 Mbps

    1996 Febrero Intel anuncia sus primeros chips controladores de USB

    1996 AgostoMicrosoft saca la versin de Windows 95 OSR 2.1 que introduce los controladores correspondientes para el manejo de los dispositivos USB

    1998 MarzoSale a la venta el iMac de Apple que utilizaba el USB 1.0 para la conexin de teclado y ratn

    1998 24 JunioSale al mercado el Windows 98, el primer Sistema Operativo con soporte completo para USB

    1998 23 SeptiembreUSB 1.1- Revisin completada (USB-IF->Compaq, Intel, Microsoft, NEC)

    1998 NoviembreUSB-IF supera el record mundial de perifricos conectados a un simple PC mediante USB (111 perifricos)

    1999 Se forma el grupo promotor del USB 2.0

    1999 Febrero Se propone 240 Mbps como velocidad

    1999 12 Octubre Versin 0.79 del USB 2.0. Se aumenta la velocidad a 480 Mbps

    1999 21 diciembre Versin 0.9 del USB 2.0

    2000 29 febreroIn-Systems muestra la primera unidad de almacenamiento USB 2.0, una unidad zip modificada

    2000 17 MarzoMicrotech y Netchip muestran su scanner USB 2.0 en el foro de desarrollo de Tokio

    2000 27 AbrilUSB 2.0 - Velocidad Oficial 480 Mbps (USB-IF->Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips)

    2001 18 Diciembre USB 2.0 OTG- (On-The-Go) Ampliacin del USB 2.0.

    2002 MayoIntel saca a la venta los primeros chipsets que integran Hi-speed USB 2.0 en el Controlador de Hub de I/O (ICH4). Estos chipsets fueron el Intel 845E, 845G y el 845GL.

    EVOLUCION HISTORICA

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    60

    CARACTERISTICAS

    La especificacin del USB proporciona una serie de caractersticas que pueden ser distribuidas en categoras. Estas caractersticas son comunes para todas las versiones (desde la 1.0 hasta la 2.0)

    Fcil uso para los usuarios Modelo simple para el cableado y los conectores Detalles elctricos aislados del usuario (terminaciones del bus) Perifricos auto-identificativos Perifricos acoplados y reconfigurados dinmicamente (Hot

    Swappable)Flexibilidad

    Amplio rango de tamaos de paquetes, permitiendo variedad de opciones de buffering de dispositivos Gran variedad de tasas de datos de dispositivos acomodando el tamao de buffer para los paquetes y las latencias Control de flujo para el manejo del buffer construido en el protocolo

  • 31

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    61

    CARACTERISTICASAncho de banda iscrono Se garantiza un ancho de banda y bajas latencias apropiadas para

    telefona, audio, Cantidad de trabajo iscrono que puede usar el ancho de banda

    completo del bus. Control de flujo para el manejo del buffer construido en el protocolo

    Amplia gama de aplicaciones y cargas de trabajo adecuando el ancho de banda desde unos pocos kbs hasta varios Mbs

    Soporta tanto el tipo de transferencia iscrono como el asncrono sobre el mismo conjunto de cables.

    Conexiones mltiples, soportando operaciones concurrentes de varios dispositivos.

    Soporta hasta 127 dispositivos fsicos. Soporta la transferencia de mltiples datos y flujos de mensajes

    entre el host y los dispositivos06/09/2012 Sistemas electrnicos

    Dr. L. Salazar62

    CARACTERISTICAS

    Robustez Manejo de errores y mecanismos de recuperacin ante fallos implementados en el protocolo. Insercin dinmica de dispositivos

    Soporte para la identificacin de dispositivos defectuosos.

    Implementacin de bajo coste Sub canal de bajo coste a 1.5 Mbs Conectores y cables de bajo coste Adecuado para el desarrollo de perifricos de bajo

    coste

  • 32

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    63

    Cable de velocidad alta y media, con un conector macho de Serie A en

    un extremo y un conector macho de Serie B en el otro extremo.

    CABLE DE CONEXIN EXTERNO

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    64

  • 33

    06/09/2012 Sistemas electrnicos Dr. L. Salazar

    65