Ik heb een dubbelzijdige print met aan 1 zijde een groot kopervlak (GND) en aan de andere zijde digitale logica (SMD) die met elkaar communiceren via SPI. De SPI bus loopt op 10MHz.

Nu is de vraag: Is de parasitaire capaciteit groot genoeg om de digitale signalen van 10MHz zodanig te beïnvloeden dat communicatie dussen de SPI devices niet meer werkt?

Groeten,
Berry

wegens te weinig gegevens onbeantwoordbare vraag, spoorlengte, breedte, dielectrische tussenmidden etc spelen een belangrijke rol. je kan 3GHz over een koperdraad jagen, zonder extra maatregelen als hij maar kort genoeg is...

Dat zal wel meevallen, weet niet hoe groot je print is maar heb even snel wat berekeningen gedaan met MiscEl:
(Onder voorbehoud, weet niet of ik foutjes heb gemaakt)

Op een standaard print (35um koper, 1,5mm dik) heeft een baantje van 10 mils een capaciteit van 43.7pF/m. Stel dat je een flinke print hebt van 20cm, dan is de capaciteit 8.74pF. Dat heeft weinig invloed op 10MHz, de capaciteiten van de pinnen van de ICs zijn misschien zelfs al meer (AVR heeft bijvoorbeeld 10pF).

Het is natuurlijk ook afhankelijk van hoe sterk de signalen worden aangedreven, maar stel dat de uitgangen een impedantie van 100 ohm hebben (is waarschijnlijk lager) dan heb je een RC filter met kantelfrequentie op 182MHz. De capaciteiten van de pinnen moet je eigenlijk ook nog meerekenen maar dan nog zal je ruim zat zitten.

Printje is maar 80x40mm. Baantjes zijn 12 mils. 1,5mm print met 35um koper. Het gaat hier om een PIC, SD kaart en MP3 codec (ja, ik heb m'n project weer onder het stof vandaan gehaalt).

Op breadboard werkt het in ieder geval, en dat lijkt me kwa parasitaire dingen ook niet echt ideaal.

Er is een simpel ULP script uit Eagle wat dat kan ...

length-freq-ri.ulp

Wow! Eagle is wel beter uitgerust dan ik dacht! Na goed, ik zit in de GigaHetzen, dus dat is wel oke.

Lang Leve Eagle met zijn ULP scripts!!!

EDIT: Hmmm 1 minpuntje, hij kijkt niet naar de onderliggende layer. Ik heb het kopervlak verwijderd en er blijft eenzelfde frequentie voor de baantjes staan. Maar met een laagste frequentie van 2,5GHz voor een voedingslijn zal het wel loslopen.

[Bericht gewijzigd door Berry op ]

Pas op, het is maar een simpel rekenmodel!
Maar 10 MHz zal prima gaan.

Op 6 oktober 2006 17:17:39 schreef Rd12tf:
Pas op, het is maar een simpel rekenmodel!
Maar 10 MHz zal prima gaan.

Ja tuurlijk, ik verwacht ook geen heel simulatie en analysepakket binnen Eagle. Maar voor een gratis programma is dit prachtig :)

Op de website van Cadsoft vind je meer ULP's en het moet niet echt moeilijk zijn die scripts zelf te maken. Nog geen ervaring mee.

EDIT:
Zie printsporen meer als een transmissielijn, zoals b.v. coax waar de capaciteit ook niet dempt, is zelf een essentieel bestandsdeel van de transmissielijn (naast de zelfinductie)!

En wat die ULP waarschijnlijk niet laat zien, is de overspraak tussen twee (groepen) printsporen. Maar dat is ook een kwestie van verstandig (handmatig) routen.

[Bericht gewijzigd door Rd12tf op ]

Dat is ook nog een punt, overspraak. Ik heb digitale lijntjes naast de audio-out lijntjes liggen. Kan dit kwaad?

Tja, die twee (analoog en digitaal) moet je natuurlijk scheiden, je moet bij dat soort schakelingen al aan twee soorten massa, aarde denken.

Kan je niet wat doen met een polygon aan GND?

[Bericht gewijzigd door Rd12tf op ]

Op 6 oktober 2006 17:56:58 schreef Berry:
Dat is ook nog een punt, overspraak. Ik heb digitale lijntjes naast de audio-out lijntjes liggen. Kan dit kwaad?

Dat met die klok gaat wel goed, overspraak van je klok naar je audio zal wel makkelijk optreden.
Echter, de klokfrequentie ligt veel hoger dan het audiospectrum, dus je zal er niet echt wat van terug gaan horen.

@Xenobinol: Leuk programma. :)

Op 6 oktober 2006 18:01:07 schreef Rd12tf:
Tja, die twee (analoog en digitaal) moet je natuurlijk scheiden, je moet bij dat soort schakelingen al aan twee soorten massa, aarde denken.

Kan je niet wat doen met een polygon aan GND?

Mja, digitale en analoge deel zijn kwa voeding gescheiden. In de sheet staat dat de DGND en AGND zo dicht mogelijk bij de chip aan elkaar verbonden moeten worden, dus dat heb ik gedaan ;)

Ik kan kijken of ik die digitale lijn iets opzij kan plaatsen, eventueel verwisselen met de DVDD, dan zit de audio-uit vrij goed geisoleerd.

Het zal dan ook audio op lijn niveau zijn? Dan zal het allemaal best meevallen. Op een broodplankje ging het ook goed!

Op 6 oktober 2006 18:22:54 schreef Xenobinol:
[...]

Dat met die klok gaat wel goed, overspraak van je klok naar je audio zal wel makkelijk optreden.
Echter, de klokfrequentie ligt veel hoger dan het audiospectrum, dus je zal er niet echt wat van terug gaan horen.

door niet lineaire effecten (=demodulatie) in het audiogedeelte kan een véél hogere klokfrekwentie toch hoorbaar worden, goed opletten dus!

Ik bedenk me net nog iets veel ergers. De spoortjes lopen voor een klein deel over een buck/boost converter, en nog wel de spoel daarvan... Ik zal m'n printje toch wat om moeten gooien...

doe dat maar, want die boosters/buckers spuiten para's in het rond!

hoe ver zou ik daar dan afstand van moeten houden?

hangt er vanaf hoeveel stroom ze moeten verzetten. enig idee? en wat is het niveau van je analoge lijnen?

Schakeling trekt ongeveer 50mA. Er moet wel een 0.5A spoeltje bij het IC (LT3531).
Niveua van het analoge signaal? Uuhm... Shit nu moet ik me schamen. Kan het in de sheet niet vinden eigenlijk. En ik heb het ook niet gemeten. De VS1011 heeft een headphone driver on-board.

50mA is niet veel, dus op enkele cm is het niveau van de inslag al gedaald tot het millivoltnveau. geen probleem voor digitale lijnen, alleen aanloge lijnen met een laag niveau kunnen er nog hoorbare hinder van ondervinden (darom vroeg ik naar het niveau van je analoog signaal)

Op 6 oktober 2006 16:16:29 schreef jongensenwetenschap:
wegens te weinig gegevens onbeantwoordbare vraag, spoorlengte, breedte, dielectrische tussenmidden etc spelen een belangrijke rol. je kan 3GHz over een koperdraad jagen, zonder extra maatregelen als hij maar kort genoeg is...

je kan ook 10 GHz over een koperdraad jagen die 10 meter lang is ( of nog veel langer) . kwestie van ervoor te zorgen dat je een transmissielijn hebt , maar daar gaat het de TS niet over, en hier doet al die poppekast er ook niks toe. 10 MHz is veel te laag om serieuze effecten te krijgen van je PCB. der zijn veel andere factoren die eerder in het spel komen ( de io drivers van de chips zelf en de crosstalk tussen de lijnen)

@TS en anderen.

voor dergelijke dingen : route dat als een bus : met andere woorden : de signale oetn ritsen. zij aftakkingen zijn verboden. stel dat je 4 chips hebt.
dan ga je van 1 naar 2 naar 3 naar 4 ( of een andere volgorde :speelt geen rol. je 'zender' moet WEL op een uiteinde zitten).
wat je niet mag doen is bijvoorbeeld 1 naar 2 , 1 naar 3 en 1 naar 4. dan creer je 'stubs'

tweede punt : zorg voor een goede terminatie . bij SPI ( en ook i2c ) is de pull up op DO ( das een potentieel hoogimpedante lijn ) belagrijk.
de meeste SPI hosts heben 'harde' io drivers dus dat zit wel snor.

aan de kant het verste van de host kan je ook terminatie hangen. der zijn verschillende systemen : pull up met eventueel een lein capje naar grond ,
een andere is de thevenin terminatie ( kijk eens hoe ze bijvoorbeeld termineren bij SCSI . das een spanning ( meestal het midden tussen de schakeldrempels. stel bij een TTL ic : die spanning zou dan ongeveer 1.6 volt zijn om de volgende reden : de drempels van ttl (schmitttrigger) zijn pakweg 0.8 en 2.4 volt.het midden daartusen is 1.6. het heeft dus NIKS met de voedingspanning maar alles met de schakeldrempels te maken.

vanuit die referentispanning gaan ze nu bijvoorbeeld met 220 ohm naar de te termineren lijn. de waarde van die weerstand vlooi je als volgt uit : kijk wat de maximum stroom is die de lijn kan sourcen of sinken. neem de kleinste van die twee. deel die nog eens door 2.
kijk nu wat de grootste spanningsval is die je kan krijgen tussen de IO driver en de thevenin bron ( meestal vcc - vt )
pas ohms law toe en je hebtje weerstand.

voorbeeld : een 5 volt TTLs ic. onze thvenin hadden we al : 1.6 volt
een driver ( uitgang ) kan tussen 0 en 5 volt swingen. dus de macimum delta tussen de Vthevenin en de driver is 5 - 1.6 = 3.4 volt. ( de andere kant uitheb je aar 0 tot Vthevenin )

een TTLs kan 20 ma Sourcen en 25 sinken. dus we nemen 20mA , delen door 2 = 10 mA . we hadden 3.4 volt . de wet van ohm land ons op 340 ohm,. vla daar 330 in en je bent vertrokken.

de thevenin brond gaat dus actief meehelpen om die lijn hoog of laag te krijgen ZONDER de digitale uitgang te overbelasten.

het nadeel is stroomverbruik

der zijn nog truuks hoor.
een capje ( paar tiental PF ) met een 50 ohm naar grond bijvoorbeeld helpt nogal eens wonderen bij overdadige ringing, overshoot en undershoot . veer de heel steile flanken ( dus hoge frequenties ) gedraagt zich dat als een kortsluiting ( 1/ 2pifc tralala) en dan ziet die lijn dus 50 ohm. dit circuits 'stript' dus de al te steile flanken.

ik verwacht voor dat bordje ( als de draden geen kiloeter lang zijn ) geen problemen. een 1k naar voeding op alle lijnen op het verste punt van de host en t'zal wel bollen

nog iet : probeer dat niet de bekijken met een gewone scoop. de capaciteit vand e probe alleen geeft je een verkeerd beld. je moet zoeits meten met een actieve probe.
der heeft er eentje in elektuur gestaan.

free-electron, ik zei ; een koperdraad, en bewust geen transmissielijn, dan kan je veel verder en dat weet mijn kleine teen ook. Je kan een signaal over een gewone draad jagen als de afstand veel kleiner blijft dan de golflengte van dat signaal. een transmissielijn heeft dan zelfs geen zin. op die kleine print bij 10MHz zit dat wel snor.verder kan iets of wat schakelvoeding op een print altijd roet in het eten gooien. Fan in / out? was het ttl tijdperk niet voorbij?

[Bericht gewijzigd door jongensenwetenschap op ]

Op breadboard werkt het perfect zonder terminate weerstanden hoor :P

Dat van die busses is nieuw voor me. Ik zie het nut van dat rijgen niet echt in, kan je uitleggen wat het effect daarvan is?