Kommunikation zwischen TX und TXT

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
olagino
Beiträge: 89
Registriert: 02 Aug 2014, 13:13
Kontaktdaten:

Kommunikation zwischen TX und TXT

Beitrag von olagino » 01 Jan 2016, 17:59

Hallo zusammen, guten Rutsch erstmal!

Da ich gerade an meinem Roboter brüte, und mich nicht so genau mit I²C oder anderen Datenübertragungsmethoden auskenne, frage ich jetzt einfach mal hier nach. Ich habe an meinem Modell einen TXT und einen TX verbaut. Ich benötige die Kamera des TX, und hätte den TX als Erweiterung genutzt. Da das aber mit dem aktuellen Stand der Dinge noch nicht funktioniert, überlege ich gerade, wie ich das Problem anderweitig umgehen kann. Dabei kam mir in den Sinn, einen Motoranschluss des TXT (M4) direkt an I1 und I2 (jetzt nur als Beispiel) und andersherum verkabeln könnte, und dann über diese beiden "Datenleitungen" Befehle zwischen den TX(T)'en austauschen kann. Die eine Datenleitung (A) hätte ich als Takt genutzt, die andere zur Übertragung der Informationen (B). Also wäre ein entsprechender Ablauf zum Senden von Informationen:

1. Datenleitung von TXT stellt sich auf das zu übertragende Bit ein (z.B. O7 auf "an")
2. Taktleitung sendet Impuls (z.B. O8 auf "an", danach auf "aus"
3. TXT wartet auf I1 (an den 08 angeschlossen ist) auf einen Takt. Sobald dort eine aufsteigende Flanke ankommt, wird I2 ( die Datenleitung 07) ausgelesen und in eine Variable abgespeichert.
=> Dieser Vorgang wiederholt sich zum Beispiel acht Mal.

Das Problem, das ich jetzt habe, liegt bei der Trennung der ankommenden Bits in Bytes, also die Erkennung, wann ein Block vorbei ist, und wann der nächste kommt. Meine Idee war jetzt, einfach acht mal die Null zu senden, das heißt der Empfänger zählt die Anzahl der Nullen seit der letzten "1" und trennt damit die Blöcke. Allerdings entsteht dann das Problem, wenn ich ein "Byte" mit endenden Nullen sende (z.B. 10000000) und dann die acht Nullen, dann wird schon nach einer gesendeten Null mit dem Neuen Byte angefangen das Programm trennt dann somit falsch:

Code: Alles auswählen

Trennung vom Sender, es wird jeweils zweimal die Zahl 256 gesendet:
10000000_00000000_10 ....
1_00000000_00000001_0 ...
Trennung vom Empfänger, dieser wartet zuerst auf die acht Nullen, fängt dann aber zu früh an und liest eine Eins (00000001) bevor der Empfänger wieder auf die acht Nullen wartet. (es ist also "das Komma verrutscht")
                
Ich hoffe ich habe mich nicht zu sehr verworren und jemand weiß Abhilfe....;)



Liebe Grüße,

olagino

thkais
Beiträge: 376
Registriert: 31 Okt 2010, 21:45

Re: Kommunikation zwischen TX und TXT

Beitrag von thkais » 01 Jan 2016, 18:21

Hallo,
schau dir doch mal an, wie beim I²C-Bus "Start" und "Stop" Bit realisiert sind - so könntest du deine Daten auch synchronisieren...
Gruß
Thomas

olagino
Beiträge: 89
Registriert: 02 Aug 2014, 13:13
Kontaktdaten:

Re: Kommunikation zwischen TX und TXT

Beitrag von olagino » 01 Jan 2016, 18:39

Hallo thkais,

erstmal Danke für deine Schnelle Antwort. So weit ich das erkenne, ist beim Start/Stop-Bit die ausschlaggebende Flanke nicht auf dem Takt, sondern auf der Datenleitung, richtig? Ich mach mich jetzt erstmal an die Umsetzung und nochmal dankeschön. Ich glaube, ich war einfach zu vertieft, dass ich das interessante einfach übersehen habe.... ;) :(


Grüße,

olagino

Benutzeravatar
schnaggels
Beiträge: 386
Registriert: 31 Okt 2010, 23:14
Wohnort: Kelkheim
Kontaktdaten:

Re: Kommunikation zwischen TX und TXT

Beitrag von schnaggels » 05 Jan 2016, 09:05

Hi,

nur mal so als Idee... Die beiden direkt über I2C koppeln geht nicht weil beide Master sind richtig?
Gibt es da eventuell (fertige) I2C Slaves mit 2 Eingängen die Daten zwischenspeichern und von 2 Seiten abgefragt werden können?
Auslesen sollte natürlich erst gehen wenn eine Seite fertig mit schreiben ist.

Thomas

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Kommunikation zwischen TX und TXT

Beitrag von ski7777 » 05 Jan 2016, 09:11

Man könnte die beiden Controller per I²C parallel schalten und einen EEPROM anschließen. Zusätzlich könnte man TX und TXT mit einer Leitung verbinden, um dem anderen mitzuteilen, dass neue Daten vorhanden sind.
Vielleicht hat Dirk eine Idee.

Raphael

lemkajen
Beiträge: 123
Registriert: 05 Sep 2011, 12:58
Wohnort: Rhede (NRW)

Re: Kommunikation zwischen TX und TXT

Beitrag von lemkajen » 05 Jan 2016, 09:55

Moin,

Wie wäre es, an jedem Controller je 2x pcf 8574 (i2c i/o Port) anzuschließen?
je einen als Output (Sender) und einen Input (als Empfänger) und dann jede Leitung des jew Konterparts mit dem anderen verbinden - dann hätte man einen 2x8bit Parallelen asynchronen datenbus über i2c gebaut..
Wäre nur noch ein Protokoll zu definieren.. Nebenbei könnte man bei geschickter Einrichtung gleich mehrere Geräte "vernetzen" - und weitere ganz andere Geräte (Raspberrys, ArduinoSourcen etc) mit reinhängen.. Bei gleichem Protokoll
Ist den Netzteilnehmern dann egal, ob dort nun ein tx, txt oder ganz etwas anderes dranhängt..
Schnell wird das nicht, aber könnte eine Systemlösung sein..

Was denkt Ihr?

Viele Grüße

Jens
----
Jens Lemkamp

Antworten