3012
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 408: | Linia 408: | ||
'''Uwaga:''' Jeżeli w polu sterującym ustawiony jest bit "wykonaj XON/XOFF" i linia jest typu pelny-duplex, to otrzymanie sygnału XOFF (#13) podczas nadawania zatrzymuje nadawanie do czasu otrzymania sygnału XON (#11). | '''Uwaga:''' Jeżeli w polu sterującym ustawiony jest bit "wykonaj XON/XOFF" i linia jest typu pelny-duplex, to otrzymanie sygnału XOFF (#13) podczas nadawania zatrzymuje nadawanie do czasu otrzymania sygnału XON (#11). | ||
</div> | </div> | ||
== Pole sterujące "ustaw konfigurację" == | |||
Pole składa się z: | |||
* nagłówka (1 słowo) | |||
* pola parametrów zwracanych (1 słowo) | |||
* pól opisu linii fizycznych | |||
* pól opisu linii logicznej (4 słowa na linię logiczną) | |||
Nagłówek: | |||
{| class="wikitable" | |||
! width="60" | Bity !! Znaczenie | |||
|- | |||
| align="center" | 0-7 || ilość slow opisu linii fizycznych | |||
|- | |||
| align="center" | 8-15 || ilość linii logicznych | |||
|- | |||
|} | |||
Pole parametrów zwracanych: | |||
{| class="wikitable" | |||
! width="60" | Bity !! Znaczenie | |||
|- | |||
| align="center" | 0-7 | |||
| Nr błędu: | |||
* 0 - konfiguracja już ustawiona | |||
* 1 - błędna liczba linii fizycznych lub logicznych | |||
* 2 - błędny typ urządzenia w opisie linii fizycznej | |||
* 3 - niedozwolony kierunek transmisji | |||
* 4 - niekompletny opis linii fizycznej | |||
* 5 - brak protokołu | |||
* 6 - linia fizyczna nie użyta | |||
* 7 - niezgodność kierunku transmisji urządzenia i protokołu | |||
* 8 - linia fizyczna zajęta | |||
* 9 - brak pamięci na tablice | |||
* 10 - niezgodność typu protokołu i typu linii fizycznej | |||
* 11 - błędne parametry protokołu | |||
|- | |||
| align="center" | 8-15 | |||
| | |||
* nr linii fiz dla błędu 2, 3, 4 | |||
* nr linii log dla błędów 5, 6, 7, 8, 10, 11 | |||
|- | |||
|} | |||
Pole opisu linii fizycznych: | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="4" | 0 || 0-2 || Kierunek: | |||
* 100 = output | |||
* 010 = input | |||
* 110 = half-duplex | |||
* 111 = full-duplex | |||
|- | |||
| 3 || linia użyta | |||
|- | |||
| 4-7 || Typ urządzenia: | |||
* 0 = USART | |||
* 1 = 8255 | |||
* 2 = USART synch, | |||
* 3 = winchester, ... | |||
* 4 = taśma magnetyczna, ... | |||
|- | |||
| 11-15 || Liczba linii fizycznych opisanych w powyższy sposób pomniejszona o 1 | |||
|- | |||
|} | |||
Pole opisu linii logicznej: | |||
{| class="wikitable" cellpadding="10" cellspacing="10" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="2" | 0 || 0-7 || nr protokołu | |||
|- | |||
| 8-15 || nr linii fizycznej | |||
|- | |||
| 1-3 || 0-15 || parametry protokołu | |||
|- | |||
|} | |||
Dla protkolu 6 (Winchester) słowo 1 zawiera: | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="2" | 1 || 0-7 || Typ Winchestera: | |||
* 0 - BASF | |||
* 1 - NEC | |||
|- | |||
| 8-15 || protekcja formatowania: | |||
* 0 - formatowanie dozwolone | |||
* inaczek - formatowanie nie wykonywane | |||
|- | |||
|} | |||
Długość całego pola sterującego wynosi: | |||
1 + 1 + <liczba slow opisu l. fiz.> + 4 * <liczba linii logicznych> | |||
== Pole sterujące dołącz linię == | |||
Pole zawiera tylko parametry przekazywane. | |||
=== Protokół nr 0 - czytnik taśmy === | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="7" | 0 || 0 || obserwuj znacznik końca wejścia (taśmy) | |||
|- | |||
| 1 || nie sprawdzaj parzystości | |||
|- | |||
| 2 || odd parity | |||
|- | |||
| 3 || przekazuj 8 bitów | |||
|- | |||
| 5 || obsługuj BS oraz CAN | |||
|- | |||
| 7 || obserwuj "zgłoszenie operatora" | |||
|- | |||
| 8-15 || kod znacznika końca wejścia (taśmy) | |||
|- | |||
| rowspan="2" | 1 || 0-7 || kod zgłoszenia operatora | |||
|- | |||
| 8-15 || nr procedury obsługi tekstu: | |||
* 0 = nic, | |||
* ... | |||
|- | |||
|} | |||
=== Protokół nr 1 - perforator taśmy === | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="4" | 0 || 2 || odd parity | |||
|- | |||
| 3 || przesyłaj 8 bitów (= bez parzystości) | |||
|- | |||
| 6 || zamień małe litery na duże | |||
|- | |||
| 8-15 || nr procedury obsługi tekstu: | |||
* 0 = nic, | |||
* ... | |||
|- | |||
|} | |||
=== Protokół nr 2 - monitor === | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="9" | 0 || 0 || obserwuj znacznik końca wejścia | |||
|- | |||
| 1 || nie sprawdzaj i nie generuj parzystości | |||
|- | |||
| 2 || odd parity | |||
|- | |||
| 3 || przekazuj 8 bitów do MERA | |||
|- | |||
| 4 || wykonaj XON/XOFF | |||
|- | |||
| 5 || obsługuj BS oraz CAN | |||
|- | |||
| 6 || zamień małe litery na duże dla nadawania | |||
|- | |||
| 7 || obserwuj "zgłoszenie operatora" | |||
|- | |||
| 8-15 || kod znacznika końca wejścia | |||
|- | |||
| rowspan="2" | 1 || 0-7 || kod zgłoszenia operatora | |||
|- | |||
| 8-15 || nr procedury obsługi tekstu: | |||
* 0 = nic, | |||
* 2 = edytor, | |||
* ... | |||
|- | |||
| 2 || 0-15 || parametry procedury obróbki tekstu | |||
|- | |||
|} | |||
== Pole sterujące "podaj status linii" == | |||
Pole zawiera tylko parametry zwracane. | |||
{| class="wikitable" | |||
! Słowo !! Bity !! Znaczenie | |||
|- | |||
| rowspan="8" | 0 || 7 || linia jest dołączona | |||
|- | |||
| 8 || było zgłoszenie operatora | |||
|- | |||
| 9 || błąd parzystości | |||
|- | |||
| 10 || odebrano znak kończący | |||
|- | |||
| 12 || odbiór jest w toku | |||
|- | |||
| 13 || odbiór był rozpoczęty | |||
|- | |||
| 14 || nadawanie jest w toku | |||
|- | |||
| 15 || nadawanie było rozpoczęte | |||
|- | |||
|} | |||
== Pole sterujące "przesyłaj" == | |||
Pole zawiera w pierwszej części parametry przekazywane, a w drugiej, oddzielone linia przerywana - parametry zwracane. W parametrach zwracanych występuje słowo „sposób zakończenia” o strukturze identycznej dla wszystkich protokołów podstawowych. Struktura tego słowa i zastosowanie poszczególnych bitów w konkretnych protokołach pokazane jest w poniższej tabeli. | |||
Sposób zakończenia: | |||
{| class="wikitable" | |||
! rowspan="2" | Bit !! rowspan="2" | Znaczenie !! colspan="3" | Stosuje się do protokołu nr | |||
|- | |||
! 0 !! 1 !! 2 | |||
|- | |||
| 0 || timeout || tak || tak || tak | |||
|- | |||
| 1 || zgłoszenie operatora || tak || nie || tak | |||
|- | |||
| 2 || awaria urządzenia || tak || tak || tak | |||
|- | |||
| 3 || koniec znaków przed znakiem kończącym nadawanie || nie || tak || tak | |||
|- | |||
| 4 || błąd parzystości || tak || nie || tak | |||
|- | |||
| 5 || inny błąd transmisji || tak || nie || tak | |||
|- | |||
| 7 || znak końca wejścia || tak || nie || tak | |||
|- | |||
|} | |||
Jeżeli przesyłanie kończy się prawidłowo to sposób zakończenia /0-7/ = 0. |