You are on page 1of 28

Universidad de Málaga

Escuela Universitaria Politécnica

Ayuda docente

Tema 9: Programación del sistema.


Segunda parte

Málaga, Mayo de 2009

Universidad de Málaga
Escuela Universitaria Politécnica

Técnicas de comunicaciones

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 2

1
Universidad de Málaga
Escuela Universitaria Politécnica
Técnicas de comunicaciones

Comunicaciones en paralelo:
• La información se transmite por medio de grupos
de bits. La agrupación más típica es de 8 bits,
un octeto (byte).
• Es el caso de los buses de un sistema o el de
un puerto paralelo asíncrono como sucede en el
8255 en modo 1 y 2.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 3

Universidad de Málaga
Escuela Universitaria Politécnica
Técnicas de comunicaciones

Comunicaciones en serie:
• La información se transmite bit a bit, uno detrás
de otro.
• Como la información está en forma de octeto,
es necesario “serializar” estos 8 bits.
• La forma más utilizada es por medio de un
controlador de puerto serie.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 4

2
Universidad de Málaga
Escuela Universitaria Politécnica

• Para enviar un dato es necesario disponer de un


Técnicas de comunicaciones

procedimiento que escriba el dato en el registro de


transmisión del controlador de puerto serie, es decir
se necesita una rutina de transmisión que llamamos
RUT_TX.

• Los datos se pueden enviar de uno en uno (a través


de un registro, por ejemplo) o en grupos, por medio de
una pila de datos (data buffer, en inglés).

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 5

Universidad de Málaga
Escuela Universitaria Politécnica

• Si la rutina RUT_TX funciona dato a dato, podemos


Técnicas de comunicaciones

utilizar el registro A para pasarle el dato a transmitir.


• Nuestro programa tendría un aspecto como:

……
LD A, dato
CALL RUT_TX
……

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 6

3
Universidad de Málaga
Escuela Universitaria Politécnica

La rutina RUT_TX tendría que hacer, básicamente,


Técnicas de comunicaciones

lo siguiente:
• Verificar que el transmisor está vacío
• Escribir el dato del registro A en el registro de
transmisión
• Retornar

NOTA: Esto es la algoritmia básica, no olvidar que se


han de guardar y recuperar registros en la pila.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 7

Universidad de Málaga
Escuela Universitaria Politécnica

¿Qué es una pila de datos?


Técnicas de comunicaciones

Una pila de datos es un espacio de memoria reservado


para almacenar datos.

Se compone, por lo tanto, de un conjunto de direcciones


de la memoria RAM.

Cuando este espacio de memoria reservado tiene como


objetivo una transmisión se denomina pila de transmisión,
transmission buffer, en inglés.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 8

4
Universidad de Málaga
Escuela Universitaria Politécnica

Posición F
Posición E
Técnicas de comunicaciones

Posición D
Posición C
Posición B
Posición A
Longitud Posición 9
de la Posición 8
Pila Posición 7
Posición 6
Posición 5
Posición 4
Posición 3
Posición 2
Posición 1
Dirección Posición 0
Inicio Pila

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 9

Universidad de Málaga
Escuela Universitaria Politécnica

Una pila de datos se define por medio de dos números:


Técnicas de comunicaciones

• Una dirección de comienzo que identifica la primera


posición de la pila en la memoria.
• Una longitud que define el tamaño de la pila.
• De esta forma, el tamaño de la pila y su posición en
la memoria quedan totalmente definidos.
• Las rutinas que utilicen esta pila han de “conocer”
estos parámetros para utilizar la pila de forma
correcta.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 10

5
Universidad de Málaga
Escuela Universitaria Politécnica

Los parámetros que definen una pila de datos pueden


localizarse de diferentes forma:
Técnicas de comunicaciones

A) Por medio de dos variables externas a la pila.


• Se define una variable de memoria que contiene
la dirección de comienzo de la pila de datos, p.e.
INI_PILA.
• Se define una variable en memoria que contiene
la longitud de la pila de datos, p.e. LONG_PILA.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 11

Universidad de Málaga
Escuela Universitaria Politécnica

B) Por medio de una variable externa a la pila de datos.


Técnicas de comunicaciones

• Se define una variable que contiene la dirección de


inicio de la pila de datos, p.e. INI_PILA.

• Se establece que el primer dato de la pila de datos


es el valor del número de datos que hay en la pila,
es decir que la longitud de la pila es:

Longitud de Pila = (INI_PILA)

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 12

6
Universidad de Málaga
Escuela Universitaria Politécnica

Ejemplo de pila de 8 datos. Tamaño de la pila: 9 octetos


Técnicas de comunicaciones

Dato 8
Dato 7
Dato 6
Cantidad Dato 5 Tamaño de
de datos Dato 4 la Pila
Dato 3
Dato 2
Dato 1
Dirección 08
Inicio Pila

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 13

Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo funciona una pila de datos? (I)


Técnicas de comunicaciones

• La rutina que ha de transmitir datos escribe todos los


datos a transmitir en la pila de datos y a continuación
hace una llamada RUT_TX.
• RUT_TX va leyendo los datos de la pila de datos y
los va enviando sucesivamente al puerto serie desde
el primero hasta el último.

NOTA: RUT_TX sólo se puede enviar al transmisor


cuando éste lo autorice (registro de estado).

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 14

7
Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo funciona una pila de datos? (II)


Técnicas de comunicaciones

• RUT_TX ha de llevar la cuenta de cuantos datos ha


enviado del total de datos de la pila. Para ello es
necesario otra variable que contenga este valor.
Esta variable la llamamos CANT_TX.
• Cuando RUT_TX termina de enviar todos los datos
de la pila ha de indicarlo de alguna forma por si hay
pendiente otro paquete de datos a enviar. Una forma
de hacer esto es poniendo a cero la variable de
tamaño de pila. Es decir LONG_PILA=0.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 15

Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo funciona una pila de datos? (III)


Técnicas de comunicaciones

NOTA IMPORTANTE: La pila no se puede cargar de


nuevo mientras la variable de tamaño LONG_PILA > 0.

• Por medio de la variable LONG_PILA se establece


una comunicación entre la rutina que carga la pila
RUT_CARGA_PILA y la que la descarga RUT_TX.
• Las variables LONG_PILA y CANT_TX permiten
conocer cuantos datos se han transmitido y cuantos
quedan por transmitir.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 16

8
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (I)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que
necesita
transmitir
datos
RUT_CARGA_PILA
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 17

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (II)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que
necesita
transmitir
datos
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 18

9
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (III)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que
necesita
transmitir
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 19

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (IV)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que
necesita
transmitir ......
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 20

10
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (V)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que
necesita ......
transmitir ......
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 21

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (VI)


Técnicas de comunicaciones

Pila de datos de transmisión

Rutina que Dato N-2


necesita ......
transmitir ......
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 22

11
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (VII)


Técnicas de comunicaciones

Pila de datos de transmisión

Dato N-1
Rutina que Dato N-2
necesita ......
transmitir ......
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 23

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (VIII)


Técnicas de comunicaciones

Pila de datos de transmisión


Dato N
Dato N-1
Rutina que Dato N-2
necesita ......
transmitir ......
datos Dato 3
RUT_CARGA_PILA Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 24

12
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Llenado (IX)


Técnicas de comunicaciones

Pila de datos de transmisión


Dato N
Dato N-1
Rutina que Dato N-2
necesita ......
transmitir ......
datos Dato 3
Dato 2
Dato 1

RUT_TX
Llamada a RUT_TX

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 25

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (I)


Técnicas de comunicaciones

Llamada desde el programa que carga la pila de datos


Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3
Dato 2
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 26

13
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (II)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... Dato 1
.....
Dato 3
Dato 2
Dato
Dato 1

Puerto serie

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 27

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (III)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato 1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 28

14
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (IV)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... Dato 2
.....
Dato 3 RUT_INTPS
Dato
Dato 22
Dato 1

Puerto serie

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 29

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (V)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato 2

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 30

15
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (VI)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... Dato 3
.....
Dato
Dato 33 RUT_INTPS
Dato 2
Dato 1

Puerto serie

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 31

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (VII)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato 3

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 32

16
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (VIII)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... ......
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1

Puerto serie
......

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 33

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (IX)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
......

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 34

17
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (X)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... ......
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1

Puerto serie
......

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 35

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (XI)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
......

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 36

18
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (XII)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... Dato N-2
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1

Puerto serie
Dato N-2

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 37

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (XIII)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato N-2

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 38

19
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (XIV)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
..... Dato N-1
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1

Puerto serie
Dato N-1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 39

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (XV)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato N-1

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 40

20
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado ( y XVI)


Técnicas de comunicaciones

Fin
¡Node lamás
hay transmisión
datos!
Dato N
Dato N-1 LONG_PILA=0
Dato N-2 RUT_TX
..... Dato N
.....
Dato 3 RUT_INTPS
Dato 2
Dato 1 Int. TX

Puerto serie
Dato N

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 41

Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo “sabe” RUT_TX que ha transmitido todo?


Técnicas de comunicaciones

• RUT_TX ha de “saber” la cantidad de datos que


contiene la pila (LONG_PILA) y la cantidad de
datos que ha enviado al transmisor (CANT_TX).
• Comparando el valor de estas dos variables puede
averiguar si ha terminado o no:

Si LONG_PILA > CANT_TX No ha terminado


Si LONG_PILA = CANT_TX Sí ha terminado

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 42

21
Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo sabe la rutina que carga la pila si los datos


Técnicas de comunicaciones

cargados anteriormente han sido transmitidos?

Esto se puede hacer de varias formas: vemos dos de ellas


1.- Utilizando la variable LONG_PILA:
Si LONG_PILA = 0 la pila está vacía
Si LONG_PILA ≠ 0 la pila está llena o en uso
El valor de LONG_PILA lo pone a cero la secuencia de
inicio del sistema y RUT_TX al finalizar una transmisión.
RUT_CARGA_PILA pone LONG_PILA ≠ 0.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 43

Universidad de Málaga
Escuela Universitaria Politécnica

¿Cómo sabe la rutina que carga la pila si los datos


Técnicas de comunicaciones

cargados anteriormente han sido transmitidos?

2.- Definimos una variable “PILA_LLENA” que es


manejada tanto por la rutina que carga la pila de
datos como por RUT_TX. La primera escribe esta
variable con el valor 0xFF cuando termina de
cargar la pila y la segunda escribe esta variable
con el valor 0x00 cuando termina de enviar el
último dato de la pila.
En este caso el valor de LONG_PILA no se cambia.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 44

22
Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de una pila de transmisión: Llenado (final)


Técnicas de comunicaciones

Dato N
Dato N-1
Rutina que Dato N-2
necesita .....
transmitir .....
datos Dato 3
Dato 2
Dato 1

0xFF
0x00
PILA_LLENA
Llamada
RUT_TXa RUT_TX

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 45

Universidad de Málaga
Escuela Universitaria Politécnica

Funcionamiento de la pila de transmisión: Vaciado (final)


Técnicas de comunicaciones

Dato N
Dato N-1
Dato N-2 RUT_TX
.....
.....
Dato 3
Dato 2
Dato 1

0x00
0xFF Puerto serie
PILA_LLENA
Fin de la transmisión

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 46

23
Universidad de Málaga
Escuela Universitaria Politécnica

Otras opciones (I)


Técnicas de comunicaciones

• Hay mucha otras opciones.


•Una de ellas es que la pila de datos contenga la
longitud de la pila y el contador de datos transmitidos.

• En este caso no es necesaria la variable


PILA_LLENA ni LONG_PILA y el contador de datos
transmitidos se hace con cuenta hacia cero. Cuando
su valor sea cero es porque la pila ya se ha enviado.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 47

Universidad de Málaga
Escuela Universitaria Politécnica

Final Pila Dato N


Técnicas de comunicaciones

Dato N-1
......
......
...... Datos
Dato 3
Dato 2
Dato 1
Contador datos Control
Inicio Pila Longitud pila

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 48

24
Universidad de Málaga
Escuela Universitaria Politécnica

Otras opciones (y II)


Técnicas de comunicaciones

• Uno de los datos de la pila, el primero normalmente, es el


tamaño de la pila.
• La pila se rellena en orden inverso.
• La rutina RUT_TX envía en cada ocasión el último dato de la
pila (el que indica el valor del tamaño de pila actual) y
decrementa en uno el valor del tamaño de la pila.
• Con este método, no es necesaria la variable PILA_LLENA ya
que cuando el valor del tamaño de la pila es cero es porque
todos los datos se han transmitido.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 49

Universidad de Málaga
Escuela Universitaria Politécnica

Final Pila Dato 1


Técnicas de comunicaciones

Dato 2
Dato 3
......
...... Datos
......
Dato N-1
Dato N
Inicio Pila Longitud pila Control

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 50

25
Universidad de Málaga
Escuela Universitaria Politécnica

Protocolo de la comunicación.
Técnicas de comunicaciones

• Tanto el transmisor como el receptor han de conocer el método


que se utiliza en la comunicación (protocolo).

• El protocolo define el orden y el nº de datos que se transmiten,


además del formato físico (p.e. 8N1).

• De esta forma, el receptor “sabe” lo que va a recibir en cuanto


a la cantidad de datos y el orden de éstos.
• Esto permite que el receptor “sepa” cuando se termina la
recepción de datos (conoce la longitud)

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 51

Universidad de Málaga
Escuela Universitaria Politécnica

Protocolo de la comunicación. Ejemplo.


Técnicas de comunicaciones

• Establecemos que el primer dato transmitido es la cantidad de


datos o “tamaño del paquete de datos”.

• El receptor va contando los datos recibidos hasta completar el


paquete de datos.

• El receptor ha de disponer de una pila de datos para la


recepción de éstos (pila de recepción, reception buffer).
• Conforme se llena la pila de recepción, tiene que existir un
programa que la deje libre para una nueva recepción de datos.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 52

26
Universidad de Málaga
Escuela Universitaria Politécnica

Protocolo de la comunicación.
Técnicas de comunicaciones

• En numerosas ocasiones es necesario que el mismo medio de


comunicación sirva tanto para transmitir datos como para
transmitir órdenes
• Los datos son información que el receptor deposita en la pila
de datos de recepción con destino a ser procesados por otro
programa. El sistema que recibe esta información no interpreta
el valor de los datos.

• Las órdenes es información destinada a ser interpretada por el


sistema, éste la decodifica y ejecuta la orden recibida.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 53

Universidad de Málaga
Escuela Universitaria Politécnica

Protocolo de la comunicación.
Técnicas de comunicaciones

• Para poder discriminar entre datos y ordenes, se añade una


información (un octeto) que lo indica.

• Para ello la pila se diseña de forma que el segundo octeto


indique el tipo de información, dato u orden.

• Por ejemplo, si en nuestro protocolo el segundo octeto


transmitido es un 0x00 significa que la información que sigue
hasta el final de la comunicación son datos. Se dice que el
paquete es de datos.

• Si en nuestro protocolo el segundo octeto transmitido es 0x01,


significa que la información que sigue hasta el final de la
comunicación son ordenes. Se trata de un paquete de ordenes.

Dpto. de Tecnología Electrónica Pedro J. Sotorrío Ruiz, UMA, Mayo de 2009 54

27
Universidad de Málaga
Escuela Universitaria Politécnica

Ayuda docente

FIN

Tema 9: Programación del sistema.


Segunda parte

Málaga, Mayo de 2009

28

You might also like