<?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=62.157.123.101</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=62.157.123.101"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/62.157.123.101"/>
	<updated>2026-04-10T21:47:24Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=89871</id>
		<title>Gerber-Tools</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=89871"/>
		<updated>2015-09-30T06:14:20Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* Allgemeines */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gerber-Tools sind Programme, die es erlauben die von fast allen [[Schaltplaneditoren|Platinenlayoutprogrammen]] erzeugbaren Gerberfiles zu betrachten, zu überprüfen und eventuell sogar zu manipulieren. Das beginnt mit Tools, die es erlauben die Platinen zu drehen und miteinander zu verbinden bzw. mehrere identische zu größeren Panelen (sog. Nutzen) zusammenzufügen, um sie rationeller fertigen zu können. Es hört auf mit Programmen die in der Lage sind, Leiterbahnen und Bohrlöcher zu verschieben und zu ändern. Es ist guter Stil, seine eigene Arbeit mit einem Gerber-Viewer zu überprüfen, der &#039;&#039;&#039;nicht&#039;&#039;&#039; zum System des Platinenlayoutprogrammes gehört, mit der man die Platinendaten erzeugt hat, allein um systematische Fehler zu minimieren.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
Gerber-Daten stellen alle Daten dar, die zur Fertigung einer Leiterplatte benötigt werden. Und eben auch nicht mehr. Also keine Informationen über Netze, Schaltpläne oder Details über Bauteile. Daher erlauben sie es, auch solche Informationen gegenüber dem Fertiger einer Leiterplatte geheim zu halten, im Gegensatz zur Herausgabe von Platinendaten (CAD-Boarddateien) direkt aus dem Programm. Ferner ist das Format robust und kompakt. Es enthält alle Angaben, die zur Steuerung eines Photoplotters zur Erstellung von Filmen für die Leiterplattenbelichtung benötigt werden. Es ist eng mit dem &amp;quot;G-Code&amp;quot; für CNC-Drehbänke und Fräsmaschinen verwandt, beschränkt sich aber auf eine zweidimensionale (xy) Darstellung. Gerber hat sich als weit verbreitetes Austauschformat für Leiterplattendaten etabliert; mittlerweile enthält so gut wie jedes Programm zur Platinenentwicklung eine Exportmöglichkeit für Gerber, und so gut wie alle Firmen, die Leiterplatten herstellen, können diese Daten einlesen und verwerten.&lt;br /&gt;
&lt;br /&gt;
== Historisches ==&lt;br /&gt;
&lt;br /&gt;
Das heute gebräuchliche Format RS-274X (X für &amp;quot;extended&amp;quot;) hat einen Vorgänger RS-274D. Wobei RS274D tatsächlich ein Standard zur Steuerung von CNC-Maschinen war, von dem dann für die optischen Verfahren in der Platinenherstellung nur eine Teilmenge verwendet wurde. Der Hauptunterschied zwischen dem RS-274D und RS-274X ist, dass das alte RS-274D keine Informationen über die verwendeten Blenden enthält. Zu einem Gerber File gehörte also immer noch eine Blendendatei. Beim RS-274X ist diese Information (und andere, z.B. die über das Zahlenformat) im Gerberfile selber integriert. Für neue Entwicklung sollte KEIN altes RS-274D mehr verwendet werden, nur neueres RS-274X.&lt;br /&gt;
&lt;br /&gt;
Da früher Photoplotter für den Blendenwechsel drehbare Blendenrevolver hatten, die enteder 6 oder 12 verschiedene Blenden aufnehmen konnte, war die Anzahl der verwendeten Blenden in einem Design beschränkt, wollte man nicht zuviele zeitraubende und teure manuelle Blendenwechsel vornehmen. Das Problem bestand bei späteren Vektorplottern nicht mehr in dieser Form, da diese die Blenden in gewissen Bereichen frei emulieren konnten. Heutige Plotter arbeiten komplett anders, so das die Daten auch anders aufbereitet werden müssen. Das Format der Gerberdateien hat sich als praktisches Austauschformat allerdings erhalten, auch wenn es jetzt nur noch so darstellt, als ob die Daten einen Photoplotter steuern würde. &lt;br /&gt;
&lt;br /&gt;
Entwickelt wurde das Gerber Fileformat von Gerber-Scientific. Später pflegte Barco und jetzt Ucamco die Spezifikationen dieses Formates. &lt;br /&gt;
&lt;br /&gt;
Auch heute ist das Gerber Format noch nicht komplett, weil durch den technischen Fortschritt immer neue Möglichkeiten entstehen, über die das jeweilige aktuelle Gerberformat keine Angaben enthalten kann. Es enthält z.B. keine Angaben über den Lagenaufbau. Solche Informationen müssen dem Fertiger daher in begleitenden Texten oder Zeichnungen übergeben werden.  Um diese Problem anzugehen, veröffentlicht Ucamco einen [http://www.ucamco.com/downloads Vorschlag (und weiter: Extending the Gerber Format with Attributes)] der das Gerber-Dateiformat um Attribute erweitert. Ucamco lädt dazu ein, zu diesem Vorschlag Kommentare und Verbesserungsvorschläge einzureichen, bevor er formell in die Gerberformat Spezifikationen Eingang erhält.&lt;br /&gt;
&lt;br /&gt;
== Aktuell: Gerber Version 2 ==&lt;br /&gt;
Ganz aktuell im Herbst 2014 hat Ucamco &amp;quot;Gerber Version 2&amp;quot; vorgestellt, dass aber sehr ähnlich und voll abwärtskompatibel zu RS-274X sein will. Eine deutsche FAQ dazu findet sich hier:[[Media:The_gerber_file_format_version_2_faq_de.pdf]]. Das englische Original ist hier: [[Media:the_gerber_file_format_version_2_faq.pdf]].  Die Gerber Spezification befindet sich hier auf der Ucamco Downloadseite: [http://www.ucamco.com/en/guest/downloads]. Ein Video dazu ist hier: [http://www.ucamco.com/gerber/intro] Eine Diskussion dazu findet sich hier: http://www.mikrocontroller.net/topic/352281#3920473&lt;br /&gt;
&lt;br /&gt;
== Details der Formate ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
Wikipedia hat eine Beschreibung des [http://de.wikipedia.org/wiki/Gerber-Format Gerber-Formates]. Die Spezifikation und weitere Informationen findet sich [http://www.ucamco.com/downloads hier als &amp;quot;The Gerber File Format Specification&amp;quot;]. Eine [http://www.artwork.com/gerber/274x/rs274x.htm weitere Erläuterung] hat Steve DiBartolomeo geschrieben. Zu den Gerberdaten im weiteren Sinne zählen auch sog. &amp;quot;Drillfiles&amp;quot;, welche die Ansteuerdaten für die CNC-Platinenbohrmaschinen enthalten. Sie sind den Gerberfiles meist sehr ähnlich, auch wenn sie anderslautende Befehle haben. Weit verbreitet für diesen Zweck sind unter anderem Bohrautomaten der Firma Excellon, und so hat das Excellon-Fileformat eine recht weite Verbreitung gefunden. Eine Beschreibung des Excellon-Fileformates findet sich auf der Homepage von [http://www.excellon.com/manuals/program.htm Exellon]. Bohrdaten können aber auch im Gerberformat dargestellt werden. Sie bilden dann ein eigenes Gerberfile. Im allgemeinen sollten aus praktischen Gründen immer mehrere Bohrdateien pro Platine verwendet werden: Für durchkontaktierte (mit Innenverkupferung, &amp;quot;Via&amp;quot; genannt), und eins für nicht durchkontaktierte Bohrungen. Der Hintergrund ist, das die Bohrungen für durchkontaktierte und nicht durchkontaktierte Bohrungen in zwei unterschiedlichen Arbeitsschritten erfolgen müssen. Bei Multilayerplatinen kann es für manche Lagen weitere Drillfiles geben, je nachdem es sich um &amp;quot;blind&amp;quot; oder &amp;quot;buried&amp;quot; Vias handelt, für die naturgemäß Bohrungen nicht in allen Lagen vorhanden sind. Fräsungen (Für Platinenumrisse und Aussparungen) haben ein eigenes Gerberlayer, in denen die zu fräsenden Konturen eingezeichnet sind. Da Bohrungen ab 2mm Durchmesser gefräst werden können und ab 4mm Durchmesser gefräst werden sollten, besteht eventuell ein Freiraum, um bestimmte Fräsungen besser als Bohrung in ein Drillfile aufzunehemen oder bestimmte Bohrungen als Fräsung in die Fräslage aufzunehmen.&lt;br /&gt;
&lt;br /&gt;
=== Struktur des Formates ===&lt;br /&gt;
&lt;br /&gt;
Jede Kupferlage, aber auch Lötpasten- und Kleberschablone, Lötstopplack, Beschriftung etc. hat seine eigene Gerberdatei. Wenn vorhanden, getrennt nach Vorder- und Rückseite. Die Datei beginnt mit einem Header, im dem Allgemeines, wie das Einheitensystem (Inch oder mm), die Zahlendarstellung (Nullen unterdrückt, Stellen vor und nach dem Dezimaltrenner), und ob eine Lage gespiegelt oder positiv/negativ dargestellt wird. Eine Lötstoppmaske zum Beispiel enthält meist die gleichen Pads wie die korrespondierende Kupferlage, allerdings etwas größer. Die Darstellung erfolgt aber im Gegensatz zur Kupferlage, wo die Pads &amp;quot;Inseln&amp;quot; sind, negativ, was &amp;quot;Löcher&amp;quot; in der die ganze Platine bedeckenden Lötstoppschicht bedeutet. Es folgt eine Blendentabelle. Hierbei wird eine Anzahl von Blenden in Form und Größe definiert. Daran anschliessend Zeilen mit X- und Y-Koordinaten, die entweder mit geschlossener (nur Positionswechsel) oder offener Blende (&amp;quot;Draw&amp;quot;, es wird ein &amp;quot;Strich&amp;quot; gezogen, die Blendenanweisung definiert seine Breite), angefahren werden. Es gibt auch Positionen, die mit geschlossener Blende angefahren werden, und wo am Zielort die Blende kurz geöffnet wird (&amp;quot;Blinks&amp;quot; oder &amp;quot;Flashes&amp;quot;). Diese werden verwendet, um speziell Pads darzustellen. Die Form und Größe der Blende bestimmt hierbei die Form und Größe des erzeugten Pads. Leiterbahnstücke gleicher Form werden nicht als Blink, sondern als Draw mit gleichem Anfangs und Endpunkt (&amp;quot;Null-Länge&amp;quot;) dargestellt. Diese konsequente Trennung von Pads als Blink und Leiterbahnen als Draw ermöglicht es, leichter Änderungen an den Pads vornehmen zu können, in dem man dem Pad eine andere Blendendefinition zuweist. Das gilt auch für mit dem Pad im Zusamenhang zusehenden Blinks für Lötstoppmasken und besonders Pasten- und Klebstoffmasken, die oft vom Bestücker für seinen individuellen Herstellungsprozess angepasst werden müssen. Das Gerberformat enthält auch Anweisungsmöglichkeiten für Skalierung, Makros, Polygone, Drehungen, Kreise u. Kreissegmente, Kommentare etc. Große Flächen werden entweder durch einen Flächenbefehl als Polygon definiert, oder aber durch viele Striche emuliert (&amp;quot;stroke fill&amp;quot;). Die Dateiendung ist nicht einheitlich. Üblich ist es, alle Gerber Dateien mit .gbr, .ger oder .gerber enden zu lassen, und den speziellen Zweck im Dateinahmen unterzubringen (Beispiel: &amp;quot;PlatineProjektname-CopperTop.gbr&amp;quot;), oder aber spezielle Endungen für die jeweilige Gerberlage entsprechend ihrer Verwendung zu benutzen. Ein spezielles System existiert hierbei nicht, jedes Programm handhabt diese auf seine Weise. Eine sehr alte Tradition aus DOS-Zeiten (vermutlich Orcad) ist aber:&lt;br /&gt;
*.BOT  Kupferflaechen Loetseite&lt;br /&gt;
*.drl  Bohrfile (&amp;quot;Drill Rack&amp;quot;, Bohrerliste)&lt;br /&gt;
*.drd  Excellon-Bohrdaten (es müssen aber zwei Bohrdatenlisten existieren. Einmal für durchkontaktierte und einmal für nicht durckontaktierte Bohrungen, weil die Löcher dafür in unterschiedlichen Bearbeitungsstufen gebohrt werden müssen)&lt;br /&gt;
*.dri  Bohrinfo (Statistik über Bohrungen, Bohrerliste)&lt;br /&gt;
*.mnt  Pick and Place Bauteilseite (nur SMD)&lt;br /&gt;
*.mnb  Pick and Place Loetseite (nur SMD, bei Bauteilen auf beiden Seiten)&lt;br /&gt;
*.SMB  Loetstoppmaske Loetseite (Solder Mask Bottom)&lt;br /&gt;
*.SMT  Loetstoppmaske Bestueckungsseite (Solder Mask Top)&lt;br /&gt;
*.SST  Bestueckungsplan Bauteilseite (Silk Screen Top)&lt;br /&gt;
*.SSB  Bestückungsplan Loetseite (Silk Screen Bottom)&lt;br /&gt;
*.TOP  Kupferflaechen Bestueckungsseite&lt;br /&gt;
*.CRT  Lötpastenmaske Bestueckungsseite (Cream Top)&lt;br /&gt;
*.CRB  Lötpastenmaske Lötseite (Cream Bottom)&lt;br /&gt;
*.GLT  Klebermaske Bestueckungsseite (Glue Top)&lt;br /&gt;
*.GLB  Klebermaske Loetseite (Glue Bottom)&lt;br /&gt;
*.KOT  Keepout Bestueckungsseite &lt;br /&gt;
*.KOB  Keepout Loetseite&lt;br /&gt;
*.OUT  Outline&lt;br /&gt;
&lt;br /&gt;
andere Endungen:&lt;br /&gt;
*.NCD  Drillfile&lt;br /&gt;
*.TOL  Toolfile&lt;br /&gt;
*.TC   Drillcounter&lt;br /&gt;
&lt;br /&gt;
Vorschläge für alternative Dateiendungssysteme finden sich im einschlägigen [http://de.wikipedia.org/wiki/Gerber-Format Wikipedia Artikel].&lt;br /&gt;
&lt;br /&gt;
== Tipps ==&lt;br /&gt;
&lt;br /&gt;
*Wenn man Gerber- und Drillfiles erstellt, verwenden man am besten für beide ein einheitliches Zahlenformat, sofern das Layoutprogramm dazu eine Wahl lässt. Richten Sie sich dabei in erster Linie an den Bohrdaten aus, da diese der Dreh und Angelpunkt der Toleranzen sind.&lt;br /&gt;
*Den Nullpunkt der Koordinaten legt man dabei idealerweise nach unten links, falls das Layoutprogram dazu eine Wahl lässt.&lt;br /&gt;
*Man sollte nach Möglichkeit nur noch Gerber RS-274X (&amp;quot;Extended Gerber&amp;quot;) verwenden.   &lt;br /&gt;
*Als standardmäßige Formateinstellung für Gerberdaten empfielt sich dabei 3.3 metrisch. Hintergrund: Die IPC Spezifikation empfiehlt, die höchste Auflösung zu verwenden.&lt;br /&gt;
*Man verwendet nach Möglichkeit kein &amp;quot;Stroke fill&amp;quot; für Kupferflächen, sondern einen Polygon-Befehl. Leider lässt das nicht jedes Programm zu. Eine Begründung für die Vermeidung findet sich hier unter [http://www.ucamco.com/downloads &amp;quot;Painting considered harmful&amp;quot;].&lt;br /&gt;
* Für Pads gilt ähnliches in noch verschärfterer Form: Pads sollten nach möglichkeit immer &amp;quot;Blinks&amp;quot; sein. Allerdings ist das bei exotischren Padformen nicht so ohne weiteres möglich.&lt;br /&gt;
* Alle Lagen &amp;quot;in normaler&amp;quot; Ansicht ausgeben. D.h. so, wie man sie sehen würde, wenn man mit einem Röntgenblick von der Bauteilseite durch die Platine schauen würde. Schriften auf der Unterseite die im fertigen Objekt normal lesbar sein sollen, erscheinen dabei gespiegelt.&lt;br /&gt;
* Eine Platinenbeschreibung in einem allgemein lesbaren Format (z.B. PDF oder TXT, &#039;&#039;&#039;nicht&#039;&#039;&#039; die obskuren Formate irgendwelcher Textverarbeitungssysteme) dabeilegen. Ausser Informationen über Lagenaufbau und Abmessungen sollte diese Beschreibung eine Liste aller Gerber- und Bohrfiles enthalten, mit einer &#039;&#039;&#039;expliziten Nennung&#039;&#039;&#039; der Lage, für die sie gedacht sind. Das gilt besonders für Innenlagen, die nicht nur einfach durchnummeriert sein sollten, sondern es sollte &#039;&#039;&#039;explizit&#039;&#039;&#039; angegeben werden, in welcher Position sich die &amp;quot;Nummer&amp;quot; zur Ober- oder Unterseite befindet. Bei einem vierlagigen Aufbau ist es sonst nicht eindeutig klar, das &amp;quot;Layer 1&amp;quot; die Lage direkt unter der Oberseitenlage ist.&lt;br /&gt;
* Die Lagen sollten nicht gespiegelt sein.&lt;br /&gt;
* Kupferlagen sollten nicht komplett negativ sein, auch wenn sie negative Teile enthalten. Aber Lötstoppmaske, Lotpastenmaske und Klebstoffmaske schon.&lt;br /&gt;
* Die Lagen sollten keinen Versatz gegeneinander haben.&lt;br /&gt;
* Es sollte eine Konturlage existieren, die alle (Aussen-) Konturen der Platine enthält.&lt;br /&gt;
* Für durchkontaktierte und nicht durchkontaktierte Bohrungen sollten separate Bohrfiles existieren. Diese sind dann aber im [http://en.wikipedia.org/wiki/Excellon_format Excelon-Format] und nicht Gerber. Bei Multilayer Aufbauten sind für jeden separaten Bohrvorgang separate Borfiles nötig (Achtung bei blind und buried Vias). Ist, wegen irgendeiner Besonderheit der speziellen Platine, ein sonst üblicher Bohrvorgang nicht vorhanden, so sollte das auch &#039;&#039;&#039;explizit&#039;&#039;&#039; im begleitenden Text vermerkt werden.&lt;br /&gt;
* Ein konkreter Fall mit Fragen zur Erstellung von Gerberdaten (aus Target, gilt aber allgemein) findet sich [http://www.mikrocontroller.net/topic/319625#new hier].&lt;br /&gt;
&lt;br /&gt;
== Alternativen zu Gerber ==&lt;br /&gt;
&lt;br /&gt;
Viele Leiterplattenhersteller aktzeptieren auch die direkten Entwicklungsdaten für die meisten weitverbreiteten Leiterplattenlayout Programme. Insbesondere gilt das für Eagle, Kicad, Target, Altium und Orcad. Es empfielt sich darum, den gewünschten Leiterplattenhersteller nach den Formaten, die er verarbeiten kann, zu fragen. Allerdings gibt man in diesem Falle wesentlich mehr Daten heraus, als für eine Produktion nötig ist. Insofern kann das als Sicherheitsrisiko gesehen werden, was aber für Amateure eher nebensächlich sein dürfte.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres, wesentlich schwerwiegenderes, Risiko liegt aber darin, das die CAD-Systemdaten wesentlich interpretierfähiger als die Gerberdaten sind, was zu fatalen Missverständnissen führen kann.&lt;br /&gt;
&lt;br /&gt;
Für die Produktion müssen die Daten aber auf jeden Fall vom Leiterplattenhersteller speziell für seine Anlagen aufbereitet werden. Darum, und um eine Kompatibilität mit den Daten anderer CAD-Systeme zu erhalten, werden die Daten dann im allgemeinen doch in das Gerberformat umgewandelt, da Gerber als Austauschformat den kleinsten gemeinsamen Nenner darstellt. Weil Gerber für den Austausch am weitesten verbreitet ist, haben die Leiterplattenhersteller darin auch oft die meiste Erfahrung und meiste Übung und oft feststehende Vorgehensweisen im Sinne der Qualitätssicherung.&lt;br /&gt;
&lt;br /&gt;
Daher ist es angeraten, seine Daten im Gerberformat bei den Leiterplattenherstellern einzureichen.&lt;br /&gt;
&lt;br /&gt;
Eine Diskussion zum Thema &amp;quot;CAD-Dateien statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/319065#new hier im Forum].&lt;br /&gt;
&lt;br /&gt;
Als direktes alternatives Dateiformat zu Gerber wäre ODB++ zu nennen, welches aber proprietär von Valor ist. Eine Diskussion zum Thema &amp;quot;ODB++ statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/320716#new hier im Forum]. Desweiteren entwickelte [http://www.ipc.org/de/default.aspx der IPC] mit [http://ipc-2581.com/ IPC-2581] ein XML basiertes Format, das sich bisher aber kaum verbreiten konnte. Es gibt wohl neuere Ansätze, IPC-2581 und Gerber aneinander anzugleichen. Auch dazu veröffentlichte Ucamco einen [http://www.ucamco.com/downloads Vorschlag (Und weiter: IPC-2581 meets the Gerber File Format)] der das Gerber-Dateiformat um Angaben z.b. zum Lagenaufbau erweitert.&lt;br /&gt;
&lt;br /&gt;
Ein [http://www.ilfa.de/Publikationen Plädoyer für Gerber (unter &amp;quot;Datenformate: Gerber&amp;quot;)] hält auch A.Wiemers.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich zählt das Gerberformat zu den Vektorgrafikformaten. Daher ist hypothetisch auch z.B. [http://de.wikipedia.org/wiki/SVG das SVG-Format] geeignet, um Platinendaten zu transportieren und zu manipulieren. Allerdings ist das bisher nicht üblich, und u.U. riskant, weil eine identische Darstellung in verschiedenen Programmen aufgrund der Komplexität von SVG nicht immer gewährleistet ist.&lt;br /&gt;
&lt;br /&gt;
== Gerber Tools == &lt;br /&gt;
&lt;br /&gt;
* [http://www.GerberLogix.com GerberLogix]: Einfach zu bedienender Extended Gerber Viewer. Weitere Formate sind Excellon 1/2. Highlight ist die Automatische Bemaßung von Leiterbahnen. Für Hobbyisten Kostenlos.&lt;br /&gt;
&lt;br /&gt;
* [http://www.PCB-Investigator.com PCB-Investigator]: Umfangreiche Funktionalität zum vergleichen verschiedenster Leiterplatten Daten. Wandelt alle Daten auch in 3D um. ODB++, IPC 2581, GenCAD und Gerber Daten. &lt;br /&gt;
&lt;br /&gt;
* [http://ruggedcircuits.com/gerbmerge/ Gerbmerge]: Ein unter Python geschriebenes Tool, mit denen einzelne Platinen zu größeren Nutzen zusammengefügt werden können. Seit 2008 GNU GPL. Author: Andrew Sterian et al. Von Gerbmerge gibt es mehrere Forks/Versionen für unterschiedliche Zwecke (zoll/metrisch ec.) Mittlerweile gibt es auch eine Python 3 Version. Es handelt sich um ein Kommandozeilentool. Eine Kurzbeschreibung der Bedienung und ein Verweis auf die unterschiedlichen Versionen findet sich hier: https://www.mikrocontroller.net/topic/184080#4226884 Die Dokumentation zum (originalen) Gerbmerge ist hier zu finden: http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/ Die Python 3 Version findet sich hier: https://github.com/digistump/gerbmerge3 &lt;br /&gt;
&lt;br /&gt;
* [http://www.graphicode.com/GC-Prevue_Gerber_Viewer gc-preview]: Ein Programm, um Gerberdaten ansehen und drucken zu können. Freeware.&lt;br /&gt;
&lt;br /&gt;
* Die Firma Graphicode bietet auch noch andere, im allgemeinen kostenpflichtige Software an, mit der diverse Plotter- und Platinenformate, u.a. auch Gerberdaten, ineinander überführt werden können, wie z.B. [http://www.graphicode.com/products/cam GC-CAM-Edit].&lt;br /&gt;
&lt;br /&gt;
* [http://www.softwarecompanions.com/gerbview.html GerbView (1)]: Ein Programm, das in der Lage ist, verschiedene Platinen- und Plotterformate, darunter eben auch Gerberdaten, zu sichten, ineinander zu convertieren, zu markieren und zu drucken. 30 Tage Testversion. &lt;br /&gt;
&lt;br /&gt;
* [http://iut-tice.ujf-grenoble.fr/kicad/ GerbView (2)]: Ebenfalls unter dem Namen GerbView existiert ein anderer Gerberviewer als Bestandteil von [[KiCAD]]. Dieser erlaubt das Betrachten der Gerberfiles und den Export als Platine in PCBnew, welches ebenfals Bestandteil von KiCAD ist. Unter KiCAD/PCBnew kann diese Platine dann manipuliert, verändert und wieder als Gerberfile exportiert werden. Allerdings können so nur Gerber-RS274X Daten eingelesen und exportiert werden. Blinks werden aber beim Reimport als Durchkontaktierung dargestellt. Insgesammt ist dieses Feature ziemlich &amp;quot;buggy&amp;quot; und unperfekt. Letzteres ist aber aus grundsätzlichen Erwägungen heraus auch schwer zu ändern. Siehe: http://www.mikrocontroller.net/topic/263576#2739329&lt;br /&gt;
&lt;br /&gt;
* [http://gerbv.gpleda.org/index.html Gerbv]: Ebenfalls ein Open Source Gerberviewer. Er gehört zum gEDA Projekt. Funktioniert hervorragend und hat viele Features. Verarbeitet RS-274-X und Excellon-Bohrdaten, jedoch kein RS-274 (Standard-Gerber). Dieser Gerberviewer ermöglicht auch das Löschen einzelner Strukturen und das Umskalieren, Verschieben, Spiegeln und Drehen der gesamten Gerberdatei. Gespeichert wird nur Extendet Gerber. &lt;br /&gt;
&lt;br /&gt;
* [http://www.pentalogix.com ViewMate]: ist eine professionelle CAM-Software, die als Viewer kostenlos abgegeben wird. Die Funktionen zum Ändern und Speichern sind gesperrt, aber zum Überprüfen der Ausgabedaten hervorragend geeignet (auch Bohrdaten). Dies kostenlose Version läuft auch recht gut unter wine (Debian squeeze). &lt;br /&gt;
&lt;br /&gt;
* [http://www.mentor.com/products/pcb-system-design/downloads/odb-viewer VUV]: ODB++ Viewer, der von der Firma Valor, jetzt von Mentor übernommen, kostenlos abgegeben wird.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cenon.info/ Cenon]: Cenon ist eine Open Source Software um speziell Vektorgrafiken zu betrachten, zu manipulieren und zu konvertieren. Das Gerberformat ist grundsätzlich als Vektorgrafikformat anzusehen. Cenon kann auch Standard und extendet Gerber einlesen, und als extendet Gerber wieder abspeichern. Es können einzelne Strukturen in Gerber selektiert, kopiert, gelöscht, verschoben, gedreht und eingefügt werden. Ebenso können Mehrfachnutzen erstellt werden. Es kann auch in oder aus anderen Vektorformaten wie PDF, PS, HPGL, DXF konvertiert werden. Die Bedienung des Programmes ist manchmal sehr pfiffig, aber leider meistens sehr gewöhnungsbedürftig. Es ist z.B. unbedingt darauf zu achten, das die Dateien adäquate Endungen haben, als Gerber lässt Cenon nur .ger und .gerber zu. Bei der Zusammenarbeit mit anderen Programmen ist es daher leider oft nötig, die Dateien ständig umzubenennen. Unter Debian Squeeze existiert ein Cenon Package. Leider müssen z.Z. (17. Nov. 2011) nach der Installation noch die GNUstep Librarys manuell von /usr/lib/GNUstep/Library nach /usr/lib/GNUstep/Cenon oder /usr/local/lib/GNUstep/Cenon kopiert werden. Es ist dringend anzuraten, die  [http://www.cenon.info/frameLoad_de.html?support_faq_de.html Cenon FAQ] und das [http://www.vhf-group.com/vhf-interservice/download/doc/Cenon_de.pdf Cenon Handbuch] zu lesen.&lt;br /&gt;
&lt;br /&gt;
* [[Media:PyGerberAnalyse_B5_13Jun2013.zip]] Absolut primitives Programm zur Gerber-Daten Analyse. Test-Status. Geschrieben in Python3. Kann Gerber247d und Gerber247x einlesen und teilweise analysieren und die Analyse als Datei abspeichern, aber keine Makros darin. Kann auch Drill Files einlesen. Kann Gerber- oder Drill-Files in rudimentärer Form anzeigen (z.B. OHNE Aperturen, kein Maßstab, ist somit für fast nichts zu gebrauchen). Das Programm besteht aus den drei Teilen PyGerbAnalyse_B5_13Jun2013.py, ClassDefBasicAnalysisResults_13Jun2013.py und ClassDefGerberLayer_13Jun2013.py. Gestartet wird nur PyGerbAnalyse_B5_13Jun2013.py, die anderen beiden Python Files enthalten Klassendefinitionen. Steht unter GNU-GPL. Autor Bernd Wiebus. KEINE GARANTIE! Testberichte, Hinweise, Informationen und Anregungen sowie dringend benötigte Testdateien mit normalen und exotischen, auch älteren, Gerberformaten von unterschiedlichen Layoutprogrammen bitte an bernd.wiebus@gmx.de senden. DANKE im Voraus dazu! Es ist eine Python3 Version des unter dem BASIC-Dialekt Gambas2 geschriebenen ebenso primitiven Viewers, der unter [[Media:GerbAnalyse_RevA6.zip]] zu bekommen ist. Python3 ist unter Linux bei den meisten Distributionen als Packet installierbar. Windows User könnten vieleicht Möglichkeiten in dieser Diskussion finden: http://www.mikrocontroller.net/topic/280970#new&lt;br /&gt;
&lt;br /&gt;
* [http://www.gerber-viewer.com/ gerber-viewer.com]: Für die schnelle Kontrolle von Gerberdaten eignet sich auch ein online Viewer. Einfach Zip-Archiv oder Gerberdaten auswählen, uploaden und online begutachten. Datensicherheit beachten! Gerberdaten werden dabei herausgegeben!&lt;br /&gt;
&lt;br /&gt;
* [http://www.numericalinnovations.com/collections/fab-3000-gerber-cam?gclid=CLj1-_GW6LsCFclQ3godr3sASQ FAB 3000 V7]: Ein Gerberviewer und Editor von Numerical Innovations. Es existiert auch eine Trial Version.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/aitjcize/QCamber QCamber] Relativ neue Software, über die noch wenig bekannt ist.&lt;br /&gt;
&lt;br /&gt;
* [http://flatcam.org/ FlatCAM] Diese Software erstellt aus Gerberdaten und Bohrdaten G-Code für Bohrmaschinen oder für Fräser um den Platinenumriss (mit Haltestegen) freizufräsen, oder auch zum &amp;quot;Konturfräsen&amp;quot;. Beim &amp;quot;Konturfräsen&amp;quot; wird eine Leiterplatte nicht geätzt, sondern gefräst. Naturgemäß geht letzteres nur sinnvoll für Einzelstücke oder Kleinserien, und auch nur für relativ grobe Layouts. Desweiteren kann auf diesem Wege auch G-Code zum Fräsen bzw. Gravieren von Frontplatten o.ä. erzeugt werden, wenn man die Strukturen in einem Layoutprogramm passend anlegt, als Gerberdaten exportiert und dann mit dieser Software bearbeitet. Siehe http://www.mikrocontroller.net/topic/338193#3717135 und https://www.mikrocontroller.net/topic/369261.&lt;br /&gt;
&lt;br /&gt;
* [http://reprap.org/wiki/PCB_Milling#Visolate Visolate] erstellt aus Gerberdaten G-Code für Fräsmaschinen nach dem sog. Voronoi-Verfahren. Dabei werden nicht die Umrisse jeder Leiterbahn gefräst, sondern eine einzelne Isolierbahn zwischen jeweils zwei Leiterbahnen. Das spart natürlich erheblich Bearbeitungszeit und reduziert den Werkzeugverschleiss, ist aber auch für Hochstromanwendungen interessant, bei denen die Leiterbahnen so breit wie möglich sein sollen. Ein weiterer Vorteil des Verfahrens ist, dass Fräsbahnen immer in einem stumpfen Winkel aufeinander stossen, so dass an den Übergängen keine Grate entstehen. [https://github.com/Traumflug/Visolate Visolate ist Open Source], Java-Binaries im Ordner releases/.&lt;br /&gt;
&lt;br /&gt;
* [http://www.zofzpcb.com ZofzPCB] Ein Gerber Viewer. Kann u.A. Gerber Daten in 3D Rendern. Freeware. Läuft aber z.Z. (Oktober 2014) nur unter Windows. Siehe: http://www.mikrocontroller.net/topic/346675#new&lt;br /&gt;
&lt;br /&gt;
* [http://www.viewplot.com/ ViewPlot] Viewer (kostenlos), Editor (kostenpflichtig); Version 1.5 hat bessere/mehr Features als 2.0, bspw. einen DRC-Check (Abstandstest).  Läuft auch im Wine.  Funktioniert nicht, wenn %MOIN*% und %MOMM*% in einer Datei gemischt auftreten, was nach älteren Versionen der RS-274-X-Spec zulässig war, nach der aktuellen jedoch nicht mehr.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch == &lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/293100#new Forumsbeitrag]: Gerber Daten: wie erkenne ich, ob Bohrung metallisiert ist?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311780#new Forumsbeitrag]: Gerberdatei für Lötstoppmaske&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311426#new Forumsbeitrag]: Ein Klassiker - Gerberdaten und Blendendatei - RS274D vs. RS274X&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]: Kicad: Bohrdatei&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309923#new Forumsbeitrag]: Gerbv Layoutkontrolle fehlerhafte Anzeige/ Ergebnisse?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309765#new Forumsbeitrag]: Bohrdatei für fertige Leiterplatte&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/303326#new Forumsbeitrag]: gerber Preview gcprevue welche Version empfehlenswert?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298632#new Forumsbeitrag]: Gerber Daten für Board Cutout (Altium)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307967#new Forumsbeitrag]: Kann mir wer Eagle zu Gerber exportieren&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/291090#new Forumsbeitrag]: Altium exportiert nicht korrekt in Gerber&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/262726#new Forumsbeitrag]: Gerber Daten (formate und Dateiendungen)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255449#new Forumsbeitrag]: Eagle CAM-Job / Itead Studio - Fehler in Gerber Dateien?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255129#new Forumsbeitrag]: Layout (Gerber) in Nutzen umwandeln - suche Tool&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/241858#new Forumsbeitrag]: EAGLE: Genauigkeit für Gerber-Dateien einstellen - wo? wie?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/319065#new Forumsbeitrag]: CAD-Daten oder Gerberdaten herausgeben?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320716#new Forumsbeitrag]: Diskussion über ODB++ als Alternative zu Gerber.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Schaltplaneditoren]]&lt;br /&gt;
[[Category:Platinen]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EMV_Einfache_Tester&amp;diff=78552</id>
		<title>EMV Einfache Tester</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EMV_Einfache_Tester&amp;diff=78552"/>
		<updated>2013-09-18T13:06:58Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* Scanner-Radio */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Hobbybereich kann man sich oft keine teuren Geräte für EMV-Tests leisten. Trotzdem spielt das Thema EMV eine nicht unwichtige Rolle. Je nach Umfeld muss man nämlich einiges an Aufwand treiben, damit selbst gebaute Schaltungen überhaupt funktionieren. Jeder, der schonmal Schaltungen für Auto, Roller oder Traktor gebaut hat, wird sicherlich mit einigen Problemen konfrontiert gewesen sein. Auch Timer für ein Belichtungsgerät mit Leuchtstoffröhre sind ein Klassiker.&lt;br /&gt;
&lt;br /&gt;
Wie kann man mit einfachen Mitteln ein paar Tests auf Robustheit seiner Schaltung machen? Wie kann man herausfinden, ob die Schaltung elektromagnetisch abstrahlt und so andere Elektronik stört?&lt;br /&gt;
&lt;br /&gt;
Hier sollen einfache Mittel und Methoden vorgestellt werden, die sich ein Hobbybastler leisten kann. Aber auch im professionellem Umfeld in kleinen Firmen kann es sich lohnen, vor einem Besuch im EMV-Labor einige eigene Tests gemacht zu haben. So kann man sich ggf. einen weiteren Besuch im EMV-Testlabor mit vielleicht 1000 Euro Kosten sparen.&lt;br /&gt;
&lt;br /&gt;
== Elektromagnetische Einstrahlung ==&lt;br /&gt;
&lt;br /&gt;
=== Leuchtstoffröhrentest ===&lt;br /&gt;
&lt;br /&gt;
Leuchtstoffröhren mit normalem elektromechanischem Starter und 50 Hz Drossel eignen sich gut, die Schaltung zu quälen. Hierzu legt man die Schaltung an verschiedene Orte in die Nähe der Lampe und schaltet diese öfters ein. Läuft die Schaltung stabil? Oder stürzt der Mikrocontroller ab? Laufen Übertragungsprotokolle stabil oder schleichen sich Fehler ein?&lt;br /&gt;
&lt;br /&gt;
Man kann auch gleichzeitig mit dem Oszi nachmessen, was durch die Leuchtstoffröhre in die Schaltung eingekoppelt wird. Hier muss man allerdings acht geben, dass die Messleitungen nicht wieder zusätzlich was einkoppeln. &lt;br /&gt;
&lt;br /&gt;
Netzbetriebene Geräte lassen sich auch gut testen, weil die Störungen der Leuchtstoffröhre übers Netz gekoppelt werden. Hierfür testet man dann seine Schaltung weit weg von der Leuchtstoffröhre, jedoch an der gleichen Steckdose betrieben. Am besten hat man eine lange Verlängerungsschnur vor einem Steckdosenverteiler, an dem man dann sowohl Leuchtstoffröhre wie das zu testende Gerät anschließt. Das erhöht die Störungen. Mit einem Oszi kann man in seiner Schaltung nachmessen, was an Störungen einstrahlt.&lt;br /&gt;
&lt;br /&gt;
=== Relais-Tests ===&lt;br /&gt;
&lt;br /&gt;
Ein dickes KFZ-Relais oder einen Schütz erzeugt ein gutes elektromagnetisches Störfeld, wenn man die Spule nicht mit Schutzdiode versieht, sondern mit einem Kabel über die Spulenkontakte streift. Hierdurch kommt es zu ziemlich zufälligen Stromflüssen mit Funkenbildung. Alles beste Voraussetzungen, in der Nähe des Relais schöne Störungen zu produzieren. Hier kann man ebenso seine Schaltung testen, in dem man sie in unmittelbarer Nähe betreibt. Gehen im normalen Betrieb Kabel vom Gerät ab, so kann man diese auch ein paar mal ums Relais wickeln, um die Kopplung zu erhöhen.&lt;br /&gt;
&lt;br /&gt;
Eine Idee ist, einen Kontakt des Relais mit einem Bananenstecker oder einem Nagel über eine Feile zu ziehen. Das macht gut Funken und sorgt für mächtig Störung.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher ist die Verschaltung eines Relais in einer Selbstunterbrecherschaltung. Dazu braucht man ein Relais mit Wechselkontakt oder Öffner. Je nach Grösse und Bauart rasselt das Relais dann mit 10..200 Hz und macht ordentlich EMV-Dreck. Die Kontakte werden dabei bisweilen stark belastet.&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_selbstunterbrecher.png]]&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist, einen oder zwei Leuchtstofflampenstarter&lt;br /&gt;
in Reihe zur Schützspule. Bei einer solchen ähnlichen Schaltung&lt;br /&gt;
(2Starter+25W Glühlampe)sollte ein Feuer nachgebildet werden.&lt;br /&gt;
Radiohören war in deren Nähe nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
=== Handy-Test ===&lt;br /&gt;
&lt;br /&gt;
Ein Handy sendet je nach Empfangslage mit bis zu 2 Watt. Die meisten kennen die Störungen, die ein empfangendes Handy im NF-Bereich machen kann. Mit einem Handy kann man zumindest herausfinden, ob stärkere Einstrahlungen bei etwa 1 GHz (D-Netz) oder 2 GHz (E-Netz) einen Einfluss auf die Funktion der Schaltung haben. &lt;br /&gt;
&lt;br /&gt;
Am besten sorgt man für schlechte Empfangsverhältnisse, denn nur dann drehen die Handys so richtig die Leistung auf. Dann hat man maximale Feldstärke.&lt;br /&gt;
&lt;br /&gt;
=== Klingel ===&lt;br /&gt;
&lt;br /&gt;
Eine nostalgische elektromagnetische Klingel mit Spule produziert aufgrund ihres Funktionsprinzips ebenfalls gut Funken über eine geschaltete Induktivität. &lt;br /&gt;
&lt;br /&gt;
=== Bohrmaschine, Elektromotoren ===&lt;br /&gt;
&lt;br /&gt;
...entwickeln ein schönes Funkenfeuer an den Kohlen. Man kann die resultierenden Störungen einkoppeln, in dem man so ein Gerät in der Nähe der Schaltung laufen lässt. Oder auch über die Netzleitung, hierbei ist es gut, wenn man noch die Entstörkondensatoren entfernt, die in jedem handelsüblichen Gerät enthalten sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrahlungstests ==&lt;br /&gt;
&lt;br /&gt;
=== Scanner-Radio ===&lt;br /&gt;
&lt;br /&gt;
Scanner sind im funktechnischen Umfeld Geräte, die auf einem sehr großem Frequenzbereich empfangen können. Ein guter Scanner kann Frequenzbereiche von 500KHz bis 2 GHz empfangen. Das ist gut geeignet, um Abstrahlungen einer selbst gebauten Schaltung nachzuweisen. &lt;br /&gt;
&lt;br /&gt;
Die meisten Geräte verfügen über eine Feldstärkeanzeige, womit dann auch eine einfache quantitative Beurteilung möglich ist. Ebenso kann man mit unterschiedlichen Antennen eine qualitative Beurteilung machen, auch durch unterschiedliche Entfernungen zum Testobjekt.&lt;br /&gt;
&lt;br /&gt;
Geräte gibt es z.&amp;amp;nbsp;B. von Stabo oder Albrecht. Brauchbare Geräte sind der Stabo XR 1800 und Stabo 1810, die man gebraucht für etwa 200 Euro bekommt. Weitere Hersteller sind AOR und Uniden. Ein Blick bei Ebay lohnt sich.&lt;br /&gt;
&lt;br /&gt;
Wichtig für solche Tests ist ein Umfeld, wo möglichst wenig andere Funkquellen einstrahlen und dies ist gar nicht so einfach. &lt;br /&gt;
&lt;br /&gt;
Ein recht funkdichter Raum für kleine Objekte und erste Tests ist die Mikrowelle. In diese legt man Schaltung Empfänger. Sobald man jedoch irgendwelche Kabel von außen hinein legen muss, ist es vorbei mit der Funkstille. Darüber holt man sich wieder jede Menge Störstrahlung hinein.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, sich eine HF-dichte Kiste zu bauen, in der man testet. Ob die Kiste wirklich HF-dicht ist, lässt sich ja mit dem Scanner zuvor checken. Aber aufgepasst: Die meisten Scanner stören sich bei bestimmten Frequenzen selber, empfangen dann also ein eigenes Signal. Man sollte sich diese Frequenzen notieren oder über Programmierung des Scanners aussperren.&lt;br /&gt;
&lt;br /&gt;
Wo findet man einen großen funkfreien Raum? In Zeiten der flächendeckenden Handy-, Radio- und Fernsehversorgung ist das gar nicht so einfach. Tiefe Keller oder alte Bunker wären eine Möglichkeit. Auch gibt es manche Täler, in denen kaum noch Empfang möglich ist. Mein Favorit ist eine Höhle im Sauerland, die etwa 50 Meter in den Berg geht und frei zugänglich ist. Dort ist absolute Funkstille. Hier kann man dann ausführlich messen.&lt;br /&gt;
&lt;br /&gt;
Billige Multiband-Weltempfänger gibt es für etwa 20-50 Euro. Sie decken meist Frequenzbereiche von 50-180 MHz ab. Das ist arg wenig, reicht aber auch für manch einen Test. Es ist ja so, dass gerade bei digitalen Geräten Abstrahlungen auf mehreren Frequenzen nachweisbar sind (http://de.wikipedia.org/wiki/Oberwellen). Insofern ist die Chance gut, irgendwo in dem Frequenzbereich was nachweisen zu können. Vorteil solcher Billiggeräte ist, dass man wg. analoger Sendereinstellung sehr schnell durchscannen kann. &lt;br /&gt;
&lt;br /&gt;
Selbst mit einem normalem Radioempfänger kann man über verschiedene Bänder seine Schaltung testen. Fast alle Digitalelektronik mit Mikrocontrollern ist im UKW-Bereich hörbar, wenn keine Entstörmaßnahmen getroffen wurden.&lt;br /&gt;
&lt;br /&gt;
Unter dem Stichwort SDR (Software-Defined-Radio) lassen sich für sehr kleines Geld (DAB-USB-Stick) Lösungen finden mit denen von 50 kHz bis ca 2 GHz das Spektrum durchsucht werden kann. Dabei ist jedoch zu beachten, dass je nach SDR sehr viele Mischerartefakte und Eigenstörungen auftreten können.&lt;br /&gt;
&lt;br /&gt;
=== Elektrosmog-Messgeräte ===&lt;br /&gt;
&lt;br /&gt;
Sind eigentlich dazu gedacht, um Menschen zu helfen, die unter elektromagnetischen Einstrahlungen leiden. Sie eignen sich aber auch gut, um elektromagnetische Abstrahlungen der eigenen Geräte zu testen. &lt;br /&gt;
&lt;br /&gt;
Auf diesem Markt gibt es viel Hokuspokus und viel unausgegorenes Zeug, mit dem man zwar irgendwas nachweisen kann, aber kaum klare Aussagen treffen kann. Mitunter messen solche Geräte schon bei anderer Wetterlage oder anderem Schuhwerk des Benutzers völlig anders. &lt;br /&gt;
&lt;br /&gt;
Bei Elektrosmogmessgeräten handelt es sich meist um Breitbandmessgeräte, die also in einem großen Frequenzbereich die Abstrahlung messen. Damit kann man zwar keine Aussagen machen, bei welcher Frequenz etwas abstrahlt, wohl aber, das in einem Frequenzspektrum etwas mit einer bestimmten Energie abstrahlt. Denn die meisten Geräte haben zur quantitativen Bewertung eine Skala. &lt;br /&gt;
&lt;br /&gt;
Brauchbare Geräte stellt die Firma http://www.gigahertz-solutions.de her. Diese gibt es u.a. auch bei Conrad-Elektronik. Leider sind die nicht ganz billig. Es lohnt sich ein Gerät für den niederfrequenten Bereich bis etwa 100KHz und für den Hochfrequenzbereich, der möglichst tief beginnen sollte, z.&amp;amp;nbsp;B. bei 27MHz. Die meisten Störungen durch Mikrocontroller sind irgendwo im Bereich zwischen 50MHz und 2 GHz zu finden. &lt;br /&gt;
&lt;br /&gt;
Von http://www.aaronia.de/ gab es früher Breitbandmessgeräte, die halbwegs brauchbar waren. Irgendwann machten die einen Schnitt und verkaufen seither nur noch frequenzselektive Geräte. Leider mit massiven Qualitätsproblemen bei der Einführung. Auch sind diese Geräte wohl recht optimiert auf die typischen Abstrahlungsquellen wie Handy und unterdrücken evtl. andere Frequenzen. Viele Geräte sind zudem bis heute noch nicht lieferbar (Stand 05/2007). Die Firma und die Geräte im Auge zu behalten, kann jedoch Sinn machen. Auch bei Ebay bekommt man ältere Geräte, wie den HF-Detektor Profi II, der recht brauchbar ist.&lt;br /&gt;
&lt;br /&gt;
Die meisten HF-Breitbandmessgeräte basieren auf der AD83xx (z.&amp;amp;nbsp;B. AD8307) Chipreihe von Analog Devices. Man kann sich so ein Gerät dann auch schnell selber zusammenbauen. Auch Bausätze gibt es:&lt;br /&gt;
&lt;br /&gt;
* http://www.bausatz.aatis.de/AS644_HF-Sniffer/as644_hf-sniffer.html&lt;br /&gt;
* [http://web.archive.org/web/20090531143119/http://web.axelero.hu/ha5shf01/SWRPWR/swrpwr.htm http://web.axelero.hu/ha5shf01/SWRPWR/swrpwr.htm] (via archive.org)&lt;br /&gt;
* http://www.qsl.net/df7tv/pm8307.html&lt;br /&gt;
* http://www.darcverlag.de/&lt;br /&gt;
&lt;br /&gt;
=== Sniffer-Probes ===&lt;br /&gt;
&lt;br /&gt;
* http://cds.linear.com/docs/en/application-note/an118fa.pdf - siehe Seite 32&lt;br /&gt;
* http://credencetech.com/products/more/NEARFIELD_Methods.pdf&lt;br /&gt;
* http://credencetech.com/media/products/SCANEM.PDF&lt;br /&gt;
&lt;br /&gt;
== ESD-Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Piezo-Zünder ===&lt;br /&gt;
&lt;br /&gt;
Bei Conrad gibt es Piezozünderelemente für Gasöfen, die recht ordentlich Power haben. Wenn man die Masse dieser Teile an eine Blechplatte anschließt, die man unter das Testgerät legt und mit dem anderen Pol Funken auf diese Platte schießt, koppelt man recht gut energiereiche Impulse in sein Gerät ein.&lt;br /&gt;
&lt;br /&gt;
Am besten baut man sich eine kleine Pistole, die ein Massekabel und eine Spitze hat, über die man das Hochspannungskabel des Piezozünders auskoppelt. Evtl. sollte man diverse Aufsatzspitzen mit Widerständen oder Kapazitäten bauen, um die Stärke des Impulses zu verändern. Wer kann da genauere Hinweise geben?&lt;br /&gt;
&lt;br /&gt;
Ebenso kann man die Masse der Pistole an die Masse seines zu testenden Gerätes direkt anschließen und dann auf alles schießen, was irgendwie leitet.&lt;br /&gt;
&lt;br /&gt;
Die Erfahrungen sind, dass das schon eine recht harte Zumutung für die Schaltung darstellt und selbst viele professionell entwickelte Geräte damit ihre Probleme haben. So stürzte z.&amp;amp;nbsp;B. ein ISDN-Telefon ab, wenn ein 30x30cm große Masseplatte darunter lag, auf die man mit der Piezo-Pistole schoß.&lt;br /&gt;
&lt;br /&gt;
Piezo Zünder aus Feuerzeugen funktionieren auch prinzipiell, man sollte hier checken, ob die Energie ausreichend ist.&lt;br /&gt;
&lt;br /&gt;
=== Elektroschocker ===&lt;br /&gt;
&lt;br /&gt;
Alles, was blitzt, ist gut geeignet, um impulsartige elektromagnetische Felder zu erzeugen, die in einem großem Spektrum abstrahlen. So auch Elektroschocker, die zudem wesentlich energiereicher sind, als ein Piezozünder. Natürlich sollte man damit nicht direkt auf das Gerät halten, vermutlich wird es das nicht überleben. Aber in der Nähe kann man damit schon blitzen. Man muss ein Gefühl dafür entwickeln, in welchem Abstand ein Gerät noch problemlos funktionieren sollte. Hierzu nimmt man sich andere professionell entwickelte Elektronik und schaut, wann die ausfällt.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Artikel [[EMV]]&lt;br /&gt;
&lt;br /&gt;
== Diskussionen im Forum zum Thema ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/70248 Einfache EMV-Tester (Zentraler Diskussionsthread zu diesem Artikel)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/65881 EMV Probleme AVR + Leuchtstoffröhre]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/1744 EMV]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/2608 CE-Norm (+EMV)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/4249 EMV-Problematik]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/943 EMV bei einer Schaltung mit 2313]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/17001 EMV - Störungen durch PC Schaltnetzteil]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/17383 EMV Festigkeit von Controllern]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/20790 EMV-Labor in Polen, Tschechien etc.]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/22980 EMV bei Medizintechnik?]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/28568 EMV, vagabundierende Ströme und µC]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/2908 Hilfe: Elektor Flashboard]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/29966 EMV - Probleme]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/29946 EMV und ATTiny]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/30523 EMV und Gehäuse..]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/35486 EMV-Messund und CE Kennzeichnung]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/37968 EMV Probleme ( Atmel ATmega )]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/40303 lange Leitung und EMV]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/40790 EMV Problem am FET]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/5212 Verkauf von Bastelprodukten und EMV]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/44730 EMV-Problem beim Basteln auf ARM-Entwicklungsplatine]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/46261 EMV Quarz]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/50921 Störunterdrückung bei DC/DC Konvertern (EMV)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/57104 EMV-Filter Schaltung beschreibung]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/60147 Kosten EMV-Prüfung?]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/60051 EMV Surge, IEC 61000-4-5]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/130836 EMV Störfestigkeit Probleme]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/161670 EMV Messung mit einfachen Mitteln selber durchführen]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77894</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77894"/>
		<updated>2013-08-06T08:40:34Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* Programmiergeräte */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.&lt;br /&gt;
&lt;br /&gt;
8 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich leistungsfähiger ist. Genannt wurde dies „chipKIT“ und ist im Moment in 2 Varianten verfügbar. Die Entwicklungsumgebung für die chipKITs basiert auf der Arduino-Software und somit sollen auch alle für den Arduino programmierten Progamme auf dem chipKIT laufen. Es gibt auch PIC32er im DIP-Gehäuse. Somit kann man auch den 32bit Microcontroller von Microchip auf z.B. eine Lochrasterkarte bringen und hat nicht soviele (evtl sogar überflüssige) Pins, wie in den kleinen TQFP/N- oder BGA-Gehäusen.&lt;br /&gt;
&lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=USB&amp;diff=77260</id>
		<title>USB</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=USB&amp;diff=77260"/>
		<updated>2013-06-26T09:05:59Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* USB-Transceiver */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;S&#039;&#039;&#039;erial &#039;&#039;&#039;B&#039;&#039;&#039;us.&lt;br /&gt;
&lt;br /&gt;
Serieller Bus, der heutzutage an jedem neuen PC zu finden ist und langsam aber sicher die RS-232- und Parallelport-Anschlüsse ersetzt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Übertragungsgeschwindigkeiten:&lt;br /&gt;
* Low Speed: 1,5 MBit/s (USB 1.1 und 2.0)&lt;br /&gt;
* Full Speed: 12 MBit/s (USB 1.1 und 2.0)&lt;br /&gt;
* High Speed: 480 MBit/s (nur USB 2.0)&lt;br /&gt;
* SuperSpeed: 5 GBit/s (nur USB 3.0)&lt;br /&gt;
Die in Datenblättern oder Verpackungen gern verwendete Angabe &amp;quot;USB 2.0 Full Speed&amp;quot; darf man also nicht wörtlich verstehen, das sind trotz USB 2.0 nur 12 Mbit/s.&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass es bei USB im Gegensatz zu [[RS-232]] zwei Arten von Controllern gibt: Host- und Devicecontroller. Host bezeichnet dabei die steuernde Seite und ist z.&amp;amp;nbsp;B. in PCs zu finden; Devices sind die USB-Geräte, z.&amp;amp;nbsp;B. USB-Webcams. Diese Unterscheidung ist ziemlich wichtig, weil die meisten USB-Lösungen für [[Mikrocontroller]] USB-Devices darstellen und man deswegen dort weder Webcams noch USB-Speichersticks anschliessen kann. Mit der letzten Ergänzung des Standards (USB On-The-Go) gibt es die begrenzte Möglichkeit, dass Geräte Host-Funktionalität zur Kommunikation mit ausgewählten Peripheriegeräten erhalten.&lt;br /&gt;
&lt;br /&gt;
Benutzt man ein USB-Device am PC, dann braucht man auch noch passende Treiber. Die aktuellen Betriebssysteme bringen meist eine Reihe von Treibern für Standardanwendungen (z.&amp;amp;nbsp;B. USB-Festplatte) mit. Gibt es keinen passenden Standardtreiber, dann muss man eben einen erstellen. Dazu werden bei manchen Chips kostenlose Treiber mitgeliefert, bei anderen muss man sie kaufen oder (aufwendig) selbst erstellen.&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Informationen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.usb.org/home USB-Hauptseite] Die Homepage des USB Implementers Forum, Inc., creators of USB technology.&lt;br /&gt;
* [http://libusb.sourceforge.net/ libusb] Allgemein ist die Treiberprogrammierung für USB das Hauptproblem. Die plattformübergreifende libusb ([http://libusb-win32.sourceforge.net/ Win32-Port (nicht Vista!)]) ermöglicht die Kommunikation mit USB-Geräten unter Verwendung eines Universaltreibers. Ein deutschsprachiges Projekt, erstellt von [http://www.weinga-unity.at.tt Weichinger Klaus], das libusb verwendet, findet man unter [http://www.ime.jku.at/tusb/] (Programmiersprache C mit MINGW; Dokumentation, Sourcecode und Binärdateien).&lt;br /&gt;
* [http://halvar.at/elektronik/usb/arnold_da.pdf Diplomarbeit von Eik Arnold] Viele Informationen über USB (Vergleich mit anderen Bussystemen, Elektrisches Interface, Transferarten, Übersicht über die verschiedenen USB Chips, ...)&lt;br /&gt;
* [http://www.beyondlogic.org/usbnutshell/usb1.htm USB in a NutShell] Eine kleine Wanderung durch die USB-Spezifikation&lt;br /&gt;
* [http://www.b-redemann.de Steuern und Messen mit USB - FT232, 245 und 2232] Das aktuelle Buch zu den USB-Controllern von FTDI. Viele Beispielprogramme in C, zwei Projektbeschreibungen: I2C-Bus mit LM75A und ein Web-Projekt. Bauteilesatz und USB-Modul mit dem FT2232 zum schnellen Einstieg in die Thematik. Buch / Teilesatz über Segor oder dieser Seite erhältlich.&lt;br /&gt;
* [http://www.netzmafia.de/skripten/hardware/USB/index.html Universal Serial Bus] Eine gute Einführung und detaillierte Beschreibung.&lt;br /&gt;
* [http://www.b-kainka.de/MSRUSB.pdf Buch: Messen, Steuern, Regeln mit USB] von B. Kainka.&lt;br /&gt;
&lt;br /&gt;
== USB-Hostcontroller ==&lt;br /&gt;
=== Host-Controller im Mikrocontroller ===&lt;br /&gt;
Es gibt eine erfreuliche Anzahl geeigneter Schaltkreise, nur für den Amateur unschön beschaffbar. Entsprechend der USB-Spezifikation kann jeder Full-Speed-Hostcontroller auch mit Low-Speed arbeiten.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;usb_controller&amp;quot; style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
!Hersteller&lt;br /&gt;
!IC&lt;br /&gt;
!Speed&lt;br /&gt;
!Pins&lt;br /&gt;
!Ucc/Uio&lt;br /&gt;
!CPU&lt;br /&gt;
!Takt&lt;br /&gt;
!Flash&lt;br /&gt;
!RAM&lt;br /&gt;
!ADU&lt;br /&gt;
!DAU/PWM&lt;br /&gt;
!Async&lt;br /&gt;
!Sync&lt;br /&gt;
!Extras&lt;br /&gt;
!Bezug&lt;br /&gt;
|-&lt;br /&gt;
| [http://mcu.emea.fujitsu.com/ Fujitsu]&lt;br /&gt;
| MB96F338U&lt;br /&gt;
| Full&lt;br /&gt;
| 144&lt;br /&gt;
| 3-5 V&lt;br /&gt;
| 16bit / 16FX Core&lt;br /&gt;
| 4 MHz extern&lt;br /&gt;
| 544Kbyte &lt;br /&gt;
| 32Kbyte &lt;br /&gt;
| 36x10bit&lt;br /&gt;
| 20xPWM, 12xOCU&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 3xCAN, 2xI²C&lt;br /&gt;
| [http://www.glyn.de/ Glyn], [http://www.ebv.com/ EBV]&lt;br /&gt;
|-&lt;br /&gt;
| [http://mcu.emea.fujitsu.com/ Fujitsu]&lt;br /&gt;
| MB90F334&lt;br /&gt;
| Full&lt;br /&gt;
| 120&lt;br /&gt;
| 3,3 V&lt;br /&gt;
| 16bit / 16LX Core&lt;br /&gt;
| 4 MHz extern&lt;br /&gt;
| 384Kbyte &lt;br /&gt;
| 24Kbyte &lt;br /&gt;
| 16x10bit&lt;br /&gt;
| 6xPWM, 4xOCU&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3xI²C&lt;br /&gt;
| Glyn, EBV&lt;br /&gt;
|-&lt;br /&gt;
| [http://mcu.emea.fujitsu.com/ Fujitsu]&lt;br /&gt;
| MB90F337&lt;br /&gt;
| Full&lt;br /&gt;
| 64&lt;br /&gt;
| 3,3 V&lt;br /&gt;
| 16bit / 16LX Core&lt;br /&gt;
| 4 MHz extern&lt;br /&gt;
| 64Kbyte &lt;br /&gt;
|  4Kbyte &lt;br /&gt;
| -&lt;br /&gt;
| 4xPWM&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| 1xI²C&lt;br /&gt;
| Glyn, EBV&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cypress.com/ Cypress]&lt;br /&gt;
| CY7C67300&lt;br /&gt;
| Full&lt;br /&gt;
| 100&lt;br /&gt;
| 3,3 V&lt;br /&gt;
| 16bit RISC&lt;br /&gt;
| 48 MHz&lt;br /&gt;
| 4K x 16bit OTP&lt;br /&gt;
| 8K x 16bit&lt;br /&gt;
| -&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| IDE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/ Atmel]&lt;br /&gt;
| AT90USB647&lt;br /&gt;
| Full&lt;br /&gt;
| 64&lt;br /&gt;
| 3,3 - 5 V&lt;br /&gt;
| AVR&lt;br /&gt;
| 16 MHz&lt;br /&gt;
| 64 K&lt;br /&gt;
| 4 K&lt;br /&gt;
| 8 x 10 bit&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://de.farnell.com Farnell] ca. 11,42 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/ Atmel]&lt;br /&gt;
| AT32UC3B0128&lt;br /&gt;
| Full/OTG&lt;br /&gt;
| 64 (40)&lt;br /&gt;
| 3,3 V&lt;br /&gt;
| AVR32&lt;br /&gt;
| 60 MHz&lt;br /&gt;
| 128 K&lt;br /&gt;
| 32 K&lt;br /&gt;
| 8 x 10 bit&lt;br /&gt;
| (7+6) x PWM&lt;br /&gt;
| 2 (1x full)&lt;br /&gt;
| I²C, SPI, SSC&lt;br /&gt;
| Kernspannungsregler 1,8 V&lt;br /&gt;
| [http://de.farnell.com Farnell] ca. 6 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/ Microchip]&lt;br /&gt;
| PIC24FJ256GB106&lt;br /&gt;
| Full&lt;br /&gt;
| 64&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| PIC24&lt;br /&gt;
| 16 MHz&lt;br /&gt;
| 64 KB&lt;br /&gt;
| 16 KB&lt;br /&gt;
| 10bit&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| Spannungsregler&lt;br /&gt;
| [http://de.farnell.com Farnell] ca. 5,70 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/ Microchip]&lt;br /&gt;
| PIC32MX420FxxxH&lt;br /&gt;
| Full&lt;br /&gt;
| 64&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| MIPS32&lt;br /&gt;
| 80 MHz&lt;br /&gt;
| ab 32 KB&lt;br /&gt;
| 8 - 32 KB&lt;br /&gt;
| 16 x 10bit&lt;br /&gt;
| -&lt;br /&gt;
| 1 mit IRDA&lt;br /&gt;
|&lt;br /&gt;
| Spannungsregler, JTAG&lt;br /&gt;
| [http://de.farnell.com Farnell] ca. 4,83 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.nxp.com/ Philips/NXP]&lt;br /&gt;
| LPC2388&lt;br /&gt;
| Full&lt;br /&gt;
| 144&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| ARM7&lt;br /&gt;
| 72MHz&lt;br /&gt;
| 512KB&lt;br /&gt;
| 32KB&lt;br /&gt;
| 8 x 10bit&lt;br /&gt;
| 1 x 10bit, 6 PWM&lt;br /&gt;
| 2 USART, 2 CAN&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| SD/MMC, Ethernet 10 Mbit, Businterface, JTAG&lt;br /&gt;
| [http://de.digikey.com/ Digikey] ca. 8 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.st.com/ ST]&lt;br /&gt;
| STM32F10x&lt;br /&gt;
| Full&lt;br /&gt;
| 36..144&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| Cortex-M3&lt;br /&gt;
| 72MHz&lt;br /&gt;
| 512KB&lt;br /&gt;
| 64KB&lt;br /&gt;
| 21 x 12bit&lt;br /&gt;
| 2 x 12bit, 32 PWM&lt;br /&gt;
| 5 USART, 1 CAN&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| Siehe Artikel [[STM32]]&lt;br /&gt;
| [http://de.farnell.com/ Farnell] ab ca. 5 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.st.com/ ST]&lt;br /&gt;
| STM32F4xx&lt;br /&gt;
| Full + Hi&lt;br /&gt;
| 64..176&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| Cortex-M4&lt;br /&gt;
| 168MHz&lt;br /&gt;
| 1024KB&lt;br /&gt;
| 192KB&lt;br /&gt;
| 24 x 12bit&lt;br /&gt;
| 2 x 12bit, 32 PWM&lt;br /&gt;
| 6 USART, 2 CAN&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| Siehe Artikel [[STM32]]&lt;br /&gt;
| [http://de.mouser.com/ Mouser] ab ca. 7 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle mit „USB OTG“ beworbenen Schaltkreise sind als Host-Controller&lt;br /&gt;
&#039;&#039;und&#039;&#039; Device-Controller verwendbar. Mikrocontroller mit High-Speed-USB sind selten.&lt;br /&gt;
&lt;br /&gt;
=== Implementierung in Software auf Atmel AVR ===&lt;br /&gt;
Solche Hostcontroller sind nur für Low-Speed-Geräte geeignet, in der Regel Tastaturen, Mäuse und ggf. Joysticks oder ähnliche HID-Geräte.&lt;br /&gt;
&lt;br /&gt;
* [http://www.asahi-net.or.jp/~qx5k-iskw/robot/usbhost.html Reine Softwarelösung, kann nur USB Low Speed] (Seite auf japanisch, mit [http://babelfish.altavista.com/ Babelfish] übersetzen lassen). &lt;br /&gt;
* [http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/blh36_cdl28_dct23/blh36_cdl28_dct23/index.html SIAM32 USB HC] - Software Implemented Atmel Mega32 Universal Serial Bus Host Controller (Atmega32, GPL)&lt;br /&gt;
&amp;lt;!-- * [http://obdev.at/products/avrusb/index-de.html OpenSource Lösung] OpenSource Lösung auf http://obdev.at (Nur USB Device, kein USB Host) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software-Implementierungen auf anderen Mikrocontrollern scheitern wegen zu geringer Taktfrequenzen bzw. Durchsatzraten (speziell interessant wäre MSP430 gewesen), oder – bei leistungsstärkeren Controllern – wegen Sinnlosigkeit durch Verfügbarkeit von Mikrocontrollern mit USB (siehe oben).&lt;br /&gt;
&lt;br /&gt;
=== Spezielle Schaltkreise ===&lt;br /&gt;
&lt;br /&gt;
USB-Schaltkreise, die vorzugsweise für den Anschluss an ein „Externes Businterface“ eines Mikrocontrollers oder per [[SPI]] vorgesehen sind.&lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/products/connectivity/usb/products/index.html#hostc Produkte von NXP] (ehem.Philips), bspw. ISP1760&lt;br /&gt;
* SL811HST von [http://www.cypress.com/ Cypress] (Host/Device/OTG möglich)&lt;br /&gt;
* VNC1L von [http://www.vinculum.com/ Vinculum]&lt;br /&gt;
* [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3639 MAX3421E] z.&amp;amp;nbsp;B. verwendet im [http://www.circuitsathome.com/category/mcu/arduino/usb-shield Arduino USB Host Shield] von Circuits@Home&lt;br /&gt;
* [http://www.ghielectronics.com/catalog/product/340 ALFAT SoC Processor] - A seamless way to access files on SD &amp;amp; MMC cards and on USB memory drives. Simple commands are used on [[UART]] (serial), [[SPI]] or [[I2C]] to access files at high rates. &lt;br /&gt;
&lt;br /&gt;
Außerdem gibt es eine Reihe Schaltkreise, die einen PCI-Bus haben. Diese sind für Mikrocontrollerprojekte in der Regel nicht zu gebrauchen.&lt;br /&gt;
&lt;br /&gt;
=== USB HOST taugliche Stacks ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/75254 Freier USB-Stack für Embedded Systeme (LGPL)] von Benedikt Sauter (Treiber für SL811HS von Cypress). Source auf [http://svn.berlios.de/svnroot/repos/usbport/trunk/ svn.berlios.de]&lt;br /&gt;
* [https://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/blh36_cdl28_dct23/blh36_cdl28_dct23/index.html SIAM32 USB HC] - Software Implemented Atmel Mega32 Universal Serial Bus Host Controller (Atmega32)&lt;br /&gt;
&lt;br /&gt;
=== Fertige Module mit einem USB-Host ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.vinculum.com/prd_vdip1.html VDIP1] von FTDI (UART, SPI und parallel)&lt;br /&gt;
* [http://www.elv.de/output/controller.aspx?cid=74&amp;amp;detail=10&amp;amp;detail2=20659 STI 100] von elv (UART und SPI)&lt;br /&gt;
* [http://rz-robotics.de/z-usb.html Z-USB] von rz-robotics (UART und SPI, kann auch stehend montiert werden)&lt;br /&gt;
* [http://www.fischl.de/usbsticklogger/ USBStickLogger] OpenSource-Projekt, Bausatz verfügbar (UART)&lt;br /&gt;
&lt;br /&gt;
== USB-Devices ==&lt;br /&gt;
&lt;br /&gt;
===Implementierung in Software===&lt;br /&gt;
* [http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm IgorPlug-USB - Reine Softwarelösung. Kann nur USB Low Speed (theoretisch 1.5Mbit/s).]&lt;br /&gt;
* [http://www.obdev.at/vusb/ V-USB] - gleiches Prinzip wie IgorPlug, aber Entwickler-Schnittstellen in C, englisch kommentierter Code. Projekt von [http://www.obdev.at/ Objective Development]. Viele Folgeprojekte. Beispielsweise:&lt;br /&gt;
** [http://www.recursion.jp/avrcdc/ AVR-CDC] – Ein USB-RS232C-Interface mittels CDC-Protokoll (Communication Device Class) bspw. mit ATtiny45. Kein Treiber erforderlich, nur .INF-Datei. Von Osamu Tamura.&lt;br /&gt;
** [http://www.recursion.jp/avrcdc/ CDC-IO] Ein experimentelles 18-bit Parallelport mittels AVR-Mikrocontroller (ATmega8/48/88). Von Osamu Tamura.&lt;br /&gt;
** [http://1010.co.uk/avrhid.html AVR-HID] - Low budget USB sensor input into Pure Data/Supercollider and other free softwares based around the ATmega8 microcontroller. This allows for very fast, multiple sensor input at high resolutions on a range of platforms (GNU/Linux, MAC OS X, Windows). Based on workshops with Derek Holzer.&lt;br /&gt;
* [http://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny] - Programmiergerät für AVR, Lizenz: GPL&lt;br /&gt;
* [http://www.elektor.de/Default.aspx?tabid=27&amp;amp;art=5551005&amp;amp;PN=On AVR steuert USB] und [http://www.elektor.de/Default.aspx?tabid=27&amp;amp;art=5551006&amp;amp;PN=On Universeller USB-Treiber] in der Zeitschrift [http://www.elektor.de Elektor] März 2007. Reine Softwarelösung für ein USB-I/O-Board mit einem ATmega32 und einem [http://libusb-win32.sourceforge.net/ &#039;&#039;open source&#039;&#039; USB Treiber].&lt;br /&gt;
* [http://www.sprut.de/electronic/pic/projekte/usb4all/usb4all.htm USB Client für universelle Steuerungsaufgaben mit PIC18F2455 oder PIC18F2550]&lt;br /&gt;
&lt;br /&gt;
===Spezielle USB-µC===&lt;br /&gt;
&lt;br /&gt;
* Diverse µCs von [http://www.cypress.com/ Cypress], siehe unten&lt;br /&gt;
* TUSBxxxx-Serie von [http://www.ti.com/ Texas Instruments] ebenfalls mit [[8051]]-kompatiblem Mikrocontroller ([http://www.ime.jku.at/tusb/ Beispiel Projekt] von [http://www.weinga-unity.at.tt Weichinger Klaus] (EXPL_DHTML.C  Virus ?))&lt;br /&gt;
* PIC18F2455/2550/4455/4550/67J50/67J55/87J50/87J55 sowie alle PIC24FXXXGBXXX von [http://www.microchip.com/ Microchip], &amp;amp;uuml;ppig ausgestattet mit USB, seriellem Port (RS232/SPI), PWM-Ausg&amp;amp;auml;ngen, A/D-Wandler und vielen IO-Pins&lt;br /&gt;
* [http://www.freescale.com/ Freescale]&lt;br /&gt;
** 69HC908JB8 - 20 Pin DIP . . . MC6&#039;&#039;&#039;8&#039;&#039;&#039;HC908JB8 ?&lt;br /&gt;
** 69HC908JB16 - Mehr Peripherie u.a. RS232&lt;br /&gt;
** 69HC908JG16 - Mit A/D wandler&lt;br /&gt;
** 69HC908JW32 - Mehr Speicher, mehr Ports&lt;br /&gt;
* [[LPC2000]]/3000-Reihe von NXP (LPC2888: High Speed USB 480Mbps)&lt;br /&gt;
* C8051F320 &amp;amp; C8051F340 von Silicon Laboratories (USB, UART, SPI, SMBus, 10-Bit-ADC, Komperator, integr. Spannungsregler &amp;amp; Oszillator)&lt;br /&gt;
* [[AT91SAM]] Familie von Atmel, ARM7-basiert, nicht OTG-fähig&lt;br /&gt;
* [[AVR32]] ([http://www.atmel.com/products/avr/uc3.asp?category_id=163&amp;amp;family_id=607 AT32UC3]A/B) Familie von Atmel mit AVR32-Kern ohne MMU für einfachere Firmware, OTG-fähig, auch High-Speed, Externes Businterface, Ethernet. Alle AT32UC3A or -B&#039;s haben vorprogrammierten USB Device Firmware Upgrade (DFU) bootloader.&amp;lt;ref&amp;gt;http://www.atmel.com/dyn/resources/prod_documents/doc7818.pdf&amp;lt;/ref&amp;gt; &lt;br /&gt;
* [http://www.atmel.com/dyn/products/devices.asp?family_id=607#1761 AT90USB Familie] von Atmel. &lt;br /&gt;
** Eine Experimentierplatine und eine [http://www.ssalewski.de/Misc.html.de GPL Library für den AT90USB1287] gibt es von Dr. Stefan Salewski. Siehe auch Forenbeitrag [http://www.mikrocontroller.net/topic/61499#483966 Anwendersoftware (Generic HID Demo) für den AT90USBKEY].&lt;br /&gt;
** [http://www.fourwalledcubicle.com/LUFA.php LUFA] (Lightweight USB Framework for AVRs) is an open source USB library for the USB-enabled AVR microcontrollers. It is written from scratch and provides an easy to use, clean interface for rapid firmware development (MIT). Alter Name: MyUSB&lt;br /&gt;
** [http://freaklabs.org/index.php/FreakUSB-Open-Source-USB-Device-Stack.html FreakUSB Open Source USB Device Stack] (mod. BSD Lizenz)&lt;br /&gt;
&lt;br /&gt;
Alle hier genannten Mikrocontroller haben keinen USB-Host (nur Client)!&lt;br /&gt;
&lt;br /&gt;
Eine Auswahl:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;usb_controller&amp;quot; style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
! Hersteller&lt;br /&gt;
! IC&lt;br /&gt;
! Speed&lt;br /&gt;
! Pins&lt;br /&gt;
! Ucc/Uio&lt;br /&gt;
| CPU Takt&lt;br /&gt;
! Quarz&lt;br /&gt;
! Flash&lt;br /&gt;
! RAM&lt;br /&gt;
! ADU&lt;br /&gt;
! DAU/PWM&lt;br /&gt;
! Async&lt;br /&gt;
! Sync&lt;br /&gt;
! Extras&lt;br /&gt;
! Bezug&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cypress.com/ Cypress]&lt;br /&gt;
| AN2131&amp;lt;br&amp;gt;AN2135&lt;br /&gt;
| Full&lt;br /&gt;
| 44&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| 8051 24MHz&lt;br /&gt;
| 12MHz&lt;br /&gt;
| 0&lt;br /&gt;
| 4KB&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| UART&lt;br /&gt;
| I²C&lt;br /&gt;
|&lt;br /&gt;
| &#039;&#039;&#039;veraltet&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cypress.com/ Cypress]&lt;br /&gt;
| CY7C68013A&lt;br /&gt;
| High&lt;br /&gt;
| 56,100,128&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| 8051 48MHz&lt;br /&gt;
| 24MHz Grundton&lt;br /&gt;
| 0&lt;br /&gt;
| 16KB&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2 UART&amp;lt;br&amp;gt;(ab 100 Pin)&lt;br /&gt;
| I²C&lt;br /&gt;
| GPIF (State Machine)&lt;br /&gt;
| [http://de.digikey.com/ Digikey] ca. 11,28 €, [http://www.trade-shop.de/catalog/index.php?cPath=72_173 Air Electronics] ca. 9 €&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cypress.com/ Cypress]&lt;br /&gt;
| CYUSB3014&lt;br /&gt;
| Super&lt;br /&gt;
| 121 (BGA)&lt;br /&gt;
| 1,8V&lt;br /&gt;
| ARM9&lt;br /&gt;
| ?&lt;br /&gt;
| 0&lt;br /&gt;
| 256KB?&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2 UART&lt;br /&gt;
| I²C&lt;br /&gt;
| GPIF II (State Machine)&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| Microchip&lt;br /&gt;
| PIC18F2550&lt;br /&gt;
| Full&lt;br /&gt;
| 28&lt;br /&gt;
|&lt;br /&gt;
| PIC&lt;br /&gt;
| 12MHz&lt;br /&gt;
| 16K x 16bit&lt;br /&gt;
| 2KB&lt;br /&gt;
| 8 x 10bit&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.reichelt.de/ Reichelt] ca. 7,95 €&lt;br /&gt;
|-&lt;br /&gt;
| Atmel&lt;br /&gt;
| AT91SAM7S64&lt;br /&gt;
| Full&lt;br /&gt;
| 64&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| ARM7 55MHz&lt;br /&gt;
| für Bootloader: 18,432MHz&lt;br /&gt;
| 64KB&lt;br /&gt;
| 16KB&lt;br /&gt;
| -&lt;br /&gt;
| 4 PWM&lt;br /&gt;
| 2 USART&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| größere Chips auch mit Ethernet&lt;br /&gt;
| [http://www.reichelt.de/ Reichelt] ca. 6,25 €&lt;br /&gt;
|-&lt;br /&gt;
| Philips/NXP&lt;br /&gt;
| LPC2378&lt;br /&gt;
| Full&lt;br /&gt;
| 144&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| ARM7 72MHz&lt;br /&gt;
| bspw. 12MHz&lt;br /&gt;
| 512KB&lt;br /&gt;
| 32KB&lt;br /&gt;
| 8 x 10bit&lt;br /&gt;
| 1 x 10bit, 6 PWM&lt;br /&gt;
| 2 USART, 2 CAN&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| SD/MMC, Ethernet 10 Mbit, Businterface&lt;br /&gt;
| [http://de.digikey.com/ Digikey] ca. 7,85 €&lt;br /&gt;
|-&lt;br /&gt;
| Texas Instruments&lt;br /&gt;
| MSP430F55xx&lt;br /&gt;
| Full&lt;br /&gt;
| bis 80&lt;br /&gt;
| 3,3V&lt;br /&gt;
| MSP430 25MHz&lt;br /&gt;
| bspw. 24MHz&lt;br /&gt;
| bis 128KB&lt;br /&gt;
| bis 8+2KB&lt;br /&gt;
| 8 x 12bit&lt;br /&gt;
| PWM&lt;br /&gt;
| 2 USART&lt;br /&gt;
| SPI, I²C&lt;br /&gt;
| verschiedene Ausbaustufen&lt;br /&gt;
| [http://www.ti.com/ TI] zurzeit als Muster&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.st.com/ ST]&lt;br /&gt;
| STM32F10x&lt;br /&gt;
| Full&lt;br /&gt;
| 36..144&lt;br /&gt;
| 3,3V/5V&lt;br /&gt;
| Cortex-M3&lt;br /&gt;
| 72MHz&lt;br /&gt;
| 512KB&lt;br /&gt;
| 64KB&lt;br /&gt;
| 21 x 12bit&lt;br /&gt;
| 2 x 12bit, 32 PWM&lt;br /&gt;
| 5 USART, 1 CAN&lt;br /&gt;
| SPI, I²C, SSC&lt;br /&gt;
| Siehe Artikel [[STM32]]&lt;br /&gt;
| [http://de.farnell.com/ Farnell] ab ca. 5 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ucc/Uio&#039;&#039;&#039; gibt die maximale Betriebsspannung und die maximale Eingangsspannung an Eingabeports an. 3,3V/3,3V heißt: nicht 5V-verträglich!&lt;br /&gt;
* &#039;&#039;&#039;Takt:&#039;&#039;&#039; CPU-Taktfrequenz, bei Microchip ehrlicherweise durch 4 geteilt&lt;br /&gt;
* &#039;&#039;&#039;Async:&#039;&#039;&#039; Anzahl und Art der asynchron-seriellen Schnittstellen (also mit Startbit operierend)&lt;br /&gt;
* &#039;&#039;&#039;Sync:&#039;&#039;&#039; Anzahl und Art der synchron-seriellen Schnittstellen (also mit einer Taktleitung, also auch I²C)&lt;br /&gt;
* &#039;&#039;&#039;SSC:&#039;&#039;&#039; Serielles Interface besonders für Audiochips, verschiedene Namen bei den Mikrocontroller-Herstellern&lt;br /&gt;
&lt;br /&gt;
===Via µC ansteuerbare USB-Controller===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;usb_controller&amp;quot; style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
! IC&lt;br /&gt;
! Hersteller&lt;br /&gt;
! Host oder Device&lt;br /&gt;
! IC-Pins&lt;br /&gt;
! Interface&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Bezugs-Quelle(n)&lt;br /&gt;
! Sonstiges&lt;br /&gt;
|-&lt;br /&gt;
| FT232&amp;lt;br&amp;gt;FT245&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 28-32&lt;br /&gt;
| RS232&amp;lt;br&amp;gt;parallel 8 bit &lt;br /&gt;
| 1 bidirektionale FIFO **&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ab 1,95 €&lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| FT232R&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 28-32&lt;br /&gt;
| RS232/Bitbang/CBUS&lt;br /&gt;
| 1 bidirektionale FIFO **&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ab 3,15 €&lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
| FT2232D&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 48&lt;br /&gt;
| RS232 / parallel 8 bit / I2C, SPI, JTAG&lt;br /&gt;
| 2 bidirektionale FIFOs **&lt;br /&gt;
| [[Elektronikversender#csd-electronics|csd-electronics]] [[Elektronikversender#Watterott electronic|Watterott electronic]]&lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
| FT2232H&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 64&lt;br /&gt;
| RS232 / (synchron/asynchron) parallel 8 bit / I2C, SPI, JTAG&lt;br /&gt;
| 2 bidirektionale FIFOs, HS **&lt;br /&gt;
| &lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
| FT4232H&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 64&lt;br /&gt;
| RS232 / I2C, SPI, JTAG (2 Kanäle)&lt;br /&gt;
| 4 bidirektionale FIFOs, HS **&lt;br /&gt;
| &lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
| FT232H&lt;br /&gt;
| [http://www.ftdichip.com/ FTDI]&lt;br /&gt;
| Device&lt;br /&gt;
| 48&lt;br /&gt;
| RS232 / (synchron/asynchron) parallel 8 bit /I2C, SPI, JTAG/CBUS&lt;br /&gt;
| 1 bidirektionale FIFOs, HS **&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ab 3,20 €&lt;br /&gt;
| [http://www.intra2net.com/de/produkte/opensource/ftdi/ libftdi] - &#039;&#039;FTDI (bitbang) software collection&#039;&#039; von Intra2net (Opensource)&lt;br /&gt;
|-&lt;br /&gt;
| PDIUSBD11&lt;br /&gt;
| [http://www.semiconductors.philips.com Philips]&lt;br /&gt;
| Device&lt;br /&gt;
|&lt;br /&gt;
| I²C&lt;br /&gt;
| USB-Device Controller&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;b&amp;gt;abgekündigt&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PDIUSBD12&lt;br /&gt;
| [http://www.semiconductors.philips.com Philips]&lt;br /&gt;
| Device&lt;br /&gt;
| 28&lt;br /&gt;
| parallel 8 bit&lt;br /&gt;
| 1 bidirektionale FIFO **&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ab 2,65 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| MAX3420E&lt;br /&gt;
| [http://www.maxim-ic.com Maxim]&lt;br /&gt;
| Device&lt;br /&gt;
| 24-32&lt;br /&gt;
| SPI&lt;br /&gt;
| Fullspeed-Controller, 4 Endpoints&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[USBN960x]]&lt;br /&gt;
| National&lt;br /&gt;
| Device&lt;br /&gt;
| 28&lt;br /&gt;
| Datenbus 8 bit, SPI&lt;br /&gt;
| Fullspeed-Controller, 7 Endpoints, 3,3-V-Längsregler enthalten&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ab 4,65 €&lt;br /&gt;
| Siehe [[USBN960x]], &amp;lt;b&amp;gt;NRND&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/Interface/en/interface_documentation.htm CP210x]&lt;br /&gt;
| [http://www.silabs.com Silabs]&lt;br /&gt;
| Device&lt;br /&gt;
|&lt;br /&gt;
| UART&lt;br /&gt;
| USB2.0 kompatibler (arbeitet Fullspeed) UART-USB Umsetzer.&lt;br /&gt;
| &lt;br /&gt;
| Sehr kompakt, Intel MAC OSX: [http://www.mikrocontroller.net/topic/67398#542129 Forenbeitrag] beachten&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-uart-bridge.aspx CP2110]&lt;br /&gt;
| [http://www.silabs.com Silabs]&lt;br /&gt;
| Device&lt;br /&gt;
| 24-28&lt;br /&gt;
| UART&lt;br /&gt;
| UART-USB ohne Treiber (HID-Klasse)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.silabs.com/products/interface/usbtouart/Pages/HID-USB-to-SMBus-Bridge.aspx CP2112]&lt;br /&gt;
|[http://www.silabs.com Silabs]&lt;br /&gt;
|Device&lt;br /&gt;
|24&lt;br /&gt;
|SMBUS&lt;br /&gt;
|SMBUS-USB HID&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.prolific.com.tw/eng/Products.asp?ID=59 PL2303]&lt;br /&gt;
| [http://www.prolific.com.tw/ Prolific]&lt;br /&gt;
| Device&lt;br /&gt;
| 28&lt;br /&gt;
| RS232&lt;br /&gt;
| „USB CDC 1.1“-konform&lt;br /&gt;
| &lt;br /&gt;
| Im Gegensatz zum FT232 sollte kein Treiber erforderlich sein: Von wegen!&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.oti.com.tw/oti-6858.html OTI-6858]&lt;br /&gt;
| [http://www.oti.com.tw/ Ours Technology Inc.]&lt;br /&gt;
| Device&lt;br /&gt;
| 28&lt;br /&gt;
| UART&lt;br /&gt;
| USB to RS232 Bridge Controller - USB2.0 bis 12MB&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.arkmicro.com/en/products/view.php?id=10 ARK3116T]&lt;br /&gt;
| [http://www.arkmicro.com/ Arkmicro]&lt;br /&gt;
| Device&lt;br /&gt;
|&lt;br /&gt;
| UART&lt;br /&gt;
| USB-to-UART Controller - USB2 bis 3MB)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TUSB3410&lt;br /&gt;
| [http://focus.ti.com/ Texas Instruments]&lt;br /&gt;
| Device&lt;br /&gt;
| &lt;br /&gt;
| UART&lt;br /&gt;
| USB to Serial Port Controller &lt;br /&gt;
| [[Elektronikversender#Digi-Key|Digi-Key]], ca. 5,60 €&lt;br /&gt;
| USB 2.0 full Speed, Basis 8052 µC&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.ftdichip.com/Products/ICs/VNC1L.htm VNC1L]&lt;br /&gt;
| [http://www.vinculum.com/ Vinculum]&lt;br /&gt;
| 2x Host&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Dual USB Host-Controller&lt;br /&gt;
| [[Elektronikversender#Watterott electronic|Watterott electronic]]&lt;br /&gt;
| [http://freshmeat.net/projects/lvprog/?branch_id=71957&amp;amp;release_id=265079 LVProg] is an (X11/Qt)application for programming a ROM file into a Vinculum USB host controller from FTDI. (GPL v2)&lt;br /&gt;
&lt;br /&gt;
Siehe auch:&lt;br /&gt;
[[USB-Stick am Mikrocontroller]]&lt;br /&gt;
|-&lt;br /&gt;
| SL811HST&lt;br /&gt;
| [http://www.cypress.com/ Cypress]&lt;br /&gt;
| 1x beides&lt;br /&gt;
| 48&lt;br /&gt;
| Datenbus 8 bit&lt;br /&gt;
| Controller 1 Port&lt;br /&gt;
| [[Elektronikversender#Digikey|Digikey]], [http://www.trade-shop.de/catalog/index.php?cPath=72_173 Air Electronics] ca. 8 €&lt;br /&gt;
| für OTG viel Außenbeschaltung erforderlich&lt;br /&gt;
|-&lt;br /&gt;
| ISP1160&lt;br /&gt;
| [http://www.nxp.com/ Philips/NXP]&lt;br /&gt;
| 2x Host&lt;br /&gt;
| 64&lt;br /&gt;
| Datenbus 16 bit&lt;br /&gt;
| Host-Controller 2 Ports&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ca. 6,85 €&lt;br /&gt;
| für ATmega unzweckmäßig, eher für ARM-Prozessoren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reine FIFO-Schaltkreise sind nicht für benutzerspezifische&lt;br /&gt;
Deskriptoren geeignet.&lt;br /&gt;
Damit lassen sich nahezu keine klassenspezifische Geräte-Interfaces&lt;br /&gt;
realisieren.&lt;br /&gt;
Folglich kann man damit bspw. kein HID-Gerät bauen.&lt;br /&gt;
&lt;br /&gt;
NRND = Not recommended for new designs = wird alsbald abgekündigt&lt;br /&gt;
&lt;br /&gt;
UART: Gemeint sind die Signale RxD und TxD sowie Flusskontrolle /RTS und /CTS&lt;br /&gt;
&lt;br /&gt;
RS232: Gemeint ist eine UART mit den 4 Modemsteuersignalen /DTR, /DSR, /DCD und /RI&lt;br /&gt;
&lt;br /&gt;
Tipp: USB-Handy-Datenkabel arbeiten oft mit FT232-ähnlichen Chips!&lt;br /&gt;
&lt;br /&gt;
===USB-Transceiver===&lt;br /&gt;
USB-Transceiver können nur verwendet werden für:&lt;br /&gt;
* speziell dafür ausgelegte Mikrocontroller (PIC 18F2455/2550/4455/4550 u.ä.)&lt;br /&gt;
* FPGAs (wenn diese nicht selbst über geeignete Portpins verfügen)&lt;br /&gt;
* [http://www.obdev.at/vusb/ V-USB] (Software-Anpassungen erforderlich)&lt;br /&gt;
Vorteil: Zwischen Transceiver und Mikrocontroller kann eine galvanische Trennstufe angeordnet werden.&lt;br /&gt;
&lt;br /&gt;
Heutzutage ist es besser, einen seriell ansteuerbaren USB-Controller (siehe oben) zu verwenden und dazwischen eine maßgeschneiderte galvanische Trennung.&lt;br /&gt;
Daher sind Transceiver heutzutage eher obsolet.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;usb_controller&amp;quot; style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
! IC&lt;br /&gt;
! Hersteller&lt;br /&gt;
! Speed&lt;br /&gt;
! IC-Pins&lt;br /&gt;
! Interface&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Bezugs-Quelle(n)&lt;br /&gt;
|-&lt;br /&gt;
| MAX345xE&lt;br /&gt;
| [http://www.maxim-ic.com Maxim]&lt;br /&gt;
| ?&lt;br /&gt;
| 14-16&lt;br /&gt;
| -&lt;br /&gt;
| Transceiver&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ISP1106&lt;br /&gt;
| [http://www.nxp.com Philips/NXP]&lt;br /&gt;
| Low, Full&lt;br /&gt;
| 16&lt;br /&gt;
| -&lt;br /&gt;
| Transceiver&lt;br /&gt;
| [[Elektronikversender#Reichelt|Reichelt]], ca. 1,15 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tipps + Tricks ==&lt;br /&gt;
* Selbstgebastelte USB-Hardware an den PC nur über einen anständig konstruierten self-powered Hub anschließen - [http://www.mikrocontroller.net/topic/97331#841881 Forumbeitrag von Rufus t. Firefly]&lt;br /&gt;
* Eine [[Galvanische Trennung | galvanische Trennung]] von USB selbstzubauen ist sehr aufwändig [http://www.electronics-shop.dk/usb_isolation.htm?currency=EUR aber hier für 31,76€ zu haben].&lt;br /&gt;
Herausforderung bei USB ist&lt;br /&gt;
** das USB-Signal bidirektional ist&lt;br /&gt;
** USB keine Steuerleitungen hat, man kann nur aus der vollständigen Dekodierung der Daten erfahren, in welche Richtung die Daten jetzt gehen müssen. Dieses Problem betrifft V-USB-basierte Projekte nicht, eine solche Leitung lässt sich leicht nachrüsten.&lt;br /&gt;
** es sehr kurze Antwortzeiten von den USB-ICs verlangt (im Bereich von ~10 Bitzeiten!)&lt;br /&gt;
*Es gibt auf dem Markt einige wenige, aufwändige und damit teure Lösungen. Wer also ein galvanisch getrennte Schnittstelle braucht, sollte &#039;&#039;&#039;nicht&#039;&#039;&#039; USB nehmen. Allerdings ist es leicht möglich, einen USB-RS232/RS485 Wandler galvanisch auf der RS232/RS485 Seite zu trennen. &lt;br /&gt;
*Eine einfache Lösung wäre einen FT232 zu verwenden und diesen auf der TTL-Seite mit Optokopplern zu trennen.&lt;br /&gt;
*Die zur Zeit einfachste und kostengünstigste Möglichkeit zur galvanischen Trennung ist der ADUM3160BRWZ oder der ADuM4160 von Analog Devices.&lt;br /&gt;
**Einschränkungen: nur Full- und Low-Speed, keine automatische Erkennung der Übertragungsrate.&lt;br /&gt;
** ADuM3160 im AD Newsletter: [http://www.analog.com/en/interface/digital-isolators/adum3160/products/product.html]&lt;br /&gt;
** [https://www.it-wns.de/themes/kategorie/detail.php?artikelid=979&amp;amp;kategorieid=53&amp;amp;source=1 Leerplatine] für ADuM4160 im IT-WNS Webshop&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/114555?goto=2065917#2065236 Forumsbeitrag] mit Eagle 3D Bild und Schaltplan&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=%2BUSB+%2Bgalvanisch&amp;amp;forums%5B%5D=1&amp;amp;forums%5B%5D=19&amp;amp;forums%5B%5D=9&amp;amp;forums%5B%5D=10&amp;amp;forums%5B%5D=2&amp;amp;forums%5B%5D=4&amp;amp;forums%5B%5D=3&amp;amp;forums%5B%5D=6&amp;amp;forums%5B%5D=17&amp;amp;forums%5B%5D=11&amp;amp;forums%5B%5D=8&amp;amp;forums%5B%5D=14&amp;amp;forums%5B%5D=12&amp;amp;forums%5B%5D=7&amp;amp;forums%5B%5D=5&amp;amp;forums%5B%5D=18&amp;amp;forums%5B%5D=15&amp;amp;forums%5B%5D=13&amp;amp;forums%5B%5D=16&amp;amp;max_age=-&amp;amp;sort_by_date=0 Suche nach USB und galvanischer Trennung im Forum]&lt;br /&gt;
&lt;br /&gt;
== Analysetools ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.pcausa.com/Utilities/UsbSnoop/default.htm Sniff USB] - USB Sniffer - freeware - Windows&lt;br /&gt;
* [http://www.openvizsla.org/ OpenVizsla] ([http://www.kickstarter.com/projects/bushing/openvizsla-open-source-usb-protocol-analyzer/posts/62083 OpenVizsla auf kickstarter.com]) - OpenSource USB sniffer, basierend auf XMOS und FPGA (under dev. right now)&lt;br /&gt;
* [http://www.wireshark.org/ Wireshark] - Eigentlich Netzwerk Sniffer, kann aber in neueren Versionen auch USB (insbesondere unter Linux)  [http://wiki.wireshark.org/CaptureSetup/USB Wireshark Wiki, USB]&lt;br /&gt;
* [http://www.basic.io/ ALogic Analyzer] - Protokoll-Dekoder für USB, UART, I2C und SPI. Software mit Demos zum Download.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lvr.com/usbchips.htm Links to USB Host and Device Controller Chips] by Jan Axelson.&lt;br /&gt;
* [http://replay.waybackmachine.org/20090210000605/http://g.fondeville.free.fr/usb_host_en.html Mass storage host USB example] - The purpose of this article is to introduce a host USB Full Speed implementation. This host is designed to control MASS storage peripherals like USB key, cameras, hard drive... ([[PIC]]18F452, Cypress SL811HS)&lt;br /&gt;
* [http://chaosradio.ccc.de/cre086.html ChaosradioExpress #86 USB] - Der Universal Serial Bus im Detail. Podcast mit Tim Pritlove (Moderation) und Daniel Mack &lt;br /&gt;
* [http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/ Bus Pirate (hackaday.com)] - How-to: The Bus Pirate, universal serial interface USB &amp;lt;-&amp;gt; [[I2C]], [[SPI]], Async. Seriell [[UART]]. Firmware-Update für die [http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/ Ergänzung] u.a. für [[JTAG]]. Das Herzstück ist ein PIC24FJ64GA002.&lt;br /&gt;
* [http://www.sourceforge.net/projects/easyusb EasyUSB] - Generischer USB Treiber für Windows&lt;br /&gt;
* [http://www.embedded24.net AHID.DLL] - Noch ein generischer USB Treiber für Windows (C++/C#/VB/MinGW/wxWidgets)&lt;br /&gt;
* [http://www.embedded.com/design/219400265 Simple circuit prevents USB current overshoot during insertion] von Luciano Bordogna (MAXIM) auf www.embedded.com&lt;br /&gt;
* [http://www.circuitsathome.com/mcu/usb/usb-isolator USB-Isolator]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:USB| ]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Ausgangsstufen_Logik-ICs&amp;diff=68840</id>
		<title>Ausgangsstufen Logik-ICs</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Ausgangsstufen_Logik-ICs&amp;diff=68840"/>
		<updated>2012-10-25T13:05:08Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* Open Collector */ es fehlte ein Verb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Für die äußere Beschaltung von Logik-ICs ist es wichtig wie die Ausgangsstufen aufgebaut sind. Die verschiedenen Typen zeigen Unterschiede hinsichtlich der Treiberfähigkeit und bei der Frage, ob und wie sie miteinander verbunden werden können. Während man bei der Verwendung von Standard-ICs der [[74xx]]-Reihe darauf angewiesen ist, die gegebenen Ausgangsstufen zu verwenden, kann man sie bei Microcontrollern oder programmierbaren Logikbausteinen meist zur Lauf- oder zur Entwurfszeit umschalten.&lt;br /&gt;
&lt;br /&gt;
== Push-Pull ==&lt;br /&gt;
&lt;br /&gt;
Bei Push-Pull wird als Ausgangsstufe ein komplementäres Transistorpaar eingesetzt (N-Kanal und P-Kanal), was der [[CMOS]]-Technik entspricht. Es sperrt stets einer der beiden Transistoren, während der andere durchlässig ist. Dies bewirkt, dass die Spannung am Ausgang sehr dicht an die positive oder negative Versorgungsspannung heranreicht. Außerdem bietet diese Schaltung die Möglichkeit, sowohl als Stromquelle (source current) als auch als Stromsenke (sink current) zu fungieren. In Bipolartechnik nennt man das [http://de.wikipedia.org/wiki/Totem-Pole-Ausgang Totem-Pole], weil zwei gleichartige NPN-Transistoren &amp;quot;übereinander gestapelt&amp;quot; sind, wie die Schnitzereien am Totempfahl der Indianer. (Praktisch kann man auch bipolare Transistoren NPN und PNP zu einer Push-Pull Stufe kombinieren, wie es z.&amp;amp;nbsp;B. bei Leistungsendstufen gemacht wird. In Logik-ICs wurde das aber aus technologischen Gründen nicht gemacht.)&lt;br /&gt;
Die Funktion ist sehr ähnlich, es wird abwechslend der obere oder der untere Transistor durchgeschaltet. Allerdings ist die Ausgangsspannung bei HIGH um ~1,4V geringer als die Betriebsspannung, da zwei Diodenstrecken in Reihe dazu liegen (die einzelne Diode hat technologische Gründe, im Bild nicht eingezeichnet). Deshalb ist die Ausgangsspannung bei originalen TTL-ICs max. 3,6V.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Der Ausgang kann bei HIGH viel Strom liefern (engl. source) und bei LOW viel Strom aufnehmen (engl. sink)&lt;br /&gt;
* Im statischen Fall wird kein Strom verbraucht&lt;br /&gt;
* Wegen Punkt 1 kann der Ausgang das Signal schnell schalten (Umladung der parasitären Kapazitäten)&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Push-Pull hat einen entscheidenden Nachteil! Verbindet man zwei Push-pull-Ausgänge, kommt es in der Praxis zur Zerstörung des Ausgangs und schlimmstenfalls des ganzen Chips. Denn sobald der eine Ausgang auf High schaltet und der andere auf Low, fließt ein Strom zwischen der Versorgung und Masse, der nur durch den sehr geringen Widerstand in der Kollektor-Emitter-Strecke bzw. Drain-Source-Strecke begrenzt wird. Diese hohen Ströme führen zur Zerstörung der Ausgangstransistoren durch Überhitzung. Sollen mehrere Ausgänge zu einem [[Bus]] verbunden werden, wird ein Tristate Ausgang benötigt. &lt;br /&gt;
&lt;br /&gt;
[[bild:as_push_pull.png|thumb|640px|left|&#039;&#039;&#039;Push-Pull Ausgang in Bipolar und CMOS-Technik&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;BR clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tristate  ==&lt;br /&gt;
&lt;br /&gt;
Um [[Bus|Bussysteme]] mit mehreren Partnern zu ermöglichen, können Tristate-Ausgangsstufen eingesetzt werden. Hier ist ein dritter Logikzustand eingeführt: Neben High und Low kann ein Ausgang auch hochohmig geschaltet werden. Dieser dritte Zustand wird meist als High-Z bezeichnet, für high impedance. Ein hochohmig geschalteter Ausgang verhält sich so als wäre er gar nicht vorhanden. Somit kann man viele Tristate-Ausgänge zusammenschalten. Es ist lediglich dafür Sorge zu tragen, dass maximal &#039;&#039;&#039;ein&#039;&#039;&#039; Ausgang aktiv ist, während alle anderen Ausgänge auf High-Z geschaltet sind. Dies sicherzustellen obliegt dem Busmaster. Hierzu verfügt jedes der angeschlossenen ICs über eine Chip-Enable-Leitung oder Chip-Select-Leitung. Vom Busmaster wird also auschließlich demjenigen IC ein Chip Enable signalisiert, auf das gerade zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
[[bild:as_tristate.png|thumb|640px|left|&#039;&#039;&#039;Tristate Ausgang in Bipolar und CMOS-Technik&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;BR clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open Collector ==&lt;br /&gt;
&lt;br /&gt;
Auch mittels Tristate kann immer nur ein Teilnehmer gleichzeitig auf einen Bus schreiben. Sollen zwei oder mehr ICs gleichzeitig die Möglichkeit bekommen ein Signal auszugeben ohne dass ein Busmaster benötigt wird, wird Open Collector eingesetzt. Hier können theoretisch beliebig viele Ausgänge zusammengeschaltet werden. Bei Open Collector wird nur ein NPN Ausgangstransistor verwendet, dessen Emitter auf Masse liegt und dessen Kollektor am Ausgang angeschlossen ist. Es ist also lediglich möglich, den Ausgang auf Masse zu ziehen. Ist der Transistor nicht durchgesteuert, ist der Ausgang hochohmig. Um in diesem Fall ein definiertes Potential am Ausgang zu haben, wird ein Pull-up-Widerstand zur positiven Betriebsspannung gelegt.  Dieser Pull-up-Widerstand kann entweder extern angeschlossen werden oder bereits im IC integriert sein. Mitunter ist es auch möglich, interne Pull-up-Widerstände wahlweise zu aktivieren. Werden mehrere Ausgänge zusammengeschaltet, braucht für gewöhnlich nur an einer Stelle ein Pull-up-Widerstand angeschlossen zu werden.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Kein Kurzschluss wie bei Push Pull möglich, auch bei Programmfehlern&lt;br /&gt;
* Eine [[Pegelwandler | Pegelwandlung]] kann einfach realisiert werden&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Bei LOW fliesst immer Strom&lt;br /&gt;
* Die Schaltflanke von LOW nach HIGH ist relativ langsam, weil sie nur durch den meist recht grossen Pull-Up Widerstand gezogen wird (RC-Ladekurve)&lt;br /&gt;
* Nur bei LOW kann ein grosser Strom aufgenommen werden. Bei HIGH können nur sehr geringe Ströme entnommen werden, siehe [[Port-Expander PCF8574]].&lt;br /&gt;
&lt;br /&gt;
[[bild:as_open_drain.png|thumb|640px|left|&#039;&#039;&#039;Open Collector Ausgang in Bipolar und CMOS-Technik&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;BR clear=&amp;quot;all&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der Widerstandswert des Pull-up-Widerstands darf nicht zu groß gewählt werden, da sonst zusammen mit Eingangs- und parasitären Kapazitäten die Signale verschleifen und im Extremfall nicht mehr korrekt erkannt werden können. Grundsätzlich gilt hierbei, dass je länger der Bus, je mehr angeschlossene Teilnehmer und je höher die Bitrate, der Widerstand umso niedriger gewählt werden muss. Andererseits ist der Wert so groß zu wählen, dass bei durchgesteuertem Transistor der Strom klein genug bleibt, um den Transistor nicht zu beschädigen. In der Praxis wird meist ein Wert von 1 k&amp;amp;Omega; bis 100 k&amp;amp;Omega; eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Sind zwei oder mehr Sender am Bus angeschlossen, können sie jeweils die Leitung auf Masse ziehen. Ziehen zwei oder mehr Teilnehmer die Leitung gleichzeitig auf Masse, bleibt sie natürlich ebenfalls auf Masse-Potential. Es gibt keinen Kurzschluss. Ein logisches High wird also nur dann erreicht, wenn keiner der Sender ein LOW ausgibt. Man kann also sagen, dass ein High auf der Signalleitung nur möglich ist, wenn alle ICs high ausgeben, was einer logischen UND-Verknüpfung entspricht. In einer Umgebung wo mehrere Teilnehmer des Busses die Möglichkeit haben auf den Bus zu schreiben, müssen sie also überprüfen, ob bei einem High auch wirklich ein High auf der Leitung anliegt. Wenn nicht, sendet gerade ein anderer Teilnehmer ein dominierendes Low. Dieses Verhalten zeigt sich beispielsweise beim [[I2C|I²C]]- oder [[CAN]]-[[Bus]].&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit von Open Collector-Ausgangsstufen ist, dass sie in der Praxis lediglich als Senken, nicht jedoch als Quellen arbeiten können. Dies liegt am relativ hochohmigen Pull-up-Widerstand. Für typische Werte von 5 V Betriebsspannung und 10 k&amp;amp;Omega; Pull-up-Widerstand ergibt sich im Quellenbetrieb ein maximaler Strom von 0,5 mA. Dies spielt zwar für Logikschaltungen mit sehr hochohmigen Eingängen keine Rolle, Stromverbraucher wie LEDs kann man hingegen ausschließlich nach Masse schalten.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Open-Collector Ausgang mit dem Eingang eines weiteren ICs/Gerätes mit einer anderen Versorgungsspannnung (Vcc) verbunden ist, muss man aufpassen an welcher Vcc der Pull-up Widerstand angeschlossen wird. Grundsätzlich muss man vermeiden, an nicht mit Spannung versorgte ICs/Geräte Spannungen an den Eingängen anzulegen. Der Pull-up-Widerstand sollte daher mit der Vcc des Eingangs-ICs/Geräts verbunden sein und nicht mit der Vcc des Ausgangs-ICs. Dadurch wird bei fehlender Vcc am Eingangs-IC der Eingang nicht mit Spannung versorgt und damit kann der IC auch nicht über die Schutzdioden unerwünscht mit Strom versorgt werden. Die Einschaltreihenfolge der Versorgungsspannungen spielt keine Rolle mehr. Bei fehlender Vcc des Ausgangs-ICs fliesst kein Strom zum Ausgangsport dieses ICs, da es sich um einen Open Collector Ausgang handelt welcher meist keine Schutzdioden enthält (machmal wird der ESD-Schutz mit [[Diode#Z-Diode|Z-Dioden]] gemacht).&lt;br /&gt;
&lt;br /&gt;
Schließlich sei noch erwähnt, dass man auch mit [[FET|Feldeffekt-Transistoren]] Ausgangsstufen aufbauen kann, die praktisch dasselbe Verhalten zeigen wie solche mit Bipolartransistoren. Korrekterweise spricht man dann von einem Open Drain-Ausgang. Die heute veraltete NMOS-Herstellungstechnik, wie sie beim Original-[[8051]] verwendet wurde, bevorzugt solche Schalt- und Ausgangsstufen, mit Stromquelle unterschiedlicher Stärke als Pullup. Die I/O-Pins des 8051 wurden speziell auf diese Eigenheit der damaligen Herstellungstechnik optimiert. Heute ist die CMOS-Technik Stand der Dinge und wird weit verbreitet eingesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Wellenwiderstand&amp;diff=68358</id>
		<title>Wellenwiderstand</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Wellenwiderstand&amp;diff=68358"/>
		<updated>2012-09-11T12:45:13Z</updated>

		<summary type="html">&lt;p&gt;62.157.123.101: /* Zusammenfassung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Schnelle Digitalschaltkreise bzw. hochfrequente Analogschaltungen stellen erhöhte Anforderungen an die Verbindungsleitungen zwischen ICs und Baugruppen. Wo ein langsamer CMOS-Baustein der 4000 Serie mit ein paar Megahertz (wobei die Flankensteilheit entscheidet - nicht die Frequenz) noch problemlos auf dem Steckbrett mit wilder Klingeldrahtverkabelung funktioniert, dort versagt ein moderner, schneller IC seinen Dienst. Ähnliches passiert auf geätzten Leiterplatten. Nicht nur die Packungsdichte der Gehäuse, auch die immer kürzer werdenden Schaltzeiten der Signale verlangen mehr und mehr einen durchdachten, hochfrequenzgerechten Aufbau mit zwei, vier oder mehr Lagen. Die Verbindungsleitungen, welche bei niedrigen Frequenzen praktisch nicht auffallen, sind plötzlich sichtbare Bauelemente, welche die zwei wichtigen Parameter Wellenwiderstand und Laufzeit aufweisen.&lt;br /&gt;
&lt;br /&gt;
== Wellenwiderstand ==&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_ersatzschaltbild.png|thumb|right|372px|Modell eines elektrischen Leiters mit Widerständen, Kapazitäten und Induktivitäten]]&lt;br /&gt;
Eine elektrische Leitung muß bei hohen Frequenzen als ein Netzwerk aus folgenden Komponenten betrachtet werden:&lt;br /&gt;
&lt;br /&gt;
* Serienwiderstand Rs&lt;br /&gt;
* Parallelwiderstand Rp&lt;br /&gt;
* Serieninduktivität Ls&lt;br /&gt;
* Parallelkapazität Cp&lt;br /&gt;
&lt;br /&gt;
Praktisch kann man sich das so vorstellen: Jeder elektrische Leiter hat einen [[Widerstand|ohmschen Widerstand]] Rs. Vorsicht! Das ist nicht der Wellenwiderstand! Ebenso hat jede elektrische Leitung einen Widerstand zwischen den Leitern, denn der Isolator ist nie ideal. Praktisch kann man den allerdings meist vernachlässigen, da er im Bereich von Gigaohm liegt.&lt;br /&gt;
&lt;br /&gt;
Die unvermeidlichen und ausschlaggebenden Parameter sind jedoch Ls und Cp. Jeder elektrische Leiter, welcher von einem Strom durchflossen wird, erzeugt ein Magnetfeld. Das ist gleichbedeutend mit der Induktivität Ls. Ebenso besteht zwischen zwei isolierten Leitern immer ein elektrisches Feld, wodurch der Kondensator Cp gebildet wird. Ls und Cp sind die entscheidenden Grössen zur Bestimmung des Wellenwiderstandes. Je nach geometrischer Anordnung der Leiter kann man sie in gewissen Grenzen variieren (Koaxialkabel, Twisted Pair, Flachbandkabel etc.).&lt;br /&gt;
&lt;br /&gt;
Der Wellenwiderstand berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_0= \sqrt{\frac{Ls}{Cp}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Er ist eine charkteristische Größe einer Leitung. Er ist unabhängig von der Länge der Leitung. &lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Koaxialkabel RG58 und RG174, 50Ω &lt;br /&gt;
* Koaxialkabel RG59, 75Ω;&lt;br /&gt;
* Twisted Pair CAT3/5/7 für Ethernet, 100Ω&lt;br /&gt;
* Flachbandkabel, 150Ω typ.&lt;br /&gt;
* Leiterbahnen auf Platinen mit 30...150Ω&lt;br /&gt;
&lt;br /&gt;
== Laufzeit ==&lt;br /&gt;
&lt;br /&gt;
Elektrische Signale haben eine sehr hohe, aber dennoch begrenzte Ausbreitungsgeschwindigkeit. In Luft bzw. im Vakuum breiten sich Funksignale mit Lichtgeschwindigkeit aus, das sind 300.000 km/s, oder 30cm/ns. Auf Leitungen breiten sich Signale langsamer aus, da das elektromagnetische Feld mit der Umgebung interagiert. Je nach Leitungstyp etwa mit 50..70% der Lichtgeschwindigkeit, sprich mit ca. 15..21 cm/ns.&lt;br /&gt;
&lt;br /&gt;
== Terminierung ==&lt;br /&gt;
&lt;br /&gt;
Wenn eine elektrische Leitung als lang betrachtet werden muß, dann treten Reflexionen auf. Diese sind unerwünscht und können von sporadischen Fehlern bis zum völligen Versagen einer Schaltung alles verursachen. Deshalb müssen solche Leitungen terminiert werden. Die Terminierung absorbiert die einlaufenden Signale und verhindert damit ungewollte Reflexionen. Eine Leitung wird mit einem ohmschen Widerstand terminiert, welcher den gleichen Wert wie der Wellenwiderstand aufweist. Die Terminierungswiderstände müssen möglichst am Ende der Leitung plaziert werden.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Eine Leitung ist dann als elektrisch lang zu betrachten, wenn die einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen Anstiegszeit der Signale ist.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
Ein [[AVR]] ist ein recht typischer, digitaler IC. Die minimale Anstiegszeit beträgt ca. 5ns. Nach obiger Formel darf die Laufzeit nur&lt;br /&gt;
: 1/6&amp;amp;nbsp;·&amp;amp;nbsp;5ns&amp;amp;nbsp;≈&amp;amp;nbsp;0,83ns&lt;br /&gt;
betragen. Bei einer Ausbreitungsgeschwindigkeit von 21cm/ns ergibt das eine maximal zulässige Leitungslänge von&lt;br /&gt;
: 21cm/ns&amp;amp;nbsp;·&amp;amp;nbsp;0,83ns&amp;amp;nbsp;≈&amp;amp;nbsp;17,5cm&lt;br /&gt;
Das heißt, bei einer Leitungslänge von bis zu 17,5cm &#039;&#039;und&#039;&#039; halbwegs sauberer Leitungsführung treten keine nennenswerten Reflexionen auf und eine Terminierung ist nicht notwendig. Darüber muss man aufpassen: spätestens bei dem doppelten bis dreifachen Wert ist eine Terminierung meist unverzichtbar.&lt;br /&gt;
&lt;br /&gt;
=== Serienterminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_serienterminierung.png|thumb|right|350px|Serienterminierung]]&lt;br /&gt;
Serienterminierung arbeitet bewußt mit Reflexionen. Von der Quelle wird ein Signal mit einem Innen&amp;amp;shy;widerstand gleich dem Wellen&amp;amp;shy;widerstand eingespeist. Dadurch ergibt sich ein Spannung&amp;amp;shy;steiler von 1:2, d.h. Das Signal hat kurzzeitig nur die halbe Amplitude. Damit läuft es bis zum Ende der Leitung, welches offen ist. Es wird zu 100% reflektiert. Dadurch entsteht der volle Spannungs&amp;amp;shy;pegel. Wenn die rücklaufende Reflexion die Quelle wieder erreicht wird sie vom Innen&amp;amp;shy;widerstand der Quelle, welcher gleich dem Wellen&amp;amp;shy;widerstand ist, absorbiert, es entsteht keine weitere Reflexion. Idealerweise sollte der externe Serien&amp;amp;shy;widerstand Rs plus der Innen&amp;amp;shy;widerstand des Ausgangs Ri gleich dem Wellen&amp;amp;shy;widerstand sein. CMOS-ICs haben Ausgangs&amp;amp;shy;widerstände zwischen 15..50Ω.&lt;br /&gt;
&lt;br /&gt;
Datensignale können meist problemlos mit Serien&amp;amp;shy;terminierung betrieben werden. Taktsignale dürfen nur bei Punkt zu Punkt Verbindungen mit Serienterminierung betrieben werden (ein Sender und nur ein Empfänger). Anderenfalls kann es zu Fehlfunktionen kommen, da ein Takteingang, welcher in der Mitte der Leitung sitzt für ein paar Nanosekunden eine Spannung am Eingang anliegen hat die etwa VCC/2 entspricht. Das ist aber genau die Schaltschwelle von CMOS-ICs. Kleinste eingekoppelte Störungen können nun dafür sorgen, daß der Takteingang mehrere Flanken &amp;quot;sieht&amp;quot;, wo eigentlich nur eine sein sollte.&lt;br /&gt;
&lt;br /&gt;
=== Parallelterminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_parallelterminierung.png|thumb|right|350px|Parallelterminierung]]&lt;br /&gt;
[[bild:wellenwiderstand_theveninterminierung.png|thumb|right|350px|Thevenin-Terminierung]]&lt;br /&gt;
[[bild:wellenwiderstand_vt-terminierung.png|thumb|right|350px|Thevenin Equivalent]]&lt;br /&gt;
&lt;br /&gt;
Parallelterminierung absorbiert die ankommende Welle am Ende einer Leitung. Damit treten zu keinem Zeitpunkt Reflexionen auf.&lt;br /&gt;
&lt;br /&gt;
Nachteilig ist der Stromverbrauch bei HIGH-Pegel. Diesen kann man halbieren, indem man mit einem speziellen Spannungs&amp;amp;shy;regler eine sog. &#039;&#039;Terminierungs&amp;amp;shy;spannung&#039;&#039; generiert (z.&amp;amp;nbsp;B. bei SCSI). Dieser Spannungsregler muss sowohl Strom liefern können (source) als auch Strom aufnehmen können (sink). Allerdings ist auch hier der Strom&amp;amp;shy;verbrauch noch recht beachtlich.&lt;br /&gt;
&lt;br /&gt;
Diese Terminierung ist nicht für 5 oder 3.3V CMOS geeignet. &lt;br /&gt;
&lt;br /&gt;
Parallelterminierung wird typisch bei Ethernet sowie beim RS485-Bus verwendet, dort sogar an beiden Enden. Es gibt diverse IO-Standards wie HSTL, SSTL etc., welche für schnelle ICs entwickelt wurden (DDR-RAM, DDR2-RAM), diese arbeiten mit Parallel- sowie Serien&amp;amp;shy;terminierung.&lt;br /&gt;
&lt;br /&gt;
Ohne Terminierungsspannung kommt man mit der sog. &#039;&#039;Thevenin-Terminierung&#039;&#039; aus. Dabei wird der Terminierungs&amp;amp;shy;widerstand durch zwei doppelt so große Widerstände ersetzt. Aus Sicht des Kabels sind diese beiden Widerstände &#039;&#039;parallel&#039;&#039; geschaltet! &lt;br /&gt;
&lt;br /&gt;
Daher auch der Name: &#039;&#039;Thevenin Equivalent&#039;&#039; ist im Englischen die Bezeichung für eine Ersatzschaltung mit anderem Aufbau aber im Endeffekt gleichen Eigenschaften. Hier spart man auch die Hälfte des Stroms ein, allerdings fliesst jetzt auch bei LOW ein Strom durch die Terminierung.&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== AC-Terminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_ac-terminierung.png|thumb|rigt|350px|AC-Terminierung]]&lt;br /&gt;
Um den Stromverbrauch allgemein zu senken kann AC-Terminierung eingesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Dazu wird ein Kondensator in Reihe zum Terminierungs&amp;amp;shy;widerstand geschaltet. Damit fliesst nur für eine kurze Zeit ein Strom, wenn der Pegel wechselt. Nachteilig ist die bisweilen kritische Dimensionierung des Kondensators. Er darf nicht zu klein sein, damit die Spannung nicht zu schnell steigt und somit der Terminierungs&amp;amp;shy;widerstand nicht voll wirksam ist. Andererseits darf er nicht zu groß sein, damit der Umlade&amp;amp;shy;vorgang vor dem nächsten Flanken&amp;amp;shy;wechsel abgeschlossen ist (Taktfrequenz). Hier muß man ggf. experimentieren und &#039;&#039;richtig&#039;&#039; messen. Typische Werte liegen zwischen 100pF und 10nF.&lt;br /&gt;
&lt;br /&gt;
Für Takte und Signale mit konstantem Mittelwert ([[Manchester]]kodierung, 8B10B Kodierung) kann man den Kondensator sehr groß wählen (100nF Keramik + großen Elko). Dann lädt sich der Kondensator über mehrere hundert Takte auf den Mittelwert der Spannung auf und hält diese. Damit wirkt er wie eine Spannungsquelle für die Terminierungs&amp;amp;shy;spannung.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist der eingesparte Spannungsregler, der Stromverbrauch ist identisch mit der Parallel&amp;amp;shy;terminierung. Als grobe Orientierung sollte die Zeitkonstante aus Terminierungs&amp;amp;shy;widerstand mal Kondensator ca. 1000 mal größer sein als die Periodendauer des Taktes bzw. die Bitdauer das Datenstroms sein:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_T \cdot C_T \;\gtrapprox\; 1000 \cdot T_\text{CLK}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Takt- und Datensignale ==&lt;br /&gt;
&lt;br /&gt;
Bei Datensignalen ist es meist durchaus akzeptabel, wenn ein erhöhtes Maß an Überschwingern und Reflexionen auftreten. Auf synchronen [[Bus]]systemem werden die Daten mittels eines Taktes abgetastet. Nur zu diesem Zeitpunkt müssen die Daten sauber anliegen, ein wenig davor (Setup Time) und ein wenig danach (Hold time). Ganz anders bei Takten, asynchronen Resets und Interruptsignalen. Auf diese reagiert ein digitaler IC &#039;&#039;&#039;sofort&#039;&#039;&#039; und sehr schnell. Durch Reflexionen kann es zu &amp;quot;Zacken&amp;quot; auf Taktflanken kommen, welche ein langsamer IC ignoriert aber ein schneller darauf reagiert und zwei Taktflanken &amp;quot;sieht&amp;quot;, wo eigentlich nur eine ist. Hier muss man aufpassen. Diese Signale sollten&lt;br /&gt;
&lt;br /&gt;
* sehr solide layoutet werden&lt;br /&gt;
* etwas Abstand zu allen anderen Signalen bekommen&lt;br /&gt;
* ggf. sauber terminiert werden&lt;br /&gt;
&lt;br /&gt;
Dann gibt es auch keine Probleme mit instabilen Datenübertragungen etc.&lt;br /&gt;
&lt;br /&gt;
== Leitungsführung und Layout ==&lt;br /&gt;
&lt;br /&gt;
Der Zusatz &amp;quot;und halbwegs saubere Leitungsführung&amp;quot; ist eine entscheidende Komponente bei der Verteilung schneller Signale! Irgendwelche wilde Klingeldrahtorgien oder lieblos auf die Platine geschmissene Leitungen zählen nicht dazu. Im Idealfall sind die Leitungen mit einer Impedanz von 50 oder 75Ω layoutet, bei differentiellen Signalen auch 100Ω (Ethernet, LVDS etc.). Dazu muß eine bestimmte Geometrie der Leiterbahn eingehalten werden, im wesentlichen bestimmt durch Breite und Abstand zur Referenzfläche (GND oder VCC). Die Stichworte für eine Suche im Internet lauten Microstrip und Stripline. Bei zwei- oder vierlagigen Platinen werden die Leitungen mit 50/75&amp;amp;Omega; ziemlich breit, deshalb kann man sich dort dem Ideal nur sehr grob nähern. Dennoch sollte man vor allem für Takte es versuchen, und möglichst die Leitung über einer Referenzfläche führen. Das grundlegende Prinzip lautet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Fläche der Leiterschleife zwischen Signal und Massefläche muß minimiert werden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Man muß immer daran denken. Strom fließt immer im Kreis, deshalb heißt es ja auch Stromkreis. Der Stromkreis beginnt am Versorgungspin des ICs, welcher das Signal generiert, läuft über den Ausgang und die Signalleitung zum Eingang des Empfängers bzw. der dort platzierten Terminierung, dort nach Masse und über die Masse zurück zum Sender-IC. Die Rückleitung über Masse ist genauso wichtig wie die Hinleitung des Signals! Eine wild geschlungene Masseleitung macht das beste Layout zunichte. Optimal sind komplette Masseflächen, doch die sind meist nur bei Platinen mit vier oder mehr Lagen machbar. Bei hochfrequenten Analogschaltungen gönnt man sich den &amp;quot;Luxus&amp;quot; auch bei zweilagigen, weil man sonst in Teufels Küche kommt. Bei schnellen Digitalschaltungen auf zweilagigen Platinen muß man Kompromisse eingehen. Aber auch hier gilt die alte Weisheit, daß die Masse möglichst sternförmig verteilt werden sollte. Entgegen der weit verbreiteten Meinung spielen 90° Winkel keine große Rolle, auch nicht weit in den den Bereich von 1 GHz! Siehe [[#Links | Abschnitt Links]].&lt;br /&gt;
&lt;br /&gt;
Wenn Kabel als Verbindung zwischen ICs verwendet werden, sollte man auch hier Sorgfalt walten lassen.&lt;br /&gt;
&lt;br /&gt;
* Idealerweise sollte man bei Flachbandkabeln jede 2. Ader auf Masse legen und auf BEIDEN Seiten der Verbindung am Stecker mit der Masse der Platine verbunden werden.&lt;br /&gt;
* Meist reicht es, jede 4.  bis 10. Ader auf Masse zu legen, wobei man Takte direkt neben die Masse legen sollte.&lt;br /&gt;
* Bei Steuerkabeln (verdrillt oder auch nicht) gilt ähnliches.&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
* Entscheidend für das Entstehen von Reflexionen ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; die Taktfrequenz sondern die Anstiegszeit der Signale. Eine Schaltung mit schnellen ICs wird auch bei niedrigen Taktfrequenzen sehr schnell schalten, auch wenn das nicht unbedingt notwendig wäre.&lt;br /&gt;
* Mit Reflexionen muß man rechnen, wenn die einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen Anstiegszeit der Signale ist.&lt;br /&gt;
* Serienterminierung ist für Takte nur bei Punkt-zu-Punkt-Verbindungen sicher nutzbar.&lt;br /&gt;
* Parallelterminierung ist für 5/3,3V CMOS ungeeignet (Stromverbrauch).&lt;br /&gt;
* Auch mit Terminierung ist bei schnellen Signalen eine halbwegs saubere Leitungsführung notwendig.&lt;br /&gt;
* Man sollte nach Möglichkeit immer die langsamsten Logikbausteine verwenden, um Probleme mit Reflexionen zu minimieren (Wozu braucht man 1ns Anstiegszeit bei 5 MHz Takt?).&lt;br /&gt;
* Ausgänge sollten möglichst identische Ausgangswiderstände für LOW und HIGH haben (wie z.&amp;amp;nbsp;B. die HC Familie), sonst wird eine Serienterminierung schwierig bis unmöglich (wie. z.&amp;amp;nbsp;B. die ABT Familie); siehe [http://www.ti.com/litv/pdf/szza008 &amp;quot;Input and Output Characteristics of Digital Integrated Circuits&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== Eine schöne und verständliche Erklärung aus einem Forumsthread ==&lt;br /&gt;
&lt;br /&gt;
→ [http://www.mikrocontroller.net/topic/238751 Forum: &#039;&#039;Was ist der Wellenwiderstand?&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
#* Bei einer Leitung ohne Last (Re = ∞) wirkt die Leitung wegen ihrer verteilten Kapazität (Kapazitätsbelag) kapazitiv.&lt;br /&gt;
#* Bei einer Leitung mit Kurzschluss am Ende (Re = 0) wirkt die Leitung wegen ihrer verteilten Induktivität (Induktivitätsbelag) induktiv.&lt;br /&gt;
#* Irgendwo dazwischen gibt es einen Wert, wo Induktivität und Kapazität sich gerade kompensieren: Das ist der Wellenwiderstand. Er ermöglicht eine kapazitäts- und induktivitätsfreie Übertragung.&lt;br /&gt;
# Eine Leitung gibt an einen Lastwiderstand volle Leistung nur bei einem bestimmten Strom/Spannungsverhältnis ab. Wenn der Lastwiderstand ein anderes Strom/Spannungsverhältnis erzwingt, wird ein Teil des Stroms oder der Spannung in die Leitung zurückreflektiert. Der Widerstand, bei dem z.B. Impulse reflexionsfrei übergeben werden, ist der Wellenwiderstand.&lt;br /&gt;
# Durch die Geometrie einer Leitung werden Kapazitätsbelag und/oder Induktivitätsbelag verändert. Aus dem Verhältnis Kapazität/Induktivität lässt sich ein Widerstand errechenen, dies ist der Wellenwiderstand.&lt;br /&gt;
&lt;br /&gt;
== 90° Ecken in Leiterbahnen ==&lt;br /&gt;
&lt;br /&gt;
Das Thema wird seit Jahrzehnten diskutiert, real gemessen haben die Wenigsten. Hier die kurze Zusammenfassung aus zwei guten Quellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.ultracad.com/articles/90deg.pdf Messung] von Ultraboard&lt;br /&gt;
*sieben Leiterzüge mit 20,3cm Länge, 0,25mm Breite, Microstrip mit 50 Ohm; verschiedene Winkel&lt;br /&gt;
*Messung mit TDR und 17ps Anstiegszeit, ~2,8mm Pulslänge auf der Leitung, etwa 10fache Leiterbahnbreite &lt;br /&gt;
*Auf keiner Leitung konnten Effekte nachgewiesen werden!&lt;br /&gt;
*Eine Messung der Abstrahlung mittels Antenne bis 1,3 GHz zeigte auch keine sichtbaren Unterschiede jenseits der Messungenauigkeit&lt;br /&gt;
&lt;br /&gt;
[http://www.theamphour.com/2012/01/10/the-amp-hour-77-winsome-waveform-wizardry/ Interview] mit [http://www.signalintegrity.com/hj.htm Dr. Howard Johnson],  HF-Guru&lt;br /&gt;
* Die Legende kommt aus dem Bereich der Mikrowellen, wo die Theorie und Praxis in den 1960er Jahren sehr umfangreich erarbeitet wurde&lt;br /&gt;
* Direkte Übertragung vom Mikrowellengebiet 1-100GHz auf schnelle Digitalsignale (100MHz-10GHz) ist direkt nicht möglich, weil die Parameter anders sind&lt;br /&gt;
* Typische Leiterbahnbreiten für Digitalsignale sind 0,25mm und weniger, eine 90 Grad Ecke fügt ca. 0,02pF hinzu, typische Frequenz 1GHz bei Signalamplituden von 400mV und mehr (PECL, LVDS), hoher Störabstand (Digitalsignale), der Effekt ist kaum nachweisbar&lt;br /&gt;
* Typische Leiterbahnbreite für Mikrowellentechnik ist 3mm, Kapazitätszuwachs liegt bei ca. 0,2pF, Frequenzen von 10 GHz und mehr, Signalamplituden im Millivoltbereich mit engen Toleranzen über eine lange, analoge Verstärkerkette (+/-0,5dB über 10 Stufen)&lt;br /&gt;
&lt;br /&gt;
Fazit. Die Winkel spielen unter 1 GHz keine Rolle, darüberhinaus nur sehr wenig. VIAs spielen bei 1GHz und mehr eine Rolle. 10fach wichtiger ist jedoch immer eine solide Bezugsfläche unter der HF-Leitung!&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/181484?goto=1752540#1752540 Forumsbeitrag]: Warum HF-Leitungen abrunden?&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Wellenimpedanz Wellenwiderstand bei Wikipedia]&lt;br /&gt;
* [http://www.signalintegrity.com www.signalintegrity.com], Die Bibel der hochfrequenten Digitalsignale&lt;br /&gt;
* [http://www.onsemi.com/pub/Collateral/AND8020-D.PDF AppNote von ON Semiconductor: Termination of ECL Logic Devices] (ausführlicher als der Artikel)&lt;br /&gt;
* [http://www.ti.com/litv/pdf/szza008 &amp;quot;Input and Output Characteristics of Digital Integrated Circuits&amp;quot;]&lt;br /&gt;
* http://www.forelec.ch/fichiers/HS-PCB-1.PDF (Sehr gutes Dokument zum Thema)&lt;br /&gt;
* [http://wiki.fed.de/fed-wiki/images/3/3f/Impedanzarten_-_Lagenaufbauten.pdf Striplines/Microstrip schnell berechnet] (PDF)&lt;br /&gt;
* [http://www1.sphere.ne.jp/i-lab/ilab/tool/cpw_e.htm Online Calculator]&lt;br /&gt;
* [http://www.hp.woodshot.com/appcad/version302/setup.exe Noch ein Offline Calculator]&lt;br /&gt;
* Linksammlung [http://www.circuitsage.com/tline.html Transmission Line Design and Analysis]&lt;br /&gt;
* [http://www.epanorama.net/circuits/tdr.html TDR Circuit], ein einfaches Time Domain Reflektometer zum selber bauen&lt;br /&gt;
*[http://www.theamphour.com/2012/01/10/the-amp-hour-77-winsome-waveform-wizardry/ The Amp Hour #77 — Winsome Waveform Wizardry], Podcast mit Dr. Howard Johnson, HF-Guru (Ab 01:15:00 kommt die Stelle zum Thema 90° Leiterbahnen)&lt;br /&gt;
* [http://www.ultracad.com/articles/90deg.pdf Messung] von verschiedenen Winkeln von Leiterbahnen mit 17ps TDR, keinerlei Unterschiede!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>62.157.123.101</name></author>
	</entry>
</feed>