www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Informationsuebertragung ueber eine Linie


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Themenbereich Robotik, Phantom haptic input device von Sensable...
folgende Situation: Habe ein haptisches Eingabegeraet an dem ein Knopf
ist (einfacher Unterbrecher einer Leitung). Es gibt einige APIs mit
Hilfe derer man mit diesem Geraet ganz gut kommunizieren kann. Ich
programmiere also C bzw C++ unter Microsoft Visual Studio .Net. Wenn
ich den Knopf druecke kann ich ein sog. Event ausloesen in meinem
Programm. Kurz gesagt: ich kann per Software einen Knopfdruck
feststellen.

Frage:
ich will ueber die Leitung dieses Unterbrechers nun Informationen
uebertragen, habe aber keine Synchroniesierung oder Zeitbasis auf
Seiten des Geraetes und in meinem Programm auch nicht. Diese Leitung
werde ich an einen Pin eines AVR haengen.

Wie uebertrage ich ein Byte ueber diese Leitung, und wie stelle ich es
in der Software wieder her? Wie geht hier die Synchronisation?

Ich danke euch fuer jeden Tipp. Links zu
Informations-/Dokumentationsquellen sind gern gesehen.

mg,
Johannnes

Autor: Robert Weber (rweber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwar keine Ahnung, was ein haptisches Eingabegeraet ist, aber
wenn du zur Datenübertragung nur eine Leitung zur verfügung hast,
solltest du dir mal den 1-Wire bus ansehen:
http://www.maxim-ic.com/1-Wire.cfm
Dafuer gibt es z.B. auch IO-Expander hinter die du dann Schlter und
Taster anklemmen kannst.

Falls es das ist, was Du suchst...

Gruss,
rweber

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

schau Dir mal die Manchestercodierung an.


Gruß,

Dirk

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da sollte doch eine ganz normale asynchrone Kommunikation funktionieren,
z.B. mit dem UART des AVR und einem Software-UART in deiner PC-Software.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank fuer die Tips. Ich werd sie mir gleich mal vornehmen.

@andreas: gibt es Software-UARTs als fertige Pakete, oder muss ich die
selber schreiben? Hast du ein evtl. Beispiel? Ueber welchen Port soll
das ganze laufen? Kann ich will ja wenn moeglich keine zusaetzliche
Hardware bauen. Die externe Loesung ueber einen seriellen Port kenn
ich, koente ich machen. Ich moechte es aber wenn moeglich eleganter
hinkriegen/hintricksen.

mg,
Johannes

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@robert

das mit dem 1Wire ist eine interessante Sache, aber da ich ueber diese
Leitung nicht nach belieben verfuegen kann gehts damit nicht. Die
Leitung ist normalerweise fuer etwas anderes vorgesehen, sie ist fest
installier und das einzige was ich daran machen kann ist den Schalter
druecken, und in der Software ein Event ausloesen. Alles was dazwischen
ist(HW, SW im Phantom-Geraet selber, FireWire Port...) kann ich nicht
beeinflussen.
Ich moechte diesen Knopf an einen uP Pin haengen, und Sensor
Informationen ueber diese "schnittstelle" in meine SW bringen. Wenn
mir das so gelingt, brauche ich keine zusaetzliche externe HArdware
(serielle Schnittstelle oder USB etc...) Das waere eben fein.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur SoftUART hat Atmel Application Notes...

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte das ohne zusätzliche Hardware. Auf AVR-Seite kannst du das
eingebaute UART verwenden, auf PC-Seite musst du die Zeitpunkte der
eingehenden Events auswerten. Die mögliche Baudrate wird aber
vermutlich sehr niedrig sein. Falls deine Hardware nur einen Event bei
Knopfdruck auslöst, nicht je einen bei steigender und fallender Flanke,
dürfte das allerdings nochmals komplizierter werden.

Autor: Gast ein Anderer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Midi wenn du ne Soundkarte hast.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit den Events die die Software generiert, kommt man auf eine
Baudrate von sage und schreibe 25 Bit/Sekunde. Macht knapp ueber 4 Byte
pro Sekunde.Wow! ...immerhin besser als gar nix, aber fuer meine
Anwendung natuerlich unter aller Sau

Ich muss mir prinzipiell was anderes Ueberlegen.

mg,
Johannes

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.