Lieferadresse für I2C-Bus Bauteile gesucht

Peter Thoms schrieb:
Martin Lenz schrieb
[...]
Takt brauchst du bei RS485 nicht, ist asynchron, so wie RS232. Also eine
Doppelader für Daten und eine für Spannung. Mit deinen geschirmten Takt
und Datenleitungen bist du auch bei 4 Leitern.

Martin

Ja, Martin,

das ist durchaus machbar.

I2C ist nun aber synchron mit nur einer Taktquelle.
Der Takt wird ganz simpel vom Sender vorgegeben und zu den Empfängern
drahtgebunden verteilt und die erwarten das auch.

Es sei denn, ich scrambel Daten und Takt zusammen über einen Manchester-Code
zu einem Datenstrom. Ist das denkbar, oder weitergedacht: sinnvoll bzw.
machbar?

Nicht nötig, die Synchronisation erfolgt byteweise über Start- und
Stopbit, ganz so wie bei RS232. Du hängst die RS485 Treiber an den UART,
so wie sonst einen MAX232 o.ä.

Martin
 
Martin Lenz schrieb
[...]
Nicht nötig, die Synchronisation erfolgt byteweise über Start- und
Stopbit, ganz so wie bei RS232. Du hängst die RS485 Treiber an den UART,
so wie sonst einen MAX232 o.ä.

Martin
Hallo Martin,

der RS485-Baustein sendet alles das, was Du ihm anbietest: synchron,
asynchron. Low und High, egal in welchem Pulsverhältnis und gibts 1:1 am
Empfänger wieder raus.

Von der Reichweite her bin ich mehr begrenzt durch den Spannungsabfall auf
der 12V-Spannungsversorgungs- als auf der Datenleitung, da ich damit auch
Motore betreibe.

Nehme ich eine asynchrone Verbindung, braucht leider jeder Empfänger
zunächst einen eigenen Takt. Der hopst ständig mit, auch wenn auf der
Leitung keine Daten strömen.

Beim I2C dagegen ist in der Datenpause Ruhe und zudem die Realisierung ohne
Anwesenheit einer UART weniger als halb so aufwendig.

Bleibt noch, daß RS485 weniger Störspannungen einfängt.
50Hz-Störungen sind's mit Sicherheit nicht, bleiben HF-Störungen. Reicht
hier eine Dämpfung von 100dB?


Peter
 
Martin Lenz schrieb
Peter Thoms schrieb:


Ein Problem werden wohl induzierte HF-Störspannungen sein. Rechnerisch
komme
ich mit einem einfachen Filter auf ca. -100dB. Wenn ich die sensitiven
Bauteile in Weißblech einhause frage ich mich, wo der Schwachpunkt
liegt:
Ist's die Gehäusedichtigkeit oder die Spannungsfestigkeit der
Durchführungskondensatoren?

Dann nimm auf jeden fall eine symmetrische Übertragung.
Hallo Martin,

hatte ich auch gedacht. Aber dann fragte ich mich: Wofür?
RS485 ist, allein durch einen weit niedrigeren Spannungspegel als 12V,
schneller.

Aber ich will weit weniger als 100kHz steuern, ca. so bei 5 bis 10kHz.
In Bezug auf Dämpfung und Störabstand ist's dann egal.
Laut Phillips geht das bis 31kHz auf 1km oder 85kHz auf 50m.

Bleibt noch die Anordnung der Bus-Leitungsdrähte zueinander. Die
Leitungs-Drähte sollten natürlich auch hier möglichst paarig liegen.


Peter
 
Martin Lenz wrote:

SMB ist I2C,
Nicht wirklich, SMB beinhaltet I2C, enthält aber div.
Erweiterungen (Power Down, Slave Alert Leitung,
automatisch Adreßvergabe, etc.).

cu, Marco

--
S: Minolta: Winkelsucher (VN), VC-9

E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
 
"Peter Thoms" <schwuppwechP.Thoms@T-Online.de> wrote in
news:bpi81t$mgi$00$1@news.t-online.com:

Martin Lenz schrieb
[...]
Takt brauchst du bei RS485 nicht, ist asynchron, so wie RS232.
Also eine Doppelader für Daten und eine für Spannung. Mit deinen
geschirmten Takt und Datenleitungen bist du auch bei 4 Leitern.

Martin

Ja, Martin,

das ist durchaus machbar.

I2C ist nun aber synchron mit nur einer Taktquelle.
Der Takt wird ganz simpel vom Sender vorgegeben und zu den
Empfängern drahtgebunden verteilt und die erwarten das auch.

Es sei denn, ich scrambel Daten und Takt zusammen über einen
Manchester-Code zu einem Datenstrom. Ist das denkbar, oder
weitergedacht: sinnvoll bzw. machbar?
Wieso denn so kompliziert. RS232 (oder RS485) senden die
Daten mit einer festen Baudrate aus. Da braucht kein Takt
übertragen zu werden, weil die Empfänger (auf die richtige Baudrate
eingestellt) die Datenbits nach dem Startbit automatisch mit der
richtigen Geschwindigkeit einlesen. Das hängt nur vom Quarz am
Controller ab; und kann so bis zu 3% abweichen. Das ist eigentlich
noch simpler als I2C.

Die kannst sogar nur eine TTL-RS232 fahren; dann hast du nur 1
Datenleitung (also GND, Data, Betriebsspannung); einfach die RS232-
Portpins der Controller miteinander verbinden (sind meistens OpenDrain-
Pullup Ausgänge). Ist aber so störanfällig wie die I2C-Lösung.

Da du ohnehin Atmels einsetzen willst, dann nimm einfach 2 Stück, einen
draussen mit den 4 Ports und Timerausgängen und Ad-Wandlern usw und
einen drinnen, der die Knöppe abfragt und die Daten rausschickt
und eventuell auch noch was anzeigt. Ist imho die am wenigsten
aufwendige Möglichkeit. Servos kannst du auch ganz einfach ansteuern
(Timerausgang, PWM; sofern Dein Atmel das kann).

M.
--
Bitte auf mwnews2@pentax.boerde.de antworten.
 
"Peter Thoms" <schwuppwechP.Thoms@T-Online.de> wrote in
news:bpirc1$921$01$1@news.t-online.com:

Nehme ich eine asynchrone Verbindung, braucht leider jeder
Empfänger zunächst einen eigenen Takt. Der hopst ständig mit, auch
wenn auf der Leitung keine Daten strömen.
Ach, damit der Empfänger nicht gestört wird. Dann darfst du
draussen natürlich keinen Controller einsetzen.

Beim I2C dagegen ist in der Datenpause Ruhe und zudem die
Realisierung ohne Anwesenheit einer UART weniger als halb so
aufwendig.

Bleibt noch, daß RS485 weniger Störspannungen einfängt.
50Hz-Störungen sind's mit Sicherheit nicht, bleiben HF-Störungen.
Reicht hier eine Dämpfung von 100dB?
Tja, 100dB von was? Du solltest unter 0,5 Volt Einstreuung auf der
Datenleitung kommen. Mehr stört das Digitalsignal. (Im Prinzip könntest
Du das sogar mit nem Oszi messen). Wieviel V/m Feldstärke hast du denn
im Kabelverlauf? Ich glaube kaum, das du die 100dB bei geschirmten
Datenkabel realisieren kannst. Normalerweise ist die Schirmdeckung nur
80%, da kommt dann doch noch einiges durch.

M.
--
Bitte auf mwnews2@pentax.boerde.de antworten.
 
Matthias Weingart schrieb
[...]
Tja, 100dB von was? Du solltest unter 0,5 Volt Einstreuung auf der
Datenleitung kommen. Mehr stört das Digitalsignal. (Im Prinzip könntest
Du das sogar mit nem Oszi messen). Wieviel V/m Feldstärke hast du denn
im Kabelverlauf? Ich glaube kaum, das du die 100dB bei geschirmten
Datenkabel realisieren kannst. Normalerweise ist die Schirmdeckung nur
80%, da kommt dann doch noch einiges durch.
Bsp.:
Nehmen wir 100V Störspannung mit 4MHz, davon in diesem Bsp. 60dB ab.
So bleiben ungefähr 0,1V übrig, rechnerisch, im kleinen Weißblechgehäuse an
den sensitiven Halbleitern.
Denn zwischen Außen und Innen befindet sich
a) das kleine Gehäuse und
b) an jedem durchgeführten Leitungsdraht ein Tiefpaß mit
Durchführungskondensator.


Peter
 
Matthias Weingart schrieb
Peter Thoms wrote in
news:bpi81t$mgi$00$1@news.t-online.com:

Martin Lenz schrieb
[...]
Takt brauchst du bei RS485 nicht, ist asynchron, so wie RS232.
Also eine Doppelader für Daten und eine für Spannung. Mit deinen
geschirmten Takt und Datenleitungen bist du auch bei 4 Leitern.

Martin

Ja, Martin,

das ist durchaus machbar.

I2C ist nun aber synchron mit nur einer Taktquelle.
Der Takt wird ganz simpel vom Sender vorgegeben und zu den
Empfängern drahtgebunden verteilt und die erwarten das auch.

Es sei denn, ich scrambel Daten und Takt zusammen über einen
Manchester-Code zu einem Datenstrom. Ist das denkbar, oder
weitergedacht: sinnvoll bzw. machbar?

Wieso denn so kompliziert. RS232 (oder RS485) senden die
Daten mit einer festen Baudrate aus. Da braucht kein Takt
übertragen zu werden, weil die Empfänger (auf die richtige Baudrate
eingestellt) die Datenbits nach dem Startbit automatisch mit der
richtigen Geschwindigkeit einlesen. Das hängt nur vom Quarz am
Controller ab; und kann so bis zu 3% abweichen. Das ist eigentlich
noch simpler als I2C.

Die kannst sogar nur eine TTL-RS232 fahren; dann hast du nur 1
Datenleitung (also GND, Data, Betriebsspannung); einfach die RS232-
Portpins der Controller miteinander verbinden (sind meistens OpenDrain-
Pullup Ausgänge). Ist aber so störanfällig wie die I2C-Lösung.

Da du ohnehin Atmels einsetzen willst, dann nimm einfach 2 Stück, einen
draussen mit den 4 Ports und Timerausgängen und Ad-Wandlern usw und
einen drinnen, der die Knöppe abfragt und die Daten rausschickt
und eventuell auch noch was anzeigt. Ist imho die am wenigsten
aufwendige Möglichkeit. Servos kannst du auch ganz einfach ansteuern
(Timerausgang, PWM; sofern Dein Atmel das kann).
Danke für die Antwort Matthias,

ich fürchte, ich muß Dich enttäuschen.

Dein Link fürs I2C-Tool erscheint mir bereits als eine Riesenhilfe.

An anderen Vorschläge wage ich mich frühestens, wenn I2C läuft. Wenn aber
nicht, höchstens dann, wenn ich weiß warum.

I2C-Bausteine besitzen zu meinem Glück ein komplett fertiges, wenn auch
simples, Interface mit sofort nutzbaren Grundfunktionen.

Also, wo wir einig gehen, das sind die zwei Doppeladern für den Bus, so oder
so, das bleibt.


Gruß
Peter
 
Marco Budde <mb-news-a@linuxhaven.de> wrote in
news:3FBD0BD3.57F21168@linuxhaven.de:

Martin Lenz wrote:

SMB ist I2C,

Nicht wirklich, SMB beinhaltet I2C, enthält aber div.
Erweiterungen (Power Down, Slave Alert Leitung,
automatisch Adreßvergabe, etc.).
.... festgelegte absolute Pegel (bei I2C ist die Schwelle 50% der
Versorgungsspannung, beim SMBus sind es glaube 1.5V). Nichtdestotrotz
findet man auf Motherboards auch "normale" I2C-Bausteine (z.B. die LM?-
Temperaturfühler).

M.
--
Bitte auf mwnews2@pentax.boerde.de antworten.
 

Welcome to EDABoard.com

Sponsor

Back
Top