Aap parent SpaceWire note padhne se pehle, har wo symbol apna banana padega jo wahan aata hai. Hum har ek ko scratch se banate hain, ek aisi order mein jahan har idea apne pehle wale idea pe lean karta hai.
Ek light switch imagine karo. Off = 0, on = 1. Yahi poora alphabet hai jo ek wire samajhta hai.
Figure dekho: time left se right chalti hai, aur wire ka voltage ek line ke roop mein draw hai jo high (1) ya low (0) par baith ti hai. Har grey column ek bit period hai, apne bn value ke saath label kiya gaya. Ye picture woh stage hai jis par baaki sab kuch hota hai.
Figure mein, parallel bus (upar) ko 8 wires side by side chahiye; serial link (neeche) ko ek chahiye. Spacecraft par har wire mass (fuel cost) add karti hai aur har wire ek aur cheez hai jise cosmic ray corrupt kar sakti hai. Parallel wires mein bhi skew hoti hai: wire 3 wire 5 se thodi lambi ho sakti hai, toh unke bits thodi alag timing par arrive karte hain aur receiver ek garbled byte pakad leta hai.
Ek wire ek voltage carry karti hai — ise paani ke pressure ki tarah socho. High pressure = 1, low = 0. Lekin space mein, radiation aur electrical noise ek single wire par extra "pressure" daalta hai aur reading flip kar deta hai.
Figure mein wire+ upar jaata hai jabki wire− neeche jaata hai. Unka difference (bottom trace) clean hai even after ek noise spike dono par aata hai. LVDS (Low Voltage Differential Signaling) woh specific low-power, low-voltage flavour hai jo SpaceWire use karta hai. "Low voltage" ka matlab hai chote swings → kam power (~10 mW per link), jo matter karta hai jab solar panels aapka sirf ek outlet hain.
Figure ko upar se neeche trace karo: Data unhi bit boundaries par change hoti hai jahan value change hoti hai; identical bits ki ek run par (Data ka flat stretch dekho), Strobe slack uthata hai aur balke toggle karta hai. Bottom trace (unka XOR) har column mein ek edge produce karta hai — wahi tumhara recovered clock hai.
XOR ticks deta hai, lekin power-up par (ya ek glitch ke baad traffic rok deta hai) receiver ko un ticks par lock karna padta hai kisi bhi bit par trust karne se pehle.
Yahan startup sequence hai, step by step:
Edges dekho. Bina traffic ke, dono lines idle hain. Pehli cheez jo receiver karta hai wo hai do lines par kisi bhi transition ko dekhna — har transition ek recovered-clock tick hai.
Tick recover karo, phir middle tak delay karo. Ek transition ek bit boundary mark karta hai. Exactly boundary par sampling karna dangerous hai (value settle ho rahi hai), toh receiver har tick ke baad lagbhag half a bit period wait karta hai aur wahan Data sample karta hai — sabse safe, sabse stable point.
Pehle NULLs bhejo (kabhi data nahi). Link start par, dono ends NULL control characters (Section 7 mein defined) ki ek stream transmit karte hain, real data nahi. NULLs ek fixed, known pattern hain, toh receiver confirm kar sakta hai "Main ek sensible, repeating pattern padh raha hun → mera sampling phase sahi hai" koi bhi payload flow hone se pehle.
Handshake aur chalo. Jab ek baar har end achhe NULLs ki ek steady run dekhta hai (correct parity, expected bits), link khud ko connected declare karta hai, flow-control credit exchange hoti hai, aur real characters follow ho sakte hain. Ye staged start isliye hai ki SpaceWire safely hot-swappable hai — tum ek live cable plug kar sakte ho aur ye cleanly re-synchronize ho jaata hai.
Packets se pehle, SpaceWire bits ko characters mein group karta hai — sabse chota unit jo link actually frame aur send karta hai. Har character ek parity bit aur ek data-control flag bit se shuru hota hai jo batata hai kis tarah ka character ye hai.
Toh poora character alphabet hai: data bytes, FCT, EOP, EEP, ESC, aur NULL (= ESC+FCT-code). Control characters chote hain (parity + flag + 2 bits); data characters lambe hain (parity + flag + 8 bits).
R har second mein bheje gaye bits ki count hai; bit period 1/R seconds hai — woh time jitna ek bit wire par occupy karta hai.
Symbol bn ka kya matlab hai?
Bit value (0 ya 1) jo bit period n mein bheji gayi; b0 pehla bit hai, b1 doosra, aur aage aise.
SpaceWire ne parallel ki jagah serial kyun use kiya?
Kam mass, koi inter-wire skew nahi, kam failure points — ek wire faster kai wires ek saath se behtar hai.
Clock edge (tick) kya hai?
Wo instant jab signal low→high ya high→low change hota hai; receiver usi instant ka use karta hai ye decide karne ke liye kab bit padhni hai.
Differential/LVDS signaling kya defeat karta hai?
Common-mode noise (jaise radiation glitches) — wo dono wires par padhta hai aur difference mein cancel ho jaata hai.
a⊕b kaunsa sawaal answer karta hai?
"Kya ye do bits alag hain?" — output 1 agar alag hain, 0 agar same hain.
Overbar x kya karta hai?
Bit flip karta hai: 0=1, 1=0.
Byte 0xA7 ke liye, saate aath bits ka XOR kya hai?
1 (wahan paanch 1s hain, ek odd count).
X=D0⊕⋯⊕D7 given, even aur odd parity bits kya hain?
Peven=X aur Podd=X.
Simple parity kaun sa error FAIL karta hai detect karne mein?
Bit-flips ki koi bhi even count (jaise double error) — ones ki count unchanged hai toh parity theek lagti hai.
Transmitter Strobe kaise compute karta hai?
Strobe(n)=Strobe(n−1)⊕(Data(n)⊕Data(n−1)) — Strobe tab toggle karo jab Data same rahi.
Strobe recurrence ke liye seed (initial condition) kya hai?
Pehle bit se pehle idle par, Data(−1)=0 aur Strobe(−1)=0, toh Strobe(0) well-defined hai.
Receiver clock kaise rebuild karta hai?
RecoveredClock=Data⊕Strobe, har bit mein ek tick.
Receiver startup par sync kaise karta hai?
Ye edges watch karta hai, har tick ke baad ~half a bit period sample karta hai, aur koi bhi data flow hone se pehle known NULL characters ki stream par phase lock karta hai.
Data-control flag bit kya hai?
Ek leading bit: flag=0 matlab ek data character (8 payload bits follow hote hain); flag=1 matlab ek control character (2 control-code bits follow hote hain).
Control characters aur NULL ke naam batao.
FCT (code 00), EOP (01), EEP (10), ESC (11); NULL = ESC followed by FCT-code, idle ke roop mein bheja jaata hai.
EOP aur EEP mein fark kya hai?
EOP = packet ka normal end; EEP = packet ek error ki wajah se khatam hua.
Ek FCT kya grant karta hai?
8 data characters ke liye credit.
Link full rakhne ke liye kitna buffer chahiye ye kya set karta hai?
Round-trip time (RTT) — credit cable ke across wapas travel karni padti hai.