Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

GPS Maus
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 01.02.2007, 23:48    Titel: GPS Maus Antworten mit Zitat

Hallo zusammen,
ich habe hier einen GPS Empfänger herumliegen, die an eine USB Schnittstelle angeschlossen und mir dann als virtuelle Com Schnittstelle in der Systemsteuerung angezeigt wird.

Den Biunärcode bekomme ich wiegesagt z.B. mit dem Hyperterminal Programm aus diesem GPS Empfänger heraus, jedoch wollte ich Nachfragen, ob es auch möglich wäre, diesen GPS Empfänger an die COM-Schnittstelle anzuschliessen.

Deswegen habe ich dort auch gleich einmal nachgeschaut:

Der USB Anschluss hat 4 Pins.

Ich denke mal, dass Pin 1 verwendet wird, um den Empfänger mit einer Spannung zu versorgen "demnach Ausgang Nr.1", ein weiterer Pin für das heraustakten zuständig ist (für die Baudrate) "demnach Ausgang Nr.2" und der letzte Pin das sogenannte Stop-Bit ist. "demnach Ausgang Nr.3".
Der letzte Pin dürfte dann glaube ich mal der USB Eingang sein, wo dann der Binärcode in den PC gelangt.

Stop Bit:
Das Stop Bit glaube ich mal sorgt dafür, dass neue Daten in die internen Register des GPS Empfängers geschrieben werden.
Wurde ein Stop Bit gesetzt, so können wieder andere Daten aus dem GPS Empfänger hinausgetaktet werden.

Wenn dem ja so wäre, so könnte ich ja das ganze auch an einer seriellen Schnittstelle betreiben.

Nun meine Frage:"was für Spannungen und. Stromstärken liegen bei den USB Schnittstellen an und was für eine Spannung u. Stromstärke dürfen maximal bei der seriellen Schnittstelle eingehen."

Ich hoffe ihr könnt mir bei diesen ganzen Problemen helfen

Cu durchgeknallt

Bis dahin, muss ich glaube ich weiter weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 10:14    Titel: Antworten mit Zitat

Hehe... also mehr als 5 Volt Spannung sicher net.
Aber ich glaub net, dass dein Weg so der richtige is.
Wenn's dir schon als COM angezeigt wird, probier mal ob du unter FB/QB Zugriff drauf hast. Dann is doch schon alles Prima. Oder?

Falls du dir nen Adapter zurechtfummeln willst... öhm... naja... das wär dann lustig, da USB ganz nette Übertragungsraten hat, also du könntest HÖCHSTENS USB 1.0 verwenden. Bei 1.1 und 2.0 wird deine Schnittstelle versagen.

Ich hab hier von nem Organizer auch so ein komisches Kabel von USB nach Klinkenstecker, welches auch als Serielle Schnittstelle identifiziert wird. Da der Organizer defekt is (Auf Display lagen ein paar Bücher in der Mappe, hats net vertragen durchgeknallt durchgeknallt Da sieht man wie gefährlich Schule is) guckt man natürlich nach. Der Chip der dafür zuständig is lag auf der Hauptplatine, direkt neben dem Anschluss (Klar, wo auch sonst).
Ich weiß net ob das Kabel deines GPS-Empfängers abnehmbar is. Dann hast vlt. ne Chance. Ansonsten müsstest du dir höchstwahrscheinlich ne Mikrocontroller-Lösung basteln, um die Taktrate des USB auf Seriell runterzudrosseln, dürfte schwierig werden ugly!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 14:44    Titel: Antworten mit Zitat

Ich werde dann heute einmal ein paar Bilder zu meinen Überlegungen hier posten.


Also bis denne Hammer

Standartstecker-Pinbelegung
Pin Name Farbe Beschreibung
1 VCC Rot +5V
2 D- Weiß Data-
3 D+ Grün Data+
4 GND Schwarz Masse


Die Datenleitungen werden zuerst abgeschirmt.
Nun liegt hinter der Datenleitungabschirmung die VCC und die GND Leitung, welche ebenfalls nochmals nach außen hin abgeschirmt werden muss.

Dies bewirkt, dass die Leitungen VCC und GND nicht die Datenleitungen durch ihr aufbauendes Magnetfeld beeinflussen, als auch umgekehrt.

Wie wir gesehen haben, besitzt so ein USB-Spezifikation 4 Adern.
2 für die Stromversorgung und zwei Adern für die Daten.

Hieraus kann man dann schliessen, dass ein USB Kabel ebenfalls 4 Adern besitzt.

Die Spannung jedes angeschlossenen Gerätes beträgt 5 Volt.

Zwischen 100 mA bis 500 mA kann ein Gerät von der USB-Spezifikation dann beziehen.
Demnach kann ein Gerät eine Leistung von 2,5 W vom Datenbus entnehmen.

Wenn diese Leistung nich ausreicht, wird an dem Verbrauchergerät nochmals eine seperrate Stromversorgung angeschlossen.


Hier wird dann von der deutschen Netzspannung von 230 V 50/60 Hertz, die Spannung heruntertransformiert, gleichgerichtet und dem Verbrauchergerät zur Verfügung gestellt.

Nun ist meine Frage, ob die Datenleitung Pin 3 zum Senden und die Datenleitung 2 für das Empfangen zuständig ist.

Wenn dem so wäre, kann man hieraus schliessen, dass meine USB Maus folgendermasen funktioniert:

1.)
Ich lege bei der seriellen Schnittstelle eine Spannung an.
Also aktiviere ich den Ausgang Nr.1.
Diese Spannung versorgt nun meine USB Maus mit Strom.

Die USB Maus entnimmt nun durch ihren eigenen internen Widerstand eine konstante Stromstärke.

Der übeschüssige Strom, wird dann über die GND Leitung wieder bei der seriellen Schnittstelle hineingeleitet.

Nun bekommt diese GPS Maus von den herumfliegenden Satelliten"die sich immer in der gleichen Höhe und in gleichen Abständen zueinander befinden" im Weltall ein Signal auf verschiedenen Frequenzen zugesendet.
Diese unterschiedlichen Signale werden dann von der GPS Maus ausgewertet und in ein Register gelegt.

2.)
Nun aktiviere ich den Ausgang Nr.2 der seriellen Schnittstelle und takte diesen Code mit 4800 Bitzüglen hinaus.
Nachdem ich einen Binärcode von 4800 Bit erhalten habe, wird dieser Binärcode nach ASCII Spezifikation in lesbare Zeichen umgewandelt.

Demnach 4800/8 = 600.

Also könnten mir dann bis zu 600 Zeichen nach NMEA Norm vorliegen.

Nachdem ich 4800 Bitzüglen durchlaufen habe, schicke ich beim Ausgang Nr. 2 nochmals 1 Bit.
Dieses 1 Bit stellt nun das sogenannte Stop-Bit da.

Dieses 1 Stop-Bit "denke ich mal", sorgt nun dafür, dass wieder andere ausgewertete Daten der GPS Maus in das Register gelegt werden können.

Und diese Werte kann ich nun wiederum mit 4800 Bit beim Ausgang Nr.2 zum Eingang Nr.1 der seriellen Schnittstelle hineintakten.

Das 1 Stop Bit sorgt nun wieder dafür, dass wieder neue Daten in das interne Register der GPS Maus gelegt werden können.

Was gibt es zur Datenübertragungsrate zu sagen?

Also mir liegt jetzt zwar kein Datenblatt der GPS Maus vor, jedoch denke ich mal, dass eine niedrigere Taktfrequenz auf keinem Fall schädlich für die GPS-Maus ist.
Eine höhere Taktfrequenz dürfte es aber sein.


Was meint ihr:"könnte das so sein, wie ich es gerade hier so beschildert habe?".

Cu

Bis dahin weinen


Zuletzt bearbeitet von Andy19312 am 02.02.2007, 15:41, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.02.2007, 15:37    Titel: Antworten mit Zitat

USB ist imho nicht allzuleicht, wenn du da selbst mit rumfriemeln willst. zwinkern
Wenn die GPS-Maus unter Windows schon als COM-Gerät erkannt wird, würd ich auch wirklich die COM-Schnittstellen-Befehle unter QBasic/Freebasic verwenden, da das doch wirklich einfacher ist. zwinkern
Es sei denn, dir kommt es auf den Spaß an...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 15:52    Titel: Antworten mit Zitat

Naja, ich wollte nur ein Adapter von der seriellen zur USB Schnittstelle bauen.

Weshalb sollte dies nicht ohne weiteres möglich sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5895
Wohnort: Deutschland

BeitragVerfasst am: 02.02.2007, 16:14    Titel: Antworten mit Zitat

Die USB-Schnittstelle ist ein Bus. Ich weiß nicht, ob die angeschlossenen Geräte, welche über eine ID angesprochen werden, mittels Polling oder so gesteuert werden, aber es ist vom Prinzip her schon ziemlich was Anderes als die Datenübertragung über den COM-Port.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 16:16    Titel: Antworten mit Zitat

Vergleich mal:
USB
COM

Dürfte aufwendig werden durchgeknallt durchgeknallt

Edit:
12Mbit für USB 1.0 schon, das summiert sich auf 1,5 MByte pro Sekunde. Mal gespannt, wie du mit Seriell da mithalten willst happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 16:37    Titel: Antworten mit Zitat

Die Geschwindigkeit muss bei 4800 Bit/sec liegen, sonst fängt die GPS Maus eh an zu spinnen und gibt keine Signale mehr aus.

Hatte dies schon selbst getestet.

Und diese Übertragungsrate lässt sich sowohl von der seriellen Schnittstelle bewerkstelligen.


Wenn ich die Treiber für die GPS Maus installiere, wird ja eh eine virtuelle Schnittstelle in der Systemsteuerung erstellt.

Und diese virtuelle Com Schnittstelle läuft auch nur mit 4800 Bit/sec.

Demnach wird mit dieser virtuellen Schnittstelle eh die Geschwindigkeit von der USB Schnittstelle auf 4800 Bit/sec gedrosselt.


Nun nochmal meine Frage:"die USB Schnittstelle hat doch 1 VCC, 1 GND u. 2 Datenleitungen oder".

Ist nun 1 Datenleitung für das Senden und die andere fürs Empfangen da?

Anderst kann ich es mir auch nicht vorstellen, denn irgendwie muss ja z.B. auch ein USB Cdrom Laufwerk Daten bekommen, um den Lese/Schreibkopf mit einem Schrittmotor auszurichten.

Wenn das Cdrom Laufwerk ja Daten einliest, so müssen ja diese Daten ja auch irgendwie zum PC hinein "zum Auswerten" gelangen.

Wenn dies so wäre, dass ich 1 Sende und eine 1 Empfangsleitung habe, dann könnte ich doch was zusammenbasteln.

Bis denne
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 16:43    Titel: Antworten mit Zitat

Ich sags ein letztes Mal: Es wird nicht möglich sein.
Wenn du dir nen Adapter fummeln willst, musst du folgendes tun:
· du musst erstmal das USB-Signal, welches sehr wohl mindestens 1,5-MByte pro Sekunde schaufelt, aufschlüsseln

· dann musst du deinen Treiber per Hardware nachbilden, um wieder auf COM zu kommen

Alles in allem ein nicht vertretbarer Aufwand. Viel Spaß. Und erzähl bloß keinem, dein USB-Port arbeitet mit 4800 Baud. Das ist ein witz happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 16:59    Titel: Antworten mit Zitat

Ich fragte nur, ob USB eine Leitung zum senden und eine Leitungen zum empfangen hat
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:02    Titel: Antworten mit Zitat

Ja klar, brauchts ja wohl ? happy oder?

Standardstecker
Code:
Pin    Name    Farbe    Beschreibung
1    VCC    Rot    +5 V
2    D-    Weiß    Data -
3    D+    Grün    Data +
4    GND    Schwarz    Masse
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 17:05    Titel: Antworten mit Zitat

d+ zum senden
d- zum empfangen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:07    Titel: Antworten mit Zitat

Würd ich mal annehmen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 17:14    Titel: Antworten mit Zitat

hm, ich habe es mir gerade nochmal angeguckt.....

Es wird eine virtuelle COM Schnittstelle erzeugt.

Greife ich nun mit dem Hyperterminalprogramm auf diese virtuelle Schnittstelle zu, so muss ich unteranderem die Baudrate und 1 Stop Bit eingeben.

Demzufolge "denke ich mal" wird durch die Software "Hyperterminal" hardwärmäßig die Übertragungsgeschwindigkeit der USB Schnittstelle gedrosselt.

Anderst kann ich es mir nicht vorstellen.

Aber wiegesagt:
Wenn
d+ zum senden
u.
d- zum empfangen
die Datenleitungen und die anderen beiden VCC und GND sind, so kann ich trotzdem mal ein Adapter für die serielle Schnittstelle bauen.

Ich kann es mir sehr schlecht vorstellen, dass die GPS Maus mit einer so hohen Übertragungsgeschwindigkeit "wie sie USB liefert" arbeitet, schließlich muss ich ja die Baudrate für die virtuelle COM Schnittstelle auch auf 4800 Bit/sec wählen.

CDROM Laufwerke, Brenner, Webcams u. so weiter arbeiten auf jedem Fall mit so hohe Übertragungsgeschwindigkeiten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:22    Titel: Antworten mit Zitat

Hm..
Meinst du nicht, man kann 127 Geräte an den Bus hängen?

Es muss nicht gesagt sein, dass die mind. 1,5 MByte pro Sekunde stets genutzt werden... mit den Augen rollen mit den Augen rollen mit den Augen rollen
Vlt. kommst jetz drauf...
Wenn du was basteln willst, dann definitiv ne Mikrocontrollergestützt Lösung, die die Signale puffert und im Leerlauf sendet. Anders wird es nicht gehen können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 17:27    Titel: Antworten mit Zitat

Mal schauen, schädlich wird es bestimmt nicht für die GPS Maus,wenn ich bei den Datenausgängen der seriellen Schnittstelle 5 Volt anlege.


Diese Datenaus u. Eingänge der seriellen Schnittstelle werde ich dann einfach mit dem USB Anschluss der GPS Maus verbinden.


Dann werde ich mir ein Programm in freebasic schreiben "und mal schauen, ob ein paar Einsen und Nullen ankommen".

Und wenn ja Einsen und Nullen ankommen, dann kann ich die ja auch gleich mal nach ASCII Norm in Zeichensätze umwandeln.


Zuletzt bearbeitet von Andy19312 am 02.02.2007, 17:30, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:28    Titel: Antworten mit Zitat

Hehe... freu dich auf Datensalat happy
☼╚│×े564Ð(♪|↓5u7Ê►îþ¿Â▲Xq▒╝&╦
happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 02.02.2007, 20:18    Titel: Antworten mit Zitat

Andy19312 hat Folgendes geschrieben:
d+ zum senden
d- zum empfangen

Absoluter Blödsinn.
USB ist differenziell, die Spannungsdifferenz zwischen d+ und d- ist das Signal.

Wenn zwischen d+ und d- eine Postive Spannung ist, ist das High.
Wenn zwischen d+ und d- eine Negative Spannung ist, ist das Low.

Und diese Spannungsdifferenz ist wahrscheinlich wessentlich kleiner als 5V.

Also es gibt nur ein Signal und über das wird gesendet und empfangen.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 20:27    Titel: Antworten mit Zitat

Dann brauchts aber auch ne Leitung um zu wissen von wo das Signal kommt... oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.02.2007, 20:27    Titel: Antworten mit Zitat

erklär mal genauer....ich steig da gerade nicht durch.
wie geschieht nun das senden und empfangen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz