ITSLP
   
  Redes
  BITBUS
 

BITBUS

Cableado y terminaciones

El cableado puede estar formado por uno o dos pares de cables trenzados y apantallados, siendo el apantallamiento común para todos los cables.

Normalmente se emplea un par de cables para la línea de datos semidúplex y el segundo par para una de las siguientes aplicaciones:

Transmisión del reloj en modo síncrono.

Conmutación de la línea en repetidores en modo autoreloj.

La impedancia característica de cada par de cables debe ser 120 ohmios. Las terminaciones serán resistencias de 120 ohmios para evitar el efecto de reflexión.

Conectores

El estándar especifica que los conectores deben ser del tipo sub-D9. El patillaje es el mismo que para un conector RS-232, pero sólo se emplean las señales RxD, TxD y masa.

Estructura

La estructura de la red BITBUS puede ser de varios tipos:

Básica: estructura lógica del tipo maestro-esclavo.

Arbol: se emplean repetidores para largas distancias, se considera todo un único bus y se opera en modo autoreloj (debido a que los repetidores no transmiten la señal de reloj).

Arbol multinivel: se emplean uniones esclavo-maestro para formar sub-buses en varios niveles. Cada nivel puede operar a una velocidad propia y posee sus propias direcciones.

 


Ejemplo:

                                  

En la siguiente tabla se muestran las distintas posibilidades de nodos y repetidores:

Modo

Nº máx. de nodos

Nº máx. de repetidores

Velocidad (bits/s)

Distancia máx. (m)

Autoreloj

28

Ninguno

62,5 K

1200

Autoreloj

28

Ninguno

375 K

300

Autoreloj

250

10

62,5 K

1200 entre repetidores (4800 máx)

Autoreloj

250

2

375 K

300 entre repetidores (900 máx)

Síncrono

28

Ninguno

62,5 K o 375 K

300 o 1200 (según velocidad)

 


Tipos de nodos

Todo bus BITBUS se compone de elementos básicos denominados nodos. Un nodo es cualquier dispositivo que contenga al menos una interfaz con el bus. Los nodos posibles son:

Maestro: permite controlar el acceso a un bus de cualquier nivel mediante un protocolo de comunicación del tipo pregunta-respuesta. En cada nivel sólo existe un maestro, aunque es posible la existencia de un maestro flotante (desaconsejado por el estándar).

Esclavo: es un bloque controlado por el maestro, el cual sólo transmite si el maestro lo indica. El esclavo puede estar conectado a su vez con un maestro o un bloque de E/S..

Repetidor: se encarga de regenerar la señal de datos del bus (no el reloj). Se emplea para aumentar la longitud del bus.

Expansión E/S: es cualquier dispositivo de E/S que se quiera conectar al bus o a un esclavo.

Modos de sincronización

Existen dos modos de sincronización de bits:

Síncrono: en este modo los datos se transmiten por un par trenzado y el reloj mediante otro par adicional. No se admiten repetidores y la estructura del bus es completamente lineal (sólo hay un nivel).

Autoreloj: en este modo cada nodo genera su propio reloj, sincronizando con la línea de datos. Los datos se codifican en formato NRZI. Se permiten repetidores (obligatorio para más de 28 nodos). Las derivaciones a partir del repetidor requieren una línea de control además de la línea de datos, por lo que se emplean dos pares trenzados.

 


Codificación

Nivel de bits:

Modo síncrono: la codificación se realiza mediante el procedimiento NRZ (0 es nivel bajo y 1 es nivel alto).

Modo autoreloj: la codificación se realiza mediante el procedimiento NRZI (0 es cambio de nivel y 1 es un NO cambio de nivel).

A nivel de byte se emplea un juego reducido del protocolo SDLC de IBM. Este protocolo inserta un "0" después de cinco "1" consecutivos. Este sistema, combinado con la codificación de bit por NRZI, permite sincronizar el reloj en el receptor en modo autoreloj cada 6 bits como mínimo.

El controlador de Intel 8044 proporciona la inserción y eliminación de ceros del protocolo SDLC de forma automática.

Trama del mensaje

La comunicación entre nodos se realiza mediante mensajes. Dicha comunicación siempre se efectúa a petición del maestro y consta siempre de un mensaje de pregunta al esclavo y de un mensaje de respuesta del mismo.

La trama de mensaje se compone de entre 6 y 255 bytes, siendo su estructura la siguiente:

Flag (7Eh)

Dirección esclavo

Control

Información (funciones/datos)

CRC (16 bits)

Flag (7Eh)

Flag

Longitud: 1 byte.

Todo mensaje debe estar delimitado mediante dos Flag al comienzo y al final del mismo. Se denomina Flag a un caracter de valor fijo e igual a 7E (hexadecimal).

Dirección esclavo

Longitud: 1 byte.

En todos los mensajes este campo indica la dirección del esclavo, entre 1 y 250. Las direcciones 0 y 251 a 255 están reservadas.


Control

Longitud: 1 byte

Este campo clasifica las tramas en tres tipos:

Control.

Supervisión.

Información.

De los tres tipos sólo la trama de información contiene un campo de información dentro del mensaje. En el resto todos los mensajes se componen de 6 bytes (no incluyen el campo de información).

A continuación se muestra una tabla con todas la funciones:

Función

Tipo de trama

Código (campo de control)

Descripción

Modo de respuesta normal (SNRM)

Control
M > E

93h

Se ordena al esclavo pasar al estado de respuesta normal (NRM)

Desconexión (DISC)

Control
M > E

53h

Se ordena al esclavo pasar al estado de desconexión (NDM)

Reconocimiento no numerado (UA)

Control
E > M

53h

Respuesta del esclavo indicando que ha recibido una orden válida estando en estado de desconexión.

Trama rechazada (FRMR)

Control
E > M

97h

Respuesta del esclavo indicando que ha recibido una orden incorrecta estando en estado normal (NRM)

Consulta o test (polling)

Supervisión
M > E

RRR10001 (binario)

RRR=nº de secuencias anteriores recibidas como correctas
El maestro indica que el esclavo debe contestar como consulta o test, respondiendo con RR o RNR.

Receptor dispuesto (RR)

Supervisión
E > M

RRR10001 (binario)

RRR=nº de secuencias anteriores recibidas como correctas
Respuesta del esclavo indicando que la consulta es correcta y que no tiene datos que transmitir.

Receptor no dispuesto (RNR)

Supervisión
E > M

RRR10101 (binario)

RRR=nº de secuencias anteriores recibidas como correctas
Respuesta del esclavo indicando que la consulta es correcta pero que no puede aceptarla por tener el buffer lleno.

Información (I)

Información
M > E
E > M

RRR1EEE0 (binario)

RRR=nº de secuencias anteriores recibidas como correctas
EEE=nº de secuencias enviadas
Tramas normales de intercambio de información.
En cada trama se comprueba los números de secuencia para evitar duplicidad de mensajes y detectar la pérdida de tramas o errores de transmisión.

 

Información

Longitud: máximo 250 bytes

Este campo es de longitud variable y sólo existe en las tramas de información. En el siguiente epígrafe se explica con profundidad esta parte de la trama.


 

CRC

Longitud: 2 bytes

El CRC es un conjunto de 16 bits que sirven para detectar errores de transmisión. Los dos bytes se obtienen mediante un polinomio H4 del tipo (XE16 + XE12 + XE5 + 1).

Trama del campo de información

El campo de información de la trama obedece a un formato que especifica un mínimo de 7 bytes y un máximo de 250 (aunque se acepta como dispositivo estándar aquel que permite entre 7 y 20 bytes de longitud). Los bytes se corresponden con el siguiente formato:

Byte

Descripción

1

Longitud de información

2

MT - SE - DE - TR - 4 bits de reserva

3

Dirección esclavo

4

Tarea fuente - Tarea destino

5

Tareas usuario / Errores

6 en adelante
(hasta byte 250)

Otros datos

(Mínimo 2 bytes)

Longitud de información

Indica la longitud del campo de información (entre 7 y 250).

Tipo de mensaje (MT)

0 = orden
1 = respuesta

Fuente de la orden (SE)

Indica si la fuente de una orden o el destino de una respuesta es:

0 = bloque maestro
1 = bloque de expasión E/S de éste


 

 

Destino de la orden (DE)

Indica si el destino de una orden o la fuente de una respuesta es:

0 = bloque esclavo
1 = bloque de expasión E/S de éste

Pista (TR)

0 = mensaje de maestro a esclavo
1 = respuesta de esclavo a maestro

4 bits reservados

Se reservan para futuras ampliaciones, deben ser puestos a 0 al enviar el mensaje.

Dirección esclavo

El valor debe estar comprendido entre 1 y 250 (como ya se ha comentado anteriormente).

Codificación de tareas

Este byte se compone de dos grupos de 4 bits:

tarea fuente (4 bits altos): las tareas 12 a 15 están libres y pueden ser definidas por el usuario. La tarea 0 está reservada a los servicios RAC (ver tabla adjunta) y las tareas 1 a 11 están reservadas por Intel.

tarea destino (4 bits altos): definibles por el usuario (salvo que la tarea fuente sea la 0).

 


La tarea 0 o RAC (Remote Acces and Control) proporciona una serie de funciones que todo dispositivo BITBUS debe soportar:

Código

Tipo

Tarea

00h

Control

Reset esclavo

01h

Control

Llamar tarea programada en un esclavo

02h

Control

Finalizar tarea

03h

Control

Obtener identificador/puntero de la función.

04h

Control

Habilitar/deshabilitar el resto de tareas (excepto RAC) en un esclavo.

05h

Acceso

Leer 1 byte de E/S

06h

Acceso

Escribir 1 byte de E/S

07h

Acceso

Actualizar líneas de E/S

08h

Acceso

Leer n bytes de la memoria del esclavo

09h

Acceso

Grabar n bytes en la memoria del esclavo

0Ah

Acceso

Operación O (OR) con byte de E/S

0Bh

Acceso

Operación Y (AND) con byte de E/S

0Ch

Acceso

Operación O-exclusiva (XOR) con byte de E/S

0Dh

Acceso

Leer registro de estado

0Eh

Acceso

Escribir registro de estado

0Fh a BFh

-

Funciones reservadas por INTEL

C0h a FFh

-

Funciones definibles por el usuario

 

 <v:imagedata src="file:///C:DOCUME~1USERCONFIG~1Tempmsohtmlclip1

 
  Hoy habia 2 visitantes (5 clics a subpáginas) ¡Aqui en esta página!  
 
DERECHOS RESERVADOS Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis