Joan (discussió | contribucions)
Joan (discussió | contribucions)
Línia 7: Línia 7:
=== Elèctric ===
=== Elèctric ===


<mscgen caption="Message sequence chart for example no. 4" format="png" uniquifier="DiagramSC">
<mscgen caption="test" format="png" uniquifier="DiagramSC">
msc {
msc {
   a,b,c;
   a,b,c;


   a->b  [label="ab()"];
   a->b  [label="ab()"];
   b->c  [label="bc(TRUE)"];
   b->c  [label="bc (TRUE)"];
   c=>c  [label="process(1)"];
   c=>c  [label="process(1)"];
   c=>c  [label="process(2)"];
   c=>c  [label="process(2)"];

Revisió del 13:18, 27 jul 2016



Aquest protocol l'utilitzen les màquines mayer relativament recents per comunicar-se amb la unitat de dades. Està basat en el SDLC/HDLC d'IBM tot i que el format de paquet és diferent.

Elèctric

<mscgen caption="test" format="png" uniquifier="DiagramSC"> msc {

 a,b,c;
 a->b  [label="ab()"];
 b->c  [label="bc (TRUE)"];
 c=>c  [label="process(1)"];
 c=>c  [label="process(2)"];
 ...;
 c=>c  [label="process(n)"];
 c=>c  [label="process(END)"];
 a<<=c [label="callback()"];
 ---   [label="If more to run", ID="*"];
 a->a  [label="next()"];
 a->c  [label="ac()"];
 b<-c  [label="cb(TRUE)"];
 b->b  [label="stalled(...)"];
 a<-b  [label="ab() = FALSE"];

} </mscgen>


S'utilitza un sol parell diferencial tan per la recepció com la transmissió. Els transceptors s'acoplen al la linia de transmissió via un transformador. Amb un Vdiff entre +5V i -5V. La impedància de la línia és de 120 Ohms.

Codificació de bits

S'utilitza una codificació AMI. És a dir:

Vdiff Bit
+5V o -5V 0
0V 1

S'utilitza el mateix bit-stuffing que el HDLC. És a dir: s'inserta un '0' cada cop que es troben 5 '1' seguits. També, al igual que el HDLC s'utilitza els patró de bits '01111110' (7E) per delimitar els paquets i sincronitzar els rellotges del transmisor i el receptor Finalment, el patró de bits '1111111' està prohibit. Si es troba dins d'un paquet es considera error de transmissió.

La velocitat de transmissió és de 1024Kbits/s

Control de flux

El canal és Half-Duplex i el teler controla la direcció de transmissió. La unitat de dades només pot transmetre com a resposta a una peteció i s'ha d'esperar a que la línia quedi inactiva (0V)


Paquets

Els paquets tenen l'estructura:

Camp Tamany (bytes) Descripció
FLAG n Sync-in normalment de 220 a 250 repeticions del patró '01111110' (7E)
Dest Addr 1 Addreça de desti Maquina=0x01 Unitiat=0x02
Seq No 1 Numero de seqüència del paquet del (0x01 al 0xff)
Src Addr 1 Addreça d'origen
Op Code 1 Tipus de paquet
Data n Dades de 0 a n bytes. Sembla que el limit és de 642 bytes en el nostre cas
FCS 2 Frame Check Sequence. A.k.a. Codi de verificació del paquet.
FLAG n Sync-out normalment de 30 a 40 repeticions del patró '01111110' (7E)

Frame Check Sequence

És un CRC amb els paràmetres següents:

  • polinomi: x^16+x^12+x^5+1
  • xor final:0xffff
  • init-val:0x84cf

Protocol

Comandaments/Respostes
OP_CODE Data Nom Descripció
0x00 - PING es respon amb ACK per indicar recepcio correcte
0x01 - SC_START es respon amb ACK si es pot escriure en el disc. En altre cas ERR_ACK (0x80)
0x02 - LA_START es respon amb ACK si es pot llegir el disc. En altre cas ERR_ACK (0x80)
0x03 - REQUEST_DATA Demana següent block de dades
0x04 dt_len_hi,dt_len_lo,dt0,dt1,...,dtdt_len-1 DATA_BLK Block de dades, 0<=dt_len<=0x280
0x05 <track_no> FMT_TRACK Formateja pista <track_no>=[0..79]
0x06 - ACK Ack pkt
0x80 - RESET_COMMS Error ACK: últim comandament ha fallat
0x81 - ABORT Aborta operació en curs

Carrega (LA)

Captura LA MayerDLC

Descarrega (SC)

Captura SC MayerDLC

Fromat (FO)

Captura FO MayerDLC