UNIVERSIDAD AUTONOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10473.pdf · Toda clase de...

46
UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPA Casa abierta al tiempo TRANSMISIÓN Y ALMACENAMIENTO DE VOZ POR MEDIO DE MODULACIÓN POR IMPULSOS CODIFICADOS (PCM)

Transcript of UNIVERSIDAD AUTONOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10473.pdf · Toda clase de...

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo

TRANSMISIÓN Y ALMACENAMIENTO DE VOZ POR MEDIO DEMODULACIÓN POR IMPULSOS CODIFICADOS (PCM)

2

UNIVERSIDAD AUTONOMA METROPOLITANAUNIDAD IZTAPALAPA

DIVISIÓN DE CIENCIAS BASICAS E INGENIERIA

INFORME DE PROYECTO TERMINAL:

TRANSMISIÓN Y ALMACENAMIENTO DE VOZ POR MEDIODE MODULACIÓN POR IMPULSOS CODIFICADOS (PCM)

PRESENTAN:

RAMÍREZ RODRÍGUEZ EDGAR EDUARDO MATRICULA : 89330463VELÁZQUEZ MORENO MANUEL MATRICULA : 90224630

LICENCIATURA : INGENIERIA ELECTRÓNICA

ASESOR DEL PROYECTO :

_________________________________ING. DONACIANO JIMÉNEZ VAZQUEZ

3

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo CONTENIDO

PAGINA

I. INTRODUCCIÓN........................................................................... 4

II. CARACTERÍSTICAS DE UN SISTEMA DE TRANSMISIÓNDIGITAL ........................................................................................ 5

III. TRANSMISIÓN DIGITAL-ANALOGICA........................................ 6

IV. TENDENCIAS DE LAS COMUNICACIONES ............................... 8

V. CONCEPTOS BÁSICOS DE LAS COMUNICACIONES .............. 9

VI. TIPOS DE MODULACIÓN APLICADOS A LASCOMUNICACIONES ..................................................................... 12

VII. MODULACIÓN POR PULSOS CODIFICADOS ............................ 14

VIII INTERFAZ DE COMUNICACIÓN .................................................. 17

IX. HARDWARE UTILIZADO .............................................................. 22

X. CONCLUSIONES .......................................................................... 27

XI. ANEXO 1 (HOJAS DE DATOS TÉCNICOS) ................................. 28

XII. ANEXO II (SOFTWARE) ............................................................... 35

XIII. BIBLIOGRAFÍA ............................................................................. 46

4

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo I. INTRODUCCION

Debido a la importancia del procesamiento digital de señales y, a la granherramienta que presentan actualmente las computadoras, hemos decididodiseñar un sistema de captura de voz por transmisión serial PCM.

Con mucha frecuencia en la moderna tecnología de las comunicaciones, lasseñales analógicas muestreadas se digitalizan antes de ser transmitidas. Lasseñales digitales resultantes pueden entonces ser codificadas en cualquier formaequivalente deseada.

La transmisión digital es la transmisión de pulsos digitales entre dos puntos, en unsistema de comunicación. La información de la fuente original puede estar ya seaen forma digital o en señales analógicas que deben convertirse a pulsos digitales,antes de su transmisión y convertidas nuevamente a su forma analógica en el ladoreceptor. Con los sistemas de transmisión digital, se requieren una facilidad físicatal como un par de alambres metálicos, un cable coaxial o un vinculo de fibra deóptica para interconectar a los dos puntos en el sistema. Los pulsos estáncontenidos dentro de el y se propagan por la facilidad de transmisión.

Los sistemas que implican la transmisión de señales digitalizadas y codificadas sedenominan comúnmente sistemas de modulación por codificación de pulsos(PCM). Los sistemas digitales binarios constituyen la clase más común desistemas PCM que se encuentran. Hay muchas ventajas en la utilización de lossistemas de este tipo:

1. Las señales pueden regenerarse o rearreglarse periódicamente durante latransmisión, puesto que la información ya no se encuentra contenida en laamplitud continuamente variable de los pulsos, sino que consiste ensímbolos discretos.

2. Toda clase de circuitos digitales puede emplearse durante la totalidad delprocesamiento.

3. Las señales pueden ser procesadas digitalmente según convenga.

4. El ruido y la interferencia pueden ser apropiadamente minimizadasmediante códigos, para generar redundancias y así poder corregir errores.

5

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo II. CARACTERÍSTICAS DE UN SISTEMA DE_________________ _ TRANSMISIÓN DIGITAL

La transmisión digital cobra cada día mayor importancia, en virtud del crecientedesarrollo de servicios de comunicación; como la transmisión de datos entrecomputadoras, la transmisión de textos, el facsímil, la teleconferencia, ademásde los servicios tradicionales como la telefonía, la radiodifusión, y la televisiónque tienden a digitalizarse totalmente en el mediano plazo.

Las principales características de un sistema de transmisión digital son:

1) Velocidad de Transmisión.2) Ancho de Banda necesario3) Relación de Señal a Ruido (SNR)4) Probabilidad de Error.

Estos cuatro conceptos están íntimamente ligados en la formula de Shannon--Hartley referente a la capacidad del canal. Es decir, la máxima rapidez con la quepodemos transmitir información a través de un canal con ancho de banda yrelación a ruido especificadas, con una probabilidad de error tan pequeña como serequiere, tiene un limite determinado por la capacidad del canal.

En una transmisión digital se comete un error si en lugar de detectar un símbolotransmitido se de detecta otro de los posibles símbolos del código de señalesempleado por el sistema. La posibilidad de error es de hecho la característica quedefine la calidad del sistema de comunicación, entre mas baja sea la probabilidadde error, a una velocidad de transmisión dada, mejor es el sistema. De tal maneraque uno de los objetivos de diseño más importante de los transmisores y de losreceptores desde el punto de vista técnico, es minimizar la probabilidad de error.

Como ya se menciono, la velocidad de transmisión depende fundamentalmentedel ancho de banda del canal y de la relación de señal a ruido que se puedaatender. Desde luego, entre mayor es la velocidad de transmisión, mayor cantidadde información se puede transmitir en un momento dado, o inversamente, entremayor cantidad de información se requiera transmitir, tendrá que disponerse demayor ancho de banda.

Así por ejemplo, para transmitir imágenes en movimiento se requiere muchomayor ancho de banda que para transmitir imágenes fijas o sonidos; y a su vezeste tipo de señales de información requieren mayor ancho de banda que latransmisión de textos o de datos numéricos.

6

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo III. TRANSMISIÓN DIGITAL-ANALOGICA

Diferencia entre sistemas analógicos y digitales

Los sistemas analógicos digitales se diferencian principalmente en lo siguiente:

1) Los sistemas analógicos deben reproducir la señal original lo masexactamente posible.

2) Los sistemas digitales tienen que reproducir la información original lo masexactamente posible.

Ventajas y desventajas de la transmisión digital

Las siguientes son las ventajas más importantes que tienen en la actualidad lossistemas digitales sobre los sistemas analógicos:

1) Inmunidad al ruido. Las señales analógicas son más susceptiblesque los pulsos digitales a la amplitud no deseada, frecuencia yvariaciones de fase. Esto se debe a que con la transmisión digital, nose necesita evaluar estos parámetros, con tanta precisión, como enla transmisión analógica. A cambio, los pulsos recibidos se evalúandurante un intervalo de muestreo y se hace una sola determinaciónsi el pulso esta arriba o debajo de un umbral especifico.

2) Se prefieren los pulsos digitales por su mejor procesamiento ymulticanalización que las señales analógicas. Los pulsos digitalespueden guardarse fácilmente. Además, la razón de transmisión deun sistema digital puede cambiarse fácilmente para adaptarse adiferentes ambientes e interfacear con diferentes tipos de equipos.

3) Los sistemas digitales utilizan la regeneración de señales, por lotanto producen un sistema más resistente al ruido que su contraparteanalógica.

4) Las señales digitales son más sencillas de medir y evaluar. Por lotanto, es más fácil comparar el rendimiento de los sistemas digitalescon diferentes capacidades de señalización e información, que conlos sistemas analógicos comparables.

7

5) Los sistemas digitales están mejor equipados para evaluar unrendimiento de error(detección y corrección de errores), que lossistemas analógicos.

Desventajas de la transmisor digital:

1) La transmisión de las señales analógicas codificadas de maneradigital requieren más ancho de banda para transmitir que la señalanalógica.

2) Las señales analógicas deben convertirse en códigos digitales, antesde su transmisión y convertirse nuevamente a analógicas en elreceptor.

3) La transmisión digital requiere de sincronización precisa, de tiempo,entre los relojes receptor y transmisor.

4) Los sistemas de transmisor digital son incompatibles con lasfacilidades analógicas existentes

Debido a que las ventajas son más rentables que las desventajas latransmisión digital tiende a imponerse totalmente sobre la transmisión analógica,en un plazo que parece muy cercano.

8

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo IV TENDENCIAS DE LAS COMUNICACIONES

Las telecomunicaciones han pasado a ser un instrumento esencial de la sociedadmoderna junto con la utilización de las computadoras, los servicios detelecomunicación han transformado el modo de vivir de la gente del siglo XX.Ahora, una empresa que no cuenta con una sólida infraestructura detelecomunicaciones para manejar sus sistemas de información, coordinar a susejecutivos, intercambiar datos financieros y técnicos, etc., es una empresa queesta destinada al fracaso, en virtud de que sus competidores, contando conmejores herramientas de trabajo, sin duda lograran muchos mejores resultados acorto y largo plazo, en cuestión economiza y administrativa.

En la actualidad se encuentra en expansión espectacular cl mercado de redesde transmisión de tatos entre computadoras, tendiendo marcadamente hacia loque se conoce como sistemas abiertos ( con alta conectividad ) y sistemasmultimedia.

La red telefónica ahora digitalizada totalmente, creció rápidamente a lo que seha llamado la RDI (Red Digital Integrada); a la par se diversifica abarcando de unamanera generalizada los servicios de telefonía móvil por medio de los sistemascelulares y a lo que es la RDSI ( Red Digital de Servicios Integrados ), o sea la redgeneral de telecomunicaciones del futuro. De la misma manera sus tecnologíasevolucionan hacia la banda ancha, con la introducción de sistemas de transmisióny conmutación ópticos, como son las fibras ópticas.

La radiodifusión se encuentra también en una acelerado proceso dedigitalización. La radiodifusión digital muy pronto desplazara los esquemasantiguos de la radio -difusión AM , FM y de onda corta. La televisión avanza hacíalos esquemas dc mayor calidad , en lo que se ha dado por llamar Televisión deAlta Resolución (HDTV), a la par que tiende a digitalizarse de manera total.Ambas, la radiodifusión y la televisión amplían su cobertura con el uso de lasredes de satélites de radiodifusión directa, como se ve el panorama es totalmentedigital.

9

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo V. CONCEPTOS BÁSICOS DE LAS_ COMUNICACIONES DIGITALES

Medida de la Información

La Teoría de la Información (TI) estudia el problema de llevar información de unlugar a otro esto comprende el problema de comunicación de la información y delos medios para poder realizar dicha comunicación. La información se comunicapor medio de un conjunto de símbolos, los cuales deben obedecer a ciertas reglas,tienen la capacidad de transmitir cierta cantidad de información. El conjunto desímbolos constituye un lenguaje común que facilita el intercambio de información.

Uno de estos conjuntos de símbolos es el código binario que ha representado unelemento fundamental para el avance de la tecnología moderna, tanto en loreferente a la computación como a las comunicaciones.

Este código ha dado lugar al establecimiento de la medida de la cantidad deinformación ya que esta se comunica por medio de símbolos binarios (bits). Lacantidad de información se mide así en bits y esta relacionada con laincertidumbre o certeza de que la información que se recibe es la que en realidadse quiso comunicar.

Por definición:

I( E) = log 2 [1/P(E)]

Donde

l( E) es la cantidad de información y se mide en bits

Capacidad del Canal

La capacidad del canal es la máxima tasa de información a que se puedetransmitir a través del canal con un alfabeto de señales dado. La capacidad decanal, en un canal con ruido gaussiano, a través del cual se transmite informacióncon señales analógicas limitadas en banda es, de acuerdo con cl teorema deShannon Hartley

C=W log 2 (l +S/N)

10

Donde

C es la capacidad del canal en bits / segundoW es el ancho de banda en hertzS/N es la razón de señal a ruido cuadratura media.

Debe recalcarse que la capacidad de canal depende del ancho de banda y de larelación señal a ruido en el canal, donde es posible aumentar la capacidad delcanal, a pesar que depende de los factores físicos del medio donde se va atransmitir, si se logra mejorar la señal a ruido o mejorar la transmisión con unmejor rendimiento en el ancho de banda de la señal portadora.

Señalización digital

En la transmisión digital se usan diferentes códigos de señales, de acuerdo altipo de aplicación del sistema. Dos grandes tipos de señalización que se utilizanen la actualidad son los códigos de señales de banda base, también referidoscomo códigos de línea y los códigos de señales moduladas.

Las señales en banda base se utilizaron y se siguen utilizando en diversos tiposde sistemas, desde los viejos sistemas telex que aun coexisten con los modernossistemas de telecomunicaciones, hasta los sistemas PCM en sus diversasjerarquías y los sistemas de red local de computadoras. Han surgido un grannumero de códigos de transmisión en banda base, algunos de los más popularesson:

- Código bipolar utilizado en transmisión de datos a baja velocidad, según lasnormas RS -232 y RS 422 de la EIA.

- Código AMI utilizado en los sistemas PCM de nivel primario recomendadospor UIT-T antes CCITT .

- Código manchester utilizado en redes locales, etc.

Las señales moduladas se han utilizado intensivamente en el diseño de losmódems de transmisión de datos empleados en las redes de teleinformáticasoportadas con la infraestructura de la red telefónica; se utilizan también en lossistemas de microondas digitales, incluyendo los sistemas de satélites. Un tipoparticular de señales moduladas que son las señales de espectro disperso hanempezado a utilizarse tanto en redes de transmisión de datos, como en sistemasde radiocomunicación.

Es particularmente importante tratar los conjuntos de señales o códigos comoelementos de un espacio de señales que reúne todos los requisitos de un espaciovectorial. El diseño de los receptores de comunicación esta basado en estaconceptualización fundamental; cuando se recibe una señal determinada delconjunto de posibles señales de transmisión, la cual viene alterada por el ruido y

11

demás problemas de transmisión inherentes al canal, el receptor decide que setrata de una señal cuya distancia en el espacio de señales a la señal recibida esmenor.

Se comete error cuando por efecto del ruido y demás degradaciones en el canal,el receptor obtiene una señal que esta más cercana en el espacio a aquella que setransmitió.

Transmisión en banda base

Se transmiten dos tipos de señales en forma digital: la información que esinherentemente digital, como los caracteres y los datos numéricos manejados portina computadora digital y las señales analógicas digitalizadas.

El proceso de digitalización de una señal analógica consiste en muestrearla yrepresentar la información que define a dicha señal analógica por medio de uncódigo, a partir del cual posteriormente podrá recuperarse la señal original. Estecódigo es el que se transmite a través del sistema.

12

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo VI. TIPOS DE MODULACIÓN APLICADOS_ A LAS COMUNICACIONES

Modulación analógica de pulsos

En la modulación analógica de pulsos en lugar de modular una portadorasenoidal se modula un tren de pulsos; se obtienen muestras de la señal analógicaoriginal f(t) siguiendo las especificaciones del teorema del Muestreo, y a partir deellas se obtienen pulsos que serán los que habrán de transmitirse. Una de lascaracterísticas de los pulsos varia en forma análoga a la amplitud de la señal deinformación, digamos la amplitud, el ancho o la fase. La característica que variada el nombre al tipo de modulación. Los cuatro métodos más comunes, de lamodulación de pulsos se resumen a continuación y se muestra en la figura 1.

Modulación PAM

Supongamos que la señal de información es s(t), en la modulación de amplitudde pulsos modulación PAM, se hace variar la amplitud de pulsos transmitidos enforma proporcional a la magnitud de la muestra de la señal de información.

Modulación PWM

En la modulación de ancho de pulsos o modulación PWM, el ancho del pulsoque se produce, es proporcional a la magnitud de muestra s(t).

Modulación PPM

En la modulación de posición de pulsos o modulación PPM, la posición de lospulsos transmitidos. Es proporcional a la magnitud de la muestra s(t).

Modulación PCM

La señal analógica se prueba y se convierte en una longitud fija, numero binarioserial para transmisión. El numero binario varia de acuerdo a la amplitud de laseñal analógica

Notas:

a) En los sistemas PWM y PPM se requiere evitar el traslape entre los pulsos, yaque esta puede ser una fuente de degradación de la información.

13

b) La desmodulación de señales PWM y PPM consiste en la regeneración de losvalores muestreados y el filtro pasabajos. La desmodulación PAM se puedehacer únicamente con el filtraje pasabajos.

c) Los sistemas de modulación analógica de pulsos intentaron ser utilizados ensistemas de transmisión; sin embargo, su uso fue muy restringido. Actualmentese usa mayormente la modulación PAM, únicamente como parte del proceso demuestreo de la señal analógica de entrada.

Figura 1. Modulación de pulsos

(a) señal analógica (b) pulso de muestreo (c) PWM (d) PPM (e) PAM (f) PCM

14

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo VII. MODULACIÓN POR PULSOS CODIFICADOS (PCM)

La modulación por pulsos codificados o modulación PCM se utiliza paratransmitir digitalmente señales analógicas de banda limitada. En especial, se hageneralizado su uso en la transmisión de la voz en las redes telefónicas. Sedistingue profundamente de otras técnicas de modulación de pulsos. Susprincipales características son las siguientes:

a) Para cada muestra se transmite una palabra de código que representa elvalor de la muestra.

b) En la modulación PCM se cuantizan las muestras, lo cual significa que solose puede transmitir un numero finito de valores diferentes.

c) Las propiedades del sistema PCM permiten la regeneración de la señal endiversas ocasiones, sin perdida de calidad.

Generador PCM

Un generador PCM consta de tres partes principales que son: el muestreo elcuantizador y el codificador.

El muestreo obtiene las muestras de la señal analógica. Como ya se hizoreferencia, el muestreador típico hace un muestreo instantáneo, por medio de uncircuito de muestreo y retención como se observa en la figura 2.

Figura 2. Circuito de muestreo y retención

15

El cuantizador convierte la muestra analógica en un dato numérico queposteriormente podrá ser codificado de acuerdo a los requerimientos.

El decodificador transforma cada muestra cuantizada en una palabra de códigode r pulsos de longitud, donde cada pulso tiene u valores posibles. En general seusa transmisión binaria con u- 2 valores posibles.

En un sistema con S niveles de cuantización y un código binario con r pulsos deu niveles, podemos codificar ur diferentes valores. Entonces, si q es el numero deniveles de cuantización tenemos que:

q < ur

Ahora bien, si tenemos q niveles de cuantización, necesitamos al menos

r > logu q

pulsos para una palabra de código.

Una vez generada la palabra de código PCM, debe procesarse para transmitirsea través de un canal.

El código de línea que se use en la transmisión depende de las característicasdel medio de transmisión y de algunas limitaciones y necesidades del sistema;como puede ser la necesidad de enviar alimentación de potencia a los repetidoresdel sistema, a través del mismo medio de transmisión, las necesidades derecuperar la señal de reloj a partir del torrente de pulsos de información, etc. Engeneral, el ancho de banda que se necesita para la señal de PCM es mucho másgrande que el ancho de banda de la señal de entrada x(t), debido a la codificaciónde los pulsos

Algunos modos de transmitir la señal de PCM son las siguientes:

1) Pulsos de banda base ( Códigos de línea AMI, HDB3, 4B3T, QAM, ETC.)2) Modulación ASK (Amplitude Shift Keying)3) Modulación PSK (Phase Shift Keying)4) Modulación FSK (Frecuency Shift keying)

Cada una de estas técnicas de modulación se caracterizan por la probabilidadde error dependiente de la SNR( razón de señal a ruido) y del ancho de banda.

16

Receptor de PCM

El ruido aditivo puede alterar los valores de las palabras de código transmitidas(errores de decisión), por ejemplo: en lugar de 100 se detecta 101. Esto causa quealgunas muestras a la salida del decodificador no tengan sus valores correctos.Normalmente se tiene una SNR tan grande que son poco probables y puedendespreciar estos errores de decisión.

Ruido de cuantización

La cuantización de las muestras es causa de ruido ( de cuantización ), debido aque ya no podemos recobrar los valores exactos de las muestras. Sea:

Xq(t) = X(t) + E(t)

Donde:

X(t) es la señal de información,E(t) representa el error de cuantizacíon yXq(t) la salida del cuantizador.

Por lo que se puede hacer decrecer el ruido de cuantización aumentando elnumero de niveles, pero esto a su vez implica un incremento en el numero de bitsnecesarios para representar las palabras dc código y por ende un incremento en elancho de banda necesario.

Para señales de voz es preferible utilizar cuantización no lineal ya que con estoes posible obtener una mejor relación SNR que con cuantización lineal. Esto esporque la distribución estadística de las amplitudes de la voz es tal que lasamplitudes grandes son muy poco probables y desde luego , las amplitudespequeñas son mas probables.

En la tabla 1 se muestra una comparación entre los diferentes métodos decodificación de voz, por su rapidez de muestreo y velocidad de transmisión.

Método decodificación

Rapidez deMuestreo

(KHz)

Bits por muestra Velocidad detransmisión

DMPCMADM

DPCMADPCM

LCP

64-1288

48-6488

0,04-0,1

17-81

4-63-480

64-12856-6448-6432-4824-32

3-8

Tabla 1 . Comparación de métodos de codificación de voz

17

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo VIII. INTERFAZ DE COMUNICACION

El adaptador de Comunicaciones RS - 232C

Este adaptador se basa en el National Semiconductor INS 8250 AsyncrhronousCommunications Element (ACE ) que es el circuito integrado que se utiliza pararealizar comunicaciones. El ACE es una forma de transmisor- receptor AsíncronoUniversal (Universal Asynchronous Receiver-Transmiter). La nomenclaturagenérica para este dispositivo es UART.

La interfaz RS 232C

En los primeros días de las comunicaciones de datos solo la AmericanTelephone and Telegraph Company, tenia los medios primarios para suministrarel servicio de comunicaciones de datos. En consecuencia AT&T definió en granmedida los módems e interfaces para efectuar dichas comunicaciones. Muchosfabricantes necesitaban información acerca de estas interfaces, por lo tanto laElectrical Industry Association (EIA) desarrollo una interfaz normalizada entreterminales Data Terminal Equipment (DTE) y comunicadores Data CommunicationEquipment (DCE) que se baso en la transmisión en serie de información. Estainterfaz normalizada es la interfaz RS-232C y constituye el patrón que utiliza laIBM en su adaptador de comunicaciones Asíncronas (AsynchronousCommunications Adapter). El RS -232C normalizado incluye una característicaeléctrica y una señal de identificación. En muchos casos se define una interfazcomo la que utiliza un subconjunto de especificaciones completas del RS-232C,pero esta interfaz se conoce RS- 232C compatible.

Hay que tener cuidado cuando se establece una interfaz con equipo periférico yaque se debe verificar que es compatible con la interfaz RS 232C según el diseñode la IBM.

La tabla 2 ilustra la interface normalizada RS-232C diseñada por IBM. Lasterminales que se indican son las que se encuentran normalmente en el conectorDB-25, la cual tiene 25 terminales.

18

__________________________________________________________________ Terminal Nombre de Señal Comentario__________________________________________________________________

1 tierra - chasis Unidades conectadas a tierra 2 Datos transmitidos (TD) Salida de datos de la interfaz 3 Datos recibidos (RD) Entrada de datos de la interfaz 4 Petición para enviar (RTS) Define condición de dato, lista para envío 5 Limpia para enviar (CTS) Señal de entrada que permite transmisión 6 Datos colocados listos (DSR) Entrada que notifica estado disponible 7 Señal de tierra Señal común de tierra única 8 Detector de portadora (CD) Indica presencia de datos 20 Terminal de datos lista(DTR) Señal de salida, indica disponible para transmitir 21 Indicador de alerta (Rl) Se lleva a cabo debido al timbre de

teléfono

Tabla 2 selección e identificación de señal de la terminal RS-232C normalizado

Si hay que conectar dos interfaces RS 232C , la técnica habitual es construir uncable que realice la configuración de módem nulo. Esta configuración cruza lasterminales 2 y 3 , 4 y 5, 6 y 20, de modo que la línea de transmisión de uno ,es laentrada a la línea de recepción del otro. En general la terminal 8 se utiliza paraencender un led que indica la presencia de comunicación cuando se utilizanmódems para la interfaz. Las terminales 7 y 1 son acopladas de manera directa através de 7 y 1 respectivamente.

Se puede pensar que la interfaz normalizada RS-232C existe a dos niveles: a unnivel de unidad ,de interfaz en general tiene cableado independiente. En la interfazmódem la señal TD se convierte a datos tonales y se transmite como una señal dedivisión de frecuencia (FD) con un O ó un 1 que corresponden a uno de los dostonos alternativos.

EL ACE 8251A

La figura 3 ilustra la descripción de las terminales y los identificadores de señaldel ACE 8251A. Este UART convierte los datos paralelos que llegan del sistemadel microprocesador a datos en serie ( por medio de un contador de reloj- registrode corrimiento ) para salidas hacia un circuito de comunicación de datos. Demanera similar, convierte los datos en serie que llegan de otra terminal de datosen paralelo que salen hacia el sistema microprocesador. El 8251A es totalmenteprogramable y tiene 10 registros internos para establecer el protocolo decomunicaciones.

19

Figura 3. Terminales del ACE 8251A

Las terminales DO a D7 contienen las señales de entrada- salida que seencargaran o serán leídas en cada registro interno. La terminal 20 es la frecuenciade reloj para baud rate del receptor multiplicada por 16. En el 8251A hay cuatroterminales destinadas al control del módem: DSR (Inicialización de datos lista),DTR(terminal de datos lista), CST (libre para transmitir ) y RTS ( solicitud paratransmitir). El programador del 8251A selecciona el numero de bits de datos,numero bis de paro, tipo de paridad y velocidad de transmisión.

Programación del 8251A

La programación del 8251A es sencilla al compararla con las otras interfaces.La programación es un trabajo en dos partes que incluye dialogo de inicialización yun dialogo de funcionamiento.

El dialogo de inicialización que ocurre después de una reinicialización porcircuito de programa, consta de dos partes: reainicializacion y modo. Debido a queun aparente error en el diseño no se reinicia en forma correcta con la terminal deentrada para este propósito (RESET). En vez de ello, se debe reinicializar con unaserie de instrucciones que se envían al registro de comando tres OOH seguidospor un 40H (el comando de reinicialización por programa).

20

Una vez reinicializado se puede programar con la palabra de modo, que lo hacefuncionar en forma asíncrona o sincrona. En la figura 4 se muestran las palabrascomando para los modos sincrono y asíncrono. Ambas palabras especifican elnumero de bits de datos o de paridad. En el modo asíncrono , se programa elnumero de bits de paro y el divisor del reloj y en el modo sincrono se programa elnumero de caracteres de sincronización y la función de la terminal SY.

La terminal SY se programa como entrada, la cual indica sincronización comosalida, que indica que hubo recepción de los caracteres de sincronización.

En el modo asíncrono, se programa la instrucción del modo y con ello termina laprogramación de inicialización . El modo sincrono ,se programa uno de los doscaracteres de sincronización después del comando de modo para concluir laprogramación de inicialización.

Una vez programado el modo de funcionamiento asíncrono y después deprogramar el modo y los caracteres de sincronización en el modo sincronotodavía hay que programar el registro de comandos. Las palabras de comandoafectan solamente algunos de los comandos para el 8251 A, la cual habilita altransmisor y al receptor, controla a DTR y RTS, envía un carácter de ruptura en elmodo asíncrono, reinicializa errores, reinicializa al 8251 A y entra al modo deexploración para funcionamiento sincrono.

Antes que sea posible escribir el programa para enviar o recibir datos serialescon el 8251A, necesitamos conocer la función del estado. El registro contieneinformación acerca de condiciones de error y los estados de DSR, SY/DB,TxEMPY, RXDRY Y TxRDY.

Para poder leer información recibida por el 8251 A, se prueba el bit RxRDY delregistro de estado. Los tipos de errores detectados por el 825A son errores deparidad ,error de encuadre y error de rebase.

21

a) modo asíncrono

b) modo sincrono

Figura 4. Palabras comando para los modos sincrono y asíncrono

22

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo IX. HARDWARE UTILIZADO

El circuito convertidor de datos serie- paralelo de información de voz

El circuito consta de los siguientes bloques:1. Un contador binario de 0 - 112. Un registro universal con un buffer de tercer estado3. Un convertidor D/A con un filtro y amplificador

La operación de estos bloques es la siguiente: El contador es alimentado por una frecuencia de 10 KHz, misma frecuencia queutiliza los registros, al recibir los datos de la PC, estos son enviados al registro concorrimiento a la derecha en el momento en que el contador llega a 8 (1000 enbinario) una circuiteria externa activa al buffer de tercer estado, coloca al registroen modo latch enviando los datos al convertidor D/A ,este al amplificador.

Esto se hace debido a que en el protocolo de comunicación serial a través delaPC, por cada carácter enviado, se adicionan los bits de control (paro, paridad,inicio), estos bits si son enviados al convertidor provocan una mala conversión,esto influye en la mala reconstrucción de la voz.

El contador sigue su marcha, los demás bits son enviados del primer paquete, elbuffer se coloca en tercer estado, lo que no permite su paso al convertidor D/A.Este ciclo se repite hasta que se termine de leer el archivo. Esto se ejemplifica enla Tabla 3

Tiempo Datos a enviar por el Datos enviados y puerto RS232 Cargados por registros_______________________________________________________________________________ S P D0 D1 D2 D3 D4 D5 D6 D7 I 0 S P D0 D1D2 D3 D4 D5 D6 D7 I 1 S P D0 D1 D2 D3 D4 D5 D6 D7 I 2 S P D0 D1 D2 D3 D4 D5 D6 D7 I 3 S P D0 D1 D2 D3 D4 D5 D6 D7 I 4 S P D0 D1 D2 D3 D4 D5 D6 D7 I 5 S P D0 D1 D2 D3 D4 D5 D6 D7 I 6 S P D0 DI D2 D3 D4 D5 D6 D7 I 7 S P D0 D1 D2 D3 D4 D5 D6 D7 I 8 S P D0 D1 D2 D3 D4 D5 D0 D7 I *** 9 S P D0 D1 D2 D3 D4 D5 D6 D7 I 10 S P D0 D1 D2 D3 D4 D5 D6 D7 I 11 SE REPITE EL CICLO

Tabla 3. Bits enviados al D/A

23

*** Es en este tiempo que entra en funcionamiento el convertidor D/A y convierteel dato en voz, sin tomar en cuenta el dato 1 para la conversión.

S = STOPP= PARIDADI= INICIO

Funcionamiento del circuito convertidor de paralelo serie

Se dividió el circuito en los siguientes bloques:

1. Conversión de la señal analógica a digital (A/D)2. Contador binario de 0- 113. Almacenamiento de datos provisionalmente en registro de corrimiento

El primer bloque es el convertidor A/D de 8 bits que convierte la señal de voz deun valor entre 0000 0000 a 1111 1111 (OOH a FFH en hexadecimal), los rangosestimados para la voz va a ser de 0 a 5 volts de amplitud con lo que un solo bit varepresentar 5/256 = 19.53 mili- volts a la señal de voz en un ancho de bandaentre 0-4 KHz con una velocidad de muestreo de 8 KHz.

En el proyecto se utilizo el convertidor A/D con nomenclatura ADC0804 cuyascaracterísticas son compatibles con una amplia gama de microprocesadores,como el 8086 ; es de 8 bits y requiere hasta 100 microsegundos para convertiruna entrada analógica de voltaje a una salida en código digital.

En la figura 5 se muestran las conexiones de terminales del convertidorADC0804 (Ver ANEXO 1 para obtener las especificaciones y diagrama). Para quefuncione, se pulsa la terminal WR con CS conectada a tierra para iniciar elfuncionamiento del convertidor. Debido a que este convertidor requiere unacantidad considerable de tiempo para la conversión, una terminal etiquetada INTRseñala el fin de la conversión.

La señal analógica de entrada para antes de poder conectar al ADC0804 con elmicroprocesador, se deben entender sus entradas analógicas. Hay dos entradasanalógicas a este convertidor , VIN (+) y VIN (-); estas entradas están conectadascon un amplificador operacional y son entradas diferentes, están se suman en elamplificador operacional para producir una señal para el convertidor analógicodigital interno. La generación de la señal de reloj que requiere este convertidor,puede ser de la siguiente manera; externa conectando con la terminal CLK IN o sepuede generar con un circuito de RC; el intervalo permisible para las frecuenciasde reloj es entre 100 KHz y 1460 KHz, es deseable utilizar un valor cercano a1460 KHz para que el tiempo de conversión sea minimo.

24

Figura 5. El ADC0804

Si el reloj se genera con un circuito RC, se utiliza las terminales CLK IN y CLK Rconectadas con un circuito RC, la frecuencia de reloj se calcula con las siguientesecuación:

f = 1/1.1RC

El segundo y tercer bloque operan de la siguiente manera:

El contador es aumentado con una frecuencia de 8 KHz (misma que la utilizadapara el muestreo y, al efectuar el conteo de 0000, se efectúa una carga enparalelo en los registros de corrimiento con los datos provenientes del convertidorA/D y los tres bits adicionales que se le agregan que son:

1. bit de inicio2. bit de paridad3. bit de paro

Estos bits son agregados para formar el protocolo paro - espera, que utiliza lacomunicación serial de la PC Una vez efectuado esto el contador continua y los datos son enviados en formaserial al puerto serial de la PC con cada pulso de reloj.

25

La forma de enviar los datos son:

Descripción del programa de Comunicación

El programa que se realiza para este proyecto consta de tres problemas inicialeslos cuales son:

- Inicialización del puerto de comunicación serial de la PC- Recibir información- Transmitir información

La solución al primer problema se muestra en el siguiente diagrama de flujo

Cada uno de estos procedimientos se efectúan para lograr la inicialización.

26

El primer procedimiento lo que hace es pedir al usuario las características parala comunicación que son los valores de BPS, Bits de datos, Bits de parada yparidad El valor de BPS indica la velocidad de transmisión entre 1200 a 9800 bps.

Bits de datos da la opción de enviar 7 o 8 bits de información ,es preferibleutilizar la opción de 8 bits.

Con el bit de paridad la opción que sea de un bit o de dos útil para sincronizar elenvío de información. El bit de paridad indica que tipo se va usar paridad par,impar o ninguna Con estos valores se configura al 8251 interno que esta en la PC, colocando estos valores en los registros internos para la inicialización y posteriorutilizacion.

Una vez inicializado el usuario es el que decide en que momento se inicia lacomunicación.

El segundo y tercer problema que son la transmisión y la recepción de datos,tienen procedimientos comunes que se UBICAN en el siguiente diagrama abloques.

27

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo X. CONCLUSIONES

Al centrarse en la finalidad de este proyecto, este enriqueció nuestrosconocimientos mediante el estudio y la implementación física del trabajo paratransmitir señales analógicas mediante su conversión a digital y la recuperación dela señal analógica original mediante el proceso inverso.

Este proyecto tuvo la finalidad de observar a través de la implementación física,la utilización de la forma de envío de información digital, utilizando la técnica demodulación por pulsos codificados (PCM), en su forma lineal.

Observando sus ventajas y desventajas de utilización para fines prácticos.Podemos mencionar como sus ventajas, la facilidad para su implementación tantoen el modulador como en el demodulador, su costo es bajo y tiene una buenarelación de señal a ruido.

Una desventaja seria que utiliza un ancho de banda muy grande.

Se aprendió que para la transmisión de datos utilizando esta técnica es bastantesencillo y ahí radica su importancia de que sea una de las técnicas utilizadas en latelefonía comercial.

El almacenamiento de datos de voz es otro problema que resulto bastanteinteresante debido a que si se almacenan datos de voz, que previamente ya sehan convertido a datos digitales, en una manera lineal, la cantidad de informaciónque se puede almacenar en un disco flexible por medio de la computadora, resultaser muy poca. Por lo que es necesario encontrar otras técnicas para elalmacenamiento de voz, sin contar que el problema es mas complicado si se tratade almacenar video, como podrían ser las técnicas de redundancia o compresiónde datos.

En síntesis el proyecto ayudo a reafirmar los conceptos, y a adquirir nuevos, deconversión de señales analógicas a digitales y viceversa, así como tambiénaplicar la teoría aprendida sobre el teorema de muestreo, a aplicar losconocimientos sobre PCM y la transmisión de datos de forma serial; aplicando elprotocolo de par y espera.

28

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo XI. ANEXO 1

DATOS GENERALES Y ESQUEMAS ELÉCTRICOS DE CONVERTIDORESANOLOGICO /DIGITALES

Guía de convertidores anologico/digitales

29

Costos de convertidores analógicos digitales y referencias generales

30

31

Velocidades de transmisión de convertidores analógicos /digitales

32

Especificaciones Técnicas del ADC0804

33

34

35

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo XII. ANEXO 2 (SOFTWARE)

LISTADO DE PROGRAMA

UNIT INTERFACE;{************************************************************************º Nombre del archivo : INTERFACE.PAS ºº Descripcion :Programa para controlar la transmisor de paquetes de ºº datos ºº º***********************************************************************}

INTERFACE

USESDOS,OBJECTS;

CONST{ Asigna un numero a cada clase de paquete}

CL_NONE = 0; CL_ETHERNET = 1; CL_PRONET_10 = 2; CL_IEEE8025 = 3; CL_OMNINET = 4; CL_APPLETALK = 5; CL_SERIAL_LINE = 6; CL_STARLAN = 7; CL_ARCNET = 8; CL_AX25 = 9; CL_KISS = 10; CL_IEEE8023 = 11; CL_FDDI = 12; CL_INTERNET_X25 = 13; CL_LANSTAR = 14; CL_SLFP = 15; CL_NETROM = 16; NCLASS = 17;

{ tipos de interface }

TC500 = 1; PC2000 = 10; WD8003 = 14; PC8251 = 15; ANYTYPE = $ffff;

36

{ Asigna numero a la funcion }

DRIVER_INFO = 1; ACCESS_TYPE = 2; RELEASE_TYPE = 3; SEND_PKT = 4; TERMINATE = 5; GET_ADDRESS = 6; RESET_INTERFACE = 7; GET_PARAMETERS = 10; AS_SEND_PKT = 11; SET_RCV_MODE = 20; GET_RCV_MODE = 21; SET_MULTICAST_LIST = 22; GET_MULTICAST_LIST = 23; GET_STATISTICS = 24; SET_ADDRESS = 25;

{ códigos de error }

NO_ERROR = 0; BAD_HANDLE = 1; { numero invalido }NO_CLASS = 2; { Numero de clase de interface no encontrado }NO_TYPE = 3; { No se especifica el tipo de interface }NO_NUMBER = 4; { Numero de interface no encrontado }BAD_TYPE = 5; { tipo de paquete mal especificado }NO_MULTICAST = 6; { Iterface no soporta multicast }CANT_TERMINATE = 7; { este paquete no puede terminar }BAD_MODE = 8; { modo de recepcion invalida }NO_SPACE = 9; { falta de spacio }TYPE_INUSE = 10; { tipo en uso}BAD_COMMAND = 11; { fuera de rango}CANT_SEND = 12; { el paquete no puede ser enviado error de

hardware}CANT_SET = 13; { la direccion del paquete no se puede cambiar}BAD_ADDRESS = 14; { direccion con formato equivocado}CANT_RESET = 15; { no se puede resetear interface}CARRY_FLAG = 1; { portadora de bandera }

CONSTPkt_Sig : String[08] = 'PAQ DRVR';

ParamLen : Byte = 14;

TYPETPKTSTATUS = (NO_INTERFACE,INICIALIZADO,NOT_INICIALIZADO);

TACCESSTYPE = RECORDif_class : Byte; { Interface clase }if_type : Word; { Interface Tipo }if_number : Byte; { Interface numero}type_ : Pointer;

typelen : Word; { longitud de tipo_, poner a 0 si quiere recibir todos los paquetes}

receiver : Pointer; { recibir }END;

37

TPKTPARAMS = RECORDmajor_rev : Byte; { Mayor revision ID de paquete specs }minor_rev : Byte; { Menor revision ID de paquete specs }length : Byte; { Longitud de la estructura en bytes}addr_len : Byte; { Longitud de una direciion }mtu : Word; { MTU, incluyendo encabezados }multicast_aval: Word; { tamaño del buffer multicast }rcv_bufs : Word; { (# de retornos deMTU recibidos) - 1 }xmt_bufs : Word; { (# de sucesos xmits) - 1 }int_num : Word; { interrupcion # a enganchar para procesar

, 0 == none }END;

TDRVRINFO = RECORDVersion : Word;Class : Byte; { clase de controlador }Type_ : Word; { tipo de controlador }Number : Byte; { numero de controlador }pName : Pointer;

Functionality : Byte;END;

TSTATISTICS = RECORDpackets_in : LongInt;

packets_out : LongInt; bytes_in : LongInt; bytes_out : LongInt; errors_in : LongInt; errors_out : LongInt; packets_lost : LongInt;

END;

TINTERFACE = OBJECT(TOBJECT)private

pktInt : Integer; pktHandle : Integer; pktRecvHandler : Pointer; pktStatus : TPKTSTATUS; pktError : Byte; pktRegs : Registers;

pktAccessInfo : TACCESSTYPE;

PROCEDURE TestForPktDriver;

public CONSTRUCTOR Init(IntNo : Integer);

DESTRUCTOR Done; VIRTUAL;

PROCEDURE ScanForPktDriver;

FUNCTION GetStatus : TPKTSTATUS;FUNCTION GetError : Byte;FUNCTION GetHandle : Word;

PROCEDURE GetAccessType (VAR pktAccessType : TACCESSTYPE);PROCEDURE DriverInfo (VAR pktInfo : TDRVRINFO );

38

PROCEDURE AccessType (VAR pktAccessType : TACCESSTYPE);PROCEDURE ReleaseType;PROCEDURE TerminateDriver;

PROCEDURE GetAddress (Buffer : Pointer;BufLen : Word; VARBufCopied : Word); PROCEDURE ResetInterface; PROCEDURE GetParameters(VARpktParams : TPKTPARAMS);

PROCEDURE SendPkt (Buffer : Pointer;BufLen : Word );PROCEDURE As_SendPkt (Buffer : Pointer;BufLen :

Word;Upcall :Pointer );

PROCEDURE SetRCVmode (Mode : Word);FUNCTION GetRCVmode : Word;

PROCEDURE SetMulticastList(VAR mcList : Pointer; VAR mcLen :Word);

PROCEDURE GetMulticastList(VAR mcList : Pointer; VAR mcLen :Word);

PROCEDURE GetStatistics (VAR pktStatistics : TSTATISTICS);

PROCEDURE SetAddress (Address : Pointer; VAR AddrLen :Word);END;

IMPLEMENTATIONCONSTRUCTOR TINTERFACE.Init(IntNo : Integer);BEGIN Inherited Init;

pktInt := IntNo; pktStatus := NOT_INICIALIZADO; FillChar(pktAccessInfo,SizeOf(pktAccessInfo),#00);

TestForPktDriver;END;

DESTRUCTOR TINTERFACE.Done;BEGIN{ Release allocated handle }IF (pktStatus = INICIALIZADO) THEN

BEGINReleaseType;

END;

Inherited Done;END;

39

FUNCTION TINTERFACE.GetStatus : TPKTSTATUS;BEGINGetStatus := pktStatus;

END;

PROCEDURE TINTERFACE.GetAccessType(VAR pktAccessType : TACCESSTYPE);BEGINpktAccessType := pktAccessInfo;

END;

PROCEDURE TINTERFACE.TestForPktDriver;(* prueba si la interrupcion asignada es valida para el controlador delpaquete *)VAR tPointer : Pointer; Signature : String[08]; I : Integer;BEGINSignature := '';

GetIntVec(pktInt,tPointer);FOR I := 3 TO 10 DO

BEGINSignature := Signature + Chr(Mem[Seg(tPointer^):Ofs(tPointer^)+I]);

END;IF (POS(Pkt_Sig,Signature) = 0) THENpktStatus := NO_INTERFACE

ELSEpktStatus := INICIALIZADO;

END;

PROCEDURE TINTERFACE.ScanForPktDriver;(* examina interrupciones ($60-$7F) para el controlador de paquete *)(* Se detiene al encontrar un controlador valido *)VAR I : Integer;BEGINI := $60; { Lower range of possible interface interrupt }REPEATpktInt := I;

TestForPktDriver; Inc(I);UNTIL (I = $80) OR (pktStatus = INICIALIZADO);

END;

PROCEDURE TINTERFACE.DriverInfo(VAR pktInfo : TDRVRINFO);BEGIN WITH pktRegs DO BEGIN

AH := DRIVER_INFO; AL := $FF; BX := pktHandle; Intr(pktInt,pktRegs); { llama al controlador de paquete }

IF (pktRegs.Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0;

40

IF (pktError = NO_ERROR) THEN BEGIN

pktInfo.Version := BX; pktInfo.Class := CH; pktInfo.Type_ := DX; pktInfo.Number := CL; pktInfo.pName := Ptr(DS,SI); pktInfo.Functionality := AL;

END;END;

END;END;

PROCEDURE TINTERFACE.AccessType(VAR pktAccessType : TACCESSTYPE);(* Acceso al paquete. *)BEGIN WITH pktRegs DO BEGIN

AH := ACCESS_TYPE; AL := pktAccessType.if_class; BX := pktAccessType.if_type; CX := pktAccessType.typelen; DL := pktAccessType.if_number; DS := Seg(pktAccessType.type_^); SI := Ofs(pktAccessType.type_^); ES := Seg(pktAccessType.receiver^); DI := Ofs(pktAccessType.receiver^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0; pktHandle := AX; pktAccessInfo := pktAccessType;

END;END;

END;

PROCEDURE TINTERFACE.ReleaseType;(* descarga el tipo de controlador *)BEGIN WITH pktRegs DO BEGIN

AH := RELEASE_TYPE; BX := pktHandle; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

41

PROCEDURE TINTERFACE.SendPkt(Buffer : Pointer;BufLen : Word);BEGIN WITH pktRegs DO BEGIN

AH := SEND_PKT; CX := BufLen; DS := Seg(Buffer^); ES := DS; SI := Ofs(Buffer^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

PROCEDURE TINTERFACE.TerminateDriver;(* Termina el manejo del controlador de paquetes *)BEGIN WITH pktRegs DO BEGIN

AH := TERMINATE; BX := pktHandle; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

PROCEDURE TINTERFACE.GetAddress (Buffer : Pointer;BufLen : Word; VARBufCopied :Word);BEGIN WITH pktRegs DO BEGIN

AH := GET_ADDRESS; BX := pktHandle; CX := BufLen; ES := Seg(Buffer^); DI := Ofs(Buffer^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0; BufCopied := CX;

END;END;

END;

42

PROCEDURE TINTERFACE.ResetInterface;BEGIN WITH pktRegs DO BEGIN

AH := RESET_INTERFACE; BX := pktHandle; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

PROCEDURE TINTERFACE.GetParameters(VAR pktParams : TPKTPARAMS);(* Parametros dados para el controlador *)VAR b : Byte;BEGIN WITH pktRegs DO BEGIN

AH := GET_PARAMETERS; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0;FOR b := 0 TO ParamLen-1 DO { copia contenido de la estructura }

Mem[Seg(pktParams):Ofs(PktParams)+b] := Mem[ES:DI+b];END;

END;END;

PROCEDURE TINTERFACE.As_SendPkt(Buffer : Pointer;BufLen : Word;Upcall :Pointer);(* Envia un paquete de datos accesando al controlador *)BEGIN WITH pktRegs DO BEGIN

AH := AS_SEND_PKT; CX := BufLen; DS := Seg(Buffer); SI := Ofs(Buffer); ES := Seg(Upcall^); DI := Ofs(Upcall^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

43

PROCEDURE TINTERFACE.SetRCVmode(Mode : Word);

BEGIN WITH pktRegs DO BEGIN

AH := SET_RCV_MODE; BX := pktHandle; CX := Mode; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

FUNCTION TINTERFACE.GetRCVmode : Word;BEGIN WITH pktRegs DO BEGIN

AH := GET_RCV_MODE; BX := pktHandle; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0; GetRCVmode := AX;

END;END;

END;

PROCEDURE TINTERFACE.SetMulticastList(VAR mcList : Pointer; VAR mcLen :Word);BEGIN WITH pktRegs DO BEGIN

AH := SET_MULTICAST_LIST; CX := mcLen; ES := Seg(mcList^); DI := Ofs(mcList^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSEpktError := 0;

END;END;

44

PROCEDURE TINTERFACE.GetMulticastList(VAR mcList : Pointer; VAR mcLen :Word);BEGIN WITH pktRegs DO BEGIN

AH := GET_MULTICAST_LIST; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0; mcList := Ptr(ES,DI); mcLen := CX;

END;END;

END;

PROCEDURE TINTERFACE.GetStatistics(VAR pktStatistics : TSTATISTICS);VAR b : Byte;BEGIN WITH pktRegs DO BEGIN

AH := GET_STATISTICS; Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0;FOR b := 0 TO SizeOf(TSTATISTICS)-1 DO { Copia contenido de la

estructura }Mem[Seg(pktStatistics):Ofs(pktStatistics)+b] := Mem[DS:SI+b];END;

END;END;

PROCEDURE TINTERFACE.SetAddress(Address : Pointer; VAR AddrLen : Word);BEGIN WITH pktRegs DO BEGIN

AH := SET_ADDRESS; CX := AddrLen; ES := Seg(Address^); DI := Ofs(Address^); Intr(pktInt,pktRegs);

IF (Flags AND Carry_Flag) = Carry_Flag THENpktError := DH

ELSE BEGIN

pktError := 0; AddrLen := CX;

END;END;

END;

45

FUNCTION TINTERFACE.GetError : Byte;BEGINGetError := pktError;

END;

FUNCTION TINTERFACE.GetHandle : Word;BEGINGetHandle := pktHandle;

END;

BEGINEND.{fin}

46

UNIVERSIDAD AUTONOMA METROPOLITANAIZTAPALAPA

Casa abierta al tiempo XIII. BIBLIOGRAFIA

DATA AND COMPUTER COMMUNICATIONSSTALLING, WILLIAMEDITORIAL MAC MILLAN1994

PROTOCOL SPECIFICATIONS AND TESTINGTARNAY , KATIEEDITORIAL PRESS1991

DESIGN AND VALIDATION OF COMPUTER PROTOCOLSHOLAMAN, GERARDEDITORIAL PRENTICE HALL1991

INTRODUCCION A LOS SISTEMAS DE COMUNICACIONSTREMLER, F.G.EDITORIAL ADDISON WESLEY1993

LOS MICROPROCESADORES DE INTELBREY BARRYEDITORIAL PRENTICE HALL1994

SISTEMAS DE COMUNICACION ELECTRONICASWAYNW TOMASIEDITORIAL PEARSON EDUCATION1996 SEGUNDA EDICION

NATIONAL ANALOG AND INTERFACE PRODUCTS DATABOOKNATIONAL SEMICONDUCTOR2001