Spørgsmål:
Hvad er nogle 'gotchas' med højfrekvent kortdesign?
Steve
2009-11-28 03:09:38 UTC
view on stackexchange narkive permalink

Jeg vil gerne designe et printkort til en analog loopcontroller .. noget med en A / D, D / A og processor om bord. (Enten DSP eller FPGA, det har jeg ikke besluttet.) Da dette skal modulere analoge signaler ved 10 kHz, skal det være en ret hurtig processor.

Fra hvad jeg forstår, design af et kort til processorer, der kører over 150 MHz eller deromkring kan være meget udfordrende på grund af RF-problemer. Hvad er nogle råd, du kan give i design af en sådan tavle? Hvilke problemer på grund af layout kan opstå? Er der gode online ressourcer, der har videnbaser til dette?

Tak.

Er du sikker på, at du har brug for så meget behandlingshastighed? 10 kHz lyder ikke for hurtigt. Måske er noget som en ARM7 eller dsPic tilstrækkelig.
afhænger af kontrolsløjfens detaljer og krav: fasemargen påvirkes af latenstiden fra input til output fra kontrolalgoritmen. Hvis signalbehandlingen er kompliceret, vil det tage flere cyklusser, end hvis det er simpelt. Hvis fasemarginkravene er strenge, har du mindre tid til rådighed. Bedre at designe et kort med lidt overskud af CPU-effekt end at designe et kort med lidt underskud, da du altid kan gøre tingene langsommere.
tak, det er sandt, timing er kritisk i denne applikation. Jeg ville ikke komme ind i det, men faktisk skal output beregnes inden for en prøve, så ventetid er nøglen.
Steve: Det er ret vanskeligt ikke at beregne output i tide for en prøve, da det betyder, at du ikke længere er i realtid og ikke vil være i stand til at kontrollere noget.
Seks svar:
#1
+14
Clint Lawrence
2009-11-28 05:14:09 UTC
view on stackexchange narkive permalink

Hvis du er interesseret i digital digitalhastighed, skal du hente en kopi af High Speed ​​Digital Design.

Nøglepunkter:

  • den vigtigste afgørende faktor for dit kredsløb er stigningstiden for logikken. Selvom du kører med en langsom hastighed, kan hurtige kanter skabe problemer.
  • Den maksimale stigetid for dit system giver dig derefter den kritiske længde på dit kredsløb. I det væsentlige, hvis udbredelsesforsinkelsen af ​​dit signal over kredsløbets længde er længere end signalets stigningstid, skal du bekymre dig om designets højfrekvente aspekt.
  • Hvis det viser sig at være kritisk længden er kortere end kredsløbslayoutet, så skal du bruge kontrolleret impedanslayout. Dette inkluderer:
    • Sporgeometri (sporbredde og højde over et jordplan) for at give kredsløbet en defineret karakteristisk impedans.
    • Afslutning af drivere og / eller modtagere med linjens karakteristiske impedans.
Jeg har fået denne bog, den er helt fantastisk. Jeg er kun på kapitel 3, men de første tre kapitler har begge lært mig nyt materiale og fået mig til at tænke på materiale, jeg kender på forskellige måder.
Næsten et kvart århundrede senere er en håndbog med sort magi stadig det endelige stykke litteratur om emnet.
#2
+7
ajs410
2010-05-07 21:37:32 UTC
view on stackexchange narkive permalink

Brug et fuldt jord- og kraftplan. Bypass-hætter er begrænset af induktans, som for det meste bestemmes af pakningsstørrelse, spor og vias. Så vælg den mindste pakkestørrelse, som du kan arbejde med, og vælg derefter den største kapacitans, der ikke bryder dit budget. Hvis du har brug for mere omgåelse, skal du gå op i en pakkestørrelse eller to og få den største kapacitans i den pakke. Når du tilslutter hætten til jorden / el-flyet, skal du bruge to viaer på hver side af hver pad. vias + cap vil ligne en H.

At dele flyene kan hjælpe med at isolere de analoge og digitale sektioner. Kryds aldrig et delt plan med et signalspor !!! Hold signaler væk fra kanten af ​​tavlen. Hold signaler mindst 2x sporbredde fra hinanden for at forhindre krydstale (simulationer er nyttige her). Hold signaler 5x sporbredde væk fra meget støjende signaler (dvs. ure) eller ekstremt følsomme signaler (dvs. analoge indgange). Brug jordede beskyttelsesspor omkring støjende / følsomme signaler, hvis det er nødvendigt. Undgå vias og stubs med støjende / følsomme signaler.

Ideelt set skal du give en jordledning pr. Signal i et stik. Afslut stiksignaler, fordi de kan lide at spytte EMI. Ferritperler omkring ledningen kan også hjælpe med støj fra stikket. Undgå, at signaler går under stik.

Jordplanet giver dig mulighed for at oprette mikrostripspor, som har en veldefineret impedans. Du kan også bruge termineringsmodstande, hvis dit spor er langt. Jeg tror, ​​at den generelle tommelfingerregel er for hver nS af stigetid, du kan gå 2,5 "uden en afslutningsmodstand.

Brug IBIS-simuleringer til at afgøre, om du har brug for afslutningsmodstande. Moderne FPGA'er har gode tricks til dette slags ting; de kan styre deres outputdriverstyrke, nogle gange endda med en "digitalt kontrolleret impedans" (Xilinx-betegnelse for teknologien). IBIS-simuleringer hjælper også her, når vi finder ud af den passende drevstyrke.

Tjek Dr. Howard Johnsons enorme liste over High Speed ​​Digital Design nyhedsbreve. Virkelig fantastisk. http://www.sigcon.com/pubsAlpha.htm

#3
+5
todbot
2009-11-28 03:17:30 UTC
view on stackexchange narkive permalink

Jeg ved meget lidt om layout med høj hastighed. Men de tre almindelige ting, jeg har hørt, er: Undgå rette vinkler for signalspor (de forårsager refleksioner), har et jordplan over så meget af dit kredsløb så meget som muligt, og del dit kort for at have lignende signaltyper (lav- hastighed digital, højhastigheds digital, analog) til forskellige områder med "choker point" i dit jordplan for at minimere interferens.

Hvad angår gode online ressourcer, kan jeg forestille mig databladene & appnoterer til DSP eller FPGA, du overvejer, har nogle gode tip. Jeg kan huske, at Xilinx havde gode ting.

Undgå rette vinkler --- mener du bogstaveligt talt at lave afrundede hjørner på spor? (Medmindre det kan være en lige linje antager jeg.)
Jeg tror, ​​han mener, at du kan have vinkler bare ikke 90 grader. Jeg har ikke set nogen afrundede hjørner, godt, i lang tid. Men hvis du ser på bundkortet på din pc, vil du også se, at alle hjørner er meget mindre end <90 grader. Hvis linjen skal gå 90, bliver den ofte opdelt i, måske nogle få 30 graders vinkler
To hjørner på 45 grader er typiske. Men at bruge transmissionslinjespor og korrekt afslutning er vigtigere end hjørnetypen. Hvis du ikke har afbrudte transmissionslinjer, vil forskellige hjørnetyper ikke gøre nogen forskel.
to 45 graders vinkler er meget almindelige, da de i et spor har fremragende matchende egenskaber. Jeg finder en vejledning senere, der forklarer, hvilke designovervejelser der skal tages i betragtning for at gøre dette ordentligt.
I dag stødte jeg på nogle automatiske rutesoftware, der ikke bruger infact-kurver. http://www.eremex.com/products/topor/competitiveadvantages/uniquefeatures.html
re: Xilinx, jeg tror du mener xapp623. http://www.xilinx.com/support/documentation/application_notes/xapp623.pdf
"Ingen retvinkler" har vist sig at være en myte, medmindre du opererer i 10'ere GHz-land ... for eksempel http://www.ultracad.com/articles/90deg.pdf
#4
+5
Jason S
2009-11-28 10:56:06 UTC
view on stackexchange narkive permalink

For at adressere din applikation i stedet for det spørgsmål, du stillede direkte (de andre svar har talt om dette):

10 kHz DSP til en loop-controller er ikke for hurtig. (vi bruger 5 eller 10 kHz kontrolsløjfer til motorkontrollere) Med en anstændig enhed antager jeg, at du skal være i stand til at håndtere det med en urfrekvens på 40-80 MHz, hvis du skulle, og det pæne ved den nyere serie DSP'er og mikrokontrollere er, at de bruger faselåste sløjfemultiplikatorer (PLL) til at øge urfrekvensen internt, så der eksternt faktisk ikke behøver at være nogen virkelig hurtige signaler. TIs TMS320F28xx-serie af DSP'er (se 28044 og 28235) har en 5x PLL (halv trin fra 0,5x til 5x), så du kan få et 100MHz ur med en 20MHz krystal.

Til den digitale side , hvad du skal passe mest på, er at sørge for, at du leverer et godt solidt strøm- og jordplan til din processor, og sørg for at tilføje bypass-kondensatorer så tæt som muligt på processorens strømforsyningsstifter. Brug også en række 0,1uF, 0,01uF og 0,001uF kondensatorer i stedet for bare at drysse en masse 0.1uF kondensatorer. 0.1uF kondensatorerne giver mere opladning, men deres parasitære induktans kommer i spil med en lavere frekvens end hvad du vil se på en 0.01uF eller 0.001uF kondensator. De to sidstnævnte giver ikke så meget opladning, men fungerer korrekt som bypass-kapper til en højere frekvens. Vi havde et kortdesign, der fungerede, men havde en moderat mængde støj på DSP's analog-til-digitale konverter. En af vores ingeniører foretog faktisk nogle højfrekvente målinger med en scope-sonde med "heksens hat-probe tip off", direkte med probe-terminalen og jordringen, og modificerede bypass-kondensatorerne, indtil han så strømforsyningsspændingsstøj reduceret tilstrækkeligt.

Den analoge til digitale konvertering vil være det svageste sted i dit system. Du behøver sandsynligvis ikke arbejde for hårdt for at få det digitale system til at fungere ok. Men medmindre du er forsigtig, får du middelmådig støjydelse på din ADC. (Jeg er bange for, at jeg ikke har meget erfaring personligt med at håndtere dette; andre ingeniører i vores firma håndterer layoutet, så hvad jeg fortæller dig er brugt.) Sådan håndteres jordplaner er noget, der argumenteres for af to separate tilgange: om der skal bruges et stort jordplan til hele systemet, versus to separate jordplaner, en analog + en digital, bundet sammen på ADC - det første er fint for 8-10 bit systemer, og jeg hører at adskille digitale / analoge områder af kredsløbet er vigtigere, når du kommer til højere bitantal (16bit eller højere).

Spar ikke på # kortlag. Jord- og kraftfly er dine venner.

Jeg tror, ​​at en dsPIC let kan arbejde på et tolags bord, det kræver bare et meget omhyggeligt layout. Dit svar var dog klart og kortfattet.
Jeg er enig. 10kHz er virkelig ikke så hurtig. Vi har 10MIPS PIC18'er, der bruger halvdelen af ​​deres tid på at køre en 5kHz kontrolsløjfe, og resten af ​​tiden gør andre ting. De har kun brug for et 10MHz ur og næppe nogen specielle overvejelser for design med høj hastighed.
#5
+4
John D
2009-11-28 03:16:59 UTC
view on stackexchange narkive permalink

Læs op på skinke-radio, eller find en ekstra klasse-operatør, der kan hjælpe. Vi håndterer disse problemer hele tiden ved meget højere frekvenser. Vi bruger også DSP-behandling i næsten alt vores udstyr. Prøv AARL-uddannelsesmaterialet online eller QRZ. Problemerne er ikke så svære at rette op på, men der er mange mulige problemområder at passe på.
73, KF7BYU

#6
+3
jpc
2010-05-09 03:03:21 UTC
view on stackexchange narkive permalink

Som allerede nævnt kan du bruge en hurtig processor med en PLL og stadig kun have dine 10kHz signaler + en 12MHz kvartsoscillator (tæt på CPU'en) på dit kort. At lægge dette ud vil ikke være et problem.

Mange mennesker (inklusive mig) gjorde 48kHz stereolydudgang på et ARM7TDMI (streaming fra et SPI-tilsluttet SD-kort i mit tilfælde). Jeg så endda mp3-afkodning i software på en 50MHz ARM7, der kører fra RAM (der kan være ventetilstand, når du arbejder fra Flash).

Måske købe et mbed LPC1768-kort (100 MHz, meget hurtige ADC / DAC og PWM'er on-chip, billig: 50 €) og lave en prototype? Kun hvis dette ikke er tilstrækkeligt, skal du starte med at spille med andre (dyrere og sværere) ting.



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...