Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:controllers:hutschienencontroller

Dies ist eine alte Version des Dokuments!


2x-S0-Hutschienencontroller (in Vorbereitung)

Mittlerweile arbeitet Udo an einer neuen Version dieses Hutschienencontrollers

Udo hat auf der Mailingliste die erste Version seines Hutschienencontrollers vorgestellt. Herausgekommen ist ein S0 Zähler in einem 1TE-Hutschienengehäuse:

  • Spannungsversorgung über externes 9-12V Netzteil, entweder als Steckernetzteil oder auch Hutschienenausführung.
  • Verpolschutz
  • Schaltregler auf 5V
  • Schaltregler auf 3,3V (Spannungsversorgung des ENC)
  • Ethernet mit ENC28J60
  • ATmega1284p, Taktversorgung vom ENC28J60 Netzwerkcontroller
  • aktive Pegelwandlung zwischen ENC und ATmega1284p.
  • 2 Stück S0-Eingänge, max. Ausgangsspannung 27V, 20mA Konstantstrom entsprechend DIN EN 62053-31.
  • Impulsformung für den Zähleingänge des µC über Monoflops.
  • UART0 und UART1 des ATmega auf 10.pol. Wannenstecker herausgeführt.
  • 4 AD-Wandler-Eingänge des ATmega auf 10pol. Wannenstecker herausgeführt.
  • RTC-Quarz
  • 8Kx8bit Eeprom über I2C (bzw. TWI) (Zum Puffern von Messwerten & Einstellungen)
  • ISP-Port zur Programmierung mittels ISP-Brenner.
  • JTAG-Anschlüsse als Lötpunkte auf der Leiterplatte.
  • LAN-Bootloader mit DHCP-Unterstützung

Schaltplan

Firmware

Der Controller benutzt wie das AVR NET-IO auch eine angepasste Version von ethersex.

Dazu ist ein besonderes Pinning notwendig.

Bilder

Notizen

Pinbelegung ENC an 1284p

ENC1284p
SCKPB7
SOPB6
SIPB5
SSPB4 als OUTPUT
ENC_CSPB3
ENC_INTPB2
ENC_CLKOUTXTAL1 (12,5MHz)

Fuse-Einstellungen des 1284p

Der 1284p wird vom CLKOUT-Pin des ENC mit 12,5MHz getaktet.

  • Dafür SUT_CKSEL auf Ext.Clock
  • Start-up time: 6CK+65ms
  • CKDIV8 ist ausgeschaltet
  • BOOTSZ auf 4096 words einstellen
  • BOOTRST eingeschaltet
FuseHex Wert
Extended0xFF
High0x98
Low0xE0
Lockbits0xCF

Brennen des Bootloaders

  1. Brennen des Bootloaders bootloader_1284p_bootp_12.5mhz.zip als .hex-File. Dafür kann auch der interne RC-Osz. genommen werden.
  2. Danach LOCKBITs auf 0xCF brennen. (Muss nicht, können auch so bleiben)

Brennen eines eigenen Programms ins Flash

  1. Program muss als .bin-File vorhanden sein.
  2. Name des Programm-Files muss der Konfiguration des DHCPd entsprechen („ethersex.bin“)
  3. DHCP & TFTP-Server auf Rechner einrichten. z.B. Tftpd32 siehe Bilder.
  4. Programmfile als „ethersex.bin“ ins Hauptverzeichnis von Tftpd32 kopieren.
  5. Nach jedem Reset des 1284p wird automatisch nach „ethersex.bin“ gesucht.
  6. Wird das File nicht gefunden, startet das letzte im Flash vorhandene Programm.

ISC DHCPd

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers 192.168.0.1;

  range dynamic-bootp 192.168.0.100 192.168.0.200;
  allow booting;
  allow bootp;
  filename "ethersex.bin";
  next-server 192.168.0.6;
}

Werte aus dem Beispiel:

  • 192.168.0.6 (TFTPd IP-Adresse)
  • ethersex.bin (Pfad zur ethersex Firmware)
  • 192.168.0.1 (Standard Gateway)
  • 192.168.0.100-192.168.0.200 (DHCP/BOOTP IP-Pool)

atftpd

atftpd --tftpd-timeout 300 --retry-timeout 5 --verbose=5 --logfile /var/log/atftpd.log --daemon --no-fork --bind-address 192.168.0.206 /srv/tftp/
hardware/controllers/hutschienencontroller.1303599124.txt.gz · Zuletzt geändert: 2011/05/29 13:09 (Externe Bearbeitung)