Andy123
05.02.2007, 15:51
Meine Überlegungen zu einem GPS-Empfängers .
Ein GPS-Empfängers besitzt eine Antenne.
Diese Antenne nimmt nun unterschiedliche Signale von z.B. maximal 20 Satelliten auf.
Jedes dieser 20 Satelliten gibt sein Signal auf einer anderen Frequenz ab.
Nun wertet ein Mikrocontroller des GPS-Empfängers diese Signale aus und legt diese in festgelegte Registerbereiche ab.
Diese ausgwerteten Daten werden jedoch erst in die festgelegten Registerbreiche des GPS-Empfängers gelegt, wenn die
Variabele x den Wert 4801 hat.
Dazu aber später mehr.......
Nun meine Frage: Was für Register sind es, die beim GPS-Empfängers verwendet werden. Sind es Arbeitsregiser, oder ist es das SRAM.
Nun kann man diese Registerbereiche des GPS-Empfängers auslesen.
Hierzu taktet man einfach den Binärcode aus den Registerbereiche des GPS-Empfängers hinaus.
Das bedeutet, dass der Mikrocontroller des GPS-Empfängers einen Eingang schaltet.
Gelangt zu diesem Eingang ein Strom, so beginnt er den Binärcode der festgelegten Registerbereiche auszulesen.
Wie aber das?
Pro registrierter positiven und herabfallenden Flanke beim Eingang des Mikrocontrollers des GPS-Empfängers wird eine Variabele hochgezählt.
Je nachdem was für ein Wert diese Variabele "in meinem Beispiel Variabele x" hat, weiss der Mikrocontroller des GPS-Empfängers , was für ein Bit er bei was für einen Registerbereich er auslesen muss.
z.B. liest er bei Variabele x Wert 1, das erste Register und das erste Bit aus.
hat die Variabele x den Wert 12, so liest er das zweite Register und das 4 Bit aus.
Je nachdem ob das Bit im Register eine 1 oder eine 0 hat, wird entweder ein Ausgang des Mikrocontrollers des GPS-Empfängers aktiviert oder nicht.
Wurde ein Ausgang aktiviert, so signalisiert es ein High Signal (1).
Wurde ein Ausgang nicht aktiviert, so signalisiert es ein Low Signal (0).
Was bedeutet dies nun aber für die Baudrate und dem Stop Bit und für mich, um den Binärcode aus dem GPS Empfänger zu bekommen.
Der GPS Empfänger besitzt nun z.B. folgende Eigenschaften:
- Baudrate 4800/sec
- 1 Stop Bit
4800 Bit = 600 Byte.
Da man ja die Baudrate des GPS Empfängers weiss, dann müsste man demzufolge auch wissen wieviele Register der Mikrocontroller des GPS-
Empfängers besitzt, wo er ja die ausgewerteten Daten der Satelliten ablegt.
4800 / 8 = 600
Demzufolge wären es 600 Register und jedes dieser Register wäre 8 Bit lang.
Da ja 8 Bit ein Zeichen in ASCII Format sein kann, so wären es auch maximal 600 Zeichen die man vom GPS Empfänger erhält.
Nur wie wie bekommt man nun den Binärcode aus dem Registerbereiche des GPS-Empfängers hinaus?
Ich verwende in meinem Beispiel den Mikrocontroller Atmega8.
Dieser aktiviert und deaktiviert immer einen Ausgang.
Beim Eingang des Mikrocontroller des GPS-Empfängers liegt nun eine positive Flanke an, die auch wieder herabfällt.
Nun weiss der Mikrocontroller des GPS-Emfängers, dass er die Variabele x um 1 addieren muss.
Anschliessend liest er den neuen Wert der Variabele x aus und je nachdem wie der Wert ist, greift er dann auf das entsprechende
Bit im Registerbereich des GPS-Empfängers drauf zu.
Ist der Wert dieses Bits eins, so wird der Ausgang des Mikrocontrollers des GPS Empfängers aktiviert.
Ist der Wert dieses Bits null, so wird kein Ausgang des Mikrocontrollers des GPS Empfängers aktiviert.
Nun wertet es mein Mikrocontroller beim Eingang aus und sollte den Wert 1 oder 0 dann in eine SD Karte ablegen.
Hat nun mein Mikrocontroller 4800 High/Low Signale zum Mikrocontroller des GPS Empfängers gesendet,
so hat die Variabele x den Wert 4800 beim GPS Empfänger.
Folgt nun noch einmal ein High/Low Signal von meinem Mikrocontroller zum Mikrocontroller des GPS Empfängers, so hat die
Variabele x den Wert 4801 beim GPS Empfänger.
Da die Variabele x beim GPS Empfänger nun den Wert 4801 hat, werden neue ausgewertete Daten des GPS Empfängers in die Registerbereiche des Mikrocontrollers gelegt.
Anschliessend wird die Variabele x des GPS Empfängers wieder auf den Wert 0 gesetzt.
Ich hoffe ihr könnt mir zu meinen Überlegung zum GPS-Empfänger helfen.
Bis denne.....
Ein GPS-Empfängers besitzt eine Antenne.
Diese Antenne nimmt nun unterschiedliche Signale von z.B. maximal 20 Satelliten auf.
Jedes dieser 20 Satelliten gibt sein Signal auf einer anderen Frequenz ab.
Nun wertet ein Mikrocontroller des GPS-Empfängers diese Signale aus und legt diese in festgelegte Registerbereiche ab.
Diese ausgwerteten Daten werden jedoch erst in die festgelegten Registerbreiche des GPS-Empfängers gelegt, wenn die
Variabele x den Wert 4801 hat.
Dazu aber später mehr.......
Nun meine Frage: Was für Register sind es, die beim GPS-Empfängers verwendet werden. Sind es Arbeitsregiser, oder ist es das SRAM.
Nun kann man diese Registerbereiche des GPS-Empfängers auslesen.
Hierzu taktet man einfach den Binärcode aus den Registerbereiche des GPS-Empfängers hinaus.
Das bedeutet, dass der Mikrocontroller des GPS-Empfängers einen Eingang schaltet.
Gelangt zu diesem Eingang ein Strom, so beginnt er den Binärcode der festgelegten Registerbereiche auszulesen.
Wie aber das?
Pro registrierter positiven und herabfallenden Flanke beim Eingang des Mikrocontrollers des GPS-Empfängers wird eine Variabele hochgezählt.
Je nachdem was für ein Wert diese Variabele "in meinem Beispiel Variabele x" hat, weiss der Mikrocontroller des GPS-Empfängers , was für ein Bit er bei was für einen Registerbereich er auslesen muss.
z.B. liest er bei Variabele x Wert 1, das erste Register und das erste Bit aus.
hat die Variabele x den Wert 12, so liest er das zweite Register und das 4 Bit aus.
Je nachdem ob das Bit im Register eine 1 oder eine 0 hat, wird entweder ein Ausgang des Mikrocontrollers des GPS-Empfängers aktiviert oder nicht.
Wurde ein Ausgang aktiviert, so signalisiert es ein High Signal (1).
Wurde ein Ausgang nicht aktiviert, so signalisiert es ein Low Signal (0).
Was bedeutet dies nun aber für die Baudrate und dem Stop Bit und für mich, um den Binärcode aus dem GPS Empfänger zu bekommen.
Der GPS Empfänger besitzt nun z.B. folgende Eigenschaften:
- Baudrate 4800/sec
- 1 Stop Bit
4800 Bit = 600 Byte.
Da man ja die Baudrate des GPS Empfängers weiss, dann müsste man demzufolge auch wissen wieviele Register der Mikrocontroller des GPS-
Empfängers besitzt, wo er ja die ausgewerteten Daten der Satelliten ablegt.
4800 / 8 = 600
Demzufolge wären es 600 Register und jedes dieser Register wäre 8 Bit lang.
Da ja 8 Bit ein Zeichen in ASCII Format sein kann, so wären es auch maximal 600 Zeichen die man vom GPS Empfänger erhält.
Nur wie wie bekommt man nun den Binärcode aus dem Registerbereiche des GPS-Empfängers hinaus?
Ich verwende in meinem Beispiel den Mikrocontroller Atmega8.
Dieser aktiviert und deaktiviert immer einen Ausgang.
Beim Eingang des Mikrocontroller des GPS-Empfängers liegt nun eine positive Flanke an, die auch wieder herabfällt.
Nun weiss der Mikrocontroller des GPS-Emfängers, dass er die Variabele x um 1 addieren muss.
Anschliessend liest er den neuen Wert der Variabele x aus und je nachdem wie der Wert ist, greift er dann auf das entsprechende
Bit im Registerbereich des GPS-Empfängers drauf zu.
Ist der Wert dieses Bits eins, so wird der Ausgang des Mikrocontrollers des GPS Empfängers aktiviert.
Ist der Wert dieses Bits null, so wird kein Ausgang des Mikrocontrollers des GPS Empfängers aktiviert.
Nun wertet es mein Mikrocontroller beim Eingang aus und sollte den Wert 1 oder 0 dann in eine SD Karte ablegen.
Hat nun mein Mikrocontroller 4800 High/Low Signale zum Mikrocontroller des GPS Empfängers gesendet,
so hat die Variabele x den Wert 4800 beim GPS Empfänger.
Folgt nun noch einmal ein High/Low Signal von meinem Mikrocontroller zum Mikrocontroller des GPS Empfängers, so hat die
Variabele x den Wert 4801 beim GPS Empfänger.
Da die Variabele x beim GPS Empfänger nun den Wert 4801 hat, werden neue ausgewertete Daten des GPS Empfängers in die Registerbereiche des Mikrocontrollers gelegt.
Anschliessend wird die Variabele x des GPS Empfängers wieder auf den Wert 0 gesetzt.
Ich hoffe ihr könnt mir zu meinen Überlegung zum GPS-Empfänger helfen.
Bis denne.....