Forum: Mikrocontroller und Digitale Elektronik 1-Wire Signal über Funk übertragen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter P (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hey Leute,

Ich habe einen Controller mit drei Anschlüssen, VCC, GND und DATA. Ich 
würde diesen gerne über Funk anbinden und suche dafür die passende 
Lösung. Bitdauer beträgt 4us, 0 oder 1 wird durch 1us Low, 3us High und 
umgekehrt codiert. Den genauen Frameaufbau kenne ich nicht und eine 
Kommunikation ist in beide Richtungen möglich.

Das einfachste wäre ja nun, die Daten 1 zu 1 aufzuzeichnen und 
wiederzugeben. Vielleicht sogar Bit für Bit, oder immer 32us (8 
Bitzeiten auf einmal).

Wie würdet ihr vorgehen? Für eine direkte Sichtverbindung wäre sicher 
Diode und Photoreceiver nett, aber die habe ich leider nicht. Bin für 
jeden Tipp dankbar.

Grüße

von Christian S. (roehrenvorheizer)


Bewertung
1 lesenswert
nicht lesenswert
Hallo,

ich schlage vor, die einzelnen Bits so zu übertragen, wie es die zu 
favorisierenden Funkmodule übertragen können, nämlich seriell und 
meistens Byte-orientiert. Empfängerseitig müßte dann wieder auf das 
1-wire-Format rekonstruiert werden.

Da die Strecke bidirektional sein soll, muß also ein sende- und 
empfangsfähiges Modul zur Anwendung kommen, sowie die Umcodierung auf 
beiden Seiten sende-und empfangsseitig erfolgen. 2,4 GHz Module dürften 
schnell genug sein.

Bei analoger Funkverbindung hätte man es so gemacht, wie von Dir 
vorgeschlagen, allerdings hätte man Hin- und Rückkanal gebraucht, da 
gleichzeitig zu übertragen gewesen wäre.

Dauerhaftes zeitdiskretes Abtasten erfordert permanente Belegung des 
Kanals und dies auch noch in beiden Richtungen.

MfG

: Bearbeitet durch User
von Max D. (max_d)


Bewertung
0 lesenswert
nicht lesenswert
Du wirst dich schon etwas mit dem Format beschäftigen müssen.
Z.b. könnte ein Acknowledge stattfinden. Das würde dann eine 
entsprechend schnelle hin&rück Übertragung erfordern (oder man faked das 
ack im sender).
Es kann aber auch ähnlich LIN der Master ein Paket anfragen und der 
Slave muss das dann liefern, auch da ist wenig zeit.

Auf der anderen Seite gibt es auch protokolle die zwar bidirektional 
laufen wo aber jedes paket nur in eine richtung geht. das ist dann 
zeitunkritisch und leicht in funk zu packen.

Was ist es denn für ein controller ? vlt. ist das protokoll ja bekannt.

von Peter P (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es geht um einen N64 Controller, den ich gerne fit für Funk machen 
möchte. Gibt auch welche zu kaufen, aber eine DIY Version hab ich. Ich 
nicht gefunden. Und es soll ja bisschen Spaß am basteln sein. Im Forum 
hier gibt es etwas dazu, aber keine Umsetzung oder sonstiges.

Zu dem Protokoll ist einiges bekannt. Und für die ganz simplen Abfragen 
der Tasten auch soweit kein Problem. Problematisch wird es mit etwaigen 
Zusatzmodulen im Controller, z.B. Pokémon Spiele etc. Da kann ich nicht 
sagen, wie das Framing Immer aussieht. Deshalb dachte ich an eine 1 zu 1 
Übertragung.

Es scheint so, das die Konsole Master spielt und dem Controller 
mitteilt, es kommen Daten oder nicht, so sollten Kollisionen 
ausgeschlossen sein. Ist halt die Frage ob es wirklich immer so ist.

Wie würdet ihr das Signal abtasten? Infos zum Protokoll hab ich von 
hier: http://www.mixdown.ca/n64dev/
Was für Funkmodule würdet ihr empfehlen?

von Max D. (max_d)


Bewertung
0 lesenswert
nicht lesenswert
Interessant ist v.a. das hier " Please note that the controller responds 
VERY QUICKLY -- within 2 to 3us on my particular unit."
Da ware die Frage dann wie viel Zeit die Konsole maximal warten mag. In 
2-3 us funkt da nämlich kein normales Modul.
Die kommerziellen funkcontroller werden nur die Rohdaten übertragen und 
der Empfänger in der Konsole macht das interfacing. Das ist natürlich 
auch für dich eine Option.

von Peter P (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja, deshalb hatte ich auch an eine direkte Umsetzung und nicht an 
Framing etc. gedacht. Wie meinst du das, reine Rohdaten zu übertragen? 
Und wie würdest du vorgehen? Auch im Bezug auf Funkmodul.

von Max D. (max_d)


Bewertung
0 lesenswert
nicht lesenswert
Der käufliche Controller wird (mehr oder weniger häufig) die Position 
der Hebel und Knöpfe an den Empfänger schicken der speichert diese und 
kann dann sofort der N64 diese Werte mitteilen (ohne erst den Controller 
zu fragen).

Eine echte kontinuierliche Übertragung der Daten erfordert mindestens 
250 kbit/s Bandbreite (x2 wenn man nicht aus den frames die richtung 
raten kann/will). Das ist ganz schön steil für billige Module.

Ich würde etwas recherchieren bezüglich der zu erwartenden Datenformate 
und dann was mit einem Modul "von der Stange" (nrf24L10+, CC1101, 
whatever) basteln. Die Knöpfe sind ja bekannt, das rumble auch. Die 
ganzen spezielleren Features (zb das pokemon, ka was das macht) muss man 
halt entweder mit nem LA zerpflücken oder man pfeift drauf.
Wenn die Konsole sehr geduldig ist, kann man auch die Frames über 
Funkstrecke an den Controller und die Antwort zurück schicken. Das wäre 
halt zu testen. Ob alle Spiele da gleich sind weiß man auch nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.