CAD konstruktion av höghastighetsbussar

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

CAD konstruktion av höghastighetsbussar

Inlägg av Rick81 »

Håller på med en konstruktion där jag behöver designa följande bussar:
* Minnesbuss - 32 bitars på 100-133 MHz
* USB - USB2 480 Mbits/s
* SDIO - 100 till 200 MHz på 1.8 V

Skulle behöva lite vägledning vad gäller beräkning av impedanser, ledarlängder, ledartjocklek med mera.

Jag använder Eagle som CAD program.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: CAD konstruktion av höghastighetsbussar

Inlägg av xxargs »

Börja med vad kretstillverkarna har att säga om saken - ofta kan läsas i deras datablad och i deras appnötter.

för impedanser för kretskort kan man hitta en rad kalkylatorer vara en av många tex. fanns på http://www.multek.se/index.php?page=mic ... -impedance. för flertal geometrier inklusive parledare (lane) på yta eller inuti kretskort - flertalet av internets förekommande 'calculatorer' dem har ofta samma ekvation bakom sig.

Ha koll på om det är stripline (ledare i kretskort mellan 2 jordplan) eller microstrip (ledare på ytan mot en jordplan)- det är olika saker beräkningsmässigt - gäller också när du hoppar mellan microstrip och stripline - att varje delsträcka måste räknas separat, via-hålen bör göras impedansmatchat etc.

för databussar som USB så är de dataledar-par - lanes med impedans av 100 Ohm oftast mellan ledarparet, de flesta externa signalkablar som kopplas in brukar ligga i området 90 - 120 Ohm med 100 Ohm som den vanligaste värdet.

när det gäller databussar så måste man hålla de elektriska längderna lika för samtliga ledare inom bussen - därav 'tarm'-paketen man kan se ibland där man måste knöla ihop överbliven längd - där kompliceras saken av att varje böj och vinkel och lägga i serpentin trögar ned signalens våghastighet och även skjuter ledarens impedans en smula och kompenceras med annan ledarbredd och avkortning av totala längden - kort sagt en EM-simulering kan behövas, alternativt mätning med VNA eller flera prototyp-vändor. Kolla också impedanserna som gäller för dem och max rekommenderade ledaravstånd - vid 200 MHz så börja decimetrar vara långa sträckor ur vågmässig perspektiv och missanpassningar och reflexer av dem kan spela stora spratt...

försök och se om du kan låna/hyra en VNA av labratorie-modell (tänk hp8753 och motsvarande modernare - med kablar och kalibrerings-kit) i samband med utvärderingen - hobbyversioner av det är ofta inte tillräckligt bra för detta
eljonas
Inlägg: 79
Blev medlem: 28 maj 2009, 16:57:25
Ort: Täby

Re: CAD konstruktion av höghastighetsbussar

Inlägg av eljonas »

Du vill bli kompis med nån som har Mentor, Cadence eller Altiums simuleringsverktyg för att ro iland denna design - särskilt om du förväntar dig att klara kraven på tillåtna radiostörningar ("utstrålad emission").

Kolla lite "signal integrity"-klipp på youtube som inspiration.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: CAD konstruktion av höghastighetsbussar

Inlägg av lillahuset »

Om du är villig att betala kan jag fråga en kompis i Hälsingland som är duktig på sådant om han kan hjälpa dig.
Användarvisningsbild
Klas-Kenny
Inlägg: 11328
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: CAD konstruktion av höghastighetsbussar

Inlägg av Klas-Kenny »

Ärligt talat - det är inte så jäkla svårt.

Håll minnesbussen så kort som möjligt. Beräkna lämpliga ledarbredder enligt tipsen som getts och håll dem. Sedan säger du till PCB-tillverkaren vilka ledare som ska impedansanpassas till vilken impedans så fixar de det sista lilla (justerar ledarbredder om så behövs), bara du kommit i närheten. Enklaste brukar vara att inte göra några andra ledare i samma tjocklek, och sen specar "alla 0.11mm ledare ska impedansanpassas till 50ohm" eller liknande.
Se till att ledarna aldrig lämnar sitt referenspris, då går anpassningen åt skogen. Tänk på placeringen av termoneringsmotstånd där inte ODT används.

Läs på om hur man kan dela upp de olika ledarna i grupper för längdmatchningen i minnesbussen, underlättar ofta designen en aning.
Brukar försöka hålla längderna inom ett par tiondels millimeter ifrån varandra, glöm bara inte att räkna med viahålens längd när du går mellan lager, om inte cad-programmet räknar med det.

USB är ju enkelt, bara ett enda par. Räkna fram ledarbredd och avstånd, sen se till att dra paret helt parallellt hela vägen (förhoppningsvis har programmet stöd just för diff-par) och om ena ledaren blir lite längre än den andra får du lägga till lite serpentiner på den korta ledaren.

På jobbet har vi aldrig använt simuleringsprogram eller dylikt, enda gången jag hört om problem så har det visat sig ha varit PCB-tillverkaren som gjorde fel i impedansanpassningen.
Visst vi gör inget med extrema hastigheter, men minnesbussar på några hundra megahertz är inget konstigt eller ovanligt. Likaså USB etc.
limpan4all
Inlägg: 8208
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: CAD konstruktion av höghastighetsbussar

Inlägg av limpan4all »

Gör ALLT som 50 Ohm stripline!
OM det är en ledare som ingår i ett 100 Ohm differentiellt par så kan de ingående ledarna fortfarande göras som 50 Ohm stripline men då SKALL dom längdmatchas, 300mm är 1 ns, 0,3mm är 1 ps sedan är det bara att räkna ut hur mycket längdmatchningsfel man "tål". Det är väldigt mycket lättare att göra striplines med 50 Ohm än äkta 100 Ohm differentiella par som inte varierar i impedans beroende på komponenter anslutningar mm.
Lägg första och sista innerlagret till GND och dra INGA ledare där, låt nästa lager vara matningsspänningarna om du planerar att göra 8-lagerskort eller mera. För 6-lagerskort så blir innerlager 1 GND innerlager 2 matningsspänning. Plankapacitancen är mycket viktig slarva inte bort den. Avkopplingskondensatorer kan ligga betydligt längre bort från komponenterna än vad man tror (och databladen säger) om viahålet till plankapacitancen är gjord på rätt sätt.

Ladda ner Right the First Time av Lee W. Ritchey http://www.thehighspeeddesignbook.com/ Och läs den noga, där finns skitmycket äkta kunskap inhämtad från verkligheten. :)
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: CAD konstruktion av höghastighetsbussar

Inlägg av Rick81 »

Många bra tips!!!!

Kan du förtydliga dessa?
Se till att ledarna aldrig lämnar sitt referenspris, då går anpassningen åt skogen. Tänk på placeringen av termineringsmotstånd där inte ODT används.



Datablad hjälper inte så mycket då minnesbussen ska vara mellan en FPGA och en STM32H7 via FMC, dvs inte direkt mot ett RAM minne.


Denna är jag inte riktigt med på?
Plankapacitancen är mycket viktig slarva inte bort den

Vad gäller EMC: kan man använda kondensatorer för att "mjuka upp" de digitala signalerna? Hur beräknar man detta värde utan påverka signalen?
E Kafeman
Inlägg: 3260
Blev medlem: 29 april 2012, 18:06:22

Re: CAD konstruktion av höghastighetsbussar

Inlägg av E Kafeman »

Man kan ofta använda kondensatorer för att snygga till stigtider och ringningar men kretsen bör ha symmetrisk drivning och dels bildar kondensatorerna en ström-loop vilen kan ge nya EMI-problem.
Enklaste sättet att minska storleken på strömloopen är att placera kondensatorerna så nära signal-källan som möjligt.
Vidare kan kondensatorn på signal-ledaren skapa ström-transienter som kretsen hämtar ström till via Vcc som sedan högfrekvent rycker i en lång PCB-ledare med ännu större EMI-problem som följd.
Därför måste man vara extra uppmärksam på att avkopplingen av Vcc är minst lika bra ut HF-synpunkt och det är i den änden man bör börja om man befarar EMI-problem innan man börjar dämpa signalledningars stigtider.
Det går dock få väldigt bra resultat. Har bl.a. gjort så på grafik-kretsar med gott resultat.
Har varit i kontakt med flera chip-tillverkare angående att det på något sätt skulle överlasta portar men det verkar inte vara något problem alls.
Det är t.o.m. så att det kan sänka chip-temperaturen då kondensatorn termiskt leder bort värme till jordplanet.
I sammanhanget är det måttligt stora kondensatorer och EMI-problem på fler hundra MHz som ska åtgärdas utan att flanker fördröjs så mycket att det blir synk-problem.
Användarvisningsbild
Klas-Kenny
Inlägg: 11328
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: CAD konstruktion av höghastighetsbussar

Inlägg av Klas-Kenny »

Rick81 skrev:Kan du förtydliga dessa?
Se till att ledarna aldrig lämnar sitt referenspris, då går anpassningen åt skogen. Tänk på placeringen av termineringsmotstånd där inte ODT används.
Referensplanet är det kopparplan du beräknar impedansen emot, förslagsvis jord eller matningsspänning.
Som föreslaget, ska du göra ett fyrlagerskort så rita signalledare i ytterlagren, sen ett jord- och ett matningsplan där du fyller med koppar. Dessa är då dina referensplan.
Många gånger kan ju matningsplanet vara uppdelat på ett antal olika matningsspänningar, och kanske att man drar någon enstaka signalledare eller matningsledare i det planet för att man "måste". Även viahål kan skapa gap i planen. Det som då ska undvikas är att dra impedansanpassade ledare över en annan ledare eller utanför matningsplanet.

Tex. här, finns ett par dumheter inringade:
layout.PNG
Nu kan jag avslöja att den där layouten fungerar fint ändå i praktiken, men man bör undvika att göra så.

Och ODT = On Die Termination
Alltså, att termineringsmotstånden är inbyggda i respektive krets (processor och minne) vilket är väldigt vanligt, särskilt vid tvåvägskommunikation.
Men om man inte har dem inbyggda, så skall de ju placeras i *änden* på ledaren, inte någonstans mitt på.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
eljonas
Inlägg: 79
Blev medlem: 28 maj 2009, 16:57:25
Ort: Täby

Re: CAD konstruktion av höghastighetsbussar

Inlägg av eljonas »

Avkopplingskondensatorer är induktiva vid de frekvenser du pratar om, minnesbuss på 100MHz har betydligt snabbare stigtid även på 15 år gamla kretsar. Kvarstår som avkoppling är då enbart kapacitansen mellan jord och matningsplanen.

Om du är mån om att minimera radiostörningar så påstås det ibland att det skulle gå att avsiktligt missmatcha ledarlängder något - men i praktiken så lär den huvudsakliga delen av radiostörningar komma just från referensplansslitsar eller annan impedansmissanpassning.

Ni har väl inte missat underbara Bell labs Similarities of Wave behaviour? En underbar halvtimmes njutning. Ses kanske inte i sällskap som inte är vågrörelseintresserad! ;-)




Sent from my SM-N910F using Tapatalk
E Kafeman
Inlägg: 3260
Blev medlem: 29 april 2012, 18:06:22

Re: CAD konstruktion av höghastighetsbussar

Inlägg av E Kafeman »

>Avkopplingskondensatorer är induktiva vid de frekvenser du pratar om, minnesbuss på 100MHz har betydligt snabbare stigtid även på 15 år gamla kretsar.

Kondingarna blir induktiva är man går över SRF, ja, men det får man hantera.
Bussar jag brukar drabbas av har oftast med industriell data-insamling att göra med höga taktfrekvenser och udda lösningar. 1Gs/s, 500MHz är närmast minimi-standarden nu för tiden.
Det är inga kretsar jag designar utan fixar bara till dom ur EMI-synpunkt.
Typvärden av kondingar brukar vara 0,1 - 10 pF. Använder mest vanliga Murata GRM 0201. SRF för 10pF ligger då på 3GHz, 0.1 pF 22GHz samt matchande induktanser.
Det är oftast självreglerande, de kondingar&induktanser som är lämpliga att åtgärda ett högfrekvent problem är oftast små värdemässigt. Arbetar med diskreta kondingar och induktanser upp till 20GHz men mer smalbandigt riktade riktade insatser är upp till 7-8GHz, vanligen för att ta hand om övertoner. På högre frekvenser så går det oftast hitta andra lösningar.
Övre gränsen för användning sätts inte av ifall kondensatorn roterat sej till att bli en induktans på Smith-diagrammet utan av hur bra och högfrekventa S-parametrar som finns för aktuell komponent.

Har möjlighet att via VNA i mätprogram live lägga på virtuella S-parametrar för ett stort bibliotek med diskreta komponenter och dynamiskt optimerade topologier så det händer att man använder komponenter bortanför dess SRF bara för att det är den komponent vars S-parametrar gör jobbet bäst.
När man funnit optimala virtuella komponent-värden är det bara att löda in komponenterna och verifiera resultatet.
Nackdelen med att använda komponenter på detta sättet är att man inte kan ersätta dom med annan typ eller fysisk storlek och förvänta sej samma resultat.

Den mest hysteriska bussen som jag masserat med vanliga kondingar och motstånd var en AD-krets från TI, LM97600, 5Gs/s, 50Gb/s för hela bussen.
Det ska nog gå bra använda kondensatorer även vid 100 MHz.
Skriv svar