Dieser ArtikelBenutzerSuche |
GPS-Platine mit Tyco-Modul(in Arbeit, bitte ergänzen) Auslöser dieses Artikels ist der Forenbeitrag Platinen mit GPS - Empfänger bei ebay und die sich daraus entwickelnde Diskussion über das Recycling der relativ preiswerten und technisch interessanten Platine in eigenen Projekten. Ein Wort in eigener Sache: Besonders lobenswert ist das Engagement von Black Friday, der die Kiste stets am Laufen hält. Danke.
[bearbeiten] Ursprünglicher Zweck der PlatineBei der Platine handelt es sich um ein Teil des GPS Navigationssystems NavMe Car-Modul aus dem Jahr 2004. Kurzfassung: Der Anwender erhält mit dem Modul kostenpflichtige, aktuelle Streckenvorschläge über ein Handy und spart dafür aufwändiges Handling und Updates mit CD-ROM/CF... Speichermedien. [bearbeiten] Ideen fürs Recycling
[bearbeiten] Realisierte Ideen
[bearbeiten] Hardware[bearbeiten] GPS Modul X1029-A, TycoDas GPS-Modul von Tyco scheint keine Normalausführung zu sein (Typenschild: X1029-A statt A1029-A)! Es fehlt mindestens 1 IC oben rechts bei Pin 34/nRST. Pin ANTSTAT ist Hi bei 13,5...37mA - die Antenne zieht aber 12mA@3,3V. ANTSTAT entspricht also nicht den Solldaten. Und 1PPS wird nicht ausgegeben. Vom Modul werden NMEA Daten ausgegeben (Infos u.a. hier und hier). Links
Achtung: In der Recommended minimum configuration im A1029 Datenblatt wird Vcc3a mit VCC verbunden. Beim A1029 sind die Pins an der unteren linken Ecke (Vcc3a bis AGND) belegt, beim X1029 sind sie jedoch fest mit GND verbunden. [bearbeiten] Atmel AT91R40008-66AI "ARM7TDMI"Der µC AT91R40008-66AI (ARM7TDMI-Familie) ist eine CPU 32-Bit vom Hersteller Atmel. Er besitzt 256 kB internes SRAM aber kein internes Flash-ROM. Zur dauerhaften Programmspeicherung wird ein externes Flash-ROM (Atmel AT49BV322A) verwendet. Andere Projekte mit dieser Kombination Links
[bearbeiten] Atmel AT49BV322A "FLASH-ROM"32 Mbit (2M x 16), 2.7-Volt Read and 2.7-Volt Byte-Write Sectored Flash, Single Plane, Bottom Boot. Auf einer älteren bei EBay verkauften Charge waren Flashspeicher 4 MB MX29LV320ABTC-70I verbaut. Links
[bearbeiten] Actel eX128 "FPGA"FPGA zum SDRAM Zugriff. Wird von Actel als Antifuse Device bezeichnet. Nicht reprogrammierbar. Links
[bearbeiten] Samsung K4S641632H-TI75 "SDRAM"64 Mbit (8M x 8) Sync/Async DRAM / SDR SDRAM / Component / PC133 (133MHz @ CL=3) Auf einer älteren bei EBay verkauften Charge waren SDRAM 4 MB K4S64163H_TC75 verbaut. Links
[bearbeiten] Anschlüsse[bearbeiten] JTAG-SchnittstelleDer JTAG-Anschluss hat folgende Belegung: 2* *1 4* *3 6* *5 8* *7 (Stiftleiste Ansicht von oben) 1: 3,3 Volt 2: GND 3: TDI 4: TMS 5: TCK 6: TDO 7: /RST 8: NC Beim Anschluss von JTAG-Buchsen bzw. Programmern ist unbedingt die Belegung der Schnittstellenpins zu prüfen. Es gibt 20-Pin, 14-Pin und 8-Pin (in 1x8 und 2x4 Variante) Schnittstellen. Die Belegung der Pins ist extrem uneinheitlich. Tipps zu JTAG Programmern finden sich massenweise in den Artikeln LPC2000 und JTAG. JTAG - Übersetzung zwischen der Pfostenleiste und dem ARM-JTAG Adapter (Wiggler-"kompatibel") von Olimex: NavMe <--> ARM-JTAG Adapter (Wiggler-"kompatibel") von Olimex 1 <--> 1 2 <--> 4 3 <--> 5 4 <--> 7 5 <--> 9 6 <--> 13 7 <--> 15 Stimmt die Belegung so? (Yes, so funktioniert es bei mir, Stefan) Horst hat einen Schaltplan plus Platinenlayout für einen Wiggler-Klon mit der speziellen JTAG-Pinanordnung oben entworfen und ins Forum gestellt (PDF, Eagledateien). Links
[bearbeiten] Große Steckerleiste und BuchseDie Baugruppe wird in ihrer ersten Verwendung in eine 26-polige SUB-HD-Verbindung (vermutlich einer Freisprecheinrichtung für Mobiltelefone) eingeschliffen. Dazu befindet sich eine 26-polige Buchse auf der Baugruppe und an der 24-poligen Stiftleiste kann über eine mitgelieferte Leitung ein 26-poliger Stecker angeschlossen werden. Bei Betrachtung des Moduls als Black Box sind am SUB-HD-Verbinder folgende Anschlüsse nutzbar: Die Versorgung des Moduls erfolgt mit 12V Gleichspannung. Batt+ liegt an Pin 11, Masse liegt an Pin 9, 17, 21 und 26. An Pin 10 steht das Signal "Pegel" zur Verfügung. Dabei handelt es sich um den Prozessoranschluss TIOB0. Das Signal "Pegel" wird mit einem Transistor (open collector) und einem Schutzwiderstand 68k gegen Pin 1 geschaltet. An Pin 20 liegt das invertierte "Pegel"-Signal, das über einen open collector und einen Schutzwiderstand 68k gegen Masse geschaltet wird. An Pin 12 und 13 stehen RX und TX der seriellen Schnittstelle 0 des Prozessors in 3,3V-Logik über 220R/100pF zur Verfügung. Nach dem Einschalten arbeitet der serielle Port zum Handy mit 115200 Baud. An Pin 4 und 5 kann ein Analogsignal eingekoppelt werden, das über einen Differenzverstärker als unsymetrisches Signal auf der Pfostenleiste ausgegeben wird. In diesen Signalweg kann ein synthetisiertes Signal (von TIOA0 über Filter erzeugt) eingekoppelt werden. Die Einkopplung des Signals wird mit +5V an Pin 1 eingeschaltet. Die weiteren Pins werden zum überwiegenden Teil durchgeschliffen. [bearbeiten] AntennenbuchseDie GPS-Antenne wird über eine MCX-Verbindung angeschlossen. Zwischen der MCX-Buchse und dem GPS-Modul befindet sich auf der Platine eine 50 Ohm Leitung. Wenn man das GPS-Modul von der Platine entfernt und/oder die Antennenbuchse auslötet, hat man eventuell Schwierigkeiten diese 50-Ohm-Leitung von der Antenne zum GPS-Modul zu bauen. [bearbeiten] AntenneAktive GPS-Antenne. Erfahrungen
Links
[bearbeiten] Sonstige Bauteile
Für die Inbetriebnahme hat Black Friday zwei Kabel an die Pads von D201 (nicht bestückt) gelötet und 12 Volt darauf gegeben (Polung laut Schaltplan). Ohne Schaltplan würde D201 auf den zwei breitesten Lötflächen neben dem 24-pol. Wannenstecker sitzen. Die Lötfläche am Platinenrand ist GND und die Lötfläche zur Platinenmitte ist +12 V. [bearbeiten] HardwareänderungenLeider sind unbenutzte PIO-Leitungen am AT91R40008 z.B. zur Anbindung eines LC-Displays nur nach Lötaktionen z.B. mit Fädeldraht zugänglich. Um die Zahl der Lötstellen am Prozessor klein zu halten, werden im Moment verschiedene Bustypen und Porterweiterungen in Betracht gezogen. Die Bustreiber würden idealerweise per Software auf dem AT91R40008 implementiert werden. Vcc und GND sind von anderen Stellen (z.B. JTAG-Steckerleiste) leichter zugänglich. [bearbeiten] Porterweiterung mit SPIEs werden vier PIO-Leitungen benötigt. Siehe auch im Forum und unter Porterweiterung mit SPI. [bearbeiten] Porterweiterung mit I²CEs werden zwei PIO-Leitungen benötigt. Siehe auch im Forum und unter Port-Expander PCF8574. AT91M63200: I²C Drivers for AT24C512 Serial EEPROM (39 pages, Updated 6/01) - Describes the software implementation of an Inter Integrated Circuit Bus (I²C Bus) using the peripherals in the AT91M63200. (PDF) [bearbeiten] Porterweiterung über UART0 und 2. µCEs werden null PIO-Leitungen benötigt. Über die UART0-Schnittstelle (z.B. TXD0/RXD0 an der DSUB-26-Buchse) kommuniziert der AT91R40008 mit einem frei wählbaren, zweiten Interface-µC. Die Ports des Interface-µC stehen dann für Hardwareerweiterungen zur Verfügung. Diese Lösung erfordert auch keine Lötarbeiten auf dem NavMe-Board. [bearbeiten] Verwenden der RXD0 Leitung als IO LeitungPin 15 am AT91R40008 wird statt als RXD0 Leitung (UART) als Input- bzw. Output-Pin für eine externe Schaltung verwendet. Siehe auch Forumsbetrag, Demoprogramm (7-Zip Archiv) und nebenstehendes Bild. Achtung: Im Bild ist leider ein Fehler in der Legende. Es muss heißen INPUT configuration:
Switch 3 open ('''right''' position)
[bearbeiten] Firmware[bearbeiten] ARM/Flash - FirmwareDie originale Firmware im Flash-ROM nutzt das embedded Betriebssystem eCos. Das Flash-ROM kann z.B. mit einem Wiggler bzw. Wiggler-Nachbau und mit dem Programm OCD Commander ausgelesen werden (original_rom.7z gepackt mit 7-zip). [bearbeiten] Flash-Tool für die ARM/Flash-ComboJTAG-O-MAT (Version 1.2.5) ist ein funktionierendes Flash-Tool für die Kombination aus AT91R40008 (ARM) und AT49BV322A (Flash auf den Platinen der neueren Revision). Dieses Tool kann die JTAG Schnittstelle über Hardware an der parallelen Schnittstelle (Wiggler, getestet) oder mit Hilfe eines ATMEGA8L an der serielle Schnittstelle (Turtelizer, ungetestet) ansprechen. Tipps & Tricks:
[bearbeiten] GPS - Firmware[bearbeiten] Flash-Tool für das GPS-Modul[bearbeiten] Original Firmware a100-57$PTYCVER,TYCO Electronics - a100-57 (11:43:42 Feb 24 2004) $PSTMVER,GPS Version 4.07release-ARM (14:02:29 Sep 27 2003) [bearbeiten] Alternative Firmware 100-01$PTYCVER,TYCO Electronics - 100-01 (15:57:55 Sep 09 2004) $PSTMVER,GPS Version 4.11.2 ARM (13:31:23 Jul 29 2004) $PSTMVER,Bootloader Version ???? Alternative Firmware (Ungetestet - EIGENES RISIKO!!!) Features laut User Manual:
Leider werden diese beiden Features von den beiden Firmwares noch nicht unterstützt. [bearbeiten] Software[bearbeiten] Erster Test des GPS-ModulsHab gerade mal den GPS Empfänger getestet. Aufbau: -3.6V leitung auf navme board durchkratzen -3.6V am gps modul anlegen -antenne dran -enable pin (übervcc) mit 1k auf 3.6v ziehen -tx0 an serielle schnittstelle (4800baud) und tadaaa: $PTYCVER,TYCO Electronics - a100-57 (11:43:42 Feb 24 2004) $PSTMVER,GPS Version 4.07release-ARM (14:02:29 Sep 27 2003) $GPRMC,235953.000,V,0000.0000,N,00000.0000,E,0.0,0.0,130399,0.0,W*67 $GPGGA,235953.000,0000.0000,N,00000.0000,E,0,00,99.0,0082.0,M,18.0,M,,,*79 $GPGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*00 $GPRMC,235955.000,V,0000.0000,N,00000.0000,E,0.0,0.0,130399,0.0,W*61 $GPGGA,235955.000,0000.0000,N,00000.0000,E,0,00,99.0,0082.0,M,18.0,M,,,*7F $GPGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*00 $GPRMC,235957.000,V,0000.0000,N,00000.0000,E,0.0,0.0,130399,0.0,W*63 $GPGGA,235957.000,0000.0000,N,00000.0000,E,0,00,99.0,0082.0,M,18.0,M,,,*7D $GPGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*00 [bearbeiten] Weiterer Test des GPS-ModulsDen Anschluss habe ich so gemacht: Spannungsversorgung wie von Black Friday beschrieben:
Antenne:
Kommunikationsteil:
Das GPS-Modul beginnt gleich nach dem Einschalten der Energieversorgung zu senden. Zuerst wird die Firmwareversion gesendet, dann eine Zeitlang ausführliche Daten mit $GPGGA,$GPGSA,$GPGSV,$GPRMC Texten und nach einiger Zeit schaltet der ARM das GPS-Modul auf eine Ausgabe mit einem $GPRMC Text. Dem VisualGPS reicht der $GPRMC Text anscheinend nicht aus. Man kann mit einem Terminalprogramm und dem Text $PTYCNMEAON<cr><lf> die anderen Texte wieder einschalten. Im Bray-Terminal sendet man dazu $$PTYCNMEAON#013#010. Anm. aus dem Forum: Das Einsammeln der Satelliten kann nach langer Stromlosigkeit und zwischenzeitlichem Transport des ausgeschalteten Moduls bis zu 12,5 Minuten dauern. Ordnungsgemäße Antenne und gute Sicht zum Himmel ab der Antennenposition natürlich vorausgesetzt. Näheres in den Unterlagen zum Modul. [bearbeiten] EntwicklungsumgebungenMit CrossWorks for ARM von Rowley Associates und der Targeteinstellung EB40A können eigene Programme sowohl fürs RAM als auch fürs Flash-ROM entwickelt werden. Der Wiggler wird hier direkt unterstützt. Für eine optimale Ausnutzung der Hardware müsste das Target angepasst werden (FPGA/SDRAM überhaupt und Komplettnutzung des Flash-ROMs). Unter Windows 98 / Cygwin kann GNUARM zur Programmentwicklung benutzt werden. Als Interface zwischen der GNUARM und dem NavMe-Modul (JTAG-Schnittstelle) kann ein Wiggler mit der OpenOCD oder der OCDRemote (bevorzugt) Software verwendet werden. Als Flash-Programm steht zur Verfügung:
Als Monitor steht zur Verfügung: Als Debugger stehen zur Verfügung:
[bearbeiten] Aus dem InternetWindows:
Linux: Andere:
[bearbeiten] To DoVieles, packen wir es an ;-) |