====== YPORT-Node ====== Dieser YPORT-Node wird nicht mehr unterstützt. Es gibt jetzt den [[hardware:controllers:yport|YPORT +]] Passend zum IR-Schreib-Lesekopf wird hier ein Ethernet-IR-Kopf-Node (YPORT-Node (aka XPORT) genannt) im 1TE-Hutschienengehäuse vorgestellt. Dieser hat die Aufgabe die seriellen Daten vom IR-Schreib-Lesekopf im LAN bereitzustellen bzw. serielle Daten vom LAN zum IR-Schreib-Lesekopf weiterzuleiten. =====Features===== * Der IR-Schreib-Lesekopf kann direkt über einen RJ10-4P/4C-Modular-Stecker an diesen Node angeschlossen werden.\\ * Zweiter UART-Anschluss z.B. für einen zweiten IR-Schreib-Lesekopf (ZPORT), an der Frontseite herausgeführt.\\ * Zusätzliche Digital/Analog-Anschlüsse für z.B. 1wire-Temperaturfühler oder Reed-Relais an der Frontseite herausgeführt.\\ * Eine Ergänzung um DIN gerechte S0-Eingänge gibt es [[hardware:controllers:s0-erweiterung_fuer_yport-node|hier.]] * 3,3V/max.250mA an der Frontseite herausgeführt, z.B. für die Spannungsversorgung des zweiten IR-Kopfes.\\ * Firmware: Ethersex\\ * RTC-Quarz (Uhrenquarz), synchronisiert über NTP.\\ * Programmierung des eingebauten ATmega1284p über ISP oder TFTPd-Bootloader. JTAG-Anschlüsse über Messpunkte erreichbar.\\ * 1TE-Hutschienengehäuse, kann direkt im Zählerschrank, neben dem Zähler, in der Sicherungszeile montiert werden.\\ * Spannungsversorgung 230V/50Hz intregriert. Durch Schaltnetzteil sehr geringe Stromaufnahme. Maximale Leistungsaufnahme 2 Watt. Typisch 1 Watt.\\ Der Ethernet-IR-Kopf-Node ist auf 2 doppelseitigen Leiterplatten aufgebaut. Das Unterteil mit Netzteil, IR-Kopf-Eingang und dem Oberteil mit der Steuerung.\\ =====Stromlaufpläne===== Für das Unterteil:\\ {{:hardware:controllers:ethernet_ir-kopf_node_unterteil2_1.png?600|}}\\ {{:hardware:controllers:ethernet_ir-kopf_node_unterteil2_1.pdf|}}\\ Für das Oberteil:\\ {{:hardware:controllers:ethernet_ir-kopf_node_oberteil2.png?800|}}\\ {{:hardware:controllers:ethernet_ir-kopf_node_oberteil2.pdf|}}\\ =====Layouts===== Für das Unterteil:\\ {{:hardware:controllers:layout_top_ethernet_ir-kopf_node_unterteil2.png?300|}}\\ {{:hardware:controllers:layout_bot_ethernet_ir-kopf_node_unterteil2.png?300|}}\\ {{:hardware:controllers:layout_top_ethernet_ir-kopf_node_unterteil2.pdf|}}\\ {{:hardware:controllers:layout_bot_ethernet_ir-kopf_node_unterteil2.pdf|}}\\ Für das Oberteil:\\ {{:hardware:controllers:layout_top_ethernet_ir-kopf_node_oberteil2.png?300|}}\\ {{:hardware:controllers:layout_bot_ethernet_ir-kopf_node_oberteil2.png?300|}}\\ {{:hardware:controllers:layout_top_ethernet_ir-kopf_node_oberteil2.pdf|}}\\ {{:hardware:controllers:layout_bot_ethernet_ir-kopf_node_oberteil2.pdf|}}\\ Die Leiterplatte für das Oberteil ist nur 0,6mm stark, da der Modular-Jack so dick aufträgt.\\ =====Bestückungspläne===== Für das Unterteil:\\ {{:hardware:controllers:bestueckungsplan_ethernet_ir-kopf_node_unterteil2_1.png?400|}}\\ {{:hardware:controllers:bestueckungsplan_ethernet_ir-kopf_node_unterteil2_1.pdf|}} Für das Oberteil:\\ {{:hardware:controllers:bestueckungsplan_ethernet_ir-kopf_node_oberteil2.png?400|}}\\ {{:hardware:controllers:bestueckungsplan_ethernet_ir-kopf_node_oberteil2.pdf|}}\\ =====Zweiter UART-Anschluss===== Den zweiten UART-Anschluss, z.B. für einen zweiten IR-Schreib-Lesekopf (ZPORT), erreicht man über die Wannenstiftleiste auf der Frontseite.\\ An eine 10pol. Buchsenleiste wird die Leitung vom IR-Schreib-Lesekopf gecrimpt.\\ Die Anschlussbelegung sieht wie folgt aus: ^Leitungsfarbe^Signal^Buchsenleiste^ |weiß o. schwarz|+3,3V/+5V|Pin 1| |rot|TXD|Pin 2| |grün|RXD|Pin 3| |gelb|GND|Pin 10| Nicht vergessen die Zugentlastung an der Buchsenleiste zu montieren.\\ Zur Veranschaulichung noch ein paar Bilder:\\ {{:hardware:controllers:buchsenleiste1.png?200|}} {{:hardware:controllers:buchsenleiste2.png?200|}} {{:hardware:controllers:buchsenleiste3.png?200|}} {{:hardware:controllers:buchsenleiste4.png?200|}} =====Bilder===== Hier ein paar Bilder von der ersten Version. Ein paar unwesentliche Änderungen sind mittlerweile eingeflossen. {{:hardware:controllers:yport_2.jpg?400|}}\\ {{:hardware:controllers:yport_1.jpg?400|}}\\ {{:hardware:controllers:yport-node.jpg?400|}}\\ YPort-Node mit [[hardware:controllers:s0-erweiterung_fuer_yport-node|S0-Erweiterung]] ===== Firmware ===== ====Änderungen an / Einstellungen in Ethersex==== Der YPORT-Node benutzt eine angepasste Version von [[software:controller:ethersex]]. - Es ist ein besonderes {{:hardware:controllers:pinning_yport-node.zip|Pinning}} in Ethersex notwendig.\\ - Der ATmega wird vom ENC mit Clock versorgt, daher muss in Ethersex noch die Datei {{:hardware:controllers:yport-node_enc28j60.zip|enc28j60.c}} ersetzt werden.\\ Die Datei findet sich im Ethersex unter /ethersex/hardware/ethernet/ . - Das Frameformat für den den entsprechenden eHZ muss in Ethersex eingestellt werden.\\ Dazu muss die Datei usart.h ersetzt werden. Diese findet sich unter /ethersex/core/ .\\ Für das Frameformat 9600 Baud, 7 Bit, gerade Parität, ein Stopbit diese {{:hardware:controllers:yport-node_usart.zip|usart.h}}.\\ Für das Frameformat 9600 Baud, 8 Bit, keine Parität, ein Stopbit, braucht nichts geändert werden. Für eine reine YPORT-Funktion kann diese {{:hardware:controllers:config.zip|.config-Datei}} für Ethersex genommen werden. Ggf.Netzwerkeinstellungen in der Datei anpassen.\\ Beim Download von Ethersex drauf achten, dass immer die "last stable"-Version genommen wird.\\ Folgende libs braucht man zum kompilieren:\\ avr-libc 1:1.6.7-1ubuntu2 Standard C library for Atmel AVR development\\ binutils-avr 2.20-2 Binary utilities supporting Atmel's AVR targ\\ gcc-avr 1:4.3.4-1 The GNU C compiler (cross compiler for avr)\\ Um Probleme zu umgehen ist es ratsam, die Versionen von avrfreaks.net zu nehmen.\\ Siehe [[:faq|FAQ]] --->Distribution.\\ ==== Pinbelegung ENC am 1284p ==== ^ENC^1284p^ |SCK|PB7| |SO|PB6| |SI|PB5| |ENC_CS|PD4| |ENC_INT|PD5| |ENC_CLKOUT|XTAL1 (12,5MHz)| Der Pin PB4 (SS) des ATmega muss als Ausgang konfiguriert werden.\\ ==== Brennen des Bootloaders ==== Brennen des {{:hardware:controllers:bootloader_yport-node.zip|Bootloaders}} als .hex-File. * Dafür sollte der interne RC-Osz. genommen werden. **FUSE-Einstellungen:** * SUT_CKSEL auf int.RC-Osz. * CKDIV8 ist ausgeschaltet * BOOTSZ auf 4096 words einstellen * BOOTRST eingeschaltet Mit diesen Einstellungen den Bootloader brennen.\\ Danach LOCKBITs auf 0xCF brennen. (Muss nicht, können auch so bleiben, verhindert aber,\\ dass der Bootloader durch ein fehlerhaftes Programm überschrieben wird.) ==== Fuse-Einstellungen des 1284p nach dem Brennen des Bootloaders ==== Da der 1284p vom CLKOUT-Pin des ENC mit 12,5MHz getaktet wird, müssen die FUSEs noch mal geändert werden: * 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| Hier gibt es noch weitere Informationen zum [[http://old.ethersex.de/index.php/BOOTP#Konfiguration_in_menuconfig|Bootloader]]