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
Hier die überarbeitete Version des Hutschienencontrollers im 1TE-Gehä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 10pol. 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.1306667403.txt.gz · Zuletzt geändert: 2016/03/06 17:49 (Externe Bearbeitung)