Hallöle,
bei I2C brauchst Du am Master oder am Busende oder sonstwo Pullups, je nach Länge und Geschwindigkeit höher oder niedriger. 4,7k sind üblich, es gibt bei Philips aber irgendwo eine Application Note, in der das beschrieben ist. Ausserdem kannst Du bei längerem Bus noch eine Serienterminierung vornehmen, also Widerstände von etwa dem Kabel-Wellenwiderstand in Reihe an jedem Knoten, der am Bus angeschlossen ist. Aber aufpassen, dass Du die Pullups nicht so klein machst, dass es durch die Serienwiderstände nicht mehr zu einem sicheren low reicht! Wenn Du den Bus lang machst (1m oder mehr) und/oder viele Bausteine dran hast, kommen recht hohe Kapazitäten zusammen, die zusammen mit den Pullups die maximal mögliche Geschwindigkeit beschränken. 400kHz Takt ist mit Kabelverbindungen eingermaßen utopisch, 100kHz kann klappen, muss aber nicht. Das ist IMHO auch in besagter Appnote enthalten, Name/Link ist mir gerade nicht geläufig, aber da kann bestimmt mal jemand einspringen
SPI ist nicht so wirklich für meterlange Verbindungen gedacht, funktionieren tut's auch, Pullups braucht man prinzipiell erstmal keine. Bei längeren Strippen könnte eine Serienterminierung was bringen, kann aber auch ohne funktionieren. Schnelle digitale Busse, die zur Verwendung auf Leiterplatten und mit während der Designphase mehr oder weniger feststehenden Chiptypen und -Anzahlen gedacht sind, können immer Probleme machen, wenn man damit externe Bussysteme bastelt, man kann es eigentlich nur ausprobieren und bei Problemen den Grund suchen, Kabellängen, dadurch Kapazitäten, Reflexionen, zu schnelle Übertragungsraten - das spielt alles mit rein. Du hast nun nicht erwähnt, wie lang Deine Busse werden sollen, wenn es nur darum geht, mit etwas Kabel einen Sensor o.ä. anzuschliessen, würde ich mir erstmal nicht so viele Gedanken machen und die Geschwindigkeit im Rahmen halten.
Wenn es wirklich lange Leitungen werden sollen, bist Du mit RS422 oder RS485 sicher besser bedient.
Lesezeichen