Brukar ni längdanpassa differensledare?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2441
Blev medlem: 5 september 2019, 14:19:58

Brukar ni längdanpassa differensledare?

Inlägg av DanielM »

Nyfiken fråga!

Brukar ni längdanpassa differensledare?
Jag har alltid hört att man ska göra detta för höga frekvenser. D+ och D- skall alltid vara lika långa och man ska utöka vid böjar.

Men enligt Rick Hartley från Altium som verkar ha offrat hela sitt liv för forskning inom differensledare. Han säger att man behöver inte längdmatcha differensledare då behovet inte finns.

Han säger själv att han har dragit differensledare vid 10 GHz utan att ha längdanpassat ledarna och det har alltid fungerat alla gånger.

Håller ni med?

Se vid 45:00
E Kafeman
Inlägg: 3624
Blev medlem: 29 april 2012, 18:06:22

Re: Brukar ni längdanpassa differensledare?

Inlägg av E Kafeman »

Tror de flesta som håller på med detta vet vad som händer, kan teorin.
Rick's påstående belyser inte helheten.
Tror inte Rick Hartley jobbar för Altium. Han var nog inbjuden konsult-talare och det var nog Altium-folk liksom många vanliga konstruktörer som ansåg att han pratade i nattmössan. Vilseledande genom att inte ta upp hela anledningen till varför man längdmatchar.

Vad Rick säjer är att det går bygga fungerande hus även om plankorna man sågar avviker någon centimeter hit och dit.
crooked house.png
Jo så är det inom vissa marginaler. Men man offrar annat. Det kan bli både dragit och läckande och dörrar och fönster går kanske inte stänga.
Jag skulle tveka att anlita snickare med det resonemanget.

Längdmatchning beror på vilken typ av signal hur känsligt det är att den ska fungera under olika svåra kringmiljöer och åldring av gränsparametrar.
Det finns många aspekter förutom att tids-differens mellan ledarna korrumperar data.
Det beror även på hur bra impedansmatchningen är för t.ex. ett ledarpar dragna på PCB.
Ledarlängden ger i sej impedanstransformation och man kan få två ledare med olika impedans i slutänden vilket inte är så lyckat. Man brukar ha som riktmärke max 0.1 våglängd längd-differens,
Absolut värsta längd-differensen är en halv våglängd i det avseendet.
För FR4 10GHz är det 15*0.66= 10 mm.
Problemet maxas varje hel våglängd.
Det är absoluta fakta, inget som Rick kan påverka även om han sluppit undan problem i sina designjobb.

Det kan fungera vid större avvikelse men det är bara dåligt designjobb att tulla på olika gränser. Det kan fungera vid provkörning och sedan fallera när kretsen och dess omgivande parametrar åldrats några år.

För att nämna några andra parametrar, EMI-problematiken kan öka drastiskt för mindre avvikelser och olika ledarlängd ger olika förluster, i synnerhet om man kör 10GHz data på FR4, vilket i sej kan vara en utmaning utan att addera andra vingel-toleranser.

Rick försöker få det att framstå som att mindre avvikelser har ingen betydelse, vilket visar mer var han lägger sin kvalitetsribba vid design-jobb och kanske vilseleder andra till att tro att det alltid är sant.
Eller tyckte han det blev klatschigare att förenkla med detta uttalande utan att nämna något om andra egenskaper som kan påverka så att längdavvikelsen gör att man kommer några steg närmare att data inte alltid överförs felfritt.

Varje extra längd, varje dåligt matchad längd ger sämre marginaler för att kretsen ska fungera.

Det är en avvägning hur man fördelar en viss mängd design-jobb. Att överdriva energin man lägger på ett del-problem för att sedan inte hinna med andra parametrar är ofta dåligt koncept. Ofta vet man vad som är mer kritiska delar i en krets och på vilket sätt de är kritiska och därför lägger mer jobb på dessa delar.
Skulle det kräva stora offer på andra delar av designen om man försöker hålla två ledare lika långa för något där man vet att marginalerna är goda ändå, så kan man lägga mindre energi på den delen.

Nu är det ändå ytterst ovanligt att det är svårt att organisera routing från D+ och D- från ett chip till ett annat chip då det ändå är pinnar jämte varandra som ska förbindas till ett pinpar på ett annat chip. Annan routing behöver inte offras för att dra dessa två ledare lika vettigt som man kan dra en ledare mellan dessa pinnar.

Har man möjlighet så gör man så bra designjobb som möjligt även om kretsen eventuellt kan fungera vid sämre marginaler.
Det är inget fel att designa något som har bättre funktionsmarginaler.
Inte se till helheten, det är mer Ricks förenklade standard. Det finns inget som stödjer att mindre längdskillnad skulle sakna betydelse.

Mer korrekt är att längdskillnad alltid ger sämre marginaler. Data-överföringen fungerar då endast om det finns marginaler att utnyttja. Marginaler kan minska i efterhand bl.a av ålder, degenererande kretsar eller elektriskt störig miljö.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Supersnigel
Inlägg: 92
Blev medlem: 4 november 2011, 13:11:52
Ort: Mölnlycke
Kontakt:

Re: Brukar ni längdanpassa differensledare?

Inlägg av Supersnigel »

Riktigt bra och utförligt svar.
Brukar i slutändan spara tid att lägga några minuter extra på regler för diffpar och längdmatchning och kanske slippa dagar extra i EMC-labbet eller i värsta fall extra iterationer på designen.
DanielM
Inlägg: 2441
Blev medlem: 5 september 2019, 14:19:58

Re: Brukar ni längdanpassa differensledare?

Inlägg av DanielM »

Men allt beror på hur start och slut ser ut?

Om man har en lång S diff så tjänar man inget på att införa extra längder. Risken är stor att man saboterar impedansen.

Om man har en U diff och sedan ett uppochner vänt U så kommer diffen vara lika långa. Dock inte överallt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47013
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Brukar ni längdanpassa differensledare?

Inlägg av TomasL »

Nej, du saboterar inte impedansen.
Eftersom du inte själv kan få impedansen korrekt, så måste din korttillverkare fixa det.
DanielM
Inlägg: 2441
Blev medlem: 5 september 2019, 14:19:58

Re: Brukar ni längdanpassa differensledare?

Inlägg av DanielM »

Om vi tar till exempel detta.
Man kommer aldrig få perfekt exakt lika långa. Om man skulle få en symmetrisk differentialledare så kommer ändå hastigheterna vara snabbare i den innersta böjen.

Denna ledare är:
  • DDR0_DQS0_N 31.586 mm
  • DDR0_DQS0_P 31.545 mm
Väldigt nära varandra. Helt klart godkänt. Men frågan är...blir den bättre om jag gör lite extra böjar vid innersta böjarna?

Skärmbild 2025-08-19 202808.png
Denna är betydligt mycket bättre. Men ändå så kvarstår fortfarande att vid U-börjarna så kommer hastigheten alltid vara snabbare i den innersta kretsen.
  • DDR0_DQS0_N 31.562 mm
  • DDR0_DQS0_P 31.545 mm
Skärmbild 2025-08-19 204147.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar