Dispositivos periféricos Puerto serie y USB William Marin 2007 Escuela de Ingeniería Electrónica Puerto Serie El puerto serie provee un protocolo estándar y conectores estándar que permite conectar dispositivos como modems al sistema de computadora. •Llamados también puertos COM •Son bi-direccionales (información viaja en dos direcciones) •Half duplex: utiliza una misma línea para transmitir datos •Full duplex: utiliza líneas diferentes para transmitir datos •Dependen de un chip regulador especial (UART) 2 Conectores Serie •Puede ser de 9 o 25 pines •Originalmente el uso principal de un puerto serial era el de conectar un modem a la computadora Conectores Serie 9-pin connector: 1. Carrier Detect - Determines if the modem is connected to a working phone line. 2. Receive Data - Computer receives information sent from the modem. 3. Transmit Data - Computer sends information to the modem. 4. Data Terminal Ready - Computer tells the modem that it is ready to talk. 5. Signal Ground - Pin is grounded. 6. Data Set Ready - Modem tells the computer that it is ready to talk. 7. Request To Send - Computer asks the modem if it can send information. 8. Clear To Send - Modem tells the computer that it can send information. 9. Ring Indicator - Once a call has been placed, computer acknowledges signal (sent from modem) that a ring is detected. 25-pin connector: 1. Not Used 2. Transmit Data - Computer sends information to the modem. 3. Receive Data - Computer receives information sent from the modem. 4. Request To Send - Computer asks the modem if it can send information. 5. Clear To Send - Modem tells the computer that it can send information. 6. Data Set Ready - Modem tells the computer that it is ready to talk. 7. Signal Ground - Pin is grounded. 8. Received Line Signal Detector - Determines if the modem is connected to a working phone line. 9. Not Used: Transmit Current Loop Return (+) 10. Not Used 11. Not Used: Transmit Current Loop Data (-) 12. Not Used 13. Not Used 14. Not Used 15. Not Used 16. Not Used 17. Not Used 18. Not Used: Receive Current Loop Data (+) 19. Not Used 20. Data Terminal Ready - Computer tells the modem that it is ready to talk. 21. Not Used 22. Ring Indicator - Once a call has been placed, computer acknowledges signal (sent from modem) that a ring is detected. 23. Not Used 24. Not Used 25. Not Used: Receive Current Loop Return (-) Voltage sent over the pins can be in one of two states, On or Off. On (binary value "1") means that the pin is transmitting a signal between -3 and -25 volts, while Off (binary value "0") means that it is transmitting a signal between +3 and +25 volts... 4 Control de Flujo • Habilidad de un artefacto de comunicarle a otro artefacto que detenga la transmisión de datos. • Comandos que permiten el control de flujo: Request to Send (RTS) • Clear To Send (CTS) • Data Terminal Ready (DTR) • Data Set Ready (DSR) • 5 Puerto Serie y UARTs -PC original 2 ptos serie, RS232c COM1 dir 3F8, IRQ4 COM2 dir 2F8, IRQ3 -PCs actuales El BIOS permite tener más puertos serie RS232c. Windows asigna por PNP las direcciones de puerto y IRQ. Chips UART (Universal Asynchronous ReceiverTransmitter) Encargados de convertir la información de paralelo a serie y viceversa. Introducen el protocolo serial y en ellos se define la velocidad de transmisión y recepción. UART8250- Chip original -Control de Flujo Se puede configurar protocolo hardware o software. Velocidades de hasta 115200 bps en UARTs estándar. Info. Serie al exterior Línea de int. TxD UART Info. Paralela RxD Handshake DTR, CTS... 6 Configuración 7 UART16550AF Líneas de interrupción y solicitud de DMA Info. Paralela al bus datos del CPU F I F O Info. Serie al exterior Circuito controlador de flujo paralelo-serie. Búfers de transmisión y recepción UART 16550AF Chip de alta velocidad para puertos serie mejorados ESP, de hasta 115200 bps. El búfer doble es de hasta 1024 bytes y tiene un controlador de flujo incorporado. TxD RxD Líneas de handshake DTR, CTS, etc. FIFO: Memoria búfer, primero en entrar, primero en salir. En UART 16550A se tienen dos búfers, una para transmitir y otro para recibir, para acelerar velocidad asegurando comunicación Full-Dúplex. Pueden programarse varios canales DMA en él. 8 Diagnósticos de puerto serie Conectando dos PC -Se requiere sofware de prueba (i.e. Checkit) para hacer las pruebas de software. Para pruebas de hardware es necesario además un conector de prueba loopback. -Se usa un cabla Laplink serial o paralelo. En caso de usar puerto paralelo, este debe configurarse en BIOS con compatibilidad EPPECP. En panel de control de red se crea nueva conexión y se escoge la opción para el cable respectivo. En el caso serial puede escogerse protocolo tanto hardware como software. RS232 Asignación de pines DB9 Pin 1 Received Line Signal Detector (Data Carrier Detect) Conector loopback Ejemplo de cables Laplink para conectar dos PC por puerto serie. Pin 2 Received Data Pin 3 Transmit Data Pin 4 Data Terminal Ready Con handshake puenteado Pin 5 Signal Ground Pin 6 Data Set Ready Pin 7 Request To Send Pin 8 Clear To Send Pin 9 Ring Indicator Nota: conector RS232c en PC es macho, por tanto se requiere un conector loopback hembra Con handshake entre las PC 9 Puerto Paralelo Diseñado originalmente para la IBM-PC como puerto de conexión a impresoras. La computadora se diseñó específicamente para trabajar con impresoras marca Centronics, pero con un conector de 25 pines para pasar a uno de 36 pines. (por eso se le conoce también como cable Centronics). Cuando una PC envía datos a un dispositivo por medio del puerto paralelo, envía 8 bits de datos (un byte) a la vez. El estándar paralelo es capaz de enviar de 50 a 100 kilobytes/s. El protocolo de comunicación se establece por medio de líneas de control extra que indican cuando el dispositivo está listo (online), puede recibir datos (acknowledge), ocupado (busy), o sin papel (out of paper). A su vez, la computadora puede inicializar la impresora (initialize), indicar que se están mandando datos (strobe) o alimentar página (autofeed). 10 Cable Paralelo LPT-Centronics 11 Modos Puerto Paralelo Modo SPP •Especificación original para puertos paralelos era unidireccional. Conocida como SPP (Standard Parallel Protocol) •En la PC original, se reservaron los puertos 378H y 278H, llamados LPT1 y LPT2, con la interrupción asignada IRQ5. •A partir de la PS/2 IBM ofreció puertos paralelos bidireccionales (1987). Estos podían ser half-duplex, si usaban los mismos pines de datos, o full-duplex, si usaban los pines del 18 al 25, que originalmente se planearon como tierras. 12 Modos Puerto Paralelo Modo EPP •El EPP (Enhanced Parallel Port) se creó por Intel, Xircom y Zenith en 1991. Permite transferencias de 0,5 hasta 2 MB/s. Se planeó para dispositivos de alta velocidad como escáneres o discos removibles que necesitaban conectarse externamente a la PC, de una manera más barata que por medio de puertos SCSI. 13 Modos Puerto Paralelo Modo ECP •En 1992 Microsoft y Hewlett-Packard anunciaron el Extended Capabilities Port (ECP). ECP estaba dirigido a impresoras, pero con la ventaja de que podía acceder a un canal de DMA en la PC. Este modo da a veces problemas para conectar computadoras por sus puertos paralelos. Para ello a veces es mejor usar el EPP. •En 1994, la IEEE anunció el estándar IEEE1284, que une las dos especificaciones. Para que esta especificación trabaje, tanto el sistema operativo como el dispositivo paralelo deben soportar la especificación. La mayor parte de las computadoras se autoconfiguran en este modo. 14 Puerto USB (Universal Serial Bus) • • • • • • La computadora actúa como anfitrión (host) o amo. Se pueden conectar hasta 127 dispositivos a un anfitrión, ya sea directamente o por medio de hubs. Los cables USB tienen máximo de 5 metros. Con hubs ACTIVOS, los dispositivos pueden estar hasta 30 metros lejos de la computadora Tasa de transmisión máxima de 12 Mbits/s. Con USB 2.0 el bus de datos tiene una tasa máxima de 480 Mbits/s Cada dispositivo individual puede pedir un máximo de 6 Mbits/s. 15 Puerto USB (Universal Serial Bus) • • • • • Un cable USB tiene dos alambres de alimentación (+5V y tierra) y un par trenzado para datos. La computadora puede dar un máximo de 500 mA a 5 V. Los dispositivos de bajo consumo pueden alimentarse desde el bus (como ratones o teclados). Los de alto consumo necesitan alimentación extra. Los dispositivos USB son intercambiables en caliente “ . Hot Swappable “ Los dispositivos USB pueden ponerse a dormir cuando la computadora entra en modo de ahorro de energía. 16 Problema USB EL problema de USB (para capturadoras de video por ejemplo), es que el ancho de banda del bus USB no es constante ya que depende de la utilización del CPU. 17 Ancho de banda USB 18 Puerto USB Conectores • • En el USB los conectores están estandarizados. Los tipo A, generalmente van hacia la computadora (upstream). Conector tipo A • Los tipo B vienen de la computadora y se conectan al dispositivo externo (downstream) Conector tipo B 19 20 Tipos de conector A B 21 Tipos de conector Micro USB Mini (B) USB B - USB A -Hembra A -Macho micro USB: Nuevo tipo de conector (2007), pensado para reemplazar a los “mini”, especialmente en teléfonos celulares y reproductores mp3 22 Puerto USB (Universal Serial Bus) • • • • • Cuando la computadora arranca, hace una búsqueda de dispositivos conectados y les asigna una dirección a cada uno (enumeración). Sucede igual cuando se conecta otro dispositivo. Una vez enumerado, el dispositivo informa al bus que tipo de transferencia va a utilizar Modo interrupción. Se usa para dispositivos que envían muy pocos datos, como un teclado. Modo bulto o bulk. A dispositivos como una impresora, se les envían bultos de hasta 64 bytes para aumentar la velocidad. Modo asincrónico. Se usa en dispositivos que necesitan datos continuamente (streaming device) como los parlantes. Estos envíos se hacen en tiempo real, sin corrección de error. 23 Puerto USB Hubs •Los Hubs expanden la capacidad de un bus USB. Se pueden además añadir buses extra por medio de tarjetas PCI 24 Cable USB: •Tiene dos cables de alimentación (rojo=5V) y (café=GND) •Un par trenzado amarillo y azul que transporta los datos. •El cable debe estar blindado 25 Longitud máxima de cable La máxima longitud de un cable USB estándar debe ser 5 metros (un poco más de 16 pies). La razón principal el el tiempo máximo de ida y vuelta permitido de 1500 ns. Si un dispositivo no responde a los comandos del “host” (PC) en ese tiempo, el host considera que se perdió la comunicación. 26 Consumo de energía 27 Consumo de energía. La especificación 2.0 de USB provee una alimentación de 5 V ±5% (4,75Vmin..5,25Vmax) en un solo cable del que los dispositivos pueden demandar corriente. Inicialmente a un dispositivo se le permite consumir un máximo de 100 mA. Puede solicitar más en múltiplos de 2 mA hasta un máximo de 500 mA . 28 USB 2.0 (High-speed USB) •El estándar 2.0 fue lanzado en Abril del 2002 y sirvió como actualización de la versión 1.1 •Provee una velocidad 40 veces mayor que la versión 1.1 pero mantiene la compatibilidad para versiónes anteriores •Soporta tres modos de diferente velocidad (1.5, 12 and 480 megabits por segundo 29