Conceptos Basicos de Programacion de Puertos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 23

INSTITUTO TECNOLGICO SUPERIOR DE CALKIN EN EL

ESTADO DE CAMPECHE
Carrera: Ingeniera Mecatrnica
Asignatura: MTG-1023 Programacin Avanzada
Docente: ISC. Olda Margarita Aranda Cuevas
Ttulo: Trabajo Documental equipo # 6
Alumnos:
Conceptos bsicos de programacin de puertos.
Grado: 6 Grupo: A
Ciclo escolar 2015-2016 P

MTG-1023 Programacin Avanzada

ABSTRACT
This document corresponds to the documentary work of the first part of the course "Advanced
Programming" the sixth semester of the career of Mechatronics Engineering at the Higher
Institute of Technology Calkin in the state of Campeche.

This work will present the investigation of unit 2, of sub basics concepts of ports through
objects, where ports are mentioned in parallel and series, their connections, addresses,
programming and records Ports.

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada

PRESENTACIN
El presente documento corresponde al trabajo documental del primer parcial de la asignatura
Programacin Avanzada del sexto semestre de la carrera de Ingeniera Mecatrnica en el
Instituto Tecnolgico Superior de Calkin en el estado de Campeche.
En este documento se presentar la investigacin de la unidad 2, del subtema conceptos
bsicos de puertos mediante objetos, donde se mencionarn los puertos en paralelo y serie,
sus conexiones, direcciones, programaciones y registros de puertos.

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada

INTRODUCCIN
Este trabajo presenta la investigacin realizada para el subtema Conceptos bsicos de
puertos mediante objetos.
En l se menciona una pequea introduccin a los puertos en serie y paralelo, abarcando
adems las conexiones fsicas de cada puerto y su significado lgico en una conexin PCImpresora.
Tambin abarcan los temas de programacin de puertos, registros de puertos, sus
conectores y direcciones.
En cuanto a los tipos de puertos se mencionan los siguientes: UARTs, Hayes ESP-I y ESPII, Practical Peripherals High Speed Serial Port HSSP, El T/Port.

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada


NDICE

Contenido
ABSTRACT.......................................................................................... 2
PRESENTACIN...................................................................................3
INTRODUCCIN...................................................................................4
CONTENIDO........................................................................................ 7
Puertos: Paralelo y Serie.............................................................................7
Puerto paralelo...........................................................................................7
Introduccin...............................................................................................7
Conexin fsica del Puerto...........................................................................8
Descripcin de los pines del puerto paralelo.................................................9
El puerto paralelo de un PC.......................................................................10
Registros del Puerto..................................................................................10
Primer registro del puerto paralelo............................................................10
Segundo registro del puerto paralelo.........................................................11
Tercer registro del puerto paralelo.............................................................11
Programacin del Puerto...........................................................................12
Entradas y salidas del puerto paralelo........................................................13
Caractersticas E/S....................................................................................13
Uso de la tarjeta como secuenciador..........................................................15
Ejemplos...................................................................................................16
Puerto serie..............................................................................................17
Introduccin.............................................................................................17
Conectores...............................................................................................17
Direcciones...............................................................................................18
Tipos de puertos serie...............................................................................20
UARTs sin buffer........................................................................................20
UARTs con buffer.......................................................................................20
Pequeos puertos serie.............................................................................20
Hayes ESP-I y ESP-II..................................................................................21
Practical Peripherals High Speed Serial Port HSSP......................................21
El T/Port...................................................................................................21
INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada


CONCLUSION..................................................................................... 22
LINK DE PREZI................................................................................... 23
https://prezi.com/ywdxk06mgwn6/concepto-de-puerto/.....................................23
BIBLIOGRAFIA................................................................................... 23

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada

CONTENIDO
Puertos: Paralelo y Serie
Puerto paralelo
Introduccin
El puerto paralelo adapta la velocidad del ordenador a la del perifrico (es ms lento), y
establece un control de flujo hardware para que el ordenador no inunde de informacin al
perifrico.
Mediante el puerto paralelo se puede establecer un mayor control por parte del ordenador
sobre el perifrico. En cambio, en el puerto serie la velocidad esta preestablecida y no existe
tanto control como con el puerto paralelo.

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada


Conexin fsica del Puerto
El interfaz puerto paralelo se basa en un conector hembra de 25 pines. La tabla 1 muestra
las lneas del puerto paralelo y su significado lgico en una conexin PC-impresora:
Pin del ordenador Nombre Lnea

Significado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18-25

Indica Transmisin
Lnea de datos Bit 0
Lnea de datos Bit 1
Lnea de datos Bit 2
Lnea de datos Bit 3
Lnea de datos Bit 4
Lnea de datos Bit 5
Lnea de datos Bit 6
Lnea de datos Bit 7
Ultimo carcter aceptado
Impresora ocupada
Impresora sin papel
Impresora en ON LINE
CR Automtico despus de LF
Error en la transmisin de datos
Realizar reset de la impresora
Activar ON LINE en la imp.
Masa

STROBE
D0
D1
D2
D3
D4
D5
D6
D7
ACK
BUSY
PE
SLCT
AUTO FEED
ERROR
INIT
SLCT IN
GND

Como se puede observar en la tabla existen una serie de lneas de datos las cuales son
unidireccionales, es decir, solo son de salida del ordenador hacia la impresora, y una serie de
lneas de control que nos permiten un intercambio de informacin entre el ordenador y el
perifrico, pero las lneas de control impresora-ordenador son slo cinco.

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada


Descripcin de los pines del puerto paralelo

INGENIERA MECATRNICA 6A

MTG-1023 Programacin Avanzada


El puerto paralelo de un PC
Todos los ordenadores tipo PC estn equipados, al menos, con una tarjeta de interface
paralelo, frecuentemente junto a una interface serie. Como sistema operativo, el DOS puede
gestionar hasta cuatro interfaces de puertos paralelo, LPT1, LPT2, LPT 3 y LPT4, adems,
reserva las siglas PRN como sinnimo del LPT 1, de modo que puede ser tratado como un
archivo genrico. En el byte 0040:0011 del BIOS almacena el nmero de interfaces de
puertos paralelo que se hayan instalado en el equipo. La direccin de entrada/salida de cada
uno de los puertos paralelo y el nmero de puertos instalados en un PC se muestra en la
pantalla inicial de arranque del equipo es frecuente, casi estndar que las direcciones de los
dos primeros puertos paralelo sean las siguientes:

LPT1 = 0x378 Hexadecimal


LPT2 = 0x278 Hexadecimal

Las tarjetas del puerto paralelo tienen una estructura muy simple; consta de tres registros: de
control, de estado y de datos. Todas las seales que intervienen en el puerto tienen
asociado un bit en uno de esos registros, de acuerdo con las funciones asignadas a cada
lnea en particular.

Registros del Puerto


El puerto paralelo presenta 3 registros accesibles por el programador:

Primer registro del puerto paralelo


Este primer registro es el registro de datos, solo de escritura, en el cual introducimos el byte
que queremos que aparezca en las lneas de datos D0-D7.

INGENIERA MECATRNICA 6A

10

MTG-1023 Programacin Avanzada


Segundo registro del puerto paralelo
Este registro corresponde al que nosotros podemos llamar registro de control de entrada,
debido a que en este registro se activan los bits de ERROR, SCLT, PE, ACK y BUSY, si
alguno de los pines a los cuales estn ligados esta en nivel alto (o nivel bajo dependiendo si
es o no negado), esto se puede observar en la figura 2. Este registro es solo de lectura, es
decir, no se puede variar este registro por software.

Tercer registro del puerto paralelo


Este registro al igual que el anterior corresponde a un registro de control, pero este registro
es de salida, es decir, al variar uno de estos bits, tambin se vara el nivel del pin del
conector, un ejemplo estara en la seal de -STROBE, si en el registro ponemos este bit a 0,
en el pin 1 del conector el nivel ser de 1 (5 V) (pasa lo mismo en el caso del registro de
datos). Este registro se puede leer y variar por Software.

INGENIERA MECATRNICA 6A

11

MTG-1023 Programacin Avanzada

Programacin del Puerto


El puerto paralelo se puede programar mediante un acceso a la BIOS del PC o mediante la
programacin directa del puerto. Cualquiera de las dos opciones es totalmente correcta, pero
nosotros nos hemos decantado por la de ms fcil implementacin, la programacin directa.
En la programacin directa del puerto, lo nico que realizamos es un acceso a las
direcciones de dicho puerto. Estas direcciones son las siguientes:
Direccin

Puerto

3BCh - 3BFh Puerto paralelo en la tarjeta MDA *


378h - 37Fh

Primer puerto paralelo

278h - 27Fh

Segundo puerto paralelo

(*) La tarjeta MDA es una tarjeta de vdeo monocroma en la cual la lgica de vdeo posea
tambin un puerto paralelo. Este tipo de tarjetas prcticamente, ya no se utiliza.
El acceso a las direcciones del puerto se puede realizar, por ejemplo, mediante la instruccin
outportb u outport del lenguaje C. Una vez realizado el acceso a un registro del puerto
podremos leerlo y/o escribirlo dependiendo lo que nos permita realizar cada puerto.
INGENIERA MECATRNICA 6A

12

MTG-1023 Programacin Avanzada


Entradas y salidas del puerto paralelo
Las operaciones de entrada y salida de informacin a travs del puerto paralelo en el PC las
realizaremos gestionando el puerto paralelo en el nivel de registros, es decir, programando
directamente los circuitos integrados o chips que constituyen la tarjeta de interface, lo cual
permitir aprovechar al mximo todas las posibilidades que ofrezca realmente el hardware de
la tarjeta de interface.

Caractersticas E/S
Cuando usamos el puerto paralelo para otro cometido distinto al original, solo podemos
hablar de 12 lneas de salida de informacin desde el ordenador:

pines del 2 al 9 - registro de datos


pines 1,14, 16 y 17 - registro de control

15 lneas de entrada al mismo:

pines 2 a 9 - registro de datos


pines 10,11,12,13 y 15- registro de estado

INGENIERA MECATRNICA 6A

13

MTG-1023 Programacin Avanzada


Esto hace del puerto paralelo un interface de comunicacin con el exterior bastante flexible.
El registro de estado es de slo lectura. Cuando se lee este registro, lo que se recibe es el
estado lgico de los pines 10, 11, 12, 13 y 15 del conector DB-25 (el bit S 7 contiene el
complemento del estado de la lnea). Los tres bits de menor peso (SO-S2) no se utilizan y,
habitualmente, se encuentran a nivel alto.
El registro de control es parcialmente bidireccional. Cuando se escribe en los cuatro bits de
menor peso (C0 - C3) lo que se hace es establecer el nivel lgico de los pines C2 de forma
directa y C0, C1 y C3 de forma complementada.
El registro de datos es de tipo latch de lectura y de escritura, de modo que cuando se
realiza una operacin de escritura (OUT) el dato se carga en los bits correspondientes y las
lneas asociadas del conector tienden a alcanzar la tensin correspondiente a ese estado.
En algunas ocasiones las lneas de datos de la tarjeta de interface paralelo son
bidireccionales, pero la etapa de salida se ha construido mediante buffers con transistores en
colector abierto. En este caso, el hecho de que las operaciones de entrada y salida se hagan
por las mismas lneas, condiciona notablemente el proceso de lectura, ya que con esa
configuracin electrnica de las lneas de datos (D0 - D7), los valores lgicos ledos
dependern del nivel lgico presente en el registro y del valor de tensin en la lnea.

INGENIERA MECATRNICA 6A

14

MTG-1023 Programacin Avanzada


La tarjeta de E/S que se va a utilizar es un simulador de impresora, donde se pueden activar
los 8 bits de datos y realizar lecturas del registro de control. Las instrucciones en Turbo C que
dan acceso a los puertos estn en la librera conio.h y son, para escribir, outp (puerto, dato),
y para leer inp (puerto).
La tarjeta consta de 2 bferes para aislar las conexiones desde al PC y el exterior. Cada Led
representa 1 bit del registro de datos, siendo el Led superior el correspondiente a D0 y el
inferior al D7. Debemos pensar que, si tenemos 8 bits de datos, cada uno de ellos se
encendera de acuerdo a la potencia de 2 que nos da su peso, as los datos 1,2,4,8,16,32,64
y 128, encenderan cada uno de los Leds D0 a D7. Si queremos activar el Led de D3
escribiramos la siguiente instruccin en C:

Uso de la tarjeta como secuenciador


En una memoria Eprom guardamos los datos y mediante un contador fijo vamos leyendo las
distintas posiciones. Este circuito simple tiene el inconveniente poder realizar slo una
secuencia programada, aunque con alguna lgica adicional podemos incluir varios
programas y seleccionarlos a posteriori. Vemos que es necesario un circuito contador y
tambin presenta el problema de modificar el programa de la secuenciacin, que debe ser
extrada la memoria, borrarla completamente, y regrabar el nuevo programa y todos los
anteriores.
Si utilizamos una tarjeta de E/S nos podemos olvidar de la Eprom e implementarla mediante
una matriz. Podemos declarar una matriz de caracteres, cuyos valores estn dentro del
rango de 8 bits y se puede inicializar la matriz con el programa o secuencia que necesitemos.
Luego mediante bucles del tipo for o while se puede recorrer la matriz, e incluso variar el
recorrido y el programa en funcin de ciertas condiciones.

INGENIERA MECATRNICA 6A

15

MTG-1023 Programacin Avanzada

Ejemplos

Un recorrido del puerto

#include <conio.h>
void main (void)
{ char i=0;
for (i=0;i<256;i++)
outp (0x378,i);
}

Parpadeo de todos los leds de forma simultnea durante 10 veces

#include <conio.h>
void main (void)
{ char i;
for (i=0;i<10;i++)
outp (0x378,255);
outp (0x378,0);
}

Encendido secuencial ascendente descendente

#include <conio.h>
void main (void)
{ char datos [ ]={1,2,4,8,16,32,64,128};

INGENIERA MECATRNICA 6A

16

MTG-1023 Programacin Avanzada


char i;
outp (0x378,0);
for (i=0,i<8,i++) // Recorrido ascendente
outp (0x378,datos[i]);
outp (0x378,0);
for (i=7,i<0,i--)
outp (0x378,datos[i]); // Recorrido descendente
}

Puerto serie
Introduccin
El puerto serie de un ordenador es un adaptador asncrono utilizado para poder
intercomunicar varios ordenadores entre s.
Un puerto serie recibe y enva informacin fuera del ordenador mediante un determinado
software de comunicacin o un driver del puerto serie.
El software enva la informacin al puerto carcter a carcter, convirtindolo en una seal
que puede ser enviada por un cable serie o un mdem.
Cuando se ha recibido un carcter, el puerto serie enva una seal por medio de una
interrupcin indicando que el carcter est listo. Cuando el ordenador ve la seal, los
servicios del puerto serie leen el carcter.

Conectores
En nuestros PC's, se emplea como conector del interfase serie un terminal macho al que
llamaremos DTE (Data Terminal Equipment) que, a travs de un cable conectamos a un
perifrico que posee un conector hembra al que llamaremos DCE (Data Comumunications
INGENIERA MECATRNICA 6A

17

MTG-1023 Programacin Avanzada


Equipment). En nuestro terminal DTE, tenemos las siguientes conexiones (para un conector
DB-25):
PIN

Nombre Direccin Funcin

P.G.

--

Tierra de seguridad

TD

-->DCE

Salida datos DTE

RD

-->DTE

Entrada de datos DTE

RTS

-->DCE

Peticin de emisin DTE

CTS

-->DTE

Listo para trasmitir DCE

DSR

-->DTE

CE listo para com. con DTE

GND

--

Masa comn del circuito

DCD

-->DTE

Deteccin de portadora

20

DTR

-->DCE

Seal de terminal disponible

23

DSRD

<-->

Indicador de velocidad de Tx.

Direcciones
El puerto serie utiliza direcciones y una lnea de seales, un IRQ para llamar la atencin del
procesador. Adems, el software de control debe conocer la direccin.
La mayora de los puertos series utilizan direcciones standard predefinidas. stas estn
descritas normalmente en base hexadecimal. Cuando se instala un nuevo puerto,
normalmente se mueve un jumper o switch para seleccionar un puerto (COM1, COM2,
COM3, etc., con lo que se asigna una direccin y una interrupcin usada por la tarjeta del
puerto.
Las direcciones e IRQ usadas por los puertos serie fueron definidas al disear el ordenador
originalmente; sin embargo, las del COM3 y COM4 no se han definido oficialmente, aunque
estn aceptadas por convenios.

INGENIERA MECATRNICA 6A

18

MTG-1023 Programacin Avanzada


Las seales son:
Direccin Interrupcin (IRQ)
COM1

3F8

COM2

2F8

COM3

3E8

COM4

2E8

Se pueden aadir gran cantidad de puertos serie a un PC, ya que existe gran flexibilidad a la
hora de definir direcciones no standard, siempre que se encuentren entre el rango 100 y 3FF
hexadecimal y siempre que no entren en conflicto con otros dispositivos.
Los ordenadores IBM PS/2 usan la Microchannel Architecture, que define las direcciones e
IRQs para los puertos desde COM1 a COM8:
Direccin Interrupcin (IRQ)

INGENIERA MECATRNICA 6A

COM1

3F8

COM2

2F8

COM3

3E8

COM4

2E8

COM5

4220

COM6

4228

COM7

5220

COM8

5228

19

MTG-1023 Programacin Avanzada


Tipos de puertos serie
Hay muchos tipos de puertos serie, que estn definidos normalmente por el tipo de UART
(Universal Asynchronous Receiver / Transmitter, Receptor/Transmisor Asncrono Universal)
usado por el puerto serie. El UART es un chip del puerto serie que convierte los datos de
formato paralelo utilizados por el PC en datos de formato serie para su envo.
A continuacin, se enumeran los diferentes tipos de UARTs existente:

UARTs sin buffer


Los UARTs sin buffer fueron diseados cuando los mdems ms rpidos transmitan a 1200
bps. No tienen buffer de carcter extra en el UART, por lo que dependen del procesador para
borrar cada carcter enviado por el mdem antes de que el siguiente carcter sea enviado.
Los UARTs sin buffer comprenden las series 8250, el 16450 y el original 16550

UARTs con buffer


Los UARTs con buffer han sido diseados como apoyo a los mdems rpidos de la
actualidad. El UART original con buffer es el 16550A, que puede acumular 16 caracteres en
un buffer antes de que el procesador lea el dato. Esto hace que el software del PC tenga una
mayor facilidad para comunicarse con el mdem, crendose menos errores y una mayor
velocidad de transmisin.

Otros tipos:

Pequeos puertos serie


Existen algunas tarjetas diseadas especficamente para dotar de un puerto serie de alta
velocidad para comunicaciones. Estas tarjetas tienen un microprocesador en su interior que
asiste al PC en las comunicaciones. Adems, disponen de un modo de transferencia de
datos de alta velocidad que es mucho ms eficiente que la interfase de puerto serie normal.
Estas tarjetas necesitan unos drivers especiales para su uso, pero tambin disponen de una
interfase standard de puerto serie por motivos de compatibilidades.

INGENIERA MECATRNICA 6A

20

MTG-1023 Programacin Avanzada


Hayes ESP-I y ESP-II
Hayes ha introducido tres diferentes tipos de "Enhanced Serial Ports", o tarjeta ESP. La
original tarjeta ESP (ESP-I) es una tarjeta "full-length 8-bit" con dos 16550A puertos serie y
un procesador que tiene en cuenta las transmisiones entre el puerto original y el procesador.
Esta tarjeta no es soportada por Windows ni OS/2, por lo que se hace necesario el uso del
puerto standard.
La tarjeta ESP-II est disponible con un o dos puertos serie. Este producto reemplaz al
modelo original y dispone de drivers para diferentes entornos al mismo tiempo, e incluso
reciente Hayes ha introducido un driver para Windows 95.

Practical Peripherals High Speed Serial Port HSSP


Un Practical Peripheral High Speed Serial Port (HSSP) es una versin mejorada de la tarjeta
Hayes ESP-II, y es idntica en su construccin a la ESP-II. Tiene los drivers que la ESP-II .

El T/Port
El T/Port de Telcor Systems, Inc. es una tarjeta especial que incluye un microprocesador y es
utilizada para la comunicacin con un host durante un tiempo elevado. El T/Port mejora el
funcionamiento del ordenador, especialmente cuando opera bajo Windows u OS/2. Presenta
una emulacin del internase 16450.

INGENIERA MECATRNICA 6A

21

MTG-1023 Programacin Avanzada

CONCLUSION
Como conclusin de este trabajo se puede decir que los puertos de salida/entrada son
elementos materiales del equipo, que permiten que el sistema se comunique con los
elementos exteriores. En otras palabras, permiten el intercambio de datos, de aqu el nombre
interfaz de entrada/salida (tambin conocida como interfaz de E/S).
De este trabajo se pueden condensar varias ideas respecto a las caractersticas de las
interfaces de E/S desde los puertos serie y paralelo.
Para concluir se puede decir que el puerto paralelo adapta la velocidad del ordenador a la del
perifrico (es ms lento), y establece un control de flujo hardware para que el ordenador no
inunde de informacin al perifrico.
Mediante el puerto paralelo se puede establecer un mayor control por parte del ordenador
sobre el perifrico. En cambio, en el puerto serie la velocidad esta preestablecida y no existe
tanto control como con el puerto paralelo.

INGENIERA MECATRNICA 6A

22

MTG-1023 Programacin Avanzada

LINK DE PREZI
https://prezi.com/ywdxk06mgwn6/concepto-de-puerto/

BIBLIOGRAFIA
Programacin en C, aplicaciones electrnicas
http://mimosa.pntic.mec.es/~flarrosa/puerto.pdf
Fecha de consulta: 1 de Marzo de 2016

INGENIERA MECATRNICA 6A

23

También podría gustarte