UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM LOTE 5/UAM20490.pdf · Mas que un...

31
P i L. r- UNIVERSIDAD AUTONOMA METROPOLITANA División de Ciencias Básicas e Ingeniería Alumno : BRAVO HERNANDEZ ALBERTO Licenciatura : INGENIERIA ELECTRONICA Area de concentración : COMUNICACIONES

Transcript of UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM LOTE 5/UAM20490.pdf · Mas que un...

P

i

L.

r-

UNIVERSIDAD AUTONOMA METROPOLITANA

División de Ciencias Básicas e Ingeniería

Alumno : BRAVO HERNANDEZ ALBERTO

Licenciatura : INGENIERIA ELECTRONICA

Area de concentración : COMUNICACIONES

Sistema dquisición De Datos

Ethernet Para ceeso Re

Local c

L

c

r- L..

P"

I L.

Desarróllate tu propia aplicación sin L tener que programar

GENERADOR DE APLICACIONES MEDIANTE DlSEfiD VISUAL

Caracterlsticas y beneficios del diseño visual ....... Captura esquemática y Ejecución.. .................... Obtener una aplicación en 3 pasos .....................

- seleccionar .................................... - unlr ........................................... - adquirir .......................................

Tipos de bloques funcionales ......................... - Funciones de adquisición de datos .............. - Funciones de control ........................... - Funciones de archivos .......................... - Funciones de Desplegado ........................ - Funciones de interfaz al usuario .............. - Funciones de intercambio dinámico de datos (DDEI - Otras funciones ................................

Aplicaciones.. .......................................

REQUERIMIENTOS DE HARDWARE

SADE Características y beneficios.. ................. SADE Descripción.. .................................. SADE Diagrama a bloques ............................. . Unidad de comunicación .........................

. Otras unidades .................................

. Unidad de supervisión de requerimientos ........

CONCLUSIONES ...........................................

UTlLERlAS

Especificación preliminar para la interfaz de aplicaciones con el driver TCPIIP ....................

- Introducción ................................... - Notas generales ................................

LIBRER~AS

TCPAP ............................................... Gráficos 3Dl2D ....................................... Sonido (sound card) ..................................

Caracteristicos y Beneficios

CARACTERISTICAS Y BENEFICIOS DEL DlSEfJO VISUAL El generador visual de aplicaciones tiene las siguientes caracterlsticas:

Desarrollo de las aplicaciones sobre un ambiente gráfico es decir no se requiere de programación

mediante diagramas de bloques

* Hasta 150 bloques funcionales (La lista de estos bloques se muestra mas adelante)

* Fácil de usa1

* Alto poder de desarrollo

Permite desarrollar necesidades especificas

ideal para miles de aplicaciones

* Alta velocidad del flujo de datos hacia disco

* Desplegado de datos y controles en tiempo real

Intercambio dinámico de datos (DDEicon otras aplicaciones de Windows

* Manejo de dispositivos seriales (RS-232/422/4851

* Enlace con dispositivos GPlB (IEEE-488)

La arquitectura del diseño visual es de alto poder de desarrollo, que facilita el uso y generacidn de la aplicación basada en la adquisición de datos, prueba , instrumentación, medición y control. Además de reducir el tiempo de desarrollo por la eliminación de los tiempos de consumo en programar y monitorear la aplicacidn deseada.

Simplemente se dibuja un diagrama de bloques (como si se estuviera dibujando un diagrama de flujo) de tu aplicación, se especifican los parámetros de las funciones y se esta listo para correr la aplicacibn.

Mas que un sistema de adquisici6n de datos el diseño visual es también ideal para el análisis y desplegado de datos ya adquiridos con anterioridad. En si cumple con todas las necesidades habidas y por haber en el campo de la instrumentaci6n.

Captura esquemática y Eiecución

CAPTURA ESQUEMATICA Y EJECUCIÓN

El generador de aplicaciones visual consta de dos programas uno es el de captura esquemática y el de ejecución. Usando el programa de captura esquemática se construye el diagrama a bloques (o diagrama de flujo) dando parámetros al bloque funcional (en la fig.1 se muestra un prototipo del generador de aplicaciones donde se muestra esto) y se dan opciones al programa de ejecuci6n. el programa de ejecucidn entonces corre la aplicación. Cabe notar que estos programas están contenidos en el generador de aplicaciones, siendo esto un compilador gráfico en el que el bloque funcional es relacionado a su respectiva función contenida en cierta librerla teniendo como entrada parámetros de la función, buffer de entrada y salida especificados como las flechas mostradas en la fig.1 no se dan mas detalles ya que este informe se enfoca a la parte de hardware solo se da una breve descripcidn para mostrar las amabilidades de esta arquitectura.

2

1 Ent. Analógica Espectro de pot. lolog DDE a Excel :

Aplicación en tres pasos

OBTENER UNA APLICACIÓN EN TRES PASOS 1 . Seleccionar Comienza a desarrollar tu aplicacidn seleccionando el bloque funcional de el menú del generador visual de aplicaciones. Haga doble click sobre el icono del bloque que aparece en la pantalla y modifique los parámetros a sus necesidades.

2. Unir

Una vez que se tienen mas de dos bloques en su aplicación, se establece un flujo de datos entre ellos conectando ambos bloques con un simple trazo del Mouse, entonces se seleccionan los buffes de entrada y salida. Se continua adicionando bloques y conectándolos entre ellos hasta que la aplicaci6n es completada.

3. Adquirir

Cuando la aplicacidn este lista para ser ejecutada, simplemente se hace click en el icono de correr sobre el menú. La aplicacidn será compilada y entonces será una aplicacidn de adquisicidn de datos funcionando en tiempo real. AI par se puede hacer ajustes en el ambiente de la aplicación al tiempo de corrida o puede retornar a la ventana de desarrollo y continuar adicionando mas características y complejidad a su aplicaci6n.

TIPOS DE BLOQUES FUNCIONALES

FUNCIONES DE A D Q U i S i C i ~ N DE DATOS El generador visual de aplicaciones soporta un amplio rango de funciones de adquisicidn de datos, con lo cual se hace interfaz hacia entradas analdgicas, salidas analdgicas, E/S digital, contadoresitemporizadores y generadores de pulsos. Con ello se construyen aplicaciones donde se adquieren señales analdgicas y digitales, procesar y monitorear señales y llevar acciones por el control de las salidas analdgicas y digitales. Se hace mencidn que estas funciones son las únicas que hacen referencia a la tarjeta de adquisicidn de datos dado entonces que son casi las únicas funciones que hacen uso del manejador de comunicaciones.

e - C~

- .

I.

L.

C.

. .. c .

L ..

c-

c,

c .

... . c

L.

r"

L..

r-

L

r-

L

c ._ r

L. - L

P-

L

r-.

I

.- c

c

.- r-

h..

c

Bloques funcionales

Este uso es invisible para el usuario sin embargo se cuenta con funciones propias de la parte de comunicaciones con las que el usuario puede desarrollar aplicaciones dirigidas hacia comunicacidn remota mediante línea telefdnica. todo esto se detalla en el capitulo de hardware.

FUNCIONES DE CONTROL

Las llamadas, retornos, importaciones y exportaciones de bloques permiten la ejecución en secuencia de aplicaciones definidas en cierta forma. Fácilmente puedes construir pruebas de ejecuci6n para correr una serie de aplicaciones y hacer un test de su producto. O establecer una secuencia de aplicaciones para monitorear o controlar diferentes pasos de un proceso.

FUNCIONES DE ARCHIVOS

Estos bloque permiten generar una mejor documentacidn de archivos de datos en los que se incluye el estampado de tiempo y fecha. Entre algunas funciones se encuentra lectura y escritura de archivos ASCII, binarios, renombrar archivos, busqueda de archivos, nombramiento automático de archivos, etc.

. . . . ... ..,&--

e .

." e .

...

-,..

+..

,-

....

r-

-..

r.

c

r.

L,

t.-.

L..

,...

r

p. .". c-

i

P

L

P

c

C^

... r.

.. r-

- * -

* _

F

FUNCIONES DE DESPLEGADO

Cuenta con una gran variedad de bloques de desplegado para hacer una presentacidn fácil y rápida de datos además de dar alas aplicaciones una vista profesional. Todos los desplegados son completamente personalizados: color, bordes, barras de títulos, tamaño, además de que el control y posicidn pueden ser modificados.

FUNCIONES DE INTERFAZ AL USUARIO

Las funciones de interfaz al usuario dan el control de la aplicacidn, usando cursores, entradas numéricas y alfanuméricas y apuntadores. Con esos controles el usuario de la aplicación puede decidir si la información sea desplegado o transferida a disco o accionar salidas. Adicionalmente hay funciones para generar beeps o mensajes de audio para alertar al usuario o darle una informacidn que el usuario crea pertinente.

Bloques funcionales

FUNCIONES DE INTERCAMBIO DlNAMlCO DE DATOS (DDE)

El generador visual hace una adquisición de datos ideal y10 un control de hardware e interfaz a otras aplicaciones de Windows. Simplemente se construye una aplicación para adquirir datos y10 control de hardware y se hace un intercambio dinámico de los resultados a otras aplicaciones de Windows en la misma maquina o en una maquina de la misma redivía NetDDE).

OTRAS FUNCIONES

Existen otros bloque funcionaies de igual importancia como son:

Funciones de generación de señales

* Funciones de procesamiento de señales(correlaci6n. filtraje digital, espectro de potencia, FFT , etc.)

* Funciones de operaciones Iógicas(and, nand, nor, not, or, xor)

Funciones matemáticas(va1or absoluto, suma, derivación, división, integración, inverso, LN, Log, multiplicación, mx + b, potencias, elevar al cuadrado, ralz cuadrada, substracción entre otras)

* Funciones de medición(histograma, máximos, mlnimos , picos, clasificación. RMS)

* Funciones de operaciones con memoriallectura y escritura de datos de 8,16 y 32 bits en el espacio de memoria o en el espacio de E/Si

* Funciones de comparación(comparación, umbral de alarma, alarma de ventana, acumulación, concatenación, cortar, retardo, modificación de unidades, multiplexaje, empaquetamiento, selector, tipos de conversión, desempaquetamientoi

* Funciones de operaciones can cadenas

* Funciones de comunicaciones: son utilizadas para hacer una comunicacidn remota con otras tarjetas de adquisición de datos u otras maquinas sirviendo estas como puentes o ruteadores hacia la tarjeta que se requiere enlazar esto se hace referencia que el protocolo Tcpllp se encarga de este tipo de funciones y mas adelante se explicara como hacer uso de manejadores comerciales o si se requiere se dan las librerlas necesarias en lenguaje "c" para poderlo compilar en caso de hacerle modificaciones.

Aplicaciones

APLICACIONES Equipo de prueba, monitor de procesos, aparatos de análisis, instrumentos médicos,

control ambiental, monitor de temperatura, equipo de simulacidn, monitores de contaminacidn, en si la investigacidn e instrumentacidn de laboratorio son algunas de las áreas de aplicacidn donde el sistema de adquisicidn de datos reduce productos y costos de desarrollo.

En si esta arquitectura permite desarrollar e implementar fácilmente aplicaciones que dardn el enlace de la PC con las señales del mundo real, capturando datos y eventos, desplegándolos sobre la pantalla, analizando señales, enviando resultados a disco, controlando switches y ejecutar mil procesos as1 como dibujar un diagrama de flujo.

- C .

t

.. r'

... c-

..

r-

...

r.l

.-.

L.

I...

... e--

.. r-

*__,

,-..

c_

I--

&..

c-

L- .-. -__ c-

....

F-

L_

c-

-.

- .. L_

*-

*.

c-

Requerimientos de Hardware

r.

- c.

b

L

En esta sección se da un panorama de la estructura del hardware que soportara el gran numero de aplicaciones enumeradas en la sección anterior.

De hecho se selecciono la estructura que se muestra en la fig.2 ya que es el modelo idóneo para soportar aplicaciones de alta complejidad, con esto quiero decir que no hay limitaciones en cuanto ala transferencia de datos para procesamientos a alta velocidad como es el filtrado digital, FFT, Función de correlacidn entre otras.

A continuación se enumeran las caracterkticas de las estructura del hardware SADEiSirtema de Adquiricidn de Datos Ethernet) que complementara las necesidades funcionales del diseño visual.

Fig.2

SADE Características y beneficios

SADE CARACTERÍSTICAS Y BENEFICIOS

Adquisición de datos para sistemas abiertos como lo es el generador visual

* lnterfaz de datos hacia recursos de red y gran variedad de software

* lnterfaz directa 10-BaseT Ethernet

La comunicaci6n basada en los protocolos TCP/IP

El diseño compacto y eficiente

* 32 canales digitales programables para E/S

* Entradas programables para leer el estado de la señal digital 6 ejecutar eventos de conteo a baja velocidad

Salidas prograrnables para escritura digital normal(on/off) 6 para generar pulsos de duración determinada

* Dos timers 16-bits que proveen funciones de comparación, captura, PWM(modulaci6n por ancho de pulso)

Watchdog Timer

Comunicaci6n syncrona y asyncrona ClientdseNidOf

* Hasta 80 canales de entradas analdgicas

* Dos canales de salidas analógicas

Resolución AID de 8 y 16-bits

* Voltaje de referencia programable para AID o D/A 0-5, i 5, 0-1 o

* Puerto Serial RS-232

Módem (opcional)

SADE Descripción

SADE Descripción El Sistema de Adquisición de Datos Ethernet (SADE1 es un producto que ofrece una gama de recursos con el que se pueden desarrollar un sin numero de aplicaciones además de que permite la comunicación sobre redes locales Ethernet y compatibilidad sobre software comercial(Drivers de comunicación). Algunas aplicaciones para el SADE es el monitoreo de maquinas automáticas, procesos de control, adquisición remota de datos que es en si la potencialidad del sistema. AI estar en contacto con personas de medio de la investigación me he dado cuenta de las necesidades tecnológicas que los abruma, me refiero a que no tienen un total desempeño de su equipo electrdnico para el control y monitoreo de sus experimentaciones, por ejemplo en el laboratorio de bioprocesos de la UAM-I, se requiere un buen control, medición y automatización además de un muy buen procesamiento de la información así como una interfaz hacia graficadores, bases de calculo, en si todo para tener un buen desempeño.

Conjuntando sus necesidades se llega a el diseño visual que es complementado con SADE para explotar su máxima potencialidad sin aplicar mucho esfuerzo. Con este sistema pueden resolver la mayorla de sus problemas como son el monitoreo y control de temperatura, lectura de sensores, control de válvulas, ejecución de algoritmos complejos para la automatización total del equipo de muestre0 así como la toma de decisiones sobre el manejo del equipo y el procesamiento de la información recopilada. Con este sistema no habría necesidad de estar recluido en el laboratorio manejando instrumentos innecesariamente, ya que desde otro sitio daría instrucciones al equipo directamente o tomaría la información entregada por el sistema ya procesado o para ser procesado. todo esto y muchas cosas mas puede ser ejecutado por este sistema solo depende del buen diseño del algoritmo de su aplicación. Con todo esto no habrá necesidad de tener equipo redundante que solo consume recursos , espacio, y tiempo en manejarlo. El objetivo de este sistema es dar las herramientas suficientes para resolver cualquier necesidad de manera fácil sin tener que programar como es el caso de otros sistemas. Todo su potencialidad radica en la aplicacidn y contando con un hardware extremadamente sencillo se cumple con toda la potencialidad especificada sin tener redundancia de recursos. Aunque la sencillez no significa que no sea poderoso a continuación se presenta un diagrama a bloques de lo que seria SADE.

SADE Diagrama a bloques ............................................................

Unidad d. Comunicaciones

.............................................................

-~ Witch Dog Tbner

Diagrama a Bloques SADE

UNIDAD DE COMUNICACIONES La unidad de comunicaciones contiene el hardware necesario para llevar acabo la comunicación por red local para conexiones locales 6 por línea telefónica para enlaces remotos, estos componentes no son tan costosos respecto a las ventajas que dan en cuanto a su alta integración, por ejemplo propondría los siguientes componentes para poder llevar acabo el modulo de comunicaciones: * El DSP TMS320C25 unidad de 68 pines con una velocidad de 50 MHZ es suficiente para soportar el driver del TCP/IP (descrito mas adelantejya que requiere mucho procesamiento, contiene un puerto serial. * La suficiente memoria EPROM para soportar el driver de comunicación. " .. . . . . . . . . . . . . - un modem de 14.4Kbits seleccionado de sharp contenido en un solo chip de 68 pines.

Una interfaz Ethernet de la familia Intel. Como se podrá ver es la unidad fundamental del sistema y habrá que ponerle el mayor cuidado además no es tan costosa como se ve. Esta unidad entrega un flujo de datos de 1OMbitsls con lo que aseguran aplicaciones que exigen alta velocidad de muestre0 y por ende un gran flujo de información, lo que no sucede con la comunicacidn asyncrona en donde hay limitaciones de velocidad de 19200 baudsis lo que elimina las aplicaciones de alta velocidad en tiempo real, no obstante es suficiente para procesos lentos.

SADE Descripcion

SUPERVISOR DE REQUERIMIENTOS

Esta unidad se encarga de reconocer y descodificar los comandos recibidos y de esta forma dar aviso a la unidad de procesamiento que ejecute o suspenda las operaciones que ya tiene definidas, además se encarga de darle un formato especial (encapsular) la informacidn que será transferida ala PC ya que existen muchas aplicaciones en ejecucidn y esta unidad deberá etiquetar la informacidn para su respectiva aplicacidn, además será capas de soportar los requerimientos de varias Pcs y de SADEs. Es la unidad mas fuerte de procesamiento de todo el sistema y estará contenido en la parte de procesamiento de la unidad de comunicaciones además el DSP es lo suficientemente veloz para soportar ese procesamiento. Desde el punto de vista de teleinformatica esta seria la capa de Aplicacidn.

OTRAS UNIDADES

La unidad de procesamiento, el administrador de recursos y periféricos contribuyen a la aplicacidn de los requerimientos dados por el modulo anterior. La unidad de procesamiento contiene una lista de funciones predefinidas que deberá ejecutar, existen listas adicionales en donde se colocan los parámetros con que deberá ejecutarse la aplicación, los parámetros son también predefinidos, por ejemplo: se requiere generar una señal senoidal de 1 KHZ y de amplitud 3Volts, los parámetros que se pondrán en la lista serán Frecuencia = 1 KHZ, Amplitud = 3V. Señal =senoidal y asl para una respectiva funcidn tendrdn parámetros relacionados ala misma.

El administrador de recursos tiene la obligacidn de verificar si la funcidn puede llevarse acabo ya que puede haber procesos que saturen la unidad de procebamiento y por tanto no pueden desarrollar la ejecucidn como se desea. Además tiene el control absoluto de los periféricos. Estas unidades pueden ser llevadas a cabo por un DSP del mismo tipo que la unidad de comunicaciones ya se requiere la toma de decisiones e identificaciones de parámetros, el procesamiento mas elevado que se llevaría acabo seria el de generación de señales a alta frecuencia, el transformar valores de entrada hacia valores sugeridos por el usuario como el transformar la señal entregada por un termopar a grados celsius, Fahrenheit, Kelvin. Para pulsos capturados por los timers calcular su frecuencia, en si todo requiere de procesamiento.

Conclusiones

Existe una unidad que esta continuamente verificando todas las unidades cuidando que no salgan de programación(WATCH DOG TIMER), si llega a suceder esto las unidades serán enviadas a RESET, además será enviado un mensaje a la PC o PCs que el sistema fue enviado a RESET y confirmen los comandos enviados anteriormente para cada aplicación, esto se hace para evitar incongruencias y errores de información.

c ON c LU SIÓN En la fig.3 se muestra en si el alcance de este proyecto, se visualiza el alto poder de desarrollo, a costa de la complejidad contenida en la componente de software del Sistema de Adquisición de Datos, no obstante queda la satisfacción de generar un sistema abierto donde el usuario puede general aplicaciones tan robustas como el problema lo requiera y sin la necesidad de utilizar un lenguaje de programación. Esta idea se complemento al manejar distintas arquitecturas de sistemas de adquisición de datos entre los puntos mas sobresalientes para formular la idea son:

El utilizar el mfnirno posible de componentes electrónicos dando cabida a un alto nivel de procesamiento

* Dar las herramientas necesarias al usuario para generar sus aplicaciones sin hacer uso de personal o equipo que solo genera costos.

* Dar al usuario un ambiente atractivo y fácil de utilizar como lo es el generar sus aplicaciones a partir de un editor gráfico.

* En si la tarjeta de adquisición de datos es una unidad independiente que no es capaz de expandir sus recursos como el aumentar el numero de canales analógicos de entrada, sin embargo todo el sistema tiene una arquitectura de expansión es decir solo se agrega una unidad mas al bus y en la aplicación solo se especifica la dirección de la nueva unidad y así hacer uso de sus recursos.

.. .

.. , . ,.

.. c..

. ,_.

,.

. ,..

....

._. c.

-.

r-

.". r-

L

Y

..- c

- .I

-.-

e. .

. .~

r-

b

c..

-...

r.-

.... r..

-..

r.

.. r'

..

F

r..

.. -- i

e"-

.. c-

.-

Conclusiones

Estas y otras mas ideas dieron el punto de partida para expresar en estas líneas lo que para mi en lo personal seria un sistema de adquisición de datos con un alto potencial. Cabe mencionar que solo expreso la idea de lo que seria este sistema mas no que fuera llevado a cabo, por lo mismo no se detallan los puntos expuestos . Este proyecto es muy interesante pese al tiempo y recursos que llevaría el desarrollarlo ya que consta de dos partes: El sistema de adquisición de datos SADE con todos sus requerimientos y el generador de aplicaciones que se enfoca hacia compiladores gráficos. Mas adelante encontrara utilerias que serian de gran ayuda para el desarrollo de algunas unidades o funciones que conforman el sistema, entre estas utilerias se encuentra los protocolos TCP/IP en código fuente y que con pocas modificaciones puede ser transportado a la plataforma que desee ya sea en la aplicación de la estación de trabajo o sobre el sistema de adquisicidn de datos. Se da también la información sobre la interfaz de la aplicacidn sobre el protocolo TCP/IP. además de las librerías para generación de gráficos en 3d y 2d. y control sobre la unidad de sonido compatible con sound Card. Otro compañero en su reporte incluirá las librerías necesarias para el generador de aplicaciones.

Fig.3

Utilerias

ESPECIFICACIÓN PRELIMINAR PARA LA INTERFAZ DE APLICACIONES CON TCP/IP.

INTRODUCCIÓN

El TCP/IP como programa residente en memoria puede ser ligado a un vector de interrupcidn en el rango 60H-7FH de manera similar a un driver como el del Mouse 6 teclado por ejemplo la información es accesada al driver de la misma manera que en los demás, se hace una llamada de interrupción especificando el servicio deseado.

NOTAS GENERALES

Todas las llamadas retornan: dl =error de código ( O si no es así i todo driver retorna una palabra cuyo valor corresponde a un índice dentro de una tabla o lista. Un O es permisible para garantizar un único valor. si el manejador no esta disponible entonces retornara una llamada abierta especificada como OFFFF.

Muchas llamadas utilizan el registro AL para el servicio de banderas, un tiempo fuera(timeout) es provisto vía DX. Si DX = FFFF entonces la operación será terminada. Todos los tiempos fuera son medidos mediante pulsos de reloj de la PC(18.2 HZ) Un tiempo fuera de O especifica una llamada no bloqueada y por tanto no retorna error. Usualmente puede ser usada la funcidn de estado para determinar el estado de la conexión tcp. El trumpet TCP implementa tiempos fuera. Las siguientes llamadas serán bloqueadas:

tcp: abrir, cerrar, enviar, recv udp:recv, (envía bloqueo solo si arp es requerida) ip: recv, (envia bloqueo solo si arp es requerida) las otras llamadas no son bloqueadas y no requieren tiempo fuera

A continuación se presentan los servicios soportados por este driver al ejecutar las llamadas:

DRV tcp/ip

INT (60H-7FH) (tcp/ip)

driver-info determina la valides y funcionalidad del driver call

ah = OOH al = FFH

al = FFH Driver no cargado al = O Driver cargado dh 1 = implementar tiempos fuera 2

ds:si = apuntador a "TCP-DRVR" es:di = apuntador a la informacidn del driver

return

= adicional funcionalidad de banderas

= implementar eventos Asyncronos de E/S

(incluyendo direcciones IP, parámetros de red, etc.)

driver-info-rec: myip dword netmask dword gateway dword dnsserver dword timeserver dword mtu word def-ttl byte def-tos byte tcp-mss word tcp-rwin word debug word domain stringt255) ídb 0,255 dup(0))

driver-descarga descarga el driver de la memoria. call

ah = 01H return

dl = error code

driver-doio procesar paquetes. call

ah = 02H return

ax = no. de paquetes en la entrada de la cola en IP cx = no. de paquetes en la salida de la cola en IP dl = error de cddigo

Permite al driver procesar eventos como el ligar a interrupciones de timer o

DRV tcp/ip

driver-bandera-critica call

return

retorna la bandera critica del driver.

ah = 03H

es:di = Apuntador al byte de banderas criticas di = error de cddigo

driver-copiar-info copia la informacidn del driver hacia un bufer de usuario. call

ah = 04H cx = tamaño del bufer

es:di return

= apuntador a un bufer local

cx = bytes almacenados

tcp-abrir-sesibn Abre una sesidn tcp activalpasiva call

ah = 10H al = opcidn a banderas

O = normal 1 = oyente 128 = asyncrono. bx cx dx

= tcp-fuente (0 = permite puertos en desuso) = tcp-dest (O = algún puerto cuando escucha) = tiempo-fuera (O = no-bloqueo, FFFF = infinito)

si:di = ipdest return

ax bx = manejador dl = error de cddigo

no-manejador tiempo-fuera sesidn no-valida

= no. de puerto local

DRV tcp/ip

tcp-cerrar cierra una sesión tcp call

ah = 11H al = opcidn a banderas

O = normal 1 = abortar sesidn 128 = asyndrono

bx = manejador dx

di = error de cddigo error en manejador tiempo-fuera sesidn no-valida

= tiempo-fuera (O = no-bloqueo, FFFF return

= infinito)

tcp-obtener call

lee datos dentro del buffer

ah = 12H al = opcidn a banderas

O 1 2 128 = asyncrono

= normal (Esperar hasta que el buffer este lleno) = obtener lo mayor posible y retornar = leer a < CR > <If > (no incluidol

bx = manejador es:di = apuntador a buffer

cx = tamaño de buffer dx = tiempo-fuera (O = no-bloqueo, FFFF = infinito)

return buffer con datos transferidos ax = no. de bytes transferidos dl = error de código

error en manejador tiempo-fuera sesidn no-valida

dh = retorno de banderas 2 = <CR><lf> leerenopcidn2 8 = urgente-presencia de datos

DRV tcp/ip

tcp-colocar call

escribe datos en el buffer

ah = 13H al = opción a banderas

O = normal (esperar a que el buffer sea liberado) 1 = colocar lo mayor posible y retornar 2 = añade < CR > <If > a los datos 4 = apilar (espera reconocimiento de datos) 8 = urgencia de datos 128 = asyncrono

bx = manejador es:di = apuntador a buffer

cx = tamaño de buffer dx = tiempo-fuera (O = no-bloqueo, FFFF = infinito)

return ax = no. de bytes transferidos dl = error de código

error de manejador tiempo-fuera sesión no-valida

tcp-estado call

obtiene el estado de la sesión tcp

ah = 14H al = opción a banderas

O = normal 128 = asyncrono

bx = manejador return

dl = error de código

dh = tcp-estado ax cx = bytes en transmisión

error de manejador

= bytes disponibles para lectura

es:di = apuntador a sesión ipsrce dword ip-dest dword ip-prot byte active byte (> O es activo)

DRV tcp/ip

udp-abrir call

ah = 20H al = opcidn a banderas

O = normal 128 = asyncrono

bx = udpfuente (O = asigna el próximo en desuso) cx = udp-dest (O = escuchar algo)

si:di = ip-dest (O/FFFFFFFF = escuchar algo) return

ax bx = manejador dl = error de cddigo

= no. de puerto local

no-manejador

udp-cerrar call

ah = 21H al = opcidn a banderas

O = normal 128 = asyncrono

bx = manejador return

dl = error de cddigo error de manejador

udp-recv call

ah = 22H al = opcidn a banderas

O = normal 128 = asyncrono

bx = manejador

cx = longitud dx

es:di = apuntador a buffer

= tiempo-fuera (FFFF = infinito) return

ax = no. de bytes transferidos dl = cddigo de error

error de manejador tiempo-f uera = ttl & tos (ttl = low byte, tos = hi byte)

O = default ttl & tos bp

si = id (notar que la direccidn ip del paquete mas reciente leído es disponible con la llamada de

estado)

DRV tcp/ip

udp-enviar call

ah = 23H al = opción a banderas

O = normal 128 = asyncrono

bx = manejador

cx = longitud bp = ttl & tos (al = low byte, tos = hi byte)

es:di = apuntador a buffer

O = default ttl & tos si = id

return ax = no. de bytes transferidos dl = código de error

error en manejador

udp estado call-

ah al

return ax

dl

es:di

cx

= 24H = opcidn a banderas O = normal 128 = asyncrono

= numero de paquetes disponibles = tamaño del siguiente paquete (O si ninguno) = código de error error de manejador = apuntador a la información de sesión ip-fuente dword ip-dest dword ip-prot byte activo byte ( >O es activo)

ip-abrir call

ah = 30H al = opcidn a banderas

O = normal 128 = asyncrono

bl = protocolo si:di = ip-dest (O/FFFFFFFF = escucha algo)

return ax = manejador dl = cddigo de error

no-manejador

DRV tcp/ip

ip-cerrar call

ah = 31H bx = manejador

dl = código de error return

error de manejador

~

ip-recv call

ah = 32H al = opcián a banderas

O = normal 128 = asyncrono

bx = manejador

cx = longitud dx

es:di = apuntador a buffer

= tiempo-fuera (FFFF = infinito) return

ax = no. de bytes transferidos di = cddigo de error

error en manejador tiempo-fuera = tti & tos (tti = low byte, tos = hi byte) bp

O = default ttl & tos si = id (notar que la dirección IP de el paquete mas reciente leído es disponible en la llamada de

estado)

ip-enviar call

ah = 33H al = opción a banderas

O = normal 128 = asyncrono

bx = manejador

cx = longitud bp = ttl & tos (ttl = low byte, tos = hi byte)

O = default ttl & tos

es:di = apuntador a buffer

si = id return

ax dl = c6digo de error

= no. de bytes transferidos

error en manejador

c

DRV tcp/ip

ip-estado call

ah ai

return ax

di

es:di

cx

= 34H = opción de banderas O = normal 128 = asyncrono

= numero de paquetes disponibles = tamaño de siguiente paquete (O si ninguno) = cddigo de error error en manejador = apuntador a la informacidn de sesidn ip-fuente dword ipdest dword ip-prot byte activo byte i> O es activo)

cddigos de error

no-error = o;

err-critico = 2; err-fracaso-llamada = 1 ;

err-no-manejador = 3; errfracaso-manejador = 4; err-tiempo-fuera = 5; err-fracaso-sesi6n = 6;

LIBRERIAS - TCP /IP

LIBRERIAS- Graficos 3D/2D

LIBRERIAS-SONIDO( Sound card)

Reporte de proyecto de Ingeniería Electrónica.

Alumno: Bra= 8ornánd.r Alborto. Matrícula: 90321429

Asesor: Alejandro iCirtínoz üourilor. Profesor investigador,

Firma del asesor:

Coordinador de la Licenciatura en Electrónica. Alejandra Martínor aomrilor.

Firma del coordinador:

México D.F., 31 de Julio de 1996.