So, das Beste was in den Bereich von 100Ohm - 1kOhm passt und in meiner Bastelkiste verfügbar war, sind 620Ohm.
Am Verhalten hat sich aber nix geändert :-( Aber nach deiner Ausführung dass der Abschlusswiderstand nicht sooo die Rolle spielt, war das ja zu erwarten.
Nur zum Verständnis:
Wenn die Widerstände gegen Vcc und Gnd "okay" sind, dann dürfte ich, wenn ich die Datenleitungen zum ekey weglasse, doch kein einziges Byte empfangen, oder?
Hab jetzt den Abschlusswiderstand und die Leitungen zum ekey weggelassen. Kommt kein einziges Byte. Dann wäre ja alles im Lot, oder?
Könnte es sein dass irgendwas unterwegs vom ekey zum USB-Adapter das Signal - meist beim Frame-Start - beeeinflusst? Aber was könnte das sein?
[update]
Ich kann auch 2m lose Leitung an den USB-Adapter anschließen. Auch damit gibt's keiner 0x00 bytes. Auch nix anderes. Absolute Stille.
Wenn wenigstens durchgehend das Start-Byte fehlen würde, dann könnte ich programmatisch darauf reagieren. Ich hab mir deshalb nochmal die gedroppten Bytes angeschaut während ich einen Finger scanne. Das ist teils so zerhackt, dass sich da nix brauchbares extrahieren lässt.
RS485 ist doch was die Leitung angeht nicht sooo anspruchsvoll, oder? Hab ein "normales Telefonkabel", Typ JY(ST)Y gelegt. Die Leitung hat, hab's eben nochmal gecheckt, keine 10m. Dürften ca. 7-8m sein.
Wenn die 0-Pegel sauber passen, dann dürften es ja nur noch Reflektionen sein, oder? Ich werde mal versuchen 120Ohm hinzubiegen... 5x620Ohm parallel und ich bin bei immerhin 124 Ohm.... Vielleicht hilft das ja.
[update2]
Interessant... Mit den 5x620Ohm parallel = 124Ohm als Abschlusswiderstand am USB-RS485 Adapter bekomm ich gar kein Frame mehr hin....
Hier ein exemplarischer Logabschnitt:
[update]
???? Ich hab seit meinem letzten Update nix geändert, und auf einmal kommen die Daten wieder beinahe ohne "dropped data" an...?! Jetzt wurden auch wieder Finger erkannt. Ich werd' noch verrückt.... Weiter testen....
[update]
Ah, jetzt. Hatte im letzten Logmitschnitt nach "Dropped data" ge'grep'ed.
Scheinbar sind die 120Ohm Abschlusswiderstand tatsächlich des Rätsels Lösung. Offenbar hab ich, wieso auch immer, Reflektionen die nun weitgehend ausradiert werden. Die meisten fehlerhaften Bytes sind nun tatsächlich, wenn dann 0x00. Nur noch ab und an sind andere Bytes mit drin. Das könnte aber noch an meinem "ungeraden 120Ohm" liegen. Muss mir mal glatte 120Ohm Widerstände zulegen.
Ich teste weiter ....
[update]
Widerstände sind bestellt (ebay als "Apotheke" was Elektronik-Bauteile betrifft ist billiger als Reichelt?). Das mit den 5-Widerständen passt nicht in den Adapter und sieht doof aus.
Mit den 5x620Ohm parallel ist das ganze aber schon recht stabil. Hab bis jetzt noch keinen Nicht-Erkannten Finger-Frame hin bekommen....
Vielleicht gieße ich das ganze irgendwann in einen Arduino-Sketch und verheirate das direkt mit KNX. Aber dann bräuchte ich zwei serielle Schnittstellen am Arduino: Eine zum Lesen des RS485 ICs und eine zum Senden per TpUart auf den KNX-Bus ... Wenn das mal nicht zu viel (Timingmäßig) für den Arduino ist... Mal schauen.
Am Verhalten hat sich aber nix geändert :-( Aber nach deiner Ausführung dass der Abschlusswiderstand nicht sooo die Rolle spielt, war das ja zu erwarten.
Nur zum Verständnis:
Wenn die Widerstände gegen Vcc und Gnd "okay" sind, dann dürfte ich, wenn ich die Datenleitungen zum ekey weglasse, doch kein einziges Byte empfangen, oder?
Hab jetzt den Abschlusswiderstand und die Leitungen zum ekey weggelassen. Kommt kein einziges Byte. Dann wäre ja alles im Lot, oder?
Könnte es sein dass irgendwas unterwegs vom ekey zum USB-Adapter das Signal - meist beim Frame-Start - beeeinflusst? Aber was könnte das sein?
[update]
Ich kann auch 2m lose Leitung an den USB-Adapter anschließen. Auch damit gibt's keiner 0x00 bytes. Auch nix anderes. Absolute Stille.
Wenn wenigstens durchgehend das Start-Byte fehlen würde, dann könnte ich programmatisch darauf reagieren. Ich hab mir deshalb nochmal die gedroppten Bytes angeschaut während ich einen Finger scanne. Das ist teils so zerhackt, dass sich da nix brauchbares extrahieren lässt.
RS485 ist doch was die Leitung angeht nicht sooo anspruchsvoll, oder? Hab ein "normales Telefonkabel", Typ JY(ST)Y gelegt. Die Leitung hat, hab's eben nochmal gecheckt, keine 10m. Dürften ca. 7-8m sein.
Wenn die 0-Pegel sauber passen, dann dürften es ja nur noch Reflektionen sein, oder? Ich werde mal versuchen 120Ohm hinzubiegen... 5x620Ohm parallel und ich bin bei immerhin 124 Ohm.... Vielleicht hilft das ja.
[update2]
Interessant... Mit den 5x620Ohm parallel = 124Ohm als Abschlusswiderstand am USB-RS485 Adapter bekomm ich gar kein Frame mehr hin....
Hier ein exemplarischer Logabschnitt:
Code:
2015-06-02 20:05:24.796 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [6]: 00 00 00 00 00 00 2015-06-02 20:05:25.116 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [5]: 00 00 00 00 00 2015-06-02 20:05:25.436 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [1]: 00 2015-06-02 20:05:25.757 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [8]: 00 00 00 00 00 00 00 00 2015-06-02 20:05:26.396 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [9]: 00 00 00 00 00 00 00 00 00 2015-06-02 20:05:26.568 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [1]: 00 2015-06-02 20:05:27.556 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [8]: 00 00 00 00 00 00 00 00 2015-06-02 20:05:27.880 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [4]: 00 00 00 00 2015-06-02 20:05:28.196 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [12]: 00 00 00 00 00 00 00 00 00 00 00 00 2015-06-02 20:05:28.840 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [12]: 00 00 00 00 00 00 00 00 00 00 00 00 2015-06-02 20:05:29.328 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [5]: 00 00 00 00 00 2015-06-02 20:05:29.648 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [3]: 00 00 00 2015-06-02 20:05:30.288 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [17]: e0 ce 20 82 e0 80 a4 81 83 d6 22 d4 80 d6 72 03 00 2015-06-02 20:05:30.640 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [1]: 00 2015-06-02 20:05:30.960 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [9]: 00 00 00 00 00 00 00 00 00 2015-06-02 20:05:31.768 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [17]: e0 ce 20 82 e0 80 a4 81 83 d6 22 d4 80 d6 72 03 00 2015-06-02 20:05:32.087 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [5]: 00 00 00 00 00 2015-06-02 20:05:32.408 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [2]: 00 00 2015-06-02 20:05:33.048 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [7]: 00 00 00 00 00 00 00 2015-06-02 20:05:33.372 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [1]: 00 2015-06-02 20:05:33.720 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [2]: 00 00 2015-06-02 20:05:34.208 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [4]: 00 00 00 00 2015-06-02 20:05:34.848 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [12]: 00 00 00 00 00 00 00 00 00 00 00 00 2015-06-02 20:05:35.172 FINEST [EkeyDecoder] de.root1.ekeydecoder.EkeyDecoder.byteReceived: Dropped data [5]: 00 00 00 00 00 8
[update]
???? Ich hab seit meinem letzten Update nix geändert, und auf einmal kommen die Daten wieder beinahe ohne "dropped data" an...?! Jetzt wurden auch wieder Finger erkannt. Ich werd' noch verrückt.... Weiter testen....
[update]
Ah, jetzt. Hatte im letzten Logmitschnitt nach "Dropped data" ge'grep'ed.
Scheinbar sind die 120Ohm Abschlusswiderstand tatsächlich des Rätsels Lösung. Offenbar hab ich, wieso auch immer, Reflektionen die nun weitgehend ausradiert werden. Die meisten fehlerhaften Bytes sind nun tatsächlich, wenn dann 0x00. Nur noch ab und an sind andere Bytes mit drin. Das könnte aber noch an meinem "ungeraden 120Ohm" liegen. Muss mir mal glatte 120Ohm Widerstände zulegen.
Ich teste weiter ....
[update]
Widerstände sind bestellt (ebay als "Apotheke" was Elektronik-Bauteile betrifft ist billiger als Reichelt?). Das mit den 5-Widerständen passt nicht in den Adapter und sieht doof aus.
Mit den 5x620Ohm parallel ist das ganze aber schon recht stabil. Hab bis jetzt noch keinen Nicht-Erkannten Finger-Frame hin bekommen....
Vielleicht gieße ich das ganze irgendwann in einen Arduino-Sketch und verheirate das direkt mit KNX. Aber dann bräuchte ich zwei serielle Schnittstellen am Arduino: Eine zum Lesen des RS485 ICs und eine zum Senden per TpUart auf den KNX-Bus ... Wenn das mal nicht zu viel (Timingmäßig) für den Arduino ist... Mal schauen.
Kommentar