DCC Schnüffel

Layout

    BS BS
    BS BS

Bestückung

    Je nach geplanter Anwendung ist fallweise eine andere Bestückung und das Schließen von Lötbrücken erforderlich. Siehe hierzu die Hinweise bei der jeweiligen Software und im Schaltplan. Generell handelt es sich beim DCC Schnüffel um eine Platine, welche weitgehend in SMD aufgebaut ist, entsprechende Ausrüstung und Kenntnis ist erforderlich. Bei der Bauanleitung zum OpenDecoder2 ist das Einlöten eines QFP-Gehäuses erläutert.

    Um möglichen Fehlerursachen vorzubeugen, bitte gemäß dieser Reihenfolge vorgehen:
  • Bestückung der Bauteile für den Spannungsregler (falls dieser benötigt wird).
  • Versorgung des Boards mittels strombegrenztem Netzteil (entweder direkt oder über DCC-IN): Kontrolle der 5V Versorgung.
  • Bestückung der LEDs und der zugehörigen Vorwiderstände.
  • Kontrolle, ob die jeweile LED leuchtet, wenn der entsprechende Pin (des noch unbestückten Prozessors) auf 5V gelegt wird. Sinnvollerweise verwendet man einen 100 Ohm Widerstand als 5V-Spitze.
  • Bestücken der restlichen Bauteile.
  • Optische Kontrolle mit der Lupe (wichtig!)
  • Versorgung des Boards mittels strombegrenztem Netzteil - Stromaufnahme max. 30mA.
  • Die Stecker für ISP muß man nicht einlöten - ich verwende WRAP-Stifte, diese werden zum Download einfach in die Platine gesteckt und leicht verkantet.

Erstinbetriebnahme

    Nach dem Aufbau müssen die beteiligten Chips konfiguriert werden. Hierzu wird wie folgt vorgegangen:
    1. USB:
      Den angepassten Kombi-Treiber (ursprünglich von FTDI) heruntergeladen. Dieser ermöglicht zwei verschiedene Zugriffsarten:
      D2XX bietet den direkten Zugriff wie er z.B. für die hier beschriebene Konfiguration benötigt wird.
      VCP emuliert eine serielle Schnittstelle - damit wird der Baustein später im Betrieb angesteuert.

      Das Archiv von FTDI wird in Verzeichnis entpackt. Anschließen die USB-Verbindung herstellen. Das Betriebssystem sollte jetzt nach einen Treiber suchen. Hier dann den soeben entpackten Treiber FTDIBUS.INF anwählen.

      Mprog Screenshot
      Mit dem Konfigurationprogramm MPROG wird nun die richtige Herstellerkennung und Produktkennung eingetragen. Wichtig: kein Häkchen bei 'load D2XX', damit der Chip später als serielle Schnittstelle anmeldet.
      USB Herstellerkennung und Produktkennung
      VID: 0x0403
      PID: 0xBFD9
      Product Description:'USB-IF DCC Sniffer V1.0'

      Nach dem Eintrag kann man mit 'Cycle Device' ein Neueinlesen des Busses veranlassen. Das Board sollte nun gefunden werden und mittels des VCP-Treibers (=Virtual Com Port) als Schnittstelle angezeigt werden.
    2. AVR:
      Nach dem USB-Chip wird nun der Atmel Prozessor programmiert. Hierbei sind drei Datenbereiche innerhalb des Atmels zu programmieren:
      • Fuses: das sind grundlegende Einstellbits, welche das Verhalten des Prozessors festlegen.
      • Flash: das ist das Programm
      • EEPROM: die zum Programm gehörigen permanenten Daten.
      Hierzu wollte ich ursprünglich das Programm ftispv2 verwendet, damit kann der AVR ohne extra Programmieradapter über die USB Schnittstelle programmiert werden. Es werden dabei die nicht für die serielle Kommunikation benötigten Pins verwendet. Die Lötbrücken SJ1, SJ2, SJ3 und SJ4 wären zu schließen.

      In einem ersten Test wird kontrolliert, ob der Atmel überhaupt gelesen werden kann. Hierzu kann man mit dem Kommando ftipsv2 -Fr die Fuses auslesen. Der Atmega162 hat die Signatur 1E 94 04. Diese wird auch korrekt gelesen, jedoch kann das Programm offenbar nicht mit einem Atmega162 umgehen. Also war an dieser Stelle leider Schluß :-(

      Zum Schreiben der Fuses und Laden des Bootloaders habe ich das Programm ponyprog verwendet.
      Die Fuses sind auf folgende Werte einzuprogrammieren: LOW=0xDF, HIGH=0x98, EXTENDED=0xF9; (für Bootloader)
      Jetzt ist das Board bereit für die Applikationssoftware. Zum Laden der Applikation wird das Board noch mal abgesteckt und mit gedrücktem Taster wieder angesteckt - es sollten jetzt die zwei LEDs für den aktiven Bootloader leuchten.