Vraag:
Wat zijn enkele 'valstrikken' van het ontwerpen van hoogfrequente kaarten?
Steve
2009-11-28 03:09:38 UTC
view on stackexchange narkive permalink

Ik zou graag een printplaat willen ontwerpen voor een analoge loop controller .. iets met een A / D, D / A en processor aan boord. (Ofwel DSP of FPGA, ik heb nog niet besloten.) Aangezien dit analoge signalen op 10 kHz zou moeten moduleren, moet het een behoorlijk snelle processor zijn.

Voor zover ik begrijp, het ontwerpen van een bord voor draaiende processors boven de 150 MHz kan een grote uitdaging zijn vanwege RF-problemen. Wat voor advies kun je geven bij het ontwerpen van zo'n bord? Welke problemen als gevolg van lay-out kunnen optreden? Zijn er goede online bronnen met kennisbanken hiervoor?

Bedankt.

Weet u zeker dat u zoveel verwerkingssnelheid nodig heeft? 10 kHz klinkt niet zo snel. Misschien is zoiets als een ARM7 of dsPic voldoende.
hangt af van de details en vereisten van de regelkring: de fasemarge wordt beïnvloed door de latentie van input tot output van het regelalgoritme. Als de signaalverwerking gecompliceerd is, duurt dat meer cycli dan wanneer het eenvoudig is. Als de fasemarge-eisen streng zijn, heb je minder tijd beschikbaar. Het is beter om een ​​bord te ontwerpen met een beetje een overschot aan CPU-kracht, dan om een ​​bord te ontwerpen met een beetje een tekort, omdat je het altijd langzamer kunt maken.
bedankt, het is waar, timing is cruciaal in deze applicatie. ik wilde er niet op ingaan, maar eigenlijk zou de output binnen de tijd van één sample moeten worden berekend, dus latentie is de sleutel.
Steve: Het is vrij moeilijk om de output van één sample niet in de tijd te berekenen, omdat je dan niet meer realtime bent en nergens meer controle over hebt.
Zes antwoorden:
#1
+14
Clint Lawrence
2009-11-28 05:14:09 UTC
view on stackexchange narkive permalink

Als u geïnteresseerd bent in digitaal met hoge snelheid, koop dan een exemplaar van Digitaal ontwerp met hoge snelheid.

Belangrijkste punten:

  • De De belangrijkste bepalende factor van je circuit is de stijgtijd van de logica. Zelfs als u met een lage kloksnelheid werkt, kunnen snelle flanken problemen veroorzaken.
  • De maximale stijgtijd van uw systeem geeft u dan de kritische lengte van uw circuit. In wezen als de voortplantingsvertraging van uw signaal over de lengte van het circuit langer is dan de stijgtijd van het signaal, moet u zich zorgen maken over het hoogfrequente aspect van het ontwerp.
  • Als dit de kritische lengte is korter dan de circuitlay-out, dan moet u een gecontroleerde impedantie-indeling gebruiken. Dit omvat:
    • Spoorgeometrie (spoorbreedte en hoogte boven een grondvlak) om het circuit een gedefinieerde karakteristieke impedantie te geven.
    • Afsluiten van de drivers en / of ontvangers met de karakteristieke impedantie van de lijn.
Ik heb dit boek gekregen, het is absoluut fantastisch. Ik ben pas in hoofdstuk 3, maar de eerste drie hoofdstukken hebben me allebei nieuw materiaal geleerd en me op verschillende manieren aan materiaal doen denken dat ik ken.
Bijna een kwart eeuw later is een handboek over zwarte magie nog steeds het definitieve stuk literatuur over dit onderwerp.
#2
+7
ajs410
2010-05-07 21:37:32 UTC
view on stackexchange narkive permalink

Gebruik een volledig grond- en krachtvliegtuig. Bypass-doppen worden beperkt door inductie, die meestal wordt bepaald door de verpakkingsgrootte, sporen en doorgangen. Kies dus de kleinste pakketgrootte waarmee u kunt werken en ga vervolgens voor de grootste capaciteit die uw budget niet schaadt. Als je meer bypass nodig hebt, ga dan een pakketgrootte of twee omhoog en verkrijg de grootste capaciteit in dat pakket. Gebruik bij het aansluiten van de dop op de grond- / stroomvlakken twee via's aan weerszijden van elke pad; vias + cap ziet er een beetje uit als een H.

Het splitsen van de vliegtuigen kan helpen om de analoge en digitale secties te isoleren. Steek nooit een gespleten vlak over met een signaaltracé !!! Houd signalen weg van de rand van het bord. Houd signalen ten minste 2x spoorbreedte uit elkaar om overspraak te voorkomen (simulaties zijn hier handig). Houd signalen 5x spoorbreedte verwijderd van signalen met veel ruis (d.w.z. klokken) of extreem gevoelige signalen (d.w.z. analoge ingangen). Gebruik indien nodig geaarde bewakingssporen rond luidruchtige / gevoelige signalen. Vermijd via's en steeklijnen met ruis / gevoelige signalen.

Voorzie idealiter één aardingsdraad per signaal in een connector. Sluit connector-signalen af, omdat ze graag EMI spuwen. Ferrietkralen rond de draad kunnen ook helpen bij connectorruis. Voorkom dat signalen onder connectoren komen.

Met het aardingsvlak kunt u microstrip-sporen creëren met een goed gedefinieerde impedantie. U kunt ook afsluitweerstanden gebruiken als uw trace lang is. Ik denk dat de algemene vuistregel is dat voor elke nS stijgtijd je 2,5 "kunt gaan zonder afsluitweerstand.

Gebruik IBIS-simulaties om te bepalen of je afsluitweerstanden nodig hebt. Moderne FPGA's hebben hier leuke trucs voor soort dingen; ze kunnen de sterkte van hun output-driver regelen, soms zelfs met een "Digitally Controlled Impedance" (Xilinx-term voor de technologie). IBIS-simulaties helpen hier ook bij het uitzoeken van de juiste aandrijfkracht.

Bekijk de gigantische lijst van nieuwsbrieven van Dr. Howard Johnson met High Speed ​​Digital Design. Echt geweldig. http://www.sigcon.com/pubsAlpha.htm

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

Ik weet heel weinig over lay-out op hoge snelheid. Maar de drie meest voorkomende dingen die ik heb gehoord zijn: vermijd rechte hoeken voor signaalsporen (ze veroorzaken reflecties), zorg voor een massaplaat over zoveel mogelijk van je circuit, en verdeel je bord om vergelijkbare signaaltypes te hebben (lage- snelheid digitaal, high-speed digitaal, analoog) naar verschillende gebieden, met "knelpunten" in uw grondvlak om interferentie te minimaliseren.

Wat betreft goede online bronnen, zou ik me de datasheets & appnotes voor de DSP of FPGA die u overweegt, hebben enkele goede tips. Ik herinner me dat Xilinx goede dingen had.

Rechte hoeken vermijden - bedoel je letterlijk afgeronde hoeken maken op sporen? (Tenzij het een rechte lijn kan zijn, denk ik.)
Ik denk dat hij bedoelt dat je hoeken kunt hebben die alleen niet op 90 graden zijn. Ik heb al heel lang geen afgeronde hoeken gezien. Maar als je naar het moederbord in je pc kijkt, zie je ook dat alle hoeken veel kleiner zijn dan <90 graden. Als de lijn 90 moet gaan, wordt deze vaak opgesplitst in, nou ja, misschien een paar hoeken van 30 graden
Twee hoeken van 45 graden zijn typisch. Maar het gebruik van transmissielijnsporen en de juiste afsluiting is belangrijker dan hoekstijl. Als u geen transmissielijnen heeft afgesloten, zullen verschillende hoekstijlen geen verschil maken.
twee hoeken van 45 graden is heel gebruikelijk omdat ze in een trace uitstekende overeenkomende eigenschappen hebben. Ik zal later een gids vinden waarin wordt uitgelegd met welke ontwerpoverwegingen rekening moet worden gehouden om dit goed te doen.
Vandaag kwam ik wat auto-routesoftware tegen die eigenlijk wel bochten gebruikt. http://www.eremex.com/products/topor/competitiveadvporate/uniquefeatures.html
re: Xilinx, ik denk dat je xapp623 bedoelt. http://www.xilinx.com/support/documentation/application_notes/xapp623.pdf
"Geen rechte hoeken" is een mythe gebleken, tenzij u in 10s van GHz-land opereert ... bijvoorbeeld http://www.ultracad.com/articles/90deg.pdf
#4
+5
Jason S
2009-11-28 10:56:06 UTC
view on stackexchange narkive permalink

Om uw toepassing aan te pakken in plaats van de vraag die u rechtstreeks stelde (de andere antwoorden hebben hierover gesproken):

10 kHz DSP voor een luscontroller is niet te snel. (we gebruiken regellussen van 5 of 10 kHz voor motorcontrollers) Met een fatsoenlijk apparaat, denk ik dat je het zou moeten aankunnen met een klokfrequentie van 40-80 MHz als het moest, en het leuke van de nieuwere serie DSP's en microcontrollers is dat ze fasevergrendelde lus (PLL) klokvermenigvuldigers gebruiken om de klokfrequentie intern te verhogen, zodat er extern geen echt snelle signalen hoeven te zijn. TI's TMS320F28xx serie DSP's (zie de 28044 en 28235) hebben een 5x PLL (halve stappen van 0,5x tot 5x), dus je kunt een 100MHz klok krijgen met een 20MHz kristal.

Voor de digitale kant , waar u het meest op moet letten, is ervoor te zorgen dat u een goed stevig paar stroom- en aardingsvlakken voor uw processor levert, en ervoor te zorgen dat u bypass-condensatoren toevoegt zo dicht mogelijk bij de voedingspinnen van de processor. Gebruik ook in plaats van alleen een aantal 0.1uF-condensatoren te sprenkelen, een verscheidenheid aan 0.1uF-, 0.01uF- en 0.001uF-condensatoren. De 0.1uF-condensatoren leveren meer lading, maar hun parasitaire inductie speelt een rol bij een lagere frequentie dan wat je ziet op een 0.01uF of 0.001uF-condensator. De laatste twee zullen niet zoveel lading leveren, maar zullen correct werken omdat de bypass naar een hogere frequentie afneemt. We hadden een bordontwerp dat werkte, maar met een matige hoeveelheid ruis op de analoog-naar-digitaal-omzetter van de DSP. Een van onze ingenieurs heeft zelfs enkele hoogfrequente metingen gedaan met een scoopsonde met de "heksenhoed-sonde-punt eraf", rechtstreeks met de sonde-aansluiting en de aardingsring, en de bypass-condensatoren aangepast totdat hij zag dat de ruis van de voedingsspanning voldoende was verminderd. / p>

De analoog naar digitaal conversie wordt de zwakste plek in uw systeem. U hoeft waarschijnlijk niet al te hard te werken om het digitale systeem goed te laten werken. Maar tenzij u voorzichtig bent, krijgt u middelmatige geluidsprestaties op uw ADC. (Ik ben bang dat ik hier persoonlijk niet veel ervaring mee heb; andere ingenieurs bij ons bedrijf zorgen voor de lay-out, dus wat ik je vertel is tweedehands.) Hoe om te gaan met grondvlakken is iets dat wordt beargumenteerd door twee verschillende benaderingen: of je één enorm grondvlak voor het hele systeem wilt gebruiken, versus twee afzonderlijke grondvlakken, een analoog + een digitaal, met elkaar verbonden op de ADC - de eerste is prima voor 8-10 bit-systemen, en ik hoor het scheiden van digitale / analoge gebieden van het circuit is belangrijker wanneer u een hoger aantal bits bereikt (16 bits of hoger).

Beknibbel niet op # bordlagen. Grond- en krachtvliegtuigen zijn je vrienden.

Ik denk dat een dsPIC gemakkelijk kan werken op een bord met twee lagen, het vereist alleen een zeer zorgvuldige lay-out. Uw antwoord was echter duidelijk en beknopt.
Daar ben ik het mee eens. 10 kHz is echt niet zo snel. We hebben 10MIPS PIC18's die de helft van hun tijd besteden aan het draaien van een 5kHz-regellus en de rest van de tijd aan andere dingen. Ze hebben alleen een 10 MHz-klok nodig en nauwelijks speciale overwegingen voor ontwerp met hoge snelheid.
#5
+4
John D
2009-11-28 03:16:59 UTC
view on stackexchange narkive permalink

Lees meer op hamradio of zoek een Extra Class-operator om te helpen. We behandelen deze problemen de hele tijd op veel hogere frequenties. We gebruiken ook DSP-verwerking in bijna al onze apparatuur. Probeer de AARL-onderwijsspullen online, of QRZ. De problemen zijn niet zo moeilijk op te lossen, maar er zijn veel mogelijke probleemgebieden om op te letten.
73, KF7BYU

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

Zoals eerder vermeld kun je een snelle processor met een PLL gebruiken en toch alleen je 10 kHz signalen + een 12 MHz quartz oscillator (dicht bij de CPU) op je board hebben. Dit zal geen probleem zijn.

Veel mensen (waaronder ikzelf) deden 48 kHz stereo audio-uitvoer op een ARM7TDMI (streaming vanaf een SPI-verbonden SD-kaart in mijn geval). Ik zag zelfs mp3-decodering in software op een 50 MHz ARM7 die vanuit RAM liep (er kunnen wachttoestanden zijn als je vanuit Flash werkt).

Koop misschien een mbed LPC1768-kaart (100 MHz, zeer snelle ADC / DAC en PWM's on-chip, goedkoop: 50 €) en een prototype maken? Pas als dit niet voldoende is, speel dan met andere (duurdere en moeilijkere) dingen.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...