Está en la página 1de 5

Puertos y buses de comunicación para

microcontroladores.
5.1 Tipos de puertos
La operación de entrada/salida se define como la transferencia de datos entre el
microprocesador y el mundo exterior. El término dispositivos periféricos se refiere
a las piezas de equipo que intercambian datos con un sistema de
microprocesador. Dado que las velocidades y características de los dispositivos
periféricos pueden ser muy distintas a las del microprocesador, se conectan a
través de circuitos de interfaz. Una de las funciones más importantes de uno de
estos circuitos es sincronizar la transferencia de datos entre el microprocesador y
el dispositivo periférico.
 Puerto paralelo: está conformado por un conjunto de líneas de entrada y salida
los cuales conforman una puerta paralela esclava para poder conectarse con
los buses de otros dispositivos, Microcontroladores y/o microprocesadores. En
este tipo de comunicación los datos se transmiten byte por byte en el bus
conformado, en contraposición al puerto serie, que envía los datos bit a bit por
el mismo hilo.
 USB (Universal Serial Bus): es un moderno protocolo de comunicación para el
cual Microchip tiene soporte con una serie de PICs USB. Estos
Microcontroladores tienen implementado el hardware para el control del
protocolo USB en el cual se dio mucha importancia a la velocidad de
procesamiento de estos PIC. Mediante un complejo sistema de multiplicación
de frecuencia de oscilación mediante PLL se obtiene un clock de 96MHz el
cual se divide y se asigna 48Mhz para el funcionamiento del USB, y mediante
otro divisor se puede asignar también otro clock para el funcionamiento del
microcontrolador.
 Entrada/salida aislada: para que un microprocesador pueda implementar el
modo E/S aislada (isolated I/O) son indispensables las siguientes condiciones:
 El microprocesador debe proporcionar señales de control que permitan
distinguir entre una operación con un puerto y una referencia a memoria.
 El código de instrucciones debe tener instrucciones especiales con las que
se pueda leer (entrada) o escribir (salida) en los puertos.
 Entrada/salida mapeada: el modo de E/S mapeada a memoria (Memory
mapped I/O) se basa en que tanto las localidades de memoria como los
puertos de E/S se consideran como registros externos desde el punto de vista
del microprocesador. Entonces, las instrucciones que hacen referencia a la
memoria también pueden transferir datos entre un dispositivo periférico y el
microprocesador, siempre y cuando el puerto de E/S que los interconecta se
encuentre dentro del espacio de direccionamiento de memoria, es decir,
controlado por las señales de control para memoria. De esta forma, el registro
asociado con el puerto de E/S es tratado simplemente como una localidad de
memoria más.

5.2 Programación de puertos.


 Programación por puerto serial
 Programación por puerto paralelo
Las principales herramientas de ayuda al desarrollo de sistemas basados en
microcontroladores son:
 Ensamblador. Los fabricantes suelen proporcionar el programa ensamblador
de forma gratuita y en cualquier caso siempre se puede encontrar una versión
gratuita para los microcontroladores más populares.
 Compilador. Las versiones más potentes suelen ser muy caras, aunque para
los microcontroladores más populares pueden encontrarse versiones demo
limitadas e incluso compiladores gratuitos.
 Depuración: Debido a que los microcontroladores van a controlar dispositivos
físicos, los desarrolladores necesitan herramientas que les permitan comprobar
el buen funcionamiento del microcontrolador cuando es conectado al resto de
circuitos.
 Simulador. Son capaces de ejecutar en un PC programas realizados para el
microcontrolador. Los simuladores permiten tener un control absoluto sobre la
ejecución de un programa, siendo ideal es para la depuración de los mismos.
 Placas de evaluación. Se trata de pequeños sistemas con un microcontrolador
ya montado y que suelen conectarse a un PC desde el que se cargan los
programas que se ejecutan en el microcontrolador. Las placas suelen incluir
visualizadores LCD, teclados, LEDs, fácil acceso a los pines de E/S, etc.
 Emuladores en circuito. Se trata de un instrumento que se coloca entre el PC
anfitrión y el zócalo de la tarjeta de circuito impreso donde se alojará el
microcontrolador definitivo. El programa es ejecutado desde el PC, pero para la
tarjeta de aplicación es como si lo hiciese el mismo microcontrolador que luego
irá en el zócalo.

5.3 Aplicaciones de puertos.


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.

5.4 Estándares de buses.


 BUS S100 El bus S-100, IEEE696-1983 (retirado), fue uno de los primeros bus
de datos diseñado en 1974 como parte del Altair 8800, generalmente
considerado el primer "ordenador personal". El bus S-100 fue el primer bus
estándar de la industria para los fabricantes de microordenadores, y los
ordenadores S-100, procesadores y tarjetas periféricas, fueron producidos por
varios fabricantes.
 BUS SPI El bus de interfaz con periféricos serie (SPI) fue desarrollado
originalmente por Motorola en los últimos años de los 80 para sus
microcontroladores de la serie 68000. Debido a la simplicidad y al renombre del
bus, muchos otros fabricantes han adoptado el estándar a lo largo de los años.
Ahora se puede encontrar en una amplia variedad de componentes usados
comúnmente en el diseño de sistemas embebidos. El bus SPI se utiliza sobre
todo entre los microcontroladores y sus dispositivos periféricos inmediatos. Se
encuentra comúnmente en los teléfonos móviles, PDAs y otros dispositivos
móviles que comunican datos entre la CPU, el teclado, la pantalla y los chips
de memoria.

5.5 Manejo del bus.


La función del bus es la de permitir la conexión lógica entre distintos subsistemas
de un sistema digital, enviando datos entre dispositivos de distintos órdenes:
desde dentro de los mismos circuitos integrados, hasta equipos digitales
completos que forman parte de supercomputadoras.
Por los cuales se transmiten señales eléctricas que son enviadas y recibidas con
la ayuda de integrados que poseen una interfaz del bus dado y se encargan de
manejar las señales y entregarlas como datos útiles. Las señales digitales que se
trasmiten son de datos, de direcciones o señales de control.
La mayoría de los buses están basados en conductores metálicos:
A la frecuencia máxima de envío y al ancho de los datos. Por lo general estos
valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho
de datos debe ser pequeño.
Los buses definen su capacidad de acuerdo:
Todos los buses de computador tienen funciones especiales como las
interrupciones y las DMA que permiten que un dispositivo periférico acceda a una
CPU o a la memoria usando el mínimo de recursos.
 Bus único. Considera a la memoria y a los periféricos como posiciones de
memoria, y hace un símil de las operaciones E/S con las de escritura/lectura en
memoria. Estas equivalencias consideradas por este bus hacen que no permita
controladores DMA (Direct Acces Memory) de acceso directo a memoria.
 Bus dedicado. Este, en cambio, al considerar la memoria y periféricos como
dos componentes diferentes, permite controladores DMA. El bus dedicado
contiene varias subcategorías más que son las siguientes:
 Bus de datos. Transmite información entre la CPU y los periféricos.
 Bus de direcciones. Identifica el dispositivo al que va destinada la
información que se transmite por el bus de datos.
 Bus de control o de sistema. Organiza y redirige hacia el bus pertinente la
información que se transmitir.

5.6 Aplicaciones de buses.


La función del Bus es la de permitir la conexión lógica entre distintos subsistemas
de un sistema digital, enviando datos entre dispositivos de distintos órdenes:
desde dentro de los mismos circuitos integrados, hasta equipos digitales
completos que forman parte de supercomputadoras. Conexiones dentro del mismo
microcontrolador, del microcontrolador al procesador central, a los periféricos son
solo algunas de las vastas aplicaciones en el ramo de la comunicación que tienen
estos componentes.
 Bus de Direcciones: los microprocesadores 8086 y 8088 usados en los
primeros computadores personales (PC) podían direccionar hasta 1 megabyte
de memoria (1.048.576 bytes). Es necesario contar con 20 líneas de dirección.
Para poder manejar más de 1 megabyte de memoria, en los computadores AT
(con procesadores 80286) se utilizó un bus de direcciones de 24 bits,
permitiendo así direccionar hasta 16 MB de memoria RAM (16.777.216 bytes).
En la actualidad los procesadores 80386DX pueden direccionar directamente 4
gigabytes de memoria principal y el procesador 80486DX hasta 64 GB.
 Bus de Datos: en algunos microprocesadores, el bus de datos se usa para
transmitir otra información además de los datos (por ejemplo, bits de dirección
ó información de condiciones). Es decir, el bus de datos es compartido en el
tiempo ó multiplexado. En general se adoptó 8 bits como ancho estándar para
el bus de datos de los primeros computadores PC y XT. Usualmente el
computador transmite un carácter por cada pulsación de reloj que controla el
bus (bus clock), el cual deriva sus pulsaciones del reloj del sistema (system
clock). Algunos computadores lentos necesitan hasta dos pulsaciones de reloj
para transmitir un carácter. Los computadores con procesador 80286 usan un
bus de datos de 16 bits de ancho, lo cual permite la comunicación de dos
caracteres o bytes a la vez por cada pulsación de reloj en el bus. Los
procesadores 80386 y 80486 usan buses de 32 bits. El PENTIUM de Intel
utiliza bus externo de datos de 64 bits, y uno de 32 bits interno en el
microprocesador.

 Bus de Control: este conjunto de señales se usa para sincronizar las


actividades y transacciones con los periféricos del sistema. Algunas de estas
señales, como R / W, son señales que la CPU envía para indicar que tipo de
operación se espera en ese momento. Los periféricos también pueden remitir
señales de control a la CPU, como son INT, RESET, BUS RQ. Las señales
más importantes en el bus de control son las señales de cronómetro, que
generan los intervalos de tiempo durante los cuales se realizan las
operaciones. Este tipo de señales depende directamente del tipo del
microprocesador.

5.7 Comunicación.
Un conversor ADC puede convertir un voltaje en un numero binario digital. Los
conversores A/D son utilizados en cualquier lugar donde sea necesario procesar
una señal, almacenarla o transportarla en forma digital.

La resolución del conversor indica el número de valores discretos que se pueden


obtener dependiendo del rango del voltaje de entrada. Usualmente es expresado
en bits. Los microcontroladores típicamente traen incorporados conversores de 8,
10, 12 o 16 bits. Por ejemplo un ADC que codifica una señal análoga de 256
valores discretos (0..255) tiene una resolución de 8 bits, ya que 2^8 = 256.

La resolución también puede ser definida en términos eléctricos, y expresada en


volts. La resolución de un ADC es igual al mayor voltaje que se pueda medir
dividido por el número de valores discretos, por ejemplo: Para un rango de medida
entre 0 y 10 volts

Resolución del ADC = 12 bits: 2^12 = 4096 niveles de cuantización resolución del
ADC en volts: (10-0)/4096 = 0.00244 volts = 2.44 mV.

También podría gustarte