Hallo, ich habe eine PCI Karte gebaut und bräuchte mal ein bisschen Expertenhilfe. Sie wird soweit erkannt, funktioniert aber nicht zuverlässig (Abstürze des Systems, Hänger etc.) Nun habe ich gelesen, dass ich für ein sauberes Design Referenzplanes bräuchte um Crosstalk und Impedanzsprünge zu vermeiden. Leider habe ich aber keine Ahnung wie solche Referenzplanes aussehen sollten. Ich habe zwar Groundplanes auf top und bottom layer aber was ist mit Referenzplanes für die verschiedenen Signale gemeint? Vielen Dank für die Hilfe, Reto
:
Verschoben durch Moderator
Hast du mal ein Bild, rein aus Interesse? Und vielleicht eine kurze Beschreibung? Das finde ich immer sehr interessant, wenn jemand PC-Karten konstruiert. Auf deine eigentliche Frage kann ich dir leider nichts antworten :-\
Reto H. schrieb: > Ich habe zwar Groundplanes auf top und bottom layer aber was > ist mit Referenzplanes für die verschiedenen Signale gemeint? Das geht so nicht - man kann zwar auf derselben Ebene (coplanar) auch Referenz-GND verlegen, aber das ist selbst für einen Fachmann schwierig und für jemand ohne jede Ahnung überhaupt nicht machbar, in der Praxis sind da ja Bauteile und Leiterbahnen im Weg. Gemeint ist mit reference plane eine Massefläche auf der Innenlage eines Multilayers. Muss eine bestimmte Impedanz eingehalten werden, so muss als erstes ein geeigneter layer stack geplant werden oder ein geeigneter Standard eines Leiterplattenherstellers ausgewählt werden. D.h. dass Leiterbahnen in Microstrip, Stripline o.ä. Konfiguration auf einer bestimmten Ebene bei einer bestimmten Breite die gewünschte Impedanz haben. Das muss eben vorab berechnet werden oder das Layoutsystem kann das im Design berechnen. Reto H. schrieb: > Leider habe ich aber keine Ahnung wie solche Referenzplanes aussehen > sollten. Weiterbilden, und zwar erheblich, oder an einen Fachmann übergeben. Es gibt von manchen Softwareherstellern (Mentor, Zuken...) und deren Vertreibern auch Lehrgänge dazu, die setzen aber selbstverständlich Kenntnisse in HF-Technik voraus. Übrigens, einfach nur eine GND-Plane einzufügen ist völlig unsinnig, das Layout muss neu erstellt werden mit HiSpeed-Knowhow. Gruss Reinhard
Hast du die PCI Designrules denn auch beachtet? Ich hab auch schonmal einen PCI Master geroutet und kann mich noch daran erinnern, daß spezielle Forderungen zu den Leitungslängen existierten. Es gab 2 unterschiedliche: Datenleitungen untereinander und die Clock Leitungen zu den Datenleitungen. PCI ist so langsam, daß die Impedanz noch nicht wirklich problematisch ist. Wenn du also die Leitungen halbwegs gleich behandelst (nicht eine direkt auf der Top Seite vom SVB Pin zum Controller führen und andere mit 10 Lagenwechseln Beispielsweise) sollte die Impedanz nicht das Problem darstellen. Wohl aber die Laufzeit. Bei den vielen Leitungen im PCI hat man schnell 2-3cm Längenunterschied. Das wird aber nicht mehr toleriert. Wohlgemerkt schadet ein Impedanzkontrolliertes Design natürlich nicht. Aber das ist halt auch nicht so trivial sondern setzt schon einige Kenntnisse in verfügbaren nöglichen Basismaterialkombinationen voraus (Lagenaufbau) sowie einige Grundkenntnisse im Routing derartiger Signale
Ich habe jetzt schon mehrere PCI-Designs sowohl mit fertiger Bridge (PLX90*) als auch eigenen FPGAs (Hostbridge bzw. Device) gemacht und hatte trotz anfangs eher schludriger Layouts noch nie Probleme, die sich aufs Layout zurückführen hätten lassen. Es war eigentlich immer der Chip oder mein VHDL schuld ;) Manchmal auch der Treiber, insb. bei DMA kann man gut danebenlangen... Es muss auch nicht Multilayer sein, es gibt genügend käufliche Karten, die nur doppelseitig sind und auch einwandfrei gehen. Ok, der Takt sollte nicht gerade 10cm Umweg fahren, aber freiwillig macht man das ja auch nicht. Fertige PCI-Chips haben ohnehin ein Pinlayout, das den Pins am Slot entspricht. Rück mal mit etwas mehr Infos raus, zB. verwendeter Chip und Layoutauschnitten.
Vielen Dank für Eure Antworten. Also eigentlich handelt es sich nicht mal um eine PCI Karte. Es ist nur ein Adapter von unserem Spezial-PCI Stecker auf den Standard Mini PCI. Ich dachte mir daher, das sei nicht wirklich kritisch... Unser Spezialstecker funktioniert mit anderen Modulen problemlos. Christian B. schrieb: > PCI ist so langsam, daß die Impedanz noch nicht wirklich problematisch > ist. Wenn du also die Leitungen halbwegs gleich behandelst (nicht eine > direkt auf der Top Seite vom SVB Pin zum Controller führen und andere > mit 10 Lagenwechseln Beispielsweise) sollte die Impedanz nicht das > Problem darstellen. Wohl aber die Laufzeit. Bei den vielen Leitungen im > PCI hat man schnell 2-3cm Längenunterschied. Das wird aber nicht mehr > toleriert. Die Leitungen sind ziemlich gleich lang. Ich habe darauf geschaut, dass möglichst wenige Kreuzungen entstehen und ich gerate routen kann. Aber allgemein sind die Leitungen ziemlich lang. Das ist wohl auch das Hauptproblem, es sind ziemlich lange stubs entstanden... Georg A. schrieb: > Rück mal mit etwas mehr Infos raus, zB. verwendeter Chip und > Layoutauschnitten. Wie gesagt, ausser zwei Steckern ist da nicht viel drauf. Ich werde mein Design jetzt mechanisch mal umstellen, sodass die Leitungen kürzer werden. Wenn ich damit fertig bin zeige ich euch mal ein paar Bilder. Trotzdem nochmals zurück zu den Referenzplanes: ein paar einfache Regeln, welche schon zu einer Verbesserung führen könnten gibt es also nicht?
Reto H. schrieb: > Trotzdem nochmals zurück zu den Referenzplanes: ein paar einfache > Regeln, welche schon zu einer Verbesserung führen könnten gibt es also > nicht? Doch: Massefläche auf Innenlage durchgängig nicht zerschnitten. Wenn Signale auf beiden Aussenlagen, dann auch zwei Masseflächen wenn es der Platz erlaubt. Mindestens 4 Layer also.
4 Layer habe ich eh schon, sonst geht das Entflechten vom pitch des Steckers her gar nicht. Also zusammenfassend auf allen Lagen Masseflächen ohne floatende Inseln?
Von welchen Abmessungen reden wir hier? Vor gut 16 Jahren hat mal ein Kollege an der Uni einen passiven PCI-Extender gebastelt. Das war eine PCI-Platine (ca. 8cm hoch). Alle Leitungen von unten gingen nach oben auf eine DIN-Leiste (64polig). Von da gings per Flachbandkabel ca. 20cm auf eine weitere Platine, wo nach 5cm der PCI-Slot und diverse LA-Abgriffe waren. Total gruselig, das Ding hat aber nur ganz selten (1mal pro Stunde) oder so Probleme gemacht, und das auch nur mit der dort eingesteckten HW. Die Grafikkarte (war damals auch auch PCI) war davon völlig unbeindruckt. Zum Debuggen einer PCI-HW hats jedenfalls gereicht. Wenn also dieses eigentlich maximal-verkackte Design (relativ gesehen) so gut funktioniert hat, kann man sich ja kaum was Schlimmeres vorstellen ;)
Reto H. schrieb: > Also zusammenfassend auf allen Lagen Masseflächen ohne floatende Inseln? Nein, du hast überhaupt nicht verstanden, wobei es bei Referenzebenen geht. Deine zerstückelten Füllflächen nützen dafür überhaupt nichts, und wenn du auch noch floatende Inseln hast, dann ist das so ungefähr das Schlechteste was du überhaupt veranstalten kannst. Google mal nach Microstrip und Stripline. Es geht darum, dass unter / über einer Leiterbahn eine Massefläche vorhanden ist, und das überall und ohne Unterbrechung! Zweckmässig ist es, nur Leiterbahnen mit kritischen Signalen so zu verlegen und das auf bestimmten Ebenen, während man auf anderen Ebenen unkritische Signale verlegt, die brauchen dann keine Referenz-Ebene mit GND. Aber da kannst du wohl gleich ganz von vorne anfangen. Zeichnung zum Einstieg: http://web.mit.edu/geda/arch/i386_rhel3/versions/20060124/share/wcalc-1.0/stripline.png?dur=5778 Gruss Reinhard
Sind wir ehrlich. So was kann man einfach nicht ohne Erfahrung erfolgreich erledigen. Erfahrung ist das A und O beim Platinendesign. Und solche Aufgaben kann einfach nur jemand routen der entweder jahrelange Erfahrung hat oder das beruflich jeden Tag macht. Ich würde mir da jemanden suchen, der sowas beherrscht und die passenden Tools besitzt. Klar geht es auch mit Hobbysoftware wie Eagle oder Konsorten aber ... naja muss jeder selbst wissen ob er sich das antun will. Außerdem kann es sich kein Hobbyist leisten da drei / vier Fehlversuche hinzulegen. 4 Lagen kann man ja noch bezahlen aber bei PCI würde ich minimum 6 Lagen anlegen. Wenn man wenig Erfahrung hat, dann kann man auch schlecht ans Limit rangehen.
> aber bei PCI würde ich minimum 6 Lagen anlegen.
Aber sonst ist gesundheitlich noch alles in Ordnung? ;)
Consumer-PCI (33MHz) ist schnarchlahm und sehr robust. Abermillionen
PC-Boards aus den letzten Ecken Chinas haben problemlos mit 4 Lagen
funktioniert. Und selbst nur zwei sind kein grösseres (elektrisches)
Problem, das Routen ist halt etwas anstrengend.
Von daher glaube ich eher, dass beim TO was anderes faul ist.
PCI ist ein full resonant bus bei dem man auf die setup/hold zeiten achtgeben sollte. Man kann sich durchaus was mit seinem Layout versauen. Die maximale Buslänge liegt so bei ~30cm (12"). Darüber kann es funktionieren, muß aber nicht. Als Karte ist ein geschluderter Aufbau oft noch tragbar, du hast aber einen Adapter gebaut, mit 2 Steckern mehr. Das killt dir in Verbindung mit deinem nicht vorhandenen Lagenaufbau die Signale.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.