Kurzzeitmessung <0.1µs

#1418324
Lesenswert?

Hallo,
ich möchte mit einem ATTiny2313 einen Impuls auf einen Ausgang geben und 
die Zeit messen, bis der Impuls auf einem Eingang zurück kommt.

Macht man das am besten per Interupt oder einfach im Programm den 
Ausgangspin setzen und warten bis der Eingang kommt.
Wie schnell ist der Timer ?
Bei Interupt ist doch die Auflösung kleiner, da der Interupt-Takt ja 
kleiner 1/4 der µP-Frequenz sein sollte, oder ?

Ich muß sehr kurze Zeiten ( <0.1µs ) messen.
Wie bekomme ich die kleinste messbare Zeit (zB bei 8Mhz oder 16Mhz Quarz 
am µP) raus ?

Könnte man auch Analog-Signale in dieser Zeit aufzeichnen und später 
auslesen ??? 8Bit würde reichen. So ähnlich wie ein Speicher-Osszi...
#1418350
Lesenswert?

FPGA sieht ganz gut aus, aber das ist komplettes Neuland für mich...

Ja, ich möchte auf ein Kabel einen Impuls geben und die Zeit messen, bis 
er auf der anderen Ader (oder dem Schirm) zurückkommt.

Daraus möchte ich die Kabellänge berechnen.
Aber ich habe gelesen, dass je nach Kabeltyp der Strom mit 50-150 m/µs 
fließt.
Die Messung sollte aber so genau wie möglich sein.
#1418380
Lesenswert?

bei Google findet man viel zi viel dazu.
HCT scheint was mit der Taktrate zu tun zu haben...

Ich habe noch das zum Thema AD-Wandler gefunden, aber leider keine 
Preise...
http://www.elektroniknet.de/home/bauelemente/produkte/uebersicht/aktive-bauelemente/analogmixed-signal/p/d/ad-wandler-mit-500-mhz-eingangsfrequenz-1/
... und die Daten kann man auch nicht in der Geschwindigkeit 
speichern...
Gast #1418440
Lesenswert?

Hallo,

die schnellste Möglichkeit Daten einzulesen dürfte die SPI-Schnittstelle
sein. Sie läßt sich mit FCPU / 2 betreiben. Bei 20 MHz sind also 0,1 us 
auflösung möglich. Die Software hat so 16 Takte Zeit um jeweils ein Byte 
(8 Bits) auf der MOSI Leitung herauszuschicken (z.B. Sende-Puls). Beim 
heraustakten des Bytes wird im Master Mode automatisch auf der 
MISO-Leitung eingelesen. Das Byte muß dann nur rechtzeitig gesichert 
werden falls längere Zeiten durch wiederholtes Senden und Einlesen 
überwacht werden sollen.
Gast #1418501
Lesenswert?

Du willst ein Time Domain Reflectometer selber bauen? Sportlich!
Aber du willst ja eigentlich nur die Länge herausbekommen, das macht es 
einfacher. Was ihr vorhabt ist eigentlich viel zu kompliziert.

Erzeuge einen Sinus dir bekannter Frequenz und miss die Phasenlage am 
Eingang und Ausgang. Dies machst du für 3 Frequenzen um der Unbekannten 
n*2pi in n*2pi+phi zu begegnen. (Willst du für Meter bis 1000 km das 
machen, entsprechend mehr Frequenzen.)

Das kann man entweder Analog machen und übelst viel Zeit verschwenden, 
oder recht einfach mit einem µC und einem DDS-IC. Die DDS muss in 
Frequenz und Phase einstellbar sein. Du variierst solange die Phase bis 
du am Eingang einen Nulldurchgang oder Maximum hast. Viel Spass beim 
weiterrechnen!
Gast #1419083
Lesenswert?

Es ist duchaus möglich die Zeitmessung analog zu machen also aus der 
Zeit zwischen Start und Stop eine Spannung zu machen, die man dann mit 
einem eher langsamen AD wandler messen kann.

Die Messung über eine Sinusspannung setzt vorraus aus das Kabel und die 
Enden frei von Reflexionen ist. Da ist die Messung im Zeitbereich schon 
geschickter.

Alternativ gibt es auch die Messung der Kabellänge über die Kapazität. 
Bei den typischen 100 pF/m  ist da 1 m Auflösung keine größeres Problem.
#1419119
Lesenswert?

>"...ich habe gelesen, dass je nach Kabeltyp der Strom mit 50-150 m/µs"
Die Fortplanzungsgeschwindigkeit von Impulsen berechnet sich aus
1 / Wurzel(Induktivität pro Km * Kapazität pro Km).
Das Ergibt bei Fernsehkabel zB V/2 = 144 m/µs und bei Telefonkabel 148 
m/µs.
Mann könnte ja die Werte bei einer Festen Kabellänge genau nachmessen 
und im AVR eine Tabelle für verschieden Kabeltypen hinterlegen...

Die Sache mit dem TDC hört sich auch sehr interessant an, ich muß nur 
erstmal sehen, was die Teile kosten...
Gast #1419205
Lesenswert?

Lieber Marco B.,

bitte löse dich von der Vorstellung die Elektronendriftgeschwindigkeit 
messen zu können. Du willst einen Puls auf die Leitung schicken und die 
Laufzeit messen. Die Ausbreitungsgeschwindigkeit einer Welle ist nicht 
gleich der Ausbreitungsgeschwindigkeit der Elektronen!

Einfaches Beispiel: Du schaltest eine Lampe ein. Der Lichtschalter 
befindet sich kilometerweit entfernt von der Lampe. Du wirs trotzdem 
keine Zeitverzögerung messen können bis zum aufleuchten der Lampe!

Es gibt also zwei Möglichkeiten der Messung:
1. - ein Time Domain Reflectometer
2. - Messung der Phasenlage zwischen Ein- und Ausgang

1. Hat den Vorteil das du nur ein Ende des Kabels brauchst. Das andere 
Ende kann offen oder kurzgeschlossen sein. Ein Mikrocontroller ist 
vielleicht zu langsam für kurze Kabel.

2. Du brauchst beide Enden des Kabels kannst aber ohne große 
Rechenleistung die Entfernung fast beliebig genau bestimmen.

Bitte lies dich in das Thema ein in einer Bibliothek deiner Wahl. Oder 
lade dir Skripte zum Thema Systemtheorie und Feldtheorie herunter und 
arbeite sie durch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren