lunes, 14 de mayo de 2012

Perifericos


Introducción

Todo equipo de proceso de datos esta formado por la Unidad Central de Procesamiento (CPU) y por varias unidades periféricas, dividiendo estas últimas en dos grandes grupos:
  1. Las memorias auxiliares de almacenamiento en masa o soportes.
  2. La unidades de entrada y/o salida
La función básica de un equipo es realizada por el CPU, mientras que la función de comunicación de esta con el mundo exterior, en ambos sentidos; entrada y salida; es realizada por los periféricos a través de la memoria principal.
Las unidades periféricas se encargan de establecer la comunicación entre el microprocesador y el mundo exterior, realizando, en la mayoría de los casos, una triple tarea.
  1. Entrada de datos
  2. Salida de resultados
  3. Almacenamiento de información
En resumen todo periférico supone un nexo de unión entre un soporte de información y la CPU de un ordenador lo que hace que haya de considerarse en cada dispositivo dos pares bien definidos, a saber:
  1. Órganos de lectura y escritura de la información acordes con el soporte empleado
  2. Conexión con la CPU diseñado según las características del ordenador, verdadero canal de transmisión de datos por el circulan los bits, denominado interfase

Memorias auxiliares de almacenamiento

La Memoria Auxiliar o Secundaria suele estar conformada por un grupo de dispositivos de almacenamiento preparados para administrar gran cantidad de información, poseyendo además de esta diferencia cuantitativa con la memoria principal o RAM, diferencias cualitativas, como por ejemplo su menor costo y su mayor lentitud.
Ejemplos de memoria Auxiliar lo son los discos rígidos, las unidades ópticas como los CDs o DVDs, memorias FLASH o diskettes. La memoria RAM recibe datos desde estos dispositivos de almacenamiento masivo.
En cuanto a memorias auxiliares en base a tecnología óptica existen diversos formatos: CD-ROM (discos compactos no escribibles), CD-R (discos compactos escribibles, generalmente de 700MB), CD-RW (discos compactos re-escribibles), DVDs (de mayor capacidad que los CDs), HD-DVD y Blu-Ray (de mayor capacidad que los DVDs).
Debemos destacar también tecnologías como las del disquete (actualmente casi en desuso, comunmente guardan hasta 1.44MB), cintas magnéticas (actualmente en desuso), memorias FLASH (de variados tamaños, los cuales pueden oscilar entre 128MB y 30GB, y se conectan por lo general mediante puertos USB, aunque existen memorias FLASH incorporadas a computadoras portátiles, como el caso de las XO de OLPC).
De todos los tipos de memorias auxiliares, quizá el disco duro de una PC sea la más conocida siendo que los sistemas operativos, los diferentes programas y los archivos de datos de los usuarios son almacenados en este tipo de dispositivos.

Unidades de entrada/salida

Los dispositivos de entrada establecen la comunicación hacia el procesador, leen la información contenido en un soporte y la introducen a la memoria principal del equipo. La comunicación en sentido contrario la realizan los dispositivos de salida, llevando los resultados del proceso desde la memoria principal a un soporte externo, siendo característica general de estas unidades su lentitud relativa frente a la velocidad de micro procesamiento.
Existen dispositivos que solo actúan como órganos de entrada de la información y otros solo de salida; aunque o general es que sean mixtos realizando las dos funciones. En todos los caso, ha sido preocupación de los fabricantes el intentar simplificar al máximo el dialogo hombre-máquina, tendiendo a reducir las tareas de transcripción de información, las que exista mayor peligro de error en los trabajos de proceso de datos.
A la entrada y la salida también se le abrevia como E/S o I/O1. El termino se refiere a ejecutar un acción de entrada o de salida. Estos dispositivos son utilizados por personas u otros sistemas para comunicarse con otros dispositivos. A los teclados y los ratones se les considera dispositivos de entrada, mientras que las impresoras y los monitores son dispositivos de salida.
La designación de los dispositivos cambia, al cambiar la perspectiva desde que se le ve. Los ratones o los teclados toman como método de entrada el movimiento físico que los usuarios producen y estos lo convierten en señales eléctricas y de este modo los ordenadores pueden entender o interpretarlos. De forma análoga los dispositivos de salida toman una señal eléctrica y la transforman de modo que el usuario puede entenderlo.
Los sistemas operativos y lenguajes de programación de más alto nivel brindan conceptos y primitivas de entrada/salida distintos y más abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones que les permiten a sus programas realizar E/S a través de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas.
Una alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introducirían un efecto colateral para cualquier lenguaje de programación, pero ahora una programación puramente funcional resultaría práctica.

Dispositivos de salida

  • Monitor
  • Altavoces
  • Impresoras
    • Plotter
  • Proyector

Dispositivos de entrada

  • Ratón
  • Teclado
  • Joystick
  • Lápiz óptico
  • Micrófono
  • Escaner
  • Webcam

Entrada/salida (mixtos)

  • Unidades de almacenamiento
  • CD, DVD
  • Módem
  • Memory Cards
  • USB
  • Router
  • Pantallas táctiles

Controladora de periféricos

Una controladora de periférico (en inglés: peripheral controller) es un hardware dentro de un periférico que sirve de interfaz entre el periférico y la unidad central de procesamiento. Muchas veces, la controladora sirve también como adaptador. Un ejemplo de controladora es un controlador de disco.

Microcontrolador

Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo general, tendrá la capacidad para mantener la funcionalidad a la espera de un evento como pulsar un botón o de otra interrupción, el consumo de energía durante el sueño (reloj de la CPU y los periféricos de la mayoría) puede ser sólo nanovatios, lo que hace que muchos de ellos muy adecuados para aplicaciones con batería de larga duración. Otros microcontroladores pueden servir para roles de rendimiento crítico, donde sea necesario actuar más como un procesador digital de señal (DSP), con velocidades de reloj y consumo de energía más altos.
Al ser fabricados, la memoria ROM del microcontrolador no posee datos. Para que pueda controlar algún proceso es necesario generar o crear y luego grabar en la EEPROM o equivalente del microcontrolador algún programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema numérico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando éste es alimentado con el voltaje adecuado y asociado a dispositivos analógicos y discretos para su funcionamiento.
Los microcontroladores son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora utilizará un procesador muy pequeño (4 u 8 bits) porque sustituirá a un autómata finito. En cambio, un reproductor de música y/o vídeo digital (MP3 o MP4) requerirá de un procesador de 32 bits o de 64 bits y de uno o más códecs de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrónico del motor en un automóvil.
Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (Ud. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.
Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los módulos de entrada y salida (puertos) y la memoria para almacenamiento de información.
Un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidor analógico digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el lenguaje de programación BASIC que se utiliza bastante con este propósito.
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.
Cuando observamos la organización básica de un microcontrolador, señalamos que dentro de este se ubican un conjunto de periféricos, cuyas salidas están reflejadas en los pines del microcontrolador. A continuación describiremos algunos de los periféricos que con mayor frecuencia encontraremos en los microcontroladores.

Entradas y salidas de propósito general

También conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como relés, LED, o cualquier otra cosa que se le ocurra al programador.
Algunos puertos de E/S tienen características especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupción para el procesador.
Típicamente cualquier pin de E/S puede ser considerada E/S de propósito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propósito general comparten los pines con otros periféricos. Para usar un pin con cualquiera de las características a él asignadas debemos configurarlo mediante los registros destinados a ellos.

Temporizadores y contadores

Son circuitos sincrónicos para el conteo de los pulsos que llegan a su poder para conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del microcontrolador es común que no tengan un pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador.
Los temporizadores son uno de los periféricos más habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medición de frecuencia, implementación de relojes, para el trabajo de conjunto con otros periféricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador típico incorpore más de un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos más adelante este periférico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupción. Los tamaños típicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tamaño o con más frecuencia con ambos tipos de registro de conteo.

Conversor analógico/digital

Como es muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un conversor analógico-digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor.
Las resoluciones más frecuentes son 8 y 10 bits, que son suficientes para aplicaciones sencillas. Para aplicaciones en control e instrumentación están disponibles resoluciones de 12bit, 16bit y 24bit6 . También es posible conectar un convertidor externo, en caso de necesidad.

Puertos de comunicación

Puerto serie

Este periférico está presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico de comunicación.
El destino común de este periférico es la comunicación con otro microcontrolador o con una PC y en la mayoría de los casos hay que agregar circuitos externos para completar la interfaz de comunicación. La forma más común de completar el puerto serie es para comunicarlo con una PC mediante la interfaz EIA-232 (más conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este periférico se puede utilizar para interconectar dispositivos mediante otros estándares de comunicación. En aplicaciones industriales se utiliza preferiblemente RS-485 por sus superior alcance en distancia, velocidad y resistencia al ruido.

SPI

Este tipo de periférico se utiliza para comunicar al microcontrolador con otros microcontroladores o con periféricos externos conectados a él, por medio de una interfaz muy sencilla . Hay solo un nodo controlador que permite iniciar cualquier transacción, lo cual es una desventaja en sistemas complejos, pero su sencillez permite el aislamiento galvánico de forma directa por medio de optoacopladores.

I2C

Cumple las mismas funciones que el SPI, pero requiere menos señales de comunicación y cualquier nodo puede iniciar una transacción. Es muy utilizado para conectar las tarjetas gráficas de las computadoras personales con los monitores, para que estos últimos informen de sus prestaciones y permitir la autoconfiguración del sistema de vídeo.

USB

Los microcontroladores son los que han permitido la existencia de este sistema de comunicación. Es un sistema que trabaja por polling (monitorización) de un conjunto de periféricos inteligentes por parte de un amo, que es normalmente un computador personal. Cada modo inteligente está gobernado inevitablemente por un microcontrolador.

Ethernet

Es el sistema más extendido en el mundo para redes de área local cableadas. Los microcontroladores más poderosos de 32 bits se usan para implementar periféricos lo suficientemente poderosos como para que puedan ser accesados directamente por la red. Muchos de los enrutadores caseros de pequeñas empresas están construidos en base a un microcontrolador que hace del cerebro del sistema.

Can

Este protocolo es del tipo CSMA/CD con tolerancia a elevados voltajes de modo común y orientado al tiempo real. Este protocolo es el estándar mas importante en la industria automotriz (OBD). También se usa como capa física del "field bus" para el control industrial.

Otros puertos de comunicación

Hay una enorme cantidad de otros buses disponibles para la industria automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. Es usuario se los encontrará cuando trabaje en algún area especializada

Drivers

Un controlador de dispositivo, llamado normalmente controlador (en inglés, device driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.



Existen tantos tipos de controladores como tipos de periféricos, y es común encontrar más de un controlador posible para el mismo dispositivo, cada uno ofreciendo un nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales (normalmente disponibles en la página web del fabricante), se pueden encontrar también los proporcionados por el sistema operativo, o también versiones no oficiales hechas por terceros.
Debido a que el software de controladores de dispositivos se ejecuta como parte del sistema operativo, con acceso sin restricciones a todo el equipo, resulta esencial que sólo se permitan los controladores de dispositivos autorizados. La firma y el almacenamiento provisional de los paquetes de controladores de dispositivos en los equipos cliente, mediante las técnicas descritas en esta guía, proporcionan las ventajas siguientes:
  • Seguridad mejorada. Puesto que los usuarios estándar no pueden instalar controladores de dispositivos que no estén firmados o que estén firmados por un editor que no es de confianza, los administradores tendrán un control riguroso respecto a los controladores de dispositivos que pueden usarse en una organización. Podrán impedirse los controladores de dispositivos desconocidos, así como cualquier controlador de dispositivo que el administrador no permita expresamente. Mediante el uso de directivas de grupo, un administrador puede proporcionar a todos los equipos cliente de una organización los certificados de los editores que se consideren de confianza, permitiendo la instalación de los controladores sin intervención del usuario, para comprobar que se trata de una firma digital de confianza.
  • Reducción de los costes de soporte técnico. Los usuarios sólo podrán instalar los dispositivos que hayan sido probados y admitidos por la organización. En consecuencia, el sistema permite mantener la seguridad del equipo, al tiempo que se reducen las solicitudes del departamento de soporte técnico.
  • Experiencia de usuario mejorada. Un paquete de controladores firmado por un editor de confianza y almacenado provisionalmente en el almacén de controladores funciona de modo automático, cuando el usuario conecta el dispositivo al equipo. No se requiere acción alguna por parte del usuario.
En esta sección se incluyen las tareas principales para la seguridad de los paquetes de controladores de dispositivos:
Los controladores de dispositivo (device drivers en inglés) son programas añadidos al núcleo del sistema operativo, concebidos inicialmente para gestionar periféricos y dispositivos especiales. Pueden ser de dos tipos: orientados a caracteres (tales como los dispositivos NUL, AUX, PRN, del sistema) o bien orientados a bloques, constituyendo las conocidas unidades de disco. La diferencia fundamental entre ambos tipos de controladores es que los primeros reciben o envían la información carácter a carácter; en cambio, los controladores de dispositivo de bloques procesan, como su propio nombre indica, bloques de cierta longitud en bytes (sectores). Los controladores de dispositivo, aparecidos con el DOS 2.0, permiten añadir nuevos componentes al ordenador sin necesidad de rediseñar el sistema operativo.
Tradicionalmente han sido programas binarios puros, similares a los COM aunque ensamblados con un ORG 0, a los que se les colocaba una extensión SYS. Sin embargo, no hay razón para que ello sea así, ya que un controlador de dispositivo puede estar incluido dentro de un programa EXE, con la condición de que el código del controlador sea el primer segmento de dicho programa. El EMM386.EXE del MS-DOS 5.0 sorprendió a más de uno en su día, ya que llamaba la atención observar como se podía cargar con DEVICE: lo cierto es que esto es factible incluso desde el DOS 2.0 (pese a lo que pueda indicar algún libro), pero ha sido mantenido casi en secreto. Actualmente es relativamente frecuente encontrar programas de este tipo. La ventaja de un controlador de dispositivo de tipo EXE es que puede ser ejecutado desde el DOS para modificar sus condiciones de operación, sin complicar su uso por parte del usuario con otro programa adicional. Además, un controlador de dispositivo EXE puede superar el límite de los 64 Kb, ya que el DOS se encarga de relocalizar las referencias absolutas a segmentos como en cualquier programa EXE ordinario.
En placas de vídeo, principalmente, los drivers son indispensables, pues las tecnologías (DirectX 10, OpenGL 2.1, PhysX, etc) que las nuevas placas utilizan para que los juegos reproduzcan efectos especiales son muy avanzadas y necesitan instrucciones bien detalladas y específicas.

Drivers básicos

Windows consigue hacer que algunos componentes de hardware funcionen - aunque de manera simple - sin instalar otro driver. Esto es posible, gracias a los drivers básicos, que son sólo drivers comunes para cualquier placa. Por ejemplo, el driver básico (también conocido como genérico o standard) de vídeo, tiene instrucciones pre-establecidas que definen que cualquier placa de vídeo soporta la resolución de 640x480 y pueda reproducir 16 colores.
1Por sus siglas en inglés. Input/Output

No hay comentarios:

Publicar un comentario