hardware:controllers:hutschienencontroller
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
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
ENC | 1284p |
---|---|
SCK | PB7 |
SO | PB6 |
SI | PB5 |
SS | PB4 als OUTPUT |
ENC_CS | PB3 |
ENC_INT | PB2 |
ENC_CLKOUT | XTAL1 (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
Fuse | Hex Wert |
---|---|
Extended | 0xFF |
High | 0x98 |
Low | 0xE0 |
Lockbits | 0xCF |
Brennen des Bootloaders
- Brennen des Bootloaders bootloader_1284p_bootp_12.5mhz.zip als .hex-File. Dafür kann auch der interne RC-Osz. genommen werden.
- Danach LOCKBITs auf 0xCF brennen. (Muss nicht, können auch so bleiben)
Brennen eines eigenen Programms ins Flash
- Program muss als .bin-File vorhanden sein.
- Name des Programm-Files muss der Konfiguration des DHCPd entsprechen („ethersex.bin“)
- DHCP & TFTP-Server auf Rechner einrichten. z.B. Tftpd32 siehe Bilder.
- Programmfile als „ethersex.bin“ ins Hauptverzeichnis von Tftpd32 kopieren.
- Nach jedem Reset des 1284p wird automatisch nach „ethersex.bin“ gesucht.
- 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)