Guten Tag, ich bin aktuell in einer Entscheidungsphase für ein größeres Gesamtprojekt, wo mehrere (teils wiederverwertbare) Schaltungsanteile mit teureren Komponenten, wie PLL's, Mischern, ADC, DAC, etc. dranhängen sollen. Eine erste Implementierung stelle ich mir so vor, dass insbesonders von den teureren Schaltungsanteilen einzelne Blöcke aufgebaut werden, so dass diese separat getestet werden können und nicht im Fehlerfall einer "Baugruppe" alles nichtig ist. Die große Nebenfrage, die sich mir hier stellt ist: Wie empfindlich sind die gängigen Busse- / Interfaces? Die mechanisch einfachste Art und Weise in meinem Kopf ist mit Stiftleisten und Flachbandkabeln zu arbeiten, so dass die Steuerung (aktuell vorerst als Mikrocontroller geplant, wird in weiterer Iteration auf FPGA hinauslaufen) mit dein einzelnen Baugruppen verbunden werden kann. Gibt es hierzu Erfahrungswerte? Einkopplungen in sensible Schaltungsteile kann ich weitestgehend ausschließen durch geplante Schirmungen, jedoch kenne ich mich nicht so wirklich auf der digitalen Schiene aus und bin mir unschlüssig, wie robust die Kommunikation ist. Besten Dank ;)
Welcher Datendurchsatz wird benötigt? Je höher, desto eher SPI.(bei deiner Vorgabe) Leitungslänge?
In welcher Weise erwartest Du denn solche gigantischen Schäden infolge von einfachen Bus-Tests???
Ich erwarte keine großen Schäden durch Bus-Tests, sondern eher, dass es Probleme mit dem Bus geben könnte. Der jeweilige Bus hängt dann von der Baugruppe ab, da die Steuerung zentral erfolgen soll. Leitungslängen sind unter 20cm, Flachbandleitung ist angedacht. Aufgrund von Schirmung der analogen Schaltungsteile und HF erwarte ich dadurch kaum Rückwirkungen darauf..
Also für die Anforderungen taugen all diese Buse würde ich sagen. Das ist noch keine Herausforderung. Bedenke aber dass die alle nach einem Master/Slave konzept arbeiten und darum für modulare Gesichten, nicht optimal flexibel. Wenn du kannst, nimm CAN. Dann brauchst du dir auch nicht mehr im Entferntesten gedanken über Robustheit machen.
Nimm SPI. Dort sind alle Pegel aktiv getrieben und nicht von irgendwelchen Pullups definiert.
Also, wie bereits beschrieben die "Zentrale" versorgt die Baugruppen in unmittelbarer Nähe mit Steuerung / liest Daten aus, CAN wäre nice to have, ist aber bei der Baugruppenplanung nicht direkt möglich. Ich denke ich versuche es einfach mal, wenn die einzelnen Platinen da sind und bestückt sind werde ich es sehen ;)
Was meinst du eigentlich mit 2-Wire? Es gibt TWI, aber das ist IMHO bis auf die Bezeichnung dasselbe wie I²C.
Wolfgang schrieb: > Es gibt TWI, aber das ist IMHO bis auf die Bezeichnung dasselbe wie I²C. Ach, ich glaube, da muss man sich noch keine Sorgen drum machen... Unser TE hats halt wohl noch nicht so mit Bus Systemen. Aber das wird noch kommen! Ich finde eher solche Sätze befremdlich: > Ich denke > ich versuche es einfach mal, wenn die einzelnen Platinen da sind und > bestückt sind werde ich es sehen ;) Eigentlich kenne ich es nur anders rum. Erst Bus fest legen, dann Platinen machen. Aber bis jetzt ist ja noch die Frage ungeklärt: > Welcher Datendurchsatz wird benötigt? Das treibt mich zu der Annahme, dass der Punkt deutlich unterschätzt wird. Marcel schrieb: > PLL's, Mischern, ADC, DAC, etc. dranhängen Denn das lässt böses ahnen.......
Bei SPI werden die Slaves in der Regel durch separate Steuerleitungen selektiert. Bei I²C dienen dazu Adressen, die auf den beiden Signal-Leitungen seriell übertragen werden. Bei 20cm Flachkabel zuzüglich den Leitungen auf den Platinen kommt man schon in den Bereich, wo man über Signal-Flanken, Echos und Wellenwiderstände nachdenken muss. Bei I²C haben die Chip Hersteller das schon durch analoge und/oder digitale Filter in den IC's erledigt. Bei SPI muss man selber was machen. I²C ist auf jeden Fall einfacher zu handhaben. Aber vielleicht zu langsam.
Arduino F. schrieb: > Eigentlich kenne ich es nur anders rum. > Erst Bus fest legen, dann Platinen machen. Ja, da hast du recht, ich habe den Bus bereits festgelegt, teils I2C, teils SPI, jeweils bedingt durch die Peripherie der Baugruppe, da dort keine separate Schnittstelle liegt, sondern die Ansteuerung unmittelbar von der Zentrale, meist direkt auf IC's gehen soll. Der Datendurchsatz ist nur an einer Stelle kritisch und das aber auch erst, wenn gezeigt ist, dass der Analogteil so funktionieren kann. Wenn das der Fall ist, dann ist lediglich die Analog-Digital-Wandlung im worst-case suboptimal und zu überarbeiten. Die meisten "Baugruppen" sind anderweitig kritisch (und teuer). Wenn es um eine spätere Miniaturisierung der Sache gehen soll, dann ist natürlich eine gründlichere Überlegung zu Schnittstellen, ggf. einer hierarchischen Peripherie, optimales Routing zu denken, zum jetzigen Zeitpunkt muss es nicht zwangsweise schnell arbeiten und auch keine Algorithmen durchführen. Aktuell ist nur Kommunikation mit einem Computer, der die Algorithmen dann ausführt, sowie Steuerung verschiedener Komponenten hierfür relevant. Später soll ggf. die Berechnung in einem FPGA Platz finden. Ich habe angefangen mich mit VHDL zu beschäftigen, habe aber was VHDL angeht die ein oder andere kompetente Person in meinem Netzwerk ;)
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.