![]() |
µ Timer
hi,
folgendes problem: es geht um die Programmierung der seriellen Schnittstelle. Wie kann man im µs Bereich einen Takt raus lassen, d.h. einen Takt x µs und danach ein Takt y µs. Bei der umschaltung von x auf y darf keine große Zeit verloren gehen (>2µs). Wie könnte man dies realisieren (µTimer mit ISR). Bitte um hilfe. Logh |
Re: µ Timer
Eventuell mit
![]() |
Re: µ Timer
Hai Logh,
ersteinmal : "Herzlich Willkommen in der Delphi-PRAXIS". Mal unabhängig von Delphi. Bist Du sicher das die serielle Schnisstelle mit so einem Tak klar kommte? :gruebel: |
Re: µ Timer
µ ist doch = Mikro also 1µs = 1 Millionstel Sekunde oder? Das geht afaik mit der Seriellen nicht.
|
Re: µ Timer
Danke für den Herzlichen Empfang. (leider weiß ich nicht mich mit smilies auszudrücken)
ja µ heißt 1 millionstel sek. die serielle Schinstelle kann, soweit ich das weis 19200 bit\s max. übertragen, d.h. 1 bit wird in 0,0000520833333 ~ 52µs übertragen. Bei 9600 dauert es 1/9600 = 0.000104166667 ~ 104µs. Also die serielle Schnittstelle kommt da schon mit. |
Re: µ Timer
Hallo,
wir haben hier ein ähnliches Problem schonmal gelöst. Abhängig davon was du mit deinem Signal machen willst, könntest du auch die Handshake-Leitungen benutzen. Mit Asynch-Pro kann man diese Ausgänge einfach setzen oder rücksetzen. Das geht relativ flott, allerdings weiss ich nicht wie flott, ich bin aber sicher, dass man damit die us Grenze erreichen kann. Der Takt der mit Txd erreichbar ist kann nur einer der Standardbaudrates entsprechen, ist also für eine solche Aufgabe recht ungeeignet, es sei denn du benötigst eine entsprechende Frequenz. Was willst du damit eigentlich erreichen? Taktgenerator oder ähnliches? Rainer |
Re: µ Timer
Zitat:
daher braucht er 16(?)mal länger |
Re: µ Timer
ja,
er braucht 16 mal länger aber beim takt setzt man ein bit oder nicht. Ich brauche das, damit ich mit einer bestimmten IC variante kommunizieren kann. Folgendes liegt vor: Als Schul projekt habe ich es mir zur Aufgabe gemacht, mit einem IButton ein Sicherheits System zu erstellen. Ein Ibutton ist ein IC, welches ein Identifikationsnummer in sich trägt, damit kann man Systeme vor unbefugten schützen. Der Ibutton(sieht aus wie eine Knopfzelle) wird in eine auslese Vorrichtung gelegt- und nun kommt der Rechner ins Spiel- dort wird mit einem bestimmten Protokoll mit dem IButton kommuniziert. Der IButton sendet seine ID an den PC, der überprüft ob die ID richtig ist und schaltet z.B. den Rechner an. Die Kommunikation: Um mit dem IButton zu kommunizieren, muss eine Leitung, an die der IButton angeschlossen ist, auf High oder Low gelegt werden, und zwar in µs-Bereich, z.B. Leitung = 0 für 50 µs und danach Leitung = 1 für 100µs, interpretiert der IButton als ein empfangenes Bit. Nun muss man diese Signal folgen im µ-Bereich erzeugen. Die Übertragung ist seriell über eine Leitung (Es kommuniziert über die Versorgung). So viel dazu. |
Re: µ Timer
Zitat:
mfg edit1+2: Schreibfehler |
Re: µ Timer
Mal am Rande: Selbst wenn es die Serielle schaffen kann, so hat man aber noch immer keine Möglichkeit derart kurze Intervalle am PC vorzugeben, oder irre ich da? Sämtliche Timer bewegen sich doch im ms-Bereich bzw. geben sie Ticks wieder (dessen Geschwindigkeit dann wiederum von der CPU abhängt). Und selbst wenn man auf Basis eines Timers auf Ticks arbeitet, so werden etwaige Berechungen und Ein-/Ausgabe-Befehle eine Verarbeitungszeit hervorrufen, die a) in ihrer Dauer unter Windows nicht abschätzbar ist, und b) eventuell ohnehin zu lang wäre.
Oder bin ich grad völlig auf dem falschen Dampfer? (Will ich nicht aussließen :)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz