MIL-STD-1553 este un standard care descrie o magistrală de comunicații utilizată pe scară largă în avionica militară și spațială. De asemenea, a fost adoptat de NATO sub denumirea de STANAG 3838.
A fost dezvoltat sub egida American DoD din 1968. Prima versiune MIL-STD-1553A a fost publicată pe30 aprilie 1975. Versiunea actuală este MIL-STD-1553B datând din21 septembrie 1978.
MIL-STD-1553 descrie o magistrală de date serială multiplexată (semi-duplex) . Conexiunea se face prin intermediul unei perechi răsucite ecranate cu autobuzul.
Standardul definește prezența a două autobuze (A și B) pentru a asigura redundanța, dar numai un autobuz este activ în orice moment.
Există trei tipuri de echipamente conectate la autobuz:
Fiecare pereche ecranată trebuie să îndeplinească mai multe caracteristici:
Codificarea utilizată este de tip Manchester II cu două faze :
Nivelurile electrice depind de cuplajul utilizat, cu un transformator sau direct și sunt diferite în ceea ce privește transmisia sau recepția.
Vedeți acești parametri specifici în paragrafele legate de cuplare .
Viteza de transmisie este de 1 Mbit / s :
Modă | Rata de biți | 1 bit timp | Timp de 1/2 bit | Timp de toamnă / creștere |
---|---|---|---|---|
Recepţie | 1 MHz ± 0,01% | 1 µs ± 150 ns | 0,5 µs ± 150 ns | Semnalul poate fi sinusoidal |
Program | 1 µs ± 25 ns | 0,5 µs ± 25 ns | de la 100 la 300 ns |
Această cuplare impune diverse constrângeri:
Nivel | Linia A <> Linia B La recepție |
Linia A <> Linia B În transmisie |
---|---|---|
ÎNALT | de la +1,2 V la +20 V | de la +6 V la +9 V |
SCĂZUT | de la -20 V la -1,2 V | de la -9 V la -6 V |
Această cuplare impune diverse constrângeri:
Nivel | Linia A <> Linia B La recepție |
Linia A <> Linia B În transmisie |
---|---|---|
ÎNALT | de la +0,86 V la +14 V | de la +18 V la +27 V |
SCĂZUT | de la -14 V la -0,86 V | de la -27 V la -18 V |
Cuvintele de 16 biți sunt încapsulate în 20 de biți care pot fi împărțite în trei părți:
Într-un cuvânt, biții se transmit începând cu bitul denumit „cel mai semnificativ timp de bit n ° 1”, ceilalți urmează în ordinea forței descrescătoare (timpul de biți n o 2, timpul de biți n o 3 etc.) până la „la bit time n o 20.
La fel, dacă o bucată de date este codificată pe mai mult de 16 biți și trebuie folosite mai multe cuvinte pentru a o transmite, cuvântul care conține cei mai semnificativi biți trebuie transmis mai întâi.
SincronizareSincronizarea se realizează prin încălcarea codului Manchester pe primii 3 biți ai cadrului.
Acesta constă în plasarea magistralei la nivel HIGH pentru timpul echivalent cu 1,5 biți apoi la nivel LOW pentru restul de 1,5 biți („margine descendentă”), sau invers („margine ascendentă”) în funcție de tipul de cuvânt. de mai jos).
ParitateBit de paritate este utilizat pentru a verifica dacă cuvântul nu a fost modificat în timpul transmisiei.
Paritatea este definită ca impar (impar) . Dacă numărul de biți de informații la „1” este par, bitul de paritate va fi la „1”. În schimb, dacă acest număr este impar, acesta va fi setat la „0”.
Acest mecanism simplist nu face posibilă protecția împotriva alterării a 2 biți, deoarece în acest caz ne întoarcem pe o paritate ciudată.
Cuvânt de comandă SincronizareSincronizare formează un „care se încadrează margine“.
Adresa RTAcest câmp face posibilă adresarea cuvântului către un anumit terminal, fiecare terminal având o adresă unică. Cei 5 biți permit 32 de adrese, cu toate acestea adresa „11111” este rezervată pentru contactarea tuturor terminalelor („broadcast”), motiv pentru care pot exista doar 31 de terminale conectate la magistrală.
T / R (Transmitere / Primire)Dacă bitul este:
Cei 5 biți permit 32 de combinații:
Este despre :
Cei 5 biți sunt folosiți pentru a trimite de la 1 la 32 de date, valoarea 0 corespunde la 32 de cuvinte de date trimise. Nu pot exista mai mult de 32 de cuvinte de date trimise consecutiv într-un singur schimb.
Mod codPentru combinații:
Mod cod | Funcţie | Bit T / R | Transmisie autorizată? |
Detaliu |
---|---|---|---|---|
00000 | Control dinamic al magistralei | 1 | Nu | Terminalul trebuie să răspundă cu un cuvânt de stare prin setarea bitului 18 („Indicator de acceptare a magistralei dinamice”): „1” pentru a accepta testul, „0” pentru a refuza (sau dacă funcția nu este implementată). |
00001 | Sincronizare (fără cuvânt de date) | 1 | da | Terminalul trebuie să se sincronizeze (să reseteze ceasul intern și / sau să înceapă o secvență de sincronizare) și să răspundă cu un cuvânt de stare. |
00010 | Transmite cuvântul de stare | 1 | Nu | Terminalul ar trebui să returneze ultimul cuvânt de stare pe care l-a transmis anterior. |
00011 | Inițiază auto-testarea | 1 | da | Terminalul ar trebui să inițieze o secvență de test și să răspundă cu un cuvânt de stare. |
00100 | Oprirea transmițătorului | 1 | da | Controlerul ar trebui să trimită această comandă la terminal doar pe una dintre cele 2 autobuze redundante. Terminalul trebuie să-și inhibe emițătorul pe cealaltă magistrală și să răspundă cu un cuvânt de stare pe magistrala care rămâne activ. |
00101 | Anulați oprirea transmițătorului | 1 | da | Anulează comanda „oprirea transmițătorului”. Terminalul trebuie să răspundă cu un cuvânt de stare. |
00110 | Inhibați bitul de semnalizare terminal | 1 | da | Terminalul trebuie să seteze bitul 19 („Terminal flag”) la „0” în cuvintele de stare pe care le returnează (pentru a inhiba faptul că este defect) și trebuie să răspundă cu un cuvânt de stare. |
00111 | Suprascrierea inhibă bitul de semnalizare terminal | 1 | da | Anulează comanda „inhibare terminal flag bit”. Terminalul trebuie să răspundă cu un cuvânt de stare. |
01000 | Resetați terminalul de la distanță | 1 | da | După transmiterea unui cuvânt de stare, terminalul trebuie să repornească. |
10.000 | Transmite cuvânt vector | 1 | Nu | Terminalul trebuie să răspundă cu un cuvânt de stare, apoi să transmită un cuvânt de date care să conțină informațiile „informații despre cererea de serviciu” atunci când bitul cuvântului de stare omonim nu este suficient. |
10001 | Sincronizați (cu cuvânt de date) | 0 | da | În plus față de cuvântul de comandă, terminalul primește un cuvânt de date care conține informații legate de sincronizare. Terminalul trebuie să se sincronizeze (să reseteze ceasul intern și / sau să înceapă o secvență de sincronizare) și să răspundă cu un cuvânt de stare. |
10010 | Transmiteți ultima comandă | 1 | Nu | Terminalul trebuie să răspundă cu un cuvânt de stare, apoi să transmită un cuvânt de date care să conțină biții de informații 4 până la 19 din ultimul cuvânt de comandă primit. |
10011 | Transmite cuvântul BIT | 1 | Nu | Terminalul trebuie să răspundă cu un cuvânt de stare, apoi să transmită un cuvânt de date care să conțină rezultatul BIT (Built In Test) dacă terminalul conține o astfel de funcție. |
10100 | Oprire selectată a emițătorului | 0 | da | La fel ca comanda „oprirea transmițătorului”, dar când numărul de autobuze redundante este mai mare de 2. Numărul magistralei pe care transmițătorul trebuie inhibat este conținut în cuvântul de date care urmează comenzii. Terminalul trebuie să răspundă cu un cuvânt de stare. |
10101 | Înlocuiți oprirea selectată a transmițătorului | 0 | da | Anulează comanda „oprirea transmițătorului selectat”. Numărul magistralei pe care trebuie să fie dezactivat emițătorul este conținut în cuvântul de date care urmează comenzii. Terminalul trebuie să răspundă cu un cuvânt de stare. |
Sincronizare formează o „margine în creștere“.
DateAcest câmp corespunde datelor codificate pe 16 biți.
Cuvânt de stare (sau cuvânt de stare) SincronizareLa fel ca pentru cuvântul de comandă , sincronizarea formează o „margine descendentă”.
Adresa RTLa fel ca pentru cuvântul de comandă .
Mesaj de eroareTrebuie setat la 1 pentru a semnaliza că un cuvânt de date al cadrului primit nu a fost conform (paritate, număr de biți etc.) sau că comanda primită nu a fost conformă.
InstrumentaţieAr trebui setat la 0 în majoritatea cazurilor. Poate fi folosit pentru a diferenția cuvintele de stare de cuvintele de control.
Cerere de servicePermite terminalului să specifice că așteaptă o acțiune specifică definită în prealabil de la controler prin setarea bitului la 1.
Comandă transmisă primităTrebuie setat la 1 pentru a indica faptul că comanda anterioară era de tipul „broadcast”.
OcupatTrebuie setat la 1 de către terminal pentru a spune că nu poate procesa datele primite.
Steagul subsistemuluiAr trebui să fie setat la 1 dacă terminalul dorește să declare că unul dintre subsistemele sale este defect și datele "pot" să nu poată fi procesate corect.
Steag dinamic de acceptare a autobuzuluiFolosit pentru a răspunde la comanda „Dynamic bus control” setând bitul la 1.
Steag terminalTrebuie setat la 1 dacă terminalul dorește să se declare implicit. Trebuie inhibat (setat la 0) dacă terminalul primește comanda „Inhibare terminal flag bit”.
Cadrele sunt alcătuite din schimburi de cuvinte între BC și RT.
Când același BC sau RT transmite mai multe cuvinte consecutive, nu există spațiu sau decalaj între ele.
Timpul de răspuns la un cuvânt al unui RT trebuie să fie între 4 μs și 12 μs.
Distanța dintre cadre trebuie să fie de cel puțin 4 μs.
Pentru 2 ori menționate mai sus, durata se măsoară între tranziția HIGH / LOW din mijlocul celui de-al 20- lea bit al cuvântului precedent și tranziția HIGH / LOW a cuvântului următor al câmpului de sincronizare (mijlocul celor doi biți E ) .
Timpul de expirare a non-răspunsului este de 14 microsecunde, începând de la tranziția HIGH / LOW din mijlocul celui de-al 20- lea bit al ultimului cuvânt.
Dacă se primește o nouă comandă înainte ca RT să răspundă la precedent (e), ultima primită prevalează asupra tuturor celorlalte.
BC → transfer RTProcedură:
Procedură:
Procedură:
Schimburile se efectuează pe același principiu ca transferurile, cu sau fără date.
Schimburi de radiodifuziuneSchimburile se efectuează pe același principiu ca transferurile, cu excepția faptului că nu există un cuvânt de stare la sfârșitul trimis de un RT, pentru a împiedica toate RT-urile să încerce să o facă simultan.
Imaginea de mai jos oferă un exemplu al conceptelor explicate în secțiunile anterioare.
Astfel, putem vedea o cerere de transmisie (deoarece bitul 6 sau T în mov este la 1 în cuvântul de comandă ) făcute către RT adresată cu numărul 0x03.
Ultimii 5 biți (verzi) ai cuvântului de comandă conțin numărul de cuvinte care trebuie transmise de RT , aici 0x01, care corespunde efectiv cuvântului de date unic (în turcoaz, valoare 0x02) care urmează cuvântului de stare .
Observați diferența de amplitudine a semnalului între solicitarea BC și răspunsul RT . Această diferență se datorează poziției observației electrice pe autobuz. Suntem aici mai departe de BC decât de RT . BC Prin urmare , este primit cu o amplitudine mai mică decât RT .
DIGIBUS (sau Digibus) este echivalentul francez al standardului MIL-STD-1553
Este similar cu standardul MIL-STD-1553, are același concept de controler de magistrală, terminal de la distanță, monitor și aceeași rată de transmisie.
Principala diferență este că DIGIBUS separă fizic datele și comenzile. [1]
„GJV289A este echivalentul chinezesc al MIL-STD-1553 și GOST R 52070-2003 este echivalentul rus / sovietic al MIL-STD-1553. [2]