<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefan90</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefan90"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Stefan90"/>
	<updated>2026-04-21T15:40:05Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26393</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26393"/>
		<updated>2008-02-16T22:40:06Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
* RS232&lt;br /&gt;
* Software SPI&lt;br /&gt;
&lt;br /&gt;
Alle unbelegten Pins sind auf Stiftleisten geführt und können für freie Anwendungen verwendet werden, z.B. für ein LCD Display.&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
Alle Routinen für die vorhanden Interfaces des Webservers sind bereits im Applikationsbeispiel enthalten, siehe [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Bootloader|Applikationsbeispiel mit Bootlaoderroutinen]]).&lt;br /&gt;
&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe [[Avr_Webserver_mit_Wiznet_WIZ810MJ#.C3.9Cbertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
* Hardware SPI&lt;br /&gt;
* MCP2515&lt;br /&gt;
* CAN Transceiver&lt;br /&gt;
* Galvanische Trennung mit DC-DC Wandler und Optokoppler&lt;br /&gt;
* Latch, für SD nötig&lt;br /&gt;
&lt;br /&gt;
===SD Karte===&lt;br /&gt;
* Hardware SPI&lt;br /&gt;
* Latch, damit CS auf low bleibt&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;br /&gt;
&lt;br /&gt;
===Ethernet===&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26392</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26392"/>
		<updated>2008-02-16T22:37:46Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
Alle Routinen für die vorhanden Interfaces des Webservers sind bereits im Applikationsbeispiel enthalten, siehe [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Bootloader|Applikationsbeispiel mit Bootlaoderroutinen]]).&lt;br /&gt;
&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe [[Avr_Webserver_mit_Wiznet_WIZ810MJ#.C3.9Cbertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
* Hardware SPI&lt;br /&gt;
* MCP2515&lt;br /&gt;
* CAN Transceiver&lt;br /&gt;
* Galvanische Trennung mit DC-DC Wandler und Optokoppler&lt;br /&gt;
* Latch, für SD nötig&lt;br /&gt;
&lt;br /&gt;
===SD Karte===&lt;br /&gt;
* Hardware SPI&lt;br /&gt;
* Latch, damit CS auf low bleibt&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;br /&gt;
&lt;br /&gt;
===Ethernet===&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26391</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26391"/>
		<updated>2008-02-16T22:30:26Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe [[Avr_Webserver_mit_Wiznet_WIZ810MJ#.C3.9Cbertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26390</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26390"/>
		<updated>2008-02-16T22:30:03Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#.C3.9Cbertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26389</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26389"/>
		<updated>2008-02-16T22:29:14Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* USB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#Übertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26388</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26388"/>
		<updated>2008-02-16T22:28:06Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ##Voreinstellungen|Bootloader Voreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#Übertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26387</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26387"/>
		<updated>2008-02-16T22:27:05Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* USB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch [[Avr_Webserver_mit_Wiznet_WIZ810MJ#Bootloader#Voreinstellungen|BootloaderVoreinstellungen]]).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#USB#Übertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26386</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26386"/>
		<updated>2008-02-16T22:26:13Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#USB#Übertragungsprotokoll|USB Übertragungsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26385</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26385"/>
		<updated>2008-02-16T22:25:32Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet_WIZ810MJ#USB#Übertragungsprotokoll|USB Übertragunsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26384</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26384"/>
		<updated>2008-02-16T22:24:07Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.[[Avr_Webserver_mit_Wiznet#USB|USB Übertragunsprotokoll]]&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26383</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26383"/>
		<updated>2008-02-16T22:21:26Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* UART RS232 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung. Für RS232 wurden die Routinen aus der AVRlib verwendet (sowohl uart.h/uart.c als auch rprintf.h/rprintf.c). Damit man den Bootloader für RS232 verwenden kann, war es jedoch notwendig, die Receive Interruptroutine in der uart.c für den Webserver anzupassen. Für RS232 wird nun dasselbe Übertragungsprotokoll wie für USB verwendet. Siehe USB -&amp;gt; Übertragunsprotokoll.&lt;br /&gt;
&lt;br /&gt;
===CAN===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
===SD Karte===&lt;br /&gt;
(Hardware SPI)&lt;br /&gt;
&lt;br /&gt;
===Software SPI===&lt;br /&gt;
Da Hardware SPI des ATmega128 bereits für CAN und SD Karte verwendet wurden, wurde am Webserver auch ein softwaremäßiges SPI Interface eingebunden. Für die Software SPI Pins ist eine eigene 6-polige Stiftleiste auf der Platine vorgesehen.&lt;br /&gt;
Die Routinen sind in Assembler geschrieben und erzeugen einen SCK Takt von F_CPU/32. Die Assemblerfunktionen steuern nur SSMISO, SSMOSI und SSCK. Die Chipselect Leitung muss vom User vor Funktionsaufruf gesteuert bzw. initialisert werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26382</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26382"/>
		<updated>2008-02-16T22:12:01Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist, kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number&lt;br /&gt;
** 8 bit breit&lt;br /&gt;
* Message Size 1&lt;br /&gt;
** MSB der Message Size (Anazhl der Datenbytes)&lt;br /&gt;
* Message Size 2&lt;br /&gt;
** LSB der Message Size (Anzahl der Datenbytes)&lt;br /&gt;
* Datenblock&lt;br /&gt;
** Messagesize (16bit) Datenbytes zu je 8bit&lt;br /&gt;
* Checksumme&lt;br /&gt;
** XOR aus allen Bytes einer Message (START, SeqNum, MsgSize1, MsgSize2, DATA)&lt;br /&gt;
&lt;br /&gt;
Wird als START Byte ein 0x1B erkannt, dann wird die Funktion collectCompleteMessage() aus der Header Datei BootlaoderApplication.h aufgerufen, die nichts anderes macht, als zu warten, bis eine vollständige Message empfangen wurde, diese anschließend in der .noinit section speichert und daraufhin einen Reset mit dem Watchdog generiert, damit der Webserver in den Bootlaoder springt. Dort wird dann erkannt, dass ein Watchdog Reset ausgelöst wurde und neue Daten in der .noinit section für den Bootloader sind. Diese werden daraufhin ausgelesen und verarbeitet.&lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26381</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26381"/>
		<updated>2008-02-16T22:00:58Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe External Memory Interface).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet, der zuvor installiert werden muss (siehe auch Bootloader -&amp;gt; Voreinstellungen).&lt;br /&gt;
&lt;br /&gt;
====Übertragungsprotokoll====&lt;br /&gt;
Das Übertragungsprotokoll war nötig und an den STK500 Bootloader gebunden, damit es auch möglich ist, von der Applikation in den Bootlaoder zu springen. Die Übertragung ist folgendermaßen aufgebaut:&lt;br /&gt;
* START&lt;br /&gt;
** 0x1B reserviert für Daten aus AVR Studio&lt;br /&gt;
**anderes 8 bit Startbyte, das ungleich 0x1B ist kann für USER Daten verwendet werden&lt;br /&gt;
* Sequence Number: 8 bit breit&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
====Probleme an FT245 Pins TXE und RXF====&lt;br /&gt;
Beim Testen der Platine und des FT245 hat sich herausgestellt, dass nach dem Anstekcen der Stromversorgung oder nach dem Anstecken von USB am PC einige high-low Pulse an TXE und RXF auftreten. Diese waren insofern ein Problem als die Datenauswertung in der Hauptapplikation (nicht im Bootlaoder) interrupgesteuert erfolgt und ein Übertragungsprotokoll (für STK500 Bootloader nötig) verwendet wird. Diese Pulse wurden nun per Software kompensiert, dafür war jedoch der Timer0 notwendig. Der Timer0 kann somit nur mehr bedingt für eigene Anwendungen verwendet werden, empfohlen wird jedoch, diesen Timer nicht zu verwenden.&lt;br /&gt;
&lt;br /&gt;
===UART RS232===&lt;br /&gt;
Auf der Webserver Platine befindet sich ein MAX3232 für die Pegelwandlung.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26380</id>
		<title>Datei:Webserver.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26380"/>
		<updated>2008-02-16T21:53:17Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: hat eine neue Version von „Bild:Webserver.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26379</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26379"/>
		<updated>2008-02-16T21:41:45Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe *[[External Memory Interface]]).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet (siehe auch * [[Bootloader]][[Voreinstellungen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26378</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26378"/>
		<updated>2008-02-16T21:40:59Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe [[External Memory Interface]]).&lt;br /&gt;
&lt;br /&gt;
Für den Webserver wird der COM-Port Treiber von FTDI verwendet (siehe auch [[Bootloader]][[Voreinstellungen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26377</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26377"/>
		<updated>2008-02-16T21:37:30Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik für Webserver.pdf]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip als USB Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen (siehe ===External Memory Interface===).&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26376</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26376"/>
		<updated>2008-02-16T21:35:05Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;br /&gt;
&lt;br /&gt;
==Interface==&lt;br /&gt;
===External Memory Interface===&lt;br /&gt;
Da sich am Webserver mehrere Devices am XMEM-Interface befinden, musste eine Logik entwickelt werden, mit der je nach selektierter Adresse immer nur das jeweilig angesprochene Device aktiv ist.&lt;br /&gt;
Am XMEM Inteface befinden sich folgende Devices:&lt;br /&gt;
* 32kB SRAM: Adresse 0x0000-0x7FFF&lt;br /&gt;
* Wiznet Modul WIZ810MJ: Adresse 0x8000-0xFFFF&lt;br /&gt;
* USB FT245: beliebige Adresse zwischen 0xA000-0xAFFF (nicht genutzer Bereich des Wiznet Moduls)&lt;br /&gt;
&lt;br /&gt;
Die gesamte Logikschaltung mit ausführlicher Dokumentierung kann hier heruntergeladen werden: [[Media:Adresslogik_für_Webserver.pdf|Adresslogik]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
Der Webserver hat eine USB Schnittstelle und verwendet den FT245 von FTDI Chip. Der FT245 ist am XMEM Interface des Webservers angeschlossen und kann in einem fix vorgegebenem Adressbereich liegen.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Adresslogik_f%C3%BCr_Webserver.pdf&amp;diff=26374</id>
		<title>Datei:Adresslogik für Webserver.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Adresslogik_f%C3%BCr_Webserver.pdf&amp;diff=26374"/>
		<updated>2008-02-16T21:32:50Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26373</id>
		<title>Datei:Webserver.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26373"/>
		<updated>2008-02-16T21:22:24Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: hat eine neue Version von „Bild:Webserver.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26372</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26372"/>
		<updated>2008-02-16T21:22:09Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
====Voreinstellungen====&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\defaultmit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
Will man den Bootloader für USB verwenden, muss man einerseits das Define &#039;COMM_MODE&#039; in der Header-Datei communication.h für USB einstllen (Standardmäßig ist USB gewählt), andererseits muss der COM Port Treiber für den FT245 installiert werden. Diesen findet man hier http://www.ftdichip.com/Drivers/VCP.htm. Genauere Informationen zur Installation können auf der FTDI Homepage nachgelsen werden.&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26371</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26371"/>
		<updated>2008-02-16T21:13:38Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikationsbeispiel]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26370</id>
		<title>Datei:Webserver.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26370"/>
		<updated>2008-02-16T21:13:00Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: hat eine neue Version von „Bild:Webserver.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26369</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26369"/>
		<updated>2008-02-16T21:11:16Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen mit Applikation]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26368</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=26368"/>
		<updated>2008-02-16T21:08:54Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWebserverPCB]]&lt;br /&gt;
&lt;br /&gt;
Leider stehen Schalt- und Bestückungsplan nicht in einer für Jedermann lesbaren Version (GIF/JPG oder PDF) zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
Die Werte für die Fuses, die die obrigen Einstellungen beinhalten, sind 0xFF (low Fuse) und 0xDC (high Fuse).&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26367</id>
		<title>Datei:Webserver.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver.zip&amp;diff=26367"/>
		<updated>2008-02-16T21:05:55Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25922</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25922"/>
		<updated>2008-01-30T12:56:13Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Applikationen flashen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann. Ansonsten muss der Bootloader immer wieder neu geflasht werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25921</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25921"/>
		<updated>2008-01-30T12:54:55Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Informationen zur Nutzung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;br /&gt;
&lt;br /&gt;
====Applikationen flashen====&lt;br /&gt;
Im Ordner vom Bootlaoder ist auch ein Applikationsbeispiel. Dieses Projekt kann verwendet werden, um hier seine eigenen Applikationen zu schreiben. Um eine Hex-Datei zu flashen, kann einfach über RS232 oder den USB-COM-Port im AVR-Studio eine Verbindung zum Webserver aufgebaut werden und die hex geflasht werden. Wichtig ist noch, dass in einer selbst erstellten Applikation die USB-Routinen/RS232-Routinen mitkopiliert und sowohl USB als auch RS232 wie im mitgelieferten Beispiel initialisiert werden, damit der Bootlaoder funktioniert und jederzeit eine neue Applikation geflasht werden kann.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25920</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25920"/>
		<updated>2008-01-30T12:50:22Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25919</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25919"/>
		<updated>2008-01-30T12:49:24Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Informationen zur Nutzung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB als auch RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25918</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25918"/>
		<updated>2008-01-30T12:49:05Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Informationen zur Nutzung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB und RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und man USB - während man im AVR-Studio vebunden ist - absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine neue Verbindung aufbauen kann. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für die Auswertung der STK500 Kommandos für RS232 und USB gleich ist.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25917</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25917"/>
		<updated>2008-01-30T12:46:19Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Informationen zur Nutzung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB und RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und USB während man im AVR-Studio vebunden ist absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine Verbindung mehr bekommt. Über RS232 treten diese Probleme nicht auf. Die Probleme über USB liegen möglicherweise am COM-Port Treiber von FTDI, da die Software am µC für RS232 und USB identisch ist.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25916</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25916"/>
		<updated>2008-01-30T12:45:11Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;br /&gt;
&lt;br /&gt;
====Informationen zur Nutzung====&lt;br /&gt;
Der Bootloader wurde mit dem AVR-Studio sowohl über USB und RS232 getestet. Probleme können auftreten, wenn der Bootlaoder für USB eingestellt ist und USB während man im AVR-Studio vebunden ist absteckt. Sollte man dies doch tun, muss man zuerst den Connect-Dialog schließen, anschließend USB neu anstecken und erneut verbinden. In einer anderen Reihenfolge kann sein, dass man keine Verbindung mehr bekommt. Über RS232 treten diese Probleme nicht auf.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25915</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25915"/>
		<updated>2008-01-30T12:38:52Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden. Folgendes muss eingestellt werden:&lt;br /&gt;
* ATmega103 Kompatiblitätsmodus deaktivieren&lt;br /&gt;
* JTAG und On-Chip-Debugging deaktivieren&lt;br /&gt;
* Externen Quarz aktivieren&lt;br /&gt;
* Bootresetvektor aktivieren&lt;br /&gt;
* Bootsize = 1024 words&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25914</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25914"/>
		<updated>2008-01-30T12:36:00Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste geflasht werden. Weiters müssen die Fusebits richtig eingestellt werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25913</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25913"/>
		<updated>2008-01-30T12:35:27Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;br /&gt;
&lt;br /&gt;
Damit der Bootlaoder funktioniert, muss zuerst die hex Datein Webserver_STK500_Bootloader.hex im Ordner Webserver_STK500_Bootloader\default mit einem externen Programmiergerät über die 6-polige Stiftleiste programmiert werden. Weiters müssen die Fusebits richtig eingestellt werden.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25912</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25912"/>
		<updated>2008-01-30T12:33:12Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit dem Define &#039;COMM_MODE&#039; in der Header-Datei communication.h kann festgelegt werden, ob der Bootloader für RS232 oder USB ist. Diese Header befindet sich im Ordner Webserver_STK500_Bootloader.&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25911</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25911"/>
		<updated>2008-01-30T12:31:11Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen:&#039;&#039;&#039; [[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25910</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25910"/>
		<updated>2008-01-30T12:30:37Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloaderroutinen mit Applikationsbeispiel zum Testen: &#039;&#039;&#039;[[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25909</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25909"/>
		<updated>2008-01-30T12:29:32Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
[[Media:Webserver_Bootloader.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25908</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25908"/>
		<updated>2008-01-30T12:26:40Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
[[Media:Bootloader_Webserver.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver_Bootloader.zip&amp;diff=25907</id>
		<title>Datei:Webserver Bootloader.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver_Bootloader.zip&amp;diff=25907"/>
		<updated>2008-01-30T12:25:53Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: hat eine neue Version von „Bild:Webserver Bootloader.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bootloader Routinen mit einer Applikationsanwendung zum Testen:&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25906</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25906"/>
		<updated>2008-01-30T12:24:57Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
[[Media:Bild:Bootloader_Webserver.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25905</id>
		<title>Avr Webserver mit Wiznet WIZ810MJ</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Avr_Webserver_mit_Wiznet_WIZ810MJ&amp;diff=25905"/>
		<updated>2008-01-30T12:22:58Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier entseht in den nächsten Tagen ein Artikel über einen Avr Webserver mit dem Wiznetmodul von Circuit Cellar.&lt;br /&gt;
&lt;br /&gt;
Anlass für dieses Projekt war das WIZ810MJ Modul von Circuit Cellar. Da dieses Modul mit Stiftleisten im 2mm Raster gefertigt wird, musste eine Platine her. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* Atmega128&lt;br /&gt;
* 32kB SRAM&lt;br /&gt;
* WIZ810MJ Ethernetmodul&lt;br /&gt;
* FT245R&lt;br /&gt;
* CAN galvanisch getrennt&lt;br /&gt;
* SD Karte&lt;br /&gt;
&lt;br /&gt;
==Platine==&lt;br /&gt;
Die Platinen wurden bei Leiton gefertigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eagle Files:&#039;&#039;&#039; [[Media:Webserver-PCB.zip|WiznetWeberverPCB]]&lt;br /&gt;
&lt;br /&gt;
==Programmiermöglichkeiten==&lt;br /&gt;
Auf der Platine ist eine 6-polige Stiftleiste zum Programmieren vorhanden. Weiters wurde ein Bootloader geschreiben, durch den es möglich ist, den Avr mittels RS232 oder  über USB zu programmieren. Der Bootloader ist STK500 kompatibel, wodurch man einfach mit dem AVR Studio oder mit Avrdude programmieren kann.&lt;br /&gt;
&lt;br /&gt;
==Aufbau==&lt;br /&gt;
Beachtung gilt der DC Buchse. Es gibt mehrere Versionen dieser Buchse. Die Buchse besitzt 3 Anschlüsse. Besitzt der seitliche Anschluss kontakt zum hinteren Anschluss, muss dieser abgschnitten werden. Ansonsten kommt es zu einem Kurzschluss der Eingangsspannung. &lt;br /&gt;
Da sich unter dem Quarz für den Atmega128 mehrere Durchkontaktierungen befinden, muss der Quartz isoliert werden. Es gibt dafür spezielle Quarzisolierscheibchen. Ansonsten tut es auch ein Stück Kunststofffolie (zB ein Heftumschlag). &lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
===Speichertestprogramm===&lt;br /&gt;
Um den externen SRAM testen zu können wurde ein Speichertestprogramm geschrieben. Es beschreibt den kompletten RAM in einer Schleife. Danach wird er wieder ausgelesen und die Differenz zum geschriebenen Wert berechnet. Ist das Ergebnis 0, wurde die Speicherzelle richtig beschrieben und ausglesen. Ist das Ergbnis ungleich Null, trat während des Vorganges ein Fehler auf, wird die Led1 (PG4) wird eingeschalten. Nach beenden der Speicherprüfung wird die Led2 (PG3) geschalten. Leuchtet nur eine der beiden Leds, ist das Ergebnis des Speichertests OK. Leuchten beide Leds, ergab sich während des Auslesens ein Fehler. In diesem Fall sollte man die Lötstellen des SRAMs, Latches und AVR kontrollieren. Zusätzlich werden die Informationen auch über die serielle Schnittstelle ausgegeben. Baudrate ist 115200 bps eingestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memtest Programm:&#039;&#039;&#039; [[Media:Memtest.zip|Memtest]]&lt;br /&gt;
&lt;br /&gt;
===Bootloader===&lt;br /&gt;
Der Bootloader ist STK500 kompatibel, wodurch der ATmega128 direkt aus dem AVR Studio geflasht werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit einem Define kann festgelegt werden, ob der Bootloader für RS232 oder USB ist.&lt;br /&gt;
[[Media:Bootloader_Webserver.zip|Bootloaderroutinen]]&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Webserver_Bootloader.zip&amp;diff=25904</id>
		<title>Datei:Webserver Bootloader.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Webserver_Bootloader.zip&amp;diff=25904"/>
		<updated>2008-01-30T12:21:46Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: Bootloader Routinen mit einer Applikationsanwendung zum Testen:&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bootloader Routinen mit einer Applikationsanwendung zum Testen:&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Media-Webserver_Bootloader.zip&amp;diff=25903</id>
		<title>Datei:Media-Webserver Bootloader.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Media-Webserver_Bootloader.zip&amp;diff=25903"/>
		<updated>2008-01-30T12:19:33Z</updated>

		<summary type="html">&lt;p&gt;Stefan90: Bootloader Routinen mit einer Applikationsanwendung zum Testen:&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bootloader Routinen mit einer Applikationsanwendung zum Testen:&lt;/div&gt;</summary>
		<author><name>Stefan90</name></author>
	</entry>
</feed>