Ich habe mir mal überlegt, ob es möglich ist, auf z.B. einem I²C Bus zu
messen, von wo die Daten kommen (also vom Master oder vom Slave).
Wenn sich der Strom mit Lichtgeschwindigkeit bewegt, habe ich folgende
Zeiten ausgerechnet:
1m -> 3,34µs
50cm -> 1,67µs
10cm -> 0,334µs = 334ns
Wenn ich einen µC mit 40MIPS nehme (dsPIC), die also 40mio Befehle pro
Sekunde kann, braucht er für einen 25ns. Wenn man also ein Kabel hat,
dass 10cm lang ist und man schließt an beiden Enden jeweils einen IO an,
könnte man doch eigentlich die Richtung messen, oder? Wenn links PortA1
und rechts PortA2 ist, und das Signal erst bei A1 auf High geht und dann
bei A2, müsste man doch so sagen könne, dass das Signal von links nach
rechts geht. Oder hab ich da einen Denkfehler?
einigen wir uns auf 0,33 m/ns. Im Kabel oder auf der Leiterplatte ist
die Lichtgeschwindigkeit allerdings etwas kleiner als im freien Raum.
Dürften so ca. 20cm/ns sein.
ahhhhhh ja stimmt.. trottel.. Naja kam mir schon komisch vor. Dann hat
sich das glaub ich erledigt. Ne andere Möglichkeit gibt es nicht, oder?
Also mit Dioden oder so? Das Problem ist ja, dass es die Gleiche Leitung
ist.
Ähem, mal von dem hypothetischen Ansatz abgesehen (und wofür man das
brauchen könnte), mit welcher Samplerate willst du denn da abtasten UND
die abgetasteten Werte dann noch weiterverarbeiten?
- gerd
ich schrieb:> Ne andere Möglichkeit gibt es nicht, oder?> Also mit Dioden oder so? Das Problem ist ja, dass es die Gleiche Leitung> ist.
Hallo,
naja mit ein bisschen Intelligenz im Mitschneidegerät sollte es gehen,
passiv am Bus zu horchen.
- auf START-Condition warten
-> nachfolgendey Byte ist Adresse des Slaves
-> je nachdem ob Read- oder Write-Bit gesetzt ist, ist die Datenrichtung
festgelegt
-> den Rest der Datenübertragung erfassen
-> STOP-Condition
gerd schrieb:> Ähem, mal von dem hypothetischen Ansatz abgesehen (und wofür man das> brauchen könnte)
Hab mir gedacht, dass man das als evtl. Erweiterung zu einem
Logianalyzer machen kann. Das heißt, man hat 1 Messspitze die man an die
Erweiterung klemmt + einer Messspitze für die Richtung. Dann hat man am
ersten Kanal die Daten bzw. den Status und der andere Kanal gibt an, in
welche Richtung es geht. Man bräuchte dafür natürlich eine Leitung, die
"Unterbrechbar" ist, also 2 Trennbare Punkte hat.
Christian schrieb:> Hallo,>> naja mit ein bisschen Intelligenz im Mitschneidegerät sollte es gehen,> passiv am Bus zu horchen.
Das stimmt, man könnte auch die Bekannten Adressen angeben und weiß
somit, wer wohin sendet. Allerdings war das mit dem I²C Bus nur ein
Beispiel.
Ist jetzt auch nicht überlebenswichtiges, aber es interessiert mich
irgendwie.
Für den einfachen Fall: Erkennen "wer hat was gesendet?"
Massepotential für z.B. Slave mit Schottky-Diode anheben.
Mit Analog-Scope messen.
Man kann dann sogar den ACK-Impuls der Gegenrichtung
erkennen und hat die Möglichkeit, die Einzelimpulse abzu-
zählen.
mfg Padex
Mit Massepotential anheben, war hier gemeint:
Schottky-Diode in die SDA-Leitung mit Katode
nach SDA-PIN (Slave).
Dadurch sind die LOW-Pegel im Oszillogramm
etwas nach oben verschoben (nur für Slave).
mfg Padex