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...
>Ich muß sehr kurze Zeiten ( <0.1µs ) messen.
0.1us sind 100ns. Bei 8MHz Takt kann der ATmega
alle 125ns einen Befehl ausführen.
einen Befehl ausführen... aber ich brauche ja mehrere Befehl um zu prüfen, ob der Eingang ein Signal bekommt und dann in die Schleife zurückkehren...
>aber ich brauche ja mehrere Befehl um zu prüfen, ob der Eingang ein >Signal bekommt und dann in die Schleife zurückkehren... Gut erkannt! Dann ist der ATTiny wohl um einige Größenordnungen zu langsam für dein Problem.
Willst du messen wie schnell der Strom ist, oder wie?? Was willst du genau machen?
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.
TTL-Grab ? Was ist das ? Gibt es nicht einen AD-Wandler mit Speicherfunktion ? Dann könnte man auch das Signal genau unter die Lupe nehmen und mit nem AVR auswerten...
Also eine Zeitmess-Schaltung mit TTL oder CMOS ? Muß mal schauen, was es da gibt. Habe aber keine Ahnung, was da die maximale Taktfrequenz ist. Aber die Idee ist gut. (ist aber mehr Lötarbeit)
>TTL-Grab ? Was ist das ?
Sehr viele einzelne Chips die nebeneinander
angeordnet sind. Sieht aus wie ein Friedhof ;)
TTL-Grab ist ein Insider Joke ;)
Kennen wohl wohl nur noch die Opis hier ;)
ich hatte überlegt, mehrere CMOS-Zähler zu verwenden, aber ich glaube die kann man auch nur bis max 5 MHz ansteuern...
74HC(T) heißt das Zauberwort z.B. so: Steigende Flanke lässt den Takt auf den Zähler los, fallende Flanke stoppt ihn wieder.
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...
Ich dachte, es handelt sich um ein digitales Signal, wozu nen teuren Ad-Wandler. Nen spezieller IC ist mir nicht bekannt (zu faul zum suchen :P) Die Bastellösung sieht so aus: Takt(So viel wie die Gatter mögen)->AND->Zähler | Eingang vom Kabel -> |nach wunsch \-+ Ausgang vom Kabel -> |verknüpfen /-+
Ja, eigentlich ist es ein digitales Signal. Aber als Option (zur Fehler-Reduzierung) möchte ich AD-Wandler nicht ausschließen. Ich muß mal in Ruhe googeln, es gab mal nen TTL-Zähler. Wenn es den auch als HighSpeed-Typ gibt, dann wäre es ne Lösung...
ich möchte das Kabel so genau wie möglich messen, also <1m. Wie schnell der Strom ist, kann ich nur daraus entnehmen "...ich habe gelesen, dass je nach Kabeltyp der Strom mit 50-150 m/µs"
ja, deswegen ist es nur als Option gedacht, falls das digitale Signal zu viele Störungen bringt, bzw die Flanke zu langsam steigt. Bei den Kurzen Zeiten treten bestimmt genug Fehler auf, die die Messung komplett verfälschen.
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.
Anja schrieb: > 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. Vergiß es. Die Anforderung ist "Kurzzeitmessung <0.1µs"
Hallo, dann schau Dir doch mal die TDCs - Time-to-Digital Converter an . z.B http://www.acam.de Auflösung im ps Bereich ! Insbesondere die Applikationen. Noch einen schönen Tag Gruß Siegmar
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!
>"...ich habe gelesen, dass je nach Kabeltyp der Strom mit 50-150 m/µs"
sagt eigentlich schon genug (= ich habe keine ahnung)
aber davon abgesehen:
leg doch mal klar fest: welches kabel, welche länge von...bis, wie genau
?
zb 1m bzw 4ns auflösung ?
>"...ich habe gelesen, dass je nach Kabeltyp der Strom mit 50-150 m/µs"
Oh, stimmt das sehe ich ja jetzt erst. Angesichts dessen empfehle ich
zuerst eine Woche Bibliothek. Der Fragensteller möchte bestimmt nicht
die Geschwindigkeit der Elektronen messen...
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.
Ulrich schrieb: > 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. Nützt aber nur was, wenn du die Kapazität des verwendeten Kabels wirklich kennst. Aus der Daumenregel resultiert sonst nur eine Daumenpeilung.
Hey Aber da bei jedem Kabeltyp auch die Geschwindichkeit des Signals unterschiedlich ist wird man so oder so bei unterschiedlichen Kabeln kein ordentliches Ergebnis bekommen! Gruß AD
Also das Messen bei digitalen Signalen geht wohl mit den TDC ohne Probleme mit 45 ps Auflösung. http://www.msc.de/de/produkte/elekom/sensors/msc_tdc/1686-www.html Das Umsetzen in einen Ausgabewert mit Aussagefähigkeit dürfte das Problem sein. avr
>"...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...
Habe den Schaltplan meines TDR mit PIC 16f84 nicht mehr auf die schnelle gefunden, hier link 1) http://electronicdesign.com/Articles/ArticleID/5649/5649.html sowie link 2) http://www.ecnmag.com/article-smh-low-cost-high-res-071609.aspx welche ich im Netz gefunden habe. Die Auflösung von 1ns ist kein Problem.
Schau mal hier, die lösen das Problem etwas anders: http://www.elv-downloads.de/service/manuals/19300_km1/19300_KM1_km.pdf Torsten
Torsten, das ist genau das, was ich suche... Aber den TDC muß ich mir trotzdem mal im Auge behalten... Vielen Dank...
Der Lösungsansatz ist identisch, mittels flip-flop Kondensator mit konstanter spannong/strom laden, und dann mittels ADC das messen. Zumindest zu meinem TDR mit pic, wobei aber weniger Bauteile verwendet wurden.
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.
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.