Visual walkthrough — MIL-STD-1553 — military avionics bus
5.5.28 · D2· Coding › Embedded Systems & Real-Time Software › MIL-STD-1553 — military avionics bus
Hum har symbol ko kamaenge. End tak aap timeline draw kar paoge aur kisi bhi message ka total time predict kar paoge, sirf is ek ka nahi.
Step 1 — Ek bit ek microsecond leti hai
KYA HAI. Bus data ko 1 Mbit/s ki speed se move karta hai. "Mega" matlab million, "bit/s" matlab bits per second. Toh ek second mein ek million bits wire se nikalte hain.
YE PEHLE KYU ZAROORI HAI. Baad ka har number sirf ek bit count hai jo ek bit ke time se multiply hota hai. Toh hume pehle woh one-bit time pakka karna hoga.
Agar ek second mein bits samati hain, toh ek bit ka time hai ek second ko ek million barabar hisson mein baatna:
- — ek single bit slot ki duration (jo hum solve kar rahe hain)
- upar wala 1 second — hamare time ki unit
- neeche wala 1,000,000 — kitne bits us second mein fit hote hain
- — "microsecond", ek second ka ek millionth ( s)
PICTURE. Neeche, ek second ek lamba bar hai jo million ticks mein kata hua hai; zoom in karo toh har tick bilkul chaudhha hai. Woh chaudhhaai hi hamare time ka atom hai.

Step 2 — Har bit ko beech mein ek edge chahiye (Manchester II)
KYA HAI. Har slot ke andar voltage flat nahi rehta — ye beech mein flip karta hai. Centre mein upar-flip = logic 1; centre mein neeche-flip = logic 0. Ye Manchester II hai (jise Biphase-L bhi likha jaata hai), exactly wahi variant jo MIL-STD-1553B mandate karta hai. Aage hum hamesha Manchester II bolenge — kabhi sirf "Manchester" nahi — kyunki sirf yahi variant har bit mein ek centre transition guarantee karta hai, jo woh property hai jis par neeche ki timing tiki hai.
YE TOOL KYU, PLAIN LEVELS KYU NAHI? Agar hum "1" ke liye wire ko sirf HIGH rakhte, toh 100 ones in a row 100 µs ka kuch na badlne wala waqt hota. Receiver ki clock, ye guess karte hue ki har bit kahan se shuru hoti hai, dheere dheere drift karti aur galat count karti. Hume ek guaranteed heartbeat chahiye. Toh sawaal ye hai: kaunsi encoding force karti hai ki signal har bit mein kam se kam ek baar badhe? Manchester II jawab deta hai — mid-bit flip mandatory hai, toh wire kabhi bhi aadhe bit se zyada der tak still nahi reh sakta:
- — bina kisi edge ke sabse lamba stretch (clock ke liye worst case)
- 2 se divide karna — kyunki Manchester II apna guaranteed edge bit ke centre pe rakhta hai; do adjacent centre-edges ek bit apart hain, lekin ek bit boundary jo flip nahi karti woh agle mandatory centre-edge se pehle zyada se zyada ek half-bit () ki flat line chhodti hai
PICTURE. Red trace dekho: data kuch bhi ho, har slot ke dead-centre pe ek transition aati hai. Clock recovery circuit un centre-edges ko ek metronome ki tarah pakadta hai.

Manchester II ek data bit ke liye ek spend karta hai — ye bit ki shape badalta hai, uski duration nahi. Toh Step 1 ki timing bilkul intact rehti hai.
Step 3 — 20 bit-slots ko ek "word" mein bundle karo
KYA HAI. Bits kabhi akele travel nahi karte. Bus unhe ek word mein group karta hai: ek 3-bit sync marker, 16 payload bits, aur 1 parity bit.
3 + 16 + 1 = 20 KYU? Beech wale 16 actual number hain (ek angle, ek velocity). Single parity bit ek self-check hai (Step 6). 3-bit sync ek deliberately illegal Manchester II pattern hai — 3 µs ek taraf hold kiya, jo normal data kabhi produce nahi kar sakta — toh receiver ko hamesha pata rehta hai ki ek word kahan shuru hota hai. Slots gino:
- 20 — ek word mein total bit slots (3 sync + 16 data + 1 parity)
- — seedha Step 1 se liya
- — koi bhi ek word bhejna, command, status, ya data, isme itna hi time lagta hai
PICTURE. Ek single ruler 20 µs lamba: left side pe ek mota sync block, seize chhote data slots, ek parity slot. Ye ek bar hi har message ki building brick hai.

Step 4 — Command word conversation shuru karta hai
KYA HAI. Bus Controller (BC) pehle bolta hai, ek command word bhejta hai jo batata hai ki kaun aage bolega aur kitna. Hamare example ke liye: address RT 5, T/R = 1 (transmit), subaddress 3, word count 8.
SIRF BC KYU SHURU KARTA HAI? Kyunki sirf ek node ko kabhi bhi initiate karne ki ijazat hai, zero collisions hote hain — koi aur jump in nahi kar sakta. Ye ek hi rule timeline ko predictable banata hai. Command exactly ek word ka kharcha karta hai:
PICTURE. Timeline ek 20 µs ke magenta block se khulti hai jis par "BC: CMD (RT5, xmit, 8 words)" likha hai. Iske baad sab kuch is block ka reply hai.

Step 5 — Response gap: ek mandatory pause
KYA HAI. Command khatam hone ke baad, addressed RT turant jawab nahi deta. Bolne se pehle ye ek response time wait karta hai. MIL-STD-1553B is response time ko 4 µs se 12 µs ki window ke roop mein specify karta hai (command ke mid-parity-bit se reply ke mid-sync tak mapa jaata hai).
EK WINDOW KYU, SINGLE NUMBER KYU NAHI? Alag alag RTs alag alag hardware se bane hote hain aur apna transceiver thodi alag speed se turn around karte hain. Spec ek value pin karne se mana karta hai; iske bajay ye guarantee karta hai ki reply mein kahin aayegi. Ye guarantee determinism ke liye kaafi hai — kyunki hum hamesha us window ke edge ke against plan karte hain jis ki hume parwah hai.
Worked example ke liye hum classic 8 µs follow karte hain taaki haara number parent note se match kare:
- — command aur reply ke beech enforced silence
- range 4–12 µs — spec window; scheduling proofs mein top (12) use karo, illustrations mein middle (8)
PICTURE. Command block aur baad ki sab cheez ke beech ek shaded "quiet zone" hai — flat line, koi edges nahi. Ye poore transaction ki ek maatra silence hai.

Step 6 — Reply: status word + data words, back to back
KYA HAI. RT 5 ek status word (uski acknowledgement + health report) ke saath jawab deta hai phir 8 data words (radar readings), inke beech koi gaps nahi.
PEHLE STATUS, PHIR DATA BINA GAPS KE KYU? Status word RT ka ye kehna hai "sun liya, main theek hoon, ye lo" — ye parity self-check aur error flags carry karta hai. Iske baad, data edge-to-edge stream hota hai kyunki koi bhi gap total length ko RT ki marzi par depend kar deta, determinism khatam kar deta. Toh reply ka cost hai ek status word plus counted data words:
- — word count jo command ne maanga; yahan
- pehla term — ek mandatory status word
- — payload, har data word ke liye ek 20 µs brick
plug in karo:
PICTURE. Gap ke baad: ek violet status block, phir aath orange data blocks ek saath jude hue — unke beech koi white space nahi.

Step 7 — Sab jodo: 208 µs total
KYA HAI. Charon pieces ko ek line pe end to end rakho: command, gap, status, data.
SUMMING KYU KAAM KARTA HAI. Kyunki koi collisions nahi hain aur koi variable pauses nahi hain, total sirf addition hai — poore standard ki sabse gehri property:
- 20 command · 8 gap · 20 status · 160 = 8 data words × 20 µs
- answer 208 µs — fixed, predictable, aur flight se pehle hi pata
PICTURE. Poori timeline ek strip ke roop mein, har region colour-coded aur length-labelled, saath mein running total right edge par 208 µs tak tichhti hui.

Step 8 — Edge & degenerate cases (kuch bhi undrawn nahi)
KYA HAI & KYU. Ek timeline jis par aap trust kar sako use apne corners survive karne chahiye. Unke chaar:
- (maximum message). Word count 5 bits ka hai, aur value encode karti hai 32 (sabse bada jo ek message carry kar sakta hai). Tab — still fixed, bas lamba.
- BC reads ki jagah writes (T/R = 0). BC command phir data words khud bhejta hai; RT sirf ek status word ke saath jawab deta hai. Word count ab gap se pehle hai, lekin arithmetic identical hai.
- RT kabhi jawab nahi deta (dead terminal).
Ab ek dead RT ke liye worked bound. BC command bhejta hai, poore timeout tak sunta hai, kuch nahi sunta, aur aage badh jaata hai:
- — command toh bheji gayi thi
- — RT ko silent declare karne se pehle bounded wait
- schedule sirf 34 µs baad aage badhta hai — dead RT ek healthy RT se kam time leta hai, aur number pehle se pata hota hai, toh koi deadline threaten nahi hoti.
- Ek parity bit fail ho jaaye.
BC kharab reply discard karta hai aur poora 208 µs dubara run karta hai. Design limit ke saath:
Worst-case latency badi hai, lekin still ek known ceiling hai. Determinism matlab bounded hai, constant nahi.
PICTURE. Chaar mini-timelines stack ki gayi hain: max-length, BC-write, no-response timeout, aur retry — har ek ka apna bounded total hai.

Ek-picture summary
Upar ki sab cheez, compressed: ek single bit () → ek word () → command + gap + status + data → 208 µs, edge cases usi skeleton se fan out karte hue.

Recall Feynman Retelling — ise ek story ki tarah batao
Bus ek walkie-talkie channel hai jahan sirf captain (Bus Controller) ko pehle bolne ki ijazat hai — toh do log kabhi ek saath nahi bolte. Time ko millionth-of-a-second slices mein kata jaata hai; woh ek bit hai. Har bit apne beech mein flip karti hai taaki listener ki clock kabhi kho na jaaye — woh Manchester II hai. Bees slices ek "word" banate hain, aur ek word hamesha 20 microseconds kharcha karta hai chahe woh kuch bhi kahe. Captain ek word bhejta hai — "Radar, mujhe 8 readings do" — phir ek chhoti, deliberate saans leta hai (4 se 12 microseconds; hum 12 se plan karte hain, 8 se illustrate karte hain) taaki radar uth sake aur mic pakad sake, aur phir radar ek "theek hai, main fine hoon" word ke saath reply karta hai plus 8 reading words, sab bina kisi pause ke jude hue. Add karo: 20 + 8 + 20 + 160 = 208 microseconds. Kyunki koi interrupt nahi karta aur koi pause fuzzy nahi hai, woh total plane ke zameen se udne se pehle hi decide ho jaata hai. Agar radio dead hai, captain ek fixed 14-microsecond timeout (total 34 µs) wait karta hai aur aage badh jaata hai; ek garbled reply captain ko dubara poochhne par majboor karti hai — 3 tries pe cap hai, toh zyada se zyada 624 microseconds. Kuch bhi kabhi surprise nahi hota, aur cockpit mein, koi surprises nahi hona hi poora point hai.
Recall Quick self-test
Bus par ek bit ki duration kya hai? ::: , bits se. Har bit apne beech mein kyun flip karti hai? ::: Manchester II har bit mein ek centre edge guarantee karta hai taaki receiver clock drift na kare; sabse lamba flat stretch hai. Koi bhi 1553 word kitna lamba hai aur kyun? ::: = 3 sync + 16 data + 1 parity bits, har ek . 208 µs ko uske chaar parts mein todho. ::: 20 (command) + 8 (gap) + 20 (status) + 160 (8 data words). -word transaction ka general formula do. ::: . Deadline proof mein kaun sa gap value use karte ho, aur demo ke liye kaun sa? ::: 12 µs (worst case) proofs ke liye; 8 µs (nominal, mid-window) illustration ke liye. Ek dead RT — schedule kitna bounded time khoata hai? ::: . Ek parity error aata hai — kya timing still deterministic hai? ::: Haan; design retry limit ke saath ceiling hai, aur ek jaani hui ceiling hi determinism ka matlab hai.
Dekho bhi: ARINC 429 aur CAN Bus (timing models se contrast), RS-485 Protocol (same wires, alag discipline — parent ka Mistake 1 dekho), Time-Triggered Architectures aur Real-Time Scheduling Theory (kyun ek bounded ceiling itni kimti hai), DO-178C Certification (kyun flight-proven timing jitti hai).