Autor Beitrag
Henry
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Fr 17.08.07 19:41 
Hallo,

ich verwende in meinen Programmen die Komponente TSerial aus der ToolBox.
Nun frage ich z.B. mit dem Ereignis OnCTS ein externes Signal ab, welches sehr Häufig erscheint (im Millisekundenbereich).

Meine Frage ist nun:
Bis zu welcher Frequenz kann man die Signale an der Schnittstelle (CTS, DSR, DCD und Ri) noch sicher auswerten?

Danke schon einmal im Voraus

_________________
mfg Henry
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 17.08.07 20:14 
Es gibt RC5-Sender und -Empfänger, die mit 30 - 40 kHz arbeiten an der seriellen Schnittstelle - ohne Probleme.
Kein Wunder - die meisten arbeiten mindestens mit 115 kBaud.
Henry Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Fr 17.08.07 20:19 
user profile iconhathor hat folgendes geschrieben:
... die meisten arbeiten mindestens mit 115 kBaud.

Das ist richtig, aber gilt das auch für diese Signale? Denn diese 115 KBaud sind ja für die Daten die über Rx und Tx gehen, oder?

Wäre aber super wenn es so wäre. Dann kann ich das erst einmal so verwenden ohne viel Hardware.

_________________
mfg Henry
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 17.08.07 21:53 
Anfangs hatten serielle Schnittstellen keinen Speicher, erst nach Einführung von Windows und anderen BS mit GUI mussten serielle Schnittstellen eigenen Speicher (16 Bit) bekommen, damit keine Daten verloren gingen, weil Interrupts stark BS-abhängig geworden sind.

Wenn es sehr wichtig ist, zu wissen, wo die Grenzfrequenz liegt, würde ich einen Impulsgeber mit bekannter Frequenz anschliessen und über Software die Frequenz messen.
Henry Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Sa 18.08.07 20:12 
Danke für die Hilfe.

Das werde ich bei gelegenheit mal versuchen. Da die Anwendung noch funktioniert bin ich im grünen Bereich mit meiner Frequenz.

_________________
mfg Henry
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Mo 20.08.07 00:23 
user profile iconHenry hat folgendes geschrieben:
Hallo,

ich verwende in meinen Programmen die Komponente TSerial aus der ToolBox.
Nun frage ich z.B. mit dem Ereignis OnCTS ein externes Signal ab, welches sehr Häufig erscheint (im Millisekundenbereich).

Meine Frage ist nun:
Bis zu welcher Frequenz kann man die Signale an der Schnittstelle (CTS, DSR, DCD und Ri) noch sicher auswerten?

Danke schon einmal im Voraus


Hallo,

ich fürchte, das kann man genau genommen garnicht: Statuswechsel der Signale wie CTS werden vom Treiber erfasst (Windows-intern, ohne genaue Analyse des Treibers ist nichts darüber bekannt) und als Message in die Message Queue deiner Anwendung eingefügt. Du erfährst erst etwas davon, wenn du die Message handelst, was stark von deinem Programm abhängt - hast du eine Schleife laufen ohne Processmessages, dann überhaupt nicht.

Die empfangenen Zeichen dagegen werden gepuffert und können mit Read ausgelesen werden, je nach Timeout-Einstellung und Event-Char möglicherweise erst als fertiger String nach Eintreffen von CR-LF.

Hast du eine Schnittstelle, die nach jedem Byte CTS ab- und dann wieder anschaltet, so bekommst du etwa auf meinem Protokollanalysator die Anzeige 'T' CtsOff CtsOn 'H' CtsOff CtsOn 'E' CtsOff CtsOn ' ' CtsOff CtsOn 'Q' CtsOff CtsOn 'U' CtsOff CtsOn usw. usw., das ist eine Realtimeanzeige, aus der ich auch die Zeit in µsec für jedes Zeichen und jeden Statuswechsel entnehmen kann. Unter Windows erhälst du je 45 CTS-Off/On Events und DANN einen String 'THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG' CR LF.

Da kannst du den zeitlichen und logischen Zusammenhang (sende wenn CTS true) nur vermuten.

Gruss Reinhard