Ich möchte eine Platine für einen analogen Loop-Controller entwerfen. Etwas mit A / D, D / A und Prozessor an Bord. (Entweder DSP oder FPGA, ich habe mich nicht entschieden.) Da dies analoge Signale mit 10 kHz modulieren soll, muss es ein ziemlich schneller Prozessor sein.
Soweit ich weiß, kann die Entwicklung einer Karte für Prozessoren mit über 150 MHz aufgrund von HF-Problemen eine große Herausforderung darstellen. Welche Ratschläge können Sie beim Entwerfen eines solchen Boards geben? Welche layoutbedingten Probleme können auftreten? Gibt es gute Online-Ressourcen, die Wissensdatenbanken dafür haben?
Vielen Dank.
Antworten:
Wenn Sie sich für High-Speed-Digital interessieren, besorgen Sie sich eine Kopie von High-Speed-Digital Design .
Wichtige Punkte:
quelle
Verwenden Sie ein vollwertiges Boden- und Motorflugzeug. Bypass-Kappen werden durch die Induktivität begrenzt, die hauptsächlich durch Packungsgröße, Leiterbahnen und Durchkontaktierungen bestimmt wird. Wählen Sie also die kleinste Paketgröße, mit der Sie arbeiten können, und wählen Sie dann die größte Kapazität, die Ihr Budget nicht sprengt. Wenn Sie mehr Bypass benötigen, erhöhen Sie die Packungsgröße um ein oder zwei und erhalten Sie die größte Kapazität in dieser Packung. Verwenden Sie beim Anschließen der Kappe an die Erdungs- / Stromversorgungsebenen zwei Durchkontaktierungen auf beiden Seiten jedes Pads. Durchkontaktierungen + Kappe sehen irgendwie aus wie ein H.
Das Teilen der Ebenen kann dabei helfen, die analogen und digitalen Abschnitte zu isolieren. Überqueren Sie niemals eine geteilte Ebene mit einer Signalspur !!! Halten Sie die Signale vom Rand der Platine fern. Halten Sie die Signale mindestens zweimal in der Spurweite auseinander, um ein Übersprechen zu vermeiden (Simulationen sind hier hilfreich). Halten Sie die 5-fache Signalbreite von stark verrauschten Signalen (z. B. Uhren) oder extrem empfindlichen Signalen (z. B. analogen Eingängen) fern. Verwenden Sie bei Bedarf geerdete Schutzspuren um laute / empfindliche Signale. Vermeiden Sie Durchkontaktierungen und Stichleitungen mit lauten / empfindlichen Signalen.
Stellen Sie idealerweise ein Erdungskabel pro Signal in einem Anschluss bereit. Steckersignale terminieren, weil sie gerne EMI auslösen. Ferritperlen rund um den Draht können auch bei Steckergeräuschen helfen. Achten Sie darauf, dass keine Signale unter die Anschlüsse gelangen.
Mit der Grundebene können Sie Mikrostreifen-Leiterbahnen mit einer genau definierten Impedanz erstellen. Sie können auch Abschlusswiderstände verwenden, wenn Ihr Trace lang ist. Ich denke, die allgemeine Faustregel lautet für jede ns Anstiegszeit, Sie können 2,5 "ohne Abschlusswiderstand gehen.
Verwenden Sie IBIS-Simulationen, um festzustellen, ob Sie Abschlusswiderstände benötigen. Moderne FPGAs haben nette Tricks für solche Dinge. Sie können die Stärke ihrer Ausgangstreiber steuern, manchmal sogar mit einer "Digitally Controlled Impedance" (Xilinx-Bezeichnung für die Technologie). Auch hier helfen IBIS-Simulationen bei der Ermittlung der entsprechenden Antriebsstärke.
Lesen Sie die umfangreiche Liste der Newsletter für digitales High-Speed-Design von Dr. Howard Johnson. Wirklich großartig. http://www.sigcon.com/pubsAlpha.htm
quelle
Ich weiß sehr wenig über Highspeed-Layout. Aber die drei häufigsten Dinge, die ich gehört habe, sind: Vermeiden Sie rechte Winkel für Signalspuren (sie verursachen Reflexionen), haben Sie eine Masseebene über so viel wie möglich von Ihrem Schaltkreis und unterteilen Sie Ihre Platine, um ähnliche Signaltypen zu haben (niedrig). digitale Geschwindigkeit, digitale Geschwindigkeit, analoge Geschwindigkeit) in verschiedene Bereiche mit "Drosselstellen" in Ihrer Grundebene, um Interferenzen zu minimieren.
In Bezug auf gute Online-Ressourcen würde ich mir vorstellen, dass die Datenblätter und Appnotes für den DSP oder FPGA, die Sie in Betracht ziehen, einige gute Tipps enthalten. Ich erinnere mich, dass Xilinx gute Sachen hatte.
quelle
Um Ihre Bewerbung und nicht die Frage zu beantworten, die Sie direkt gestellt haben (die anderen Antworten haben darüber gesprochen):
10 kHz DSP für einen Loop-Controller ist nicht zu schnell. (Wir verwenden Regelkreise mit 5 oder 10 kHz für Motorsteuerungen.) Mit einem anständigen Gerät sollten Sie meiner Meinung nach mit einer Taktfrequenz von 40 bis 80 MHz zurechtkommen, und das Schöne an der neueren DSP-Serie und Mikrocontroller verwenden PLL-Taktmultiplikatoren (Phase-Locked-Loop), um die Taktfrequenz intern zu erhöhen, sodass von außen eigentlich keine wirklich schnellen Signale vorhanden sein müssen. Die DSPs der Serie TMS320F28xx von TI (siehe 28044 und 28235) verfügen über eine 5-fache PLL (Halbschritte von 0,5x bis 5x), sodass Sie einen 100-MHz-Takt mit einem 20-MHz-Quarz erhalten können.
Auf der digitalen Seite müssen Sie vor allem darauf achten, dass Sie Ihrem Prozessor ein solides Paar von Stromversorgungs- und Erdungsebenen bereitstellen und Bypass-Kondensatoren so nahe wie möglich an den Stromversorgungspins des Prozessors anbringen. Verwenden Sie auch eine Vielzahl von 0,1 uF-, 0,01 uF- und 0,001 uF-Kondensatoren, anstatt nur eine Reihe von 0,1 uF-Kondensatoren zu bestreuen. Die 0.1uF-Kondensatoren liefern mehr Ladung, aber ihre parasitäre Induktivität kommt bei einer niedrigeren Frequenz ins Spiel als bei einem 0.01uF- oder 0.001uF-Kondensator. Die beiden letzteren liefern nicht so viel Ladung, funktionieren jedoch ordnungsgemäß, wenn Bypasskappen auf eine höhere Frequenz ausgegeben werden. Wir hatten ein Board-Design, das funktionierte, aber am Analog-Digital-Wandler des DSP ein mäßiges Rauschen aufwies.
Die Analog-Digital-Wandlung wird die schwächste Stelle in Ihrem System sein. Sie werden wahrscheinlich nicht zu hart arbeiten müssen, um das digitale System zum Laufen zu bringen. Wenn Sie jedoch nicht vorsichtig sind, erhalten Sie eine mittelmäßige Rauschleistung für Ihren ADC. (Ich fürchte, ich habe nicht viel Erfahrung im persönlichen Umgang damit. Andere Ingenieure in unserem Unternehmen kümmern sich um das Layout. Was ich Ihnen also sage, ist aus zweiter Hand.) Der Umgang mit Bodenebenen ist eine Frage, um die es geht zwei getrennte Ansätze: ob für das gesamte System eine große Masseebene verwendet werden soll, im Gegensatz zu zwei getrennten Masseebenen, eine analoge und eine digitale, die am ADC zusammengebunden sind - ersteres ist für 8-10-Bit-Systeme in Ordnung, und ich höre Das Trennen von digitalen / analogen Bereichen der Schaltung ist wichtiger, wenn Sie eine höhere Bitanzahl (16 Bit oder höher) erreichen.
Sparen Sie nicht bei der Anzahl der Brettschichten. Boden- und Energieflugzeuge sind deine Freunde.
quelle
Informieren Sie sich im Amateurfunk oder suchen Sie einen Operator der Extraklasse. Wir beschäftigen uns ständig mit diesen Problemen bei viel höheren Frequenzen. Wir verwenden DSP-Verarbeitung auch in fast allen unseren Geräten. Probieren Sie das AARL-Bildungsmaterial online oder QRZ aus. Die Probleme sind nicht so schwer zu beheben, aber es gibt viele mögliche Problembereiche, auf die Sie achten müssen.
73, KF7BYU
quelle
Wie bereits erwähnt, können Sie einen schnellen Prozessor mit einer PLL verwenden und haben nur Ihre 10-kHz-Signale + einen 12-MHz-Quarzoszillator (in der Nähe der CPU) auf Ihrem Board. Dies auszulegen wird kein Problem sein.
Viele Leute (ich eingeschlossen) haben auf einem ARM7TDMI eine 48-kHz-Stereo-Audioausgabe gemacht (in meinem Fall von einer mit SPI verbundenen SD-Karte gestreamt). Ich habe sogar MP3-Dekodierung in Software auf einem 50-MHz-ARM7 gesehen, der vom RAM aus ausgeführt wird (es kann zu Wartezeiten kommen, wenn mit Flash gearbeitet wird).
Vielleicht ein mbed LPC1768 Board (100MHz, sehr schneller ADC / DAC und PWMs on-chip, günstig: 50 €) kaufen und einen Prototyp machen? Nur wenn dies nicht ausreicht, fange an, mit anderen (teureren und schwierigeren) Dingen zu spielen.
quelle