<?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=212.184.213.120</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=212.184.213.120"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/212.184.213.120"/>
	<updated>2026-04-10T21:47:25Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Festkommaarithmetik&amp;diff=68299</id>
		<title>Diskussion:Festkommaarithmetik</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Festkommaarithmetik&amp;diff=68299"/>
		<updated>2012-09-07T13:21:42Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Bezug zum AD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FALSCH ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist an mehreren Stellen falsch!&lt;br /&gt;
&lt;br /&gt;
1) Festkomma bedeutet nicht BCD, wie im Beispiel 10.45&lt;br /&gt;
&lt;br /&gt;
2) Das Rechenbeispiel multipliziert mit 1000, in der Formel oben ist der Faktor 100&lt;br /&gt;
&lt;br /&gt;
3) Man muss nicht mit 1000 multiplizieren, sondern nimmt besser 1024!&lt;br /&gt;
&lt;br /&gt;
4) Was sollen die 1024 dort im Nenner, woher kommen die?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bezug zum AD==&lt;br /&gt;
&amp;gt; Wieso wird hier der AD-Wandler gebracht?&lt;br /&gt;
&lt;br /&gt;
Weil das eine Standardanwendung ist! Es geht nach nicht um das Ansteuern das ADC sondern die Auswertung bzw. Darstellung des Ergebnisses.&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Ich hätte lieber eine Differenz geteilt durch ein Differenz.&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
&amp;gt; AD-Wandlung ist noch ein anderes Thema zumal man dort teilweise auch durch n-1 dividieren muss und nicht pauschal druch die gesamte Wortbreite.&lt;br /&gt;
&lt;br /&gt;
Das ist in der Formel enthalten. Ob man nun durch 256, 255 oder X dividiert ist egal. Es ist ein BEISPIEL und das Verfahren zu demonstrieren, keine starre Vorgabe.&lt;br /&gt;
&lt;br /&gt;
==Spiegeln==&lt;br /&gt;
Was soll denn das mit dem Spiegeln des Strings? Das kostet nur Rechenzeit und Programmspeicher. Ich bin SEHR dafür, das KOMPLETT unter den Tisch fallen zu lassen. Ausserdem ist im Abschnitt ITOA selbst gemacht mal wieder einiges doppelt hingeschrieben worden (bitte die Artikel vorher mal in RUHE lesen). Wie z.B.&lt;br /&gt;
&lt;br /&gt;
Das wars eigentlich schon.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Beachtet werden muss nur, dass bei dieser Methode die einzelnen Stellen in umgekehrter Reihenfolge entstehen: Die höchstwertigen Stellen kommen erst zum Schluss.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das steht doch quasi schon unten drin.&lt;br /&gt;
&lt;br /&gt;
den Stringterminator). Bei dem Verfahren wird die Zahl rückwärts berechnet. Das muss bei der Ablage im Speicher berücksichtigt werden. Im Sinne der&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Und auch hier ist der Unsinn drin. RAUS DAMIT!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Runden ==&lt;br /&gt;
Eine einfachere Möglichkeit besteht darin, vor dem Nach-Rechts-Schieben eine Zahl zu addieren, im Fall von &amp;gt;&amp;gt;13 : 1&amp;lt;&amp;lt;12 = 4096.&lt;br /&gt;
&lt;br /&gt;
Es wird also 0,5 addiert und dann die Nachkommastellen abgeschnitten:&lt;br /&gt;
&lt;br /&gt;
a = (b * 15081) &amp;gt;&amp;gt; 13;  // Division explizit ausgeführt als Schiebeoperation&lt;br /&gt;
&lt;br /&gt;
gerundet: &lt;br /&gt;
&lt;br /&gt;
a = (b * 15081 + 4096) &amp;gt;&amp;gt; 13;&lt;br /&gt;
&lt;br /&gt;
==Weblink zum Runden==&lt;br /&gt;
* [http://www.pldesignline.com/showArticle.jhtml?articleID=189600747 Rounding Algorithms 101 Redux] bei Programmable Logic DesignLine&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Lehrvideos&amp;diff=67673</id>
		<title>Diskussion:Lehrvideos</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Lehrvideos&amp;diff=67673"/>
		<updated>2012-08-02T09:59:03Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: Die Seite wurde neu angelegt: „== Auteilen == Ich würde die Seite in Lehrvideos VHDL, Lehrvideos Controller und Lehrvideos Plattformprogrammierung aufteilen.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Auteilen ==&lt;br /&gt;
Ich würde die Seite in Lehrvideos VHDL, Lehrvideos Controller und Lehrvideos Plattformprogrammierung aufteilen.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Lehrvideos&amp;diff=67672</id>
		<title>Lehrvideos</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Lehrvideos&amp;diff=67672"/>
		<updated>2012-08-02T09:57:28Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Noch ohne abschliessende Bewertung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier ensteht eine Linkliste von Lehrvideos und Demos, die den Einstieg und Meisterschaft(?) im Design von digitalen Systemen erleichtern sollen. Die Videos sollen zeigen, wie man mit den Tools arbeitet. &lt;br /&gt;
&lt;br /&gt;
Eine kurze Durchsicht bei youtube zeigt auf, dass nur ein kleiner Teil der Videos als Lehrvideo taugt, der Großteil sind Promotion-Videos, die hier nicht gelistet werden.&lt;br /&gt;
&lt;br /&gt;
== VHDL and Xilinx Spartan FPGA 1/2 ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Bg_4nqSs2OY| VHDL and Xilinx Spartan FPGA 1/2]&lt;br /&gt;
* [http://www.youtube.com/watch?v=SRsISGjRj-4| VHDL and Xilinx Spartan FPGA 2/2]&lt;br /&gt;
&lt;br /&gt;
Auf englisch kommentierte Demo die zeigt, wie man zu einem zugehörigen Blockbild den VHDL-Code schreibt und diesen synthetisiert. Gezeigt werden die Xilinxtools ISE, RTL-View, Core Generator.&lt;br /&gt;
&lt;br /&gt;
== Introductory tutorial on Verilog  ==&lt;br /&gt;
* [http://www.youtube.com/watch?NR=1&amp;amp;v=jkiHUaNIAKg | Introductory tutorial on Verilog] PowerPoint Vorlesung, einschläfernde Stimme, aber im Inhalt solide. &lt;br /&gt;
Erklärt werden die Beschreibungsformen (gatter, Verhalten, Prozeduraler Ansatz) und die Grundelemente register,wire,module .&lt;br /&gt;
&lt;br /&gt;
== How to Setup Simulation in ModelSim ==&lt;br /&gt;
*[http://www.youtube.com/watch?v=VTMelKXXmho| Modelsim]&lt;br /&gt;
Dieser Englischsprachiger Screencast erklärt vornehmlich die GUI-basierte Bedienung des modelsim-Simulators, auf die script-steuerung wird kurz hingewiesen. Erklärt werden compile, compile-Order, Filestruktur, Fenstergruppierung. Leider wird kaum auf die bedienung des wave-Fensters eingegangen.&lt;br /&gt;
&lt;br /&gt;
== How to use KCPSM3 in VHDL FPGA based project ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=An3x5tKL5Js| How to use KCPSM3 in VHDL FPGA based project ]&lt;br /&gt;
Der KCPSM3 ist der Vorläufer der 8-Bit Soft-CPU Picoblaze von Xilinx. Das unkommentierte, aber mit Musik unterlegte Video zeigt wie im ISE Editor der VHDL-Code (Component-Instanziierung) hierfür erstellt wird. Einzelne Clicks in der Tooliste sind grafisch hervorgehoben. Der Text ist nicht sonderlich gut lesbar.&lt;br /&gt;
&lt;br /&gt;
== Noch ohne abschliessende Bewertung ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Ob7B6x5g6tw FPGA Xilinx VHDL Video Tutorial]: Zeigt das Aufsetzen eines Projektes in der Xilinx-ISE.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=FxF0M3DA68Y Basic Schematic Input Tutorial] Xilinx-ISE, project from the scratch, fürchterlicher Ton&lt;br /&gt;
=== Vorlesungen  Prof.S.Srinivasan , Madras, Indien ===&lt;br /&gt;
bspw.:&lt;br /&gt;
*[http://www.youtube.com/watch?v=RZQTTfU9TNA| Lecture 30 Encoders and Decoders]&lt;br /&gt;
Vorlesungsvideo, stark akzentgefärbtes Englisch, erklärt werden die Grundlagen des Digitaldesigns, EDA-Tools werden vorgestellt.&lt;br /&gt;
&lt;br /&gt;
==Nicht empfohlen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FPGA und Co]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Augendiagramm&amp;diff=66932</id>
		<title>Augendiagramm</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Augendiagramm&amp;diff=66932"/>
		<updated>2012-06-18T15:29:17Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Erklärung der Entstehung eines sogenannten Augendiagramms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;von [[Benutzer:engineer|J.S.]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Bedeutung =&lt;br /&gt;
&lt;br /&gt;
Ein Augendiagramm ist eine bildliche Darstellung eines elektrischen Signalverlaufs, mit dessen Hilfe die Signalqualität einer digitalen Datenübertragung beurteilt werden kann. Es entsteht durch die grafische Überlagerung von mehreren Messungen eines Signals zu unterschiedlichen Zeitpunkten und Phasen. Es entsteht eine Art von Summation der statistisch verteilten Signalverläufe.&lt;br /&gt;
&lt;br /&gt;
Durch die zufälligen Einflüsse, denen das Signal unterworfen ist, verlaufen die theoretisch unendlich steilen Übergänge von 0 auf 1 und umgekehrt dabei nicht mathematisch rechteckig oder konstant an derselben Stelle, sondern als mehr oder weniger breit verschmierte Rampen, wodurch im Zentrum die typische Form eines Auges entsteht.&lt;br /&gt;
&lt;br /&gt;
= Datengewinnung =&lt;br /&gt;
Das Signal wird mehrfach vermessen und die Ergebnisse phasenrichtig überlagert. Im folgenden Beispiel werden aus technischen Gründen alle Kombinationen von Bitfolgen durchgespielt und jeweils 4er-Gruppen überlagert. 3er-GRuppen bei einer ausgewählten Bitfolge würden ebenfalls genügen. Ausdarstellungsgründen sind Punkte statt Linien verwendet, da sich in Excel sonst ein unschöner Rücklauf ergebn würde. Zudem sind dies die realen Messpunkte des Signals.&lt;br /&gt;
&lt;br /&gt;
== Teildatensatz Beginn==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Eye-pattern-explain1.gif]]&lt;br /&gt;
Signalverlauf der ersten drei Kombinationen 0000.0001.0010&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Beim Signalverlauf der ersten drei Kombinationen rangiert die Spannung bei 0,2V-3,2V und zeigt einen overshoot von 0,3V. Die Pegel sind erst in der Mitte des Bits voll eingeschwungen, was auch den Zacken links (abklingende &amp;quot;1&amp;quot; zu Beginn der 3. Gruppe) erklärt.&lt;br /&gt;
&lt;br /&gt;
== Teildatensatz Mitte==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Eye-pattern-explain2.gif]]&lt;br /&gt;
Signalverlauf des Übergangs von 0111.1000&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Bei den Kombinationen 0111 und 1000 erkennt man den Übergang von overshoot in den statischen Bereich der eigentlich richtigen Spannung, wenn die Bits lange genug stabil bleiben und sich nicht schon im nächsten Takt wieder ändern.&lt;br /&gt;
&lt;br /&gt;
== Gesamter Datensatz wenige Durchläufe==&lt;br /&gt;
[[Datei:Eye-pattern-explain3.gif]]&lt;br /&gt;
Signalverläufe aller Kombinationen überlagert.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Bei sich schnell ändernden Bits kommt immer mehr die Bandbreite des Kabels und der Treiber/Empfänger zur Geltung sodass sich das Auge langsam schließt.&lt;br /&gt;
&lt;br /&gt;
Durch Aufsummieren aller statistisch auftretenden Signalverläufe und Histogrambildung entsteht das eigentliche Augendiagramm.&lt;br /&gt;
&lt;br /&gt;
== Gesamter Datensatz viele Durchläufe==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Eye-pattern-explain4.gif]]&lt;br /&gt;
Eingefärbtes Augendiagramm&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Das 2D-Histogrammbild, das zunächst für jeden Bildpunkt in der T,U-Ebene (Zeitpunkt/Phase sowie Spannung) die Wahrscheinlichkeit für das Auftreten eines Durchlaufs darstellt, wird mit einem Farbprofil ähnlich der Wärmekameras eingefärbt, um die Häufungen zu zeigen. Massgeblich ist letzlich die Breite und Höhe des Auges. Das Zentrum definiert den Punkt, an dem die Abtastung optimal ist.&lt;br /&gt;
&lt;br /&gt;
Zu berücksichtigen sind dabei auch die absoluten Pegel, die jeweils den Empfänger sicher durchsteuern müssen.&lt;br /&gt;
&lt;br /&gt;
= Interpretationsproblem =&lt;br /&gt;
Bei differentiellen Leitungen entsteht bei der längeren Betrachtung der beiden Signale in den Fällen starker Störungen oftmals der Eindruck, dass das Auge geschlossen sei und keine Übertragung möglich ist. Dies muss jedoch nicht der Fall sein! Differenzielle Leitungen sind oftmals von Störungen in gleicher Weise betroffen und zeigen einen ähnlichen Spannungshub, der vom differenziellen Verstärker tolerant verarbeitet werden kann. Daher kommt mitunter dennoch wieder ein stabiles und jederzeit eindeutiges Signal heraus. Daher müssen differentielle Leitungen vor und nach dem Receiver betrachtet werden. Ist das nicht möglich, weil der Receiver in einem FPGA sitzt, muss der Logigpegel anhand von realen Messungen validiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Anwendungsbeispiele=&lt;br /&gt;
* Lokalisierung von Problemen&lt;br /&gt;
* Optimierung der Impedanzanpassung&lt;br /&gt;
* Formelle Validierung&lt;br /&gt;
* Bestimmung der Störreserve&lt;br /&gt;
&lt;br /&gt;
= Fußnoten =&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/topic/233342&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=Augendiagramm eye pattern]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
&lt;br /&gt;
* http://it.e-technik.uni-ulm.de/archiv/World/Teaching/Experiment/eye/eye.html&lt;br /&gt;
* http://www.lnt.ei.tum.de/download/NT1_Soeder/NT1_Teil4.pdf&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:LED-Fading&amp;diff=66931</id>
		<title>Diskussion:LED-Fading</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:LED-Fading&amp;diff=66931"/>
		<updated>2012-06-18T15:27:19Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Diskussion wissenschaftl.-technischer Hintergrund */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hinweise zu Anpassungen an andere AVRs als ATmega32 ==&lt;br /&gt;
&lt;br /&gt;
* Atmega8 [http://www.mikrocontroller.net/topic/158008#1496399]&lt;br /&gt;
&lt;br /&gt;
== Diskussion wissenschaftl.-technischer Hintergrund ==&lt;br /&gt;
&lt;br /&gt;
Das Helligkeitsempfinden des Auges ist NICHT logarithmisch!&lt;br /&gt;
&lt;br /&gt;
Es genügt der Gleichung (für nahezu alle unsere Anwendungsfälle):&lt;br /&gt;
&lt;br /&gt;
E = R ^ γ&lt;br /&gt;
&lt;br /&gt;
wobei:&lt;br /&gt;
&lt;br /&gt;
E = Empfinden&lt;br /&gt;
&lt;br /&gt;
R = Reizintensität (Tastverhältnis der PWM)&lt;br /&gt;
&lt;br /&gt;
γ = Gammakorrekturwert&lt;br /&gt;
&lt;br /&gt;
Je nach Größe der Lichtquelle wählt man:&lt;br /&gt;
&lt;br /&gt;
γ = 0.5 für punktförmige oder aufblitzende Helligkeiten&lt;br /&gt;
&lt;br /&gt;
γ = 0.33 für Lichtquellen bei 5° Blickwinkel&lt;br /&gt;
&lt;br /&gt;
γ = 1/2.2 ist meine Empfehlung für diffus strahlende LEDs - entspricht der Gamma-korrektur von VGA-Bildschirmen - hat in unseren Selbstversuchen hervorragende Ergebnisse geliefert&lt;br /&gt;
&lt;br /&gt;
Die umgekehrte Look-Up-Wertetabelle ergibt sich aus:&lt;br /&gt;
&lt;br /&gt;
R = E ^ 1/γ (wie man sieht auch hier KEIN Logarithmus! Der Exponent ist fix!)&lt;br /&gt;
&lt;br /&gt;
oder für diskrete Werte:&lt;br /&gt;
&lt;br /&gt;
R[i] = round((z - 1) * (i / (n - 1)) ^ (1/γ))&lt;br /&gt;
&lt;br /&gt;
oder (je nachdem welche Rundungsfunktion verfügbar ist)&lt;br /&gt;
&lt;br /&gt;
R[i] = floor((z - 1) * (i / (n - 1)) ^ (1/γ) + 0.5)&lt;br /&gt;
&lt;br /&gt;
mit&lt;br /&gt;
&lt;br /&gt;
n = Anzahl der Einträge in der Look-Up-Tabelle (z.B. 256)&lt;br /&gt;
&lt;br /&gt;
i = Laufindex [0..n-1]&lt;br /&gt;
&lt;br /&gt;
z = Anzahl der linearen Stufen, die die PWM-Routine wiedergeben kann (z.B. 65536)&lt;br /&gt;
&lt;br /&gt;
Oder eingesetzt für den typischen Anwendungsfall:&lt;br /&gt;
&lt;br /&gt;
R[i] = floor(65535.0 * (i / 255.0) ^ 2.2 + 0.5)&lt;br /&gt;
&lt;br /&gt;
In Wikipedia ist&#039;s übrigens auch falsch beschrieben:&lt;br /&gt;
&lt;br /&gt;
Der Artikel [http://de.wikipedia.org/wiki/Gammakorrektur Gammakorrektur] verweist fälschlicher Weise auf das [http://de.wikipedia.org/wiki/Weber-Fechner-Gesetz Weber-Fechner-Gesetz] welches den Logarithmus zur Grundlage hat. Weiter unten im Weber-Fechner-Gesetz-Artikel findet sich der Hinweis, das die [http://de.wikipedia.org/wiki/Stevenssche_Potenzfunktion Stevensschen Potenzfunktionen] besser geeignet seien. In besagtem Artikel finden sich dann auch wieder die Verallgemeinerungen der Gamma-Korrektur wieder.&lt;br /&gt;
Im [http://en.wikipedia.org/wiki/Stevens%27_power_law Englischen Artikel zum Stevensschen Potenzgesetz] sind auch einige Exponenten für die Reizfunktionen zu finden.&lt;br /&gt;
&lt;br /&gt;
Komme mir hier im Forum manchmal wie ein Geisterfahrer vor... das wird einfach so oft falsch verwendet...&lt;br /&gt;
&lt;br /&gt;
Ich hoffe mal, dass sich hier noch Gleichgesinnte einfinden und jemand (im Einverständnis mit dem Originalautor) den Artikel entsprechend anpasst - oder die entsprechende Gegenaussage begründen kann.&lt;br /&gt;
&lt;br /&gt;
in diesem Sinne... schönen Restabend noch!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ich bin der Autor des Artikels. Was die biologisch-physiologische Seite des Problems angeht, bin ich sicher nicht die Fachkraft, meine Kenntnisse bauen auch nur auf Wikipedia &amp;amp; Co auf. Wobei der praktische Unterschied zwischen Weber Fechner und Stevenssche Potenzfunktion relativ gering ist und bestenfalls für die Profis interessant ist. Aber meinestwegen kann der Artikel von dir dahingehend angepasst werden. Man lernt ja nie aus ;-)&lt;br /&gt;
&lt;br /&gt;
MfG&lt;br /&gt;
Falk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Bob Pease hat mal den Dynamikumfag des Auges abgeschätzt&lt;br /&gt;
&lt;br /&gt;
http://electronicdesign.com/Articles/Index.cfm?AD=1&amp;amp;AD=1&amp;amp;ArticleID=6059&lt;br /&gt;
&lt;br /&gt;
&amp;quot;What&#039;s All This Optical Stuff, Anyhow?&amp;quot;&lt;br /&gt;
Er rechnet mit dB, also logarithmischen Maßen, und kommt auf 145 dB. &lt;br /&gt;
Er gibt allerdings zu, dass er in optischen Maßeinheiten nicht so bewandert ist.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Danke euch für das schnelle Feedback. Ich schau mal, dass ich &#039;nen Millimeter Zeit finde um den Artikel (und die Wertetabellen) anzupassen.&lt;br /&gt;
&lt;br /&gt;
Der Unterschied ist wirklich nicht groß, aber wenn&#039;s passende Formeln gibt, die zu dem nicht schwieriger zu rechnen sind, sollten die meiner Meinung nach verwendet werden. Die Unterschiede sind leider gerade im unteren Helligkeitsbereich nicht ohne :( Das Auge könnte da ruhig was kooperativer sein.&lt;br /&gt;
&lt;br /&gt;
Danke und n8&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Ihr macht folgenden Denkfehler: Die LED wird nicht alleine betrachtet sondern mitsamt ihrer Umgebunb! Daher passt sich das Auge insgesamt nicht stark an, wenn die LEd die Helligkeit ändert - höchstens lokal ist das im Geringen Umfang der Fall. Damit gilt weder die globale Logarithmische Empfindlichkeit, noch kann man Linearität unterstellen.&lt;br /&gt;
&lt;br /&gt;
Der Umstand, dass eine PWM beim linearen durchfahren keinen linearen H-Verluf produziert, liegt zudem an der LED! Das kann man leicht nachmessen.&lt;br /&gt;
&lt;br /&gt;
== Danke! ==&lt;br /&gt;
&lt;br /&gt;
Erstmal herzlichen Dank für diesen Artikel! Der hat mir schon sehr geholfen. Mir ist schon klar, dass das Hauptaugenmerk auf der Helligkeitsverteilung liegt. Was mir nur beim Studieren des Programms schwer gefallen ist, war die Initialisierung des Timers. Dort wird immer das ganze Register auf einmal geschrieben, mit einem Wert in Hex-Form. Könnte man das nicht ändern in die übliche Schreibweise register = (1&amp;lt;&amp;lt;BITNAME) | (1&amp;lt;&amp;lt;NOCHNBIT)? Dann wüsste man sofort welche Bits gesetzt sind und welche nicht. Ich würde mich auch dafür zur VErfügung stellen, das alles umzurechnen/nachzuschlagen. Was hälst du davon, Falk?&lt;br /&gt;
&lt;br /&gt;
LG, Björn&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mach mal, klingt vernünftig. Aber bitte dann den Code REAL testen, damit sich keine Fehler einschleichen.&lt;br /&gt;
&lt;br /&gt;
MFg&lt;br /&gt;
Falk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Interessant wäre ja noch, ob denn die LED nicht auch noch ein unlineares &amp;gt;Verhalten hat.&lt;br /&gt;
&lt;br /&gt;
Hat sie, ist aber für diese Anwendung verschwindend gering.&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Die ist ja ein Diode. Im &amp;quot;Knick&amp;quot; der LED steigt doch die Helligkeit auch&lt;br /&gt;
&amp;gt; nicht linear an. Ist das bei den Formeln schon berücksichtigt?&lt;br /&gt;
&lt;br /&gt;
Welcher &amp;quot;Knick&amp;quot;? Die Strom-Spannungskennlinie? Ist bei LEDs im Wesentlichen uninteressant. Die werden sowiso mit einer Konstantstromquelle betrieben, siehe Artikel [[LED]].&lt;br /&gt;
&lt;br /&gt;
MfG&lt;br /&gt;
Falk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stimmt, war ein Denkfehler von mir. --&amp;gt; Ist ja PWM-Betrieb, nicht linear...&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Liste_von_FPGA_Eval_boards&amp;diff=66889</id>
		<title>Liste von FPGA Eval boards</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Liste_von_FPGA_Eval_boards&amp;diff=66889"/>
		<updated>2012-06-15T13:55:00Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Avnet Spartan 6 LX150T */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Entwicklungsboards und Starterkits ==&lt;br /&gt;
=== Boards für Xilinx-FPGAs ===&lt;br /&gt;
&lt;br /&gt;
==== Einige Boards tabellarisch====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;fpgaevalboards&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichn.&lt;br /&gt;
! Preis (&amp;amp;euro;)&lt;br /&gt;
! FPGA&lt;br /&gt;
! RAM (MByte)&lt;br /&gt;
! Flash (MByte)&lt;br /&gt;
! USB&lt;br /&gt;
! Ethernet&lt;br /&gt;
! RS-232&lt;br /&gt;
! µC&lt;br /&gt;
! Eingabe&lt;br /&gt;
! sonst.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.knjn.com/board_Xylo.html Xylo-L]&lt;br /&gt;
| 130&lt;br /&gt;
| XC3S500E&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2.0&lt;br /&gt;
| 10base-T&lt;br /&gt;
| -&lt;br /&gt;
| LPC213x&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.xilinx.com/products/boards-and-kits/HW-SPAR3A-SK-UNI-G.htm Spartan3A Starter Kit]&lt;br /&gt;
| 189&lt;br /&gt;
| XC3S700A-FG484&lt;br /&gt;
| 32M x 16 DDR2 SDRAM&lt;br /&gt;
| 4 Mbit Platform Flash PROM, 32MB parallel Flash, 2-16 Mbit SPI Flash&lt;br /&gt;
| (JTAG)&lt;br /&gt;
| 10/100&lt;br /&gt;
| 1 In + 1 Out&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 1 Drehgeber, 4 Schalter&lt;br /&gt;
| 4-ch D/A, 2-ch A/D, Signal amplifier, Coolrunner CPLD, 100-pin expansion connector, Stereo mini-jack, 8 LEDs, 15-Pin VGA (4096)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.xilinx.com/s3estarter Digilent Spartan3e Starter Kit]&lt;br /&gt;
| 180&lt;br /&gt;
| XC3S500E, auch mit 1200er&lt;br /&gt;
| 64 DDR2-SDRAM&lt;br /&gt;
| 16&lt;br /&gt;
| (JTAG)&lt;br /&gt;
| 10/100&lt;br /&gt;
| 1 In + 1 Out&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 1 Drehgeber, 4 Schalter&lt;br /&gt;
| Coolrunner CPLD, LCD, 3-Bit VGA, PS/2&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&amp;amp;Nav2=Programmable&amp;amp;Prod=S3BOARD Digilent Spartan-3]&lt;br /&gt;
| 100&lt;br /&gt;
| XC3S200 XC3S400 XC3S1000&lt;br /&gt;
| 16 SDRAM&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 1x&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| VGA, PS/2, 7seg&lt;br /&gt;
|-&lt;br /&gt;
| [[Digilent Nexys]]&lt;br /&gt;
| 100&lt;br /&gt;
| XC3S200/400/1000&lt;br /&gt;
| 16&lt;br /&gt;
| 4&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| 7seg, Programmierung &amp;amp; Stromversorgung über USB&lt;br /&gt;
|-&lt;br /&gt;
| [[Digilent Nexys 2]]&lt;br /&gt;
| 121&lt;br /&gt;
| XC3S500E/1200E&lt;br /&gt;
| 16&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| 1x&lt;br /&gt;
| Cypress FX2 &lt;br /&gt;
| 4 Taster, 8 Schalter, 8 LEDs&lt;br /&gt;
| 4x7 Seg, Progr. &amp;amp; Versorg. über USB oder über Netzteil (5V-15V)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.uxibo.de Uxibo]&lt;br /&gt;
| 88&lt;br /&gt;
| XC2S200E&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 1.1&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| VGA I/O, Videomux, dual PS/2, 7seg, Buzzer, IOs auf Pinleisten, dual-channel FTDI2232C, 48 MHz + prog. Oszillator, Programmierung &amp;amp; Stromversorgung über USB&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.fpgaz.com/wiki/doku.php?id=fpgaz:usbp:hw FPGAz USBP]&lt;br /&gt;
| $135&lt;br /&gt;
| XC3S400&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Cypress FX2&lt;br /&gt;
| 2 Taster&lt;br /&gt;
| 8 LEDs, I2C-EEPROM&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cesys.com/en/products/kategorie/fpga-boards-spartan/produkt/usbs6-1/ USBS6] Cesys &lt;br /&gt;
| 298&lt;br /&gt;
| XC6SLX16&lt;br /&gt;
| 128&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| FX-2&lt;br /&gt;
| Drehschalter, Leds.&lt;br /&gt;
|115 I/O signale, einstellbarer IO Standard, zweiter USB Port (FT232), WIN 32&amp;amp;64 Bit und LINUX Treiber&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cesys.com/en/products/kategorie/fpga-boards-spartan/produkt/efm-01-1/ EFM 01] Cesys &lt;br /&gt;
| 139&lt;br /&gt;
| XC3S500E&lt;br /&gt;
| -&lt;br /&gt;
| 4&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| FX-2&lt;br /&gt;
| -&lt;br /&gt;
| 28 x 44mm, 50 I/O auf 2.54mm Stiftleiste, WIN und LINUX Treiber&lt;br /&gt;
|-&lt;br /&gt;
| [http://shop.trenz-electronic.de/catalog/product_info.php?products_id=456 Avnet Spartan 3A Evaluation Kit]&lt;br /&gt;
| 50&lt;br /&gt;
| XC3S400A&lt;br /&gt;
| -&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| WIN und LINUX Treiber, 4 Sensortasten&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.ct-lab.de FPGA-Karte aus dem c´t-Lab]&lt;br /&gt;
| 92&lt;br /&gt;
| XC3S400&lt;br /&gt;
| -&lt;br /&gt;
| SD-Kartenslot (Bitstream-File wird über µC ins FPGA geladen, Dateiauswahl via Systembus oder Panel oder fest einstellbar)&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| ATmega644&lt;br /&gt;
| optionales Bedienpanel mit LCD-Display, Drehgeber und Taster&lt;br /&gt;
| Bestandteil des Laborsystems c´t-Lab der Zeitschrift c´t.&lt;br /&gt;
VGA-Buchse, SD-Kartenslot (u.a. auch zum Laden des FPGA). Preis für FPGA-Platine mit verlöteten SMD-Bauteilen und Teilesatz. Optionale Erweiterungskarten mit schnellen DACs, Eingangskomparator, SRAM, Echtzeituhr, PS/2, RS232 (am FPGA). Optionaler JTAG-Adapter. &lt;br /&gt;
http://www.ct-lab.de, http://www.segor.de, http://thoralt.ehecht.com/phpbb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Weitere Details zu einigen Boards:&lt;br /&gt;
&lt;br /&gt;
==== Avnet ====&lt;br /&gt;
===== Spartan 6 LX150T  =====&lt;br /&gt;
* Spartan-6 FPGA LX 150T&lt;br /&gt;
* 64 bit, 66 MHz, 3.3 PCIe interface&lt;br /&gt;
* 32Mbit Flash Memory&lt;br /&gt;
* serielles EEprom&lt;br /&gt;
* 8 LEDs&lt;br /&gt;
* 4 SMD Drucktaster&lt;br /&gt;
* 10/100/1000 Intel Ethernet PHY&lt;br /&gt;
* USB Controller Host&lt;br /&gt;
* Serial Interface RS 232&lt;br /&gt;
* Serial GB Transceiver Interface (GTP)&lt;br /&gt;
* SD-Card Slot&lt;br /&gt;
* 2 Stk SAMTEC FMC SteckPorts mit 160 Pins belegt&lt;br /&gt;
* Webseite: http://www.avnet.com&lt;br /&gt;
* Preis ca. €999,- (inkl MwSt.)&lt;br /&gt;
* Erhältlich solo und auch im S6 Video Kit sowie S6 Ethernet Kit&lt;br /&gt;
* optionales Zubehör: Videokarte DVI IO, Transceiver Kit,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Spartan-6 LX9 MicroBoard =====&lt;br /&gt;
* Spartan-6 LX9-2CSG324&lt;br /&gt;
* 64 MB LPDDR SDRAM &lt;br /&gt;
* 128 Mb Multi-I/O SPI Flash &lt;br /&gt;
* 10/100 Ethernet PHY &lt;br /&gt;
* USB-2-UART port &lt;br /&gt;
* On-board USB JTAG Schaltung &lt;br /&gt;
* Two 2x6 PMOD expansion ports &lt;br /&gt;
* Programmierbarer Taktgenerator &lt;br /&gt;
* USB-interface &lt;br /&gt;
* 4 User LEDs &lt;br /&gt;
* 4-fach DIP switch &lt;br /&gt;
* Reset und PROG buttons&lt;br /&gt;
&lt;br /&gt;
==== Altium Evaluation Boards ====&lt;br /&gt;
Die Firma Altium hat verschiedene FPGA Evaluationbords entwickelt:&lt;br /&gt;
* Board EB1 (LiveDesign), obsolet; manchmal beim großen Versteigerer zu haben für ca. 100 EUR&lt;br /&gt;
* Board NB1 (Nanoboard 1), dürfte obsolet sein&lt;br /&gt;
* Board NB2, immer noch aktuell, mehrere Erweiterungskarten verfügbar, Kosten ca. 1.800 EUR&lt;br /&gt;
* Board NB3000, sehr gut ausgestattetes, kompaktes Board, Kosten ca. 340 EUR ~ 400 EUR, je nach FPGA-Familie. Erhältlich mit Altera, Xilinx oder Lattice-Chip&lt;br /&gt;
&lt;br /&gt;
folgendes gilt für alle Altium FPGA Evaluation Boards:&lt;br /&gt;
* Kompatibel mit den LiveDesign-fähigen Entwicklungstools von Altium&lt;br /&gt;
* Die Altium-Software nutzt direkt die Programmier-Software des jeweiligen FPGA-Herstellers (nicht bei EB1)&lt;br /&gt;
* im Lieferumfang sind alle nötigen Kabeln und ein Netzteil, um mit dem entsprechenden Board loslegen zu können&lt;br /&gt;
* die Boards enthalten eine sogenannte &amp;quot;SoftDesign&amp;quot; Lizenz für Altium Designer, gültig 1 Jahr. Sehr große Software-Bibliothek, inkl. verschiedener 8Bit- und einem 32Bit-Softcore, mit passenden Compilern. Per JTAG sind auch eigene Boards programmierbar.&lt;br /&gt;
&lt;br /&gt;
speziell für das nicht mehr erhältliche EB1 LiveDesign Board gelten folgende Punkte:&lt;br /&gt;
* Xilinx XC3S1000-4FG456C, wahlweise aber auch mit Altera EP1C12F324C8&lt;br /&gt;
* Peripherie: LEDs, Dip-Schalter, 6-stellige Siebensegmentanzeige, Taster, Stereo-DAC, zwei 256K x 16 RAMs&lt;br /&gt;
* &#039;&#039;kein&#039;&#039; on-board Flash RAM für FPGA-Konfiguration, diese muss nach dem Einschalten neu geladen werden&lt;br /&gt;
* Ports: PS2-Maus &amp;amp; -Tastatur, RS232, VGA (512 Farben), 2x18 IO-Pins für eigene Erweiterungen&lt;br /&gt;
&lt;br /&gt;
==== CESYS ====&lt;br /&gt;
http://www.cesys.com&lt;br /&gt;
&lt;br /&gt;
Cesys ist Entwickler und Hersteller von FPGA-boards mit Sitz in Deutschland.&lt;br /&gt;
&lt;br /&gt;
* Verschiedene FPGA boards mit USB, PCI und PCIe Schnittstellen im Lieferprogramm&lt;br /&gt;
* Je nach Ausführung mit Spartan-2/3/3E/6, Virtex2/2PRO/4&lt;br /&gt;
* verschiedene Speicherkonfigurationen (SO-DIMM, SRAM, SDRAM, DDR2)&lt;br /&gt;
* Auftragsentwicklungen nach Kundenwunsch möglich&lt;br /&gt;
&lt;br /&gt;
==== Enterpoint====&lt;br /&gt;
Enterpoint is ein Hersteller von FPGA-Boards in GB. Er bietet insbesondere Arrays mit mehreren FPGAs an. Siehe http://enterpoint.co.uk/&lt;br /&gt;
&lt;br /&gt;
===== Raggedstone 1 - Spartan-3 PCI-Karte =====&lt;br /&gt;
* Spartan-3 FPGA FG456-Package&lt;br /&gt;
* 32 bit, 33 MHz, 3.3/5V PCI interface&lt;br /&gt;
* 4Mbit Flash Memory&lt;br /&gt;
* 16KBit serielles EEprom&lt;br /&gt;
* 4 x 7 Segment Anzeigen LED, abnehmbar&lt;br /&gt;
* LM75 Temperatursensor&lt;br /&gt;
* viele DIL-Header für eigene Erweiterungen, verschiedene werden auch durch Hersteller angeboten&lt;br /&gt;
* 2 Drucktaster&lt;br /&gt;
* Mit dem PCI-Interface kann bei entsprechender Programmierung des FPGA auf den PCI-Bus eines Hostrechners zugegriffen werden, Beispieldesign unter http://projects.varxec.net/raggedstone1&lt;br /&gt;
* Webseite: http://www.enterpoint.co.uk/moelbryn/raggedstone1.html&lt;br /&gt;
* Preis als Raggedstone1 RS1-400C £155.00 + £25 Versand -&amp;gt; ca 230 Euro inkl.&lt;br /&gt;
&lt;br /&gt;
===== Raggedstone 2 - Spartan-6 PCI-Karte =====&lt;br /&gt;
* XilinxTM SpartanTM-6 FPGA, FGG484 package mit XC6SLX25T bis XC6SLX150T&lt;br /&gt;
* PCI Express Interface&lt;br /&gt;
* PCIe Gen1 (2.5 GBits-raw) interface&lt;br /&gt;
* 128Mbit SPI Flash Memory (configuration)&lt;br /&gt;
* 1 Gbit, X16, DDR3 SDRAM memory&lt;br /&gt;
* 1 x 16KBit serial EEprom&lt;br /&gt;
* LM75 Temperature Sensor fitted.&lt;br /&gt;
* DIL Header 68 I/O with LVDS support&lt;br /&gt;
* 4 digit LED - removable&lt;br /&gt;
* 4 LEDs.&lt;br /&gt;
* LVDS Clock Module Header&lt;br /&gt;
* 2 push switches fitted.&lt;br /&gt;
* Preis als Raggedstone2 RS2-45T £250.00 + £25 Versand&lt;br /&gt;
&lt;br /&gt;
===== Merrick 1 - FPGA-Develeopment Array =====&lt;br /&gt;
* 10 x 10 array mit Xilinx™ Spartan™-3A DSP XC3SD3400A-4CSG484C&lt;br /&gt;
* commercial -5 and industrial -4 grade&lt;br /&gt;
* auch mit XC3SD1800A alternativ bestückbar (free Webpack™ ISE™ software!)&lt;br /&gt;
* Controller FPGA – Xilinx™ Virtex™-5 XC5VLX30T.&lt;br /&gt;
&lt;br /&gt;
===== Merrick 3 - Development Plattform mit 24 FPGAs =====&lt;br /&gt;
* 24 array FPGAs – mit entweder XC6SLX45, XC6SLX75, XC6SLX100 or XC6SLX150&lt;br /&gt;
* bis zu 180 DSP48 (18×18 multiplier + adder + accumulator) slices per FPGA&lt;br /&gt;
* bis zu 184K flip-flops&lt;br /&gt;
* bis zu 147K logic elemente&lt;br /&gt;
* bis zu 268 block SRAMs (18Kb) per array FPGA&lt;br /&gt;
* 16 DDR3 memories X16 interface at 625-800 Mbits/s&lt;br /&gt;
&lt;br /&gt;
==== Trenz-Electronic ====&lt;br /&gt;
http://www.trenz-electronic.de/products.html&lt;br /&gt;
* Kleines FPGA Board mit ucLinux und Virtex-II PowerPC, optional: ucLinux und Microblaze Softprozessor im Spartan-3 FPGA&lt;br /&gt;
* Pal/Gal kompatible FPGA und CPLD Module&lt;br /&gt;
* TE0630 (Spartan-6) Industrial Micromodule mit bis zu 34000 Gattern&lt;br /&gt;
* GigaBee XC6SLX (Spartan-6LX) Industrial Micromodule&lt;br /&gt;
* TE0320 (Spartan-3A DSP) Industrial Micromodule mit bis zu 18000 / 34000 Systemgattern&lt;br /&gt;
* TE0300 (Spartan-3E) Industrial Micromodule mit 200 bis 1000 Systemgattern&lt;br /&gt;
&lt;br /&gt;
==== Simple-Solutions ====&lt;br /&gt;
http://www.simple-solutions.de/de/products/index.php&lt;br /&gt;
Mehrere Spartan3-FPGAs - Boards&lt;br /&gt;
&lt;br /&gt;
==== ZTEX ====&lt;br /&gt;
&lt;br /&gt;
ZTEX ist Entwickler und Hersteller von FPGA-boards mit Sitz in Deutschland. Siehe http://www.ztex.de&lt;br /&gt;
&lt;br /&gt;
=====Spartan 6 LX150 USB-FPGA Module 1.15x=====&lt;br /&gt;
* Xilinx Spartan 6 LX159 FPGA (XC6SLX150)&lt;br /&gt;
* High-Speed (480 MBit/s) USB interface&lt;br /&gt;
* Cypress CY7C68013A EZ-USB FX2 Microcontroller&lt;br /&gt;
* On-board power supply&lt;br /&gt;
* 128 KBit EEPROM (e.g. for Firmware)&lt;br /&gt;
* Memory mapped I/O between EZ-USB FX2 and FPGA&lt;br /&gt;
* Optimized for cryptographic computations&lt;br /&gt;
* Allows to build low cost FPGA clusters&lt;br /&gt;
&lt;br /&gt;
=====Spartan 6 USB-FPGA Module 1.15=====&lt;br /&gt;
* High-Speed (480 MBit/s) USB interface &lt;br /&gt;
* Cypress CY7C68013A EZ-USB FX2 Microcontroller &lt;br /&gt;
* Xilinx Spartan 6 XC6SLX45 to XC6SLX150 FPGA &lt;br /&gt;
* 128 MByte DDR2 SDRAM with up to 1600 MByte/s and integrated 6 port memory controller&lt;br /&gt;
* 99 General Purpose I/O&#039;s (GPIO) &lt;br /&gt;
* 15 special I/O&#039;s (SIO) &lt;br /&gt;
* 128 KBit EEPROM (e.g. for Firmware) &lt;br /&gt;
* microSD socket for Flash memory &lt;br /&gt;
* Fast FPGA configuration using CPLD &lt;br /&gt;
* Memory mapped I/O between EZ-USB FX2 and FPGA&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=====Spartan 6 USB-FPGA Module 1.11=====&lt;br /&gt;
* High-Speed (480 MBit/s) USB interface&lt;br /&gt;
* Cypress CY7C68013A EZ-USB FX2 Microcontroller&lt;br /&gt;
* Xilinx Spartan 6 XC6SLX9 to XC6SLX25 FPGA&lt;br /&gt;
* 64 MByte DDR SDRAM with up to 800 MByte/s and integrated 6 port memory controller&lt;br /&gt;
* 90 General Purpose I/O&#039;s (GPIO)&lt;br /&gt;
* 15 special I/O&#039;s (SIO)&lt;br /&gt;
* 128 KBit EEPROM (e.g. for Firmware)&lt;br /&gt;
* microSd socket for Flash memory&lt;br /&gt;
&lt;br /&gt;
=====Spartan 3 USB-FPGA Module 1.2=====&lt;br /&gt;
* High-Speed (480 MBit/s) USB interface&lt;br /&gt;
* Cypress CY7C68013A EZ-USB FX2 Microcontroller&lt;br /&gt;
* Xilinx Spartan 3 XC3S400 FPGA&lt;br /&gt;
* 60 General Purpose I/O&#039;s (GPIO)&lt;br /&gt;
* 20 special I/O&#039;s (SIO)&lt;br /&gt;
* 128 KBit EEPROM (e.g. for Firmware)&lt;br /&gt;
* Flash memory (optionally) &lt;br /&gt;
&lt;br /&gt;
* Open Source Firmware Kit zum Programmieren&lt;br /&gt;
&lt;br /&gt;
=== Boards für Altera-FPGAs ===&lt;br /&gt;
&lt;br /&gt;
==== Gleichmann Research ====&lt;br /&gt;
&lt;br /&gt;
===== Hpe Mini AC II - Cyclone II board =====&lt;br /&gt;
* Altera Cyclone II EP2C35 FPGA (speed grade 6)&lt;br /&gt;
* Mit reprogrammierbarem Flash zur automatischen FPGA-Konfiguration&lt;br /&gt;
* 25 pin SUB-D connector (parallel) für direktes FPGA-Programmieren&lt;br /&gt;
* RS232 (9 pin SUB-D) &lt;br /&gt;
* VGA (15 pin SUB-D) mit 64 möglichen Farben&lt;br /&gt;
* Ethernet 10/100 Mbit/s, full/half duplex&lt;br /&gt;
* 1 USB 2.0 compatible full-speed target connector&lt;br /&gt;
* 3 USB 2.0 compatible full-speed host connectors&lt;br /&gt;
* Santa Cruz connector mit 40 nutzbaren I/Os&lt;br /&gt;
* Audio interface (line-in and line-out) mit CODEC&lt;br /&gt;
* SODIMM144 Sockel für (SDRAM) 256MB&lt;br /&gt;
* SDRAM-Speichersockel mit nur 32-Bit angebunden, die Hälfte des Speichers bleibt nicht nutzbar&lt;br /&gt;
* 25 MHz oscillator&lt;br /&gt;
* Prototyping area, Lötfläche&lt;br /&gt;
* 8 LEDs, grün, blau, 3x4 key matrix, 4-bit DIP switch&lt;br /&gt;
* LCD connector, 2-character 7-segment display&lt;br /&gt;
* Single step Knopf und Reset Knopf&lt;br /&gt;
* Parallelportkabel für PC&lt;br /&gt;
* Beispieldesign, Testprogramme, Datenblätter&lt;br /&gt;
* LEON3-CPU Design inkl. Source Code, Quartus IDE, SnapGear Linux&lt;br /&gt;
* Nicht mehr im Programm - war ca 399,-&lt;br /&gt;
&lt;br /&gt;
=====HM-ALC-AS3=====&lt;br /&gt;
* Modul mit zwei Altera Stratix™ III EP3S50F780-C2N FPGA oder EP3S150F780-C2N&lt;br /&gt;
* 126 single ended interconnections plus 28 LVDS pairs&lt;br /&gt;
* ALTERA USB Blaster® on board&lt;br /&gt;
* temperature controlled fan&#039;s(PWM)&lt;br /&gt;
&lt;br /&gt;
==== Terasic ====&lt;br /&gt;
Terasic ist sozusagen der Haus- und Hoflieferant für Entwicklungsboards von Altera. Praktisch alle Altera Boards werden von Terasic (Taiwan) gebaut.&lt;br /&gt;
&lt;br /&gt;
===== Altera Cyclone II 2C20 =====&lt;br /&gt;
* Altera Cyclone II EP2C20F484C7N FPGA mit 20000 LEs&lt;br /&gt;
* USB-BlasterTM download cable (integriert)&lt;br /&gt;
* EPCS4 serial configuration Flash&lt;br /&gt;
* 8-Mbyte SDRAM, 512-Kb SRAM, 4-Mbyte flash &lt;br /&gt;
* externer SMA - Clock-Eingang&lt;br /&gt;
* 24-bit Audio coder/decoder (CODEC) &lt;br /&gt;
* 10 Schalter, 4 Druckknöpfe inkl Reset &lt;br /&gt;
* 4St. 7-Segmentanzeigen, 10 rote LEDs + 8 grüne LEDs&lt;br /&gt;
* VGA, RS-232, and PS/2 Stecker&lt;br /&gt;
* Zwei 40-pin expansion ports + SD/MMC socket&lt;br /&gt;
* USB-Kabel, externes Steckernetztteil, CD-Rom&lt;br /&gt;
* Reference designs&lt;br /&gt;
* Qartus II Web Edition + NIOS II Web Edition&lt;br /&gt;
* http://www.altera.com/products/devkits/altera/kit-cyc2-2C20N.html&lt;br /&gt;
* Listenpreis $150,-&lt;br /&gt;
&lt;br /&gt;
===== Altera DE2 - Development and Education Board V2 =====&lt;br /&gt;
* Altera Cyclone II 2C35 FPGA mit 35000 LEs&lt;br /&gt;
* Altera Serial Configuration devices (EPCS16) für Cyclone II 2C35&lt;br /&gt;
* USB Blaster board zur Programmierung und User API&lt;br /&gt;
* 8 MB SDRAM, 4 MB Flash Memory, 512KB SRAM&lt;br /&gt;
* SD Card Sockel, RS-232, Ethernet, 10-bit VGA, 24-bit Audio CODEC&lt;br /&gt;
* TV Decoder (NTSC/PAL), IrDA, USB (Host + Slave)&lt;br /&gt;
* Viele Besipiel mit Source Code wie TV, SD Music Player)&lt;br /&gt;
* [http://www.fh-wedel.de/fileadmin/mitarbeiter/bos/files/VHDL/VhdlEinfuehrung.pdf Kleines aber nettes Tutorial zum Altera DE2 Dev. Board]&lt;br /&gt;
* Listenpreis US $495,-&lt;br /&gt;
&lt;br /&gt;
===== Altera DE2-115 - Development and Education Board V3 =====&lt;br /&gt;
* Altera Cyclone IV FPGA mit 115000 LEs&lt;br /&gt;
* Altera Serial Configuration device EPCS64&lt;br /&gt;
* USB Blaster zur Programmierung und für User API&lt;br /&gt;
* User-Applikations und Steuerungssoftware&lt;br /&gt;
* 128 MB SDRAM, 8 MB Flash Memory, 2 MB SRAM&lt;br /&gt;
* SD Card Sockel, RS-232, 2x GBit-Ethernet, &lt;br /&gt;
* 8-bit VGA, 24-bit Audio CODEC&lt;br /&gt;
* TV Decoder (NTSC/PAL), IrDA, USB (Host + Slave)&lt;br /&gt;
* 18 Schalter, 4 Drucktasten, PS2-Maus/Tastatur-Anschluss&lt;br /&gt;
* 27 LEDs, 16x2-LCD-Display, 8 7-Segment-Anzeigen&lt;br /&gt;
* IR-Fernsteuerung&lt;br /&gt;
* HSMC-Stecker&lt;br /&gt;
* Viele Beispiele mit Source Code wie TV, SD Music Player, Audiorecorder&lt;br /&gt;
* Listenpreis US $595,- (academic = $299,-)&lt;br /&gt;
&lt;br /&gt;
==== Cyclone III Embedded Development Kit ====&lt;br /&gt;
* Altera Cyclone III EP3C25 FPGA&lt;br /&gt;
* 640x480 LCD Display mit Touchscreen-Function&lt;br /&gt;
* MiniSD-Card Sockel&lt;br /&gt;
* Audio Interface ADC CODEC&lt;br /&gt;
* 10/100 Mbit Fast Ethernet Schnittstelle&lt;br /&gt;
* FPGA-Konfiguration über USB&lt;br /&gt;
* NIOS II EVAL Lizenz&lt;br /&gt;
* IP LIB Altera&lt;br /&gt;
* Listenpreis US $495,-  über Altera Webseite&lt;br /&gt;
* Bei EBV €349,- inkl. MwSt.&lt;br /&gt;
&lt;br /&gt;
===== DE0-Nano =====&lt;br /&gt;
* Cyclone IV EP4CE22F17C6N &lt;br /&gt;
* 32MB SDRAM&lt;br /&gt;
* 2Kb I2C-EEPROM &lt;br /&gt;
* 3-Achsen-Beschleunigungssensor ADXL345 (Analog Devices)&lt;br /&gt;
* AD-Wandler ADC128S022 (National Semiconductor)&lt;br /&gt;
* Zwei 40-Pin-GPIO-Header mit 72 verfügbaren IO-Pins&lt;br /&gt;
* On-Board-USB-Blaster zum Programmieren/Debuggen&lt;br /&gt;
* Herstellerpreis (www.terasic.com.tw): $79,- (für Studenten: $59,-)&lt;br /&gt;
* erhältlich bei Digikey&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
===== Sasco Holz PABLO =====&lt;br /&gt;
* Altera Cyclone II EP2C20F484C6N&lt;br /&gt;
* EPCS16SI16N serial configuration Flash&lt;br /&gt;
* 2x32 MByte mDDR-333 RAM (unabhängige Daten-/Adressbusse)&lt;br /&gt;
* externer SMA-Clock-Eingang&lt;br /&gt;
* 25 MHz Oszillator&lt;br /&gt;
* 3 Taster, kleiner Joystick, 4 LEDs&lt;br /&gt;
* AD7843 SPI touch controller&lt;br /&gt;
* RS-232&lt;br /&gt;
* 2x Santa Cruz connector&lt;br /&gt;
* 60-Pin TFT, 14-Pin GPIO Wannenstecker&lt;br /&gt;
* 10-Pin JTAG &amp;amp; 10-Pin Passiv Seriell Wannenstecker&lt;br /&gt;
* Netzteil, CD-ROM&lt;br /&gt;
* [http://web.archive.org/web/20080907191153/http://www.sascoholz.com/designsupport/solutions/pablo http://www.sascoholz.com/designsupport/solutions/pablo]&lt;br /&gt;
* kein Programmierkabel, kein Kaltgerätekabel&lt;br /&gt;
* Restmengen hin und wieder günstig beim großen E&lt;br /&gt;
&lt;br /&gt;
=== Boards für Lattice-FPGAs ===&lt;br /&gt;
==== LatticeXP2 Brevia Development Kit ====&lt;br /&gt;
* FPGA: LFXP2-5E-6TN144C (non-volatile Konfiguration!)&lt;br /&gt;
* 2 MBit SPI-Flash, 1 MBit SRAM&lt;br /&gt;
* JTAG-Interface, RS232 (Sub-D-Buchse)&lt;br /&gt;
* Pinleisten: 2x20 und 2x5&lt;br /&gt;
* 4 Taster (+1 Reset-Taster), 4 DIP-Schalter, 8 LEDs&lt;br /&gt;
* Inkl. parallelem ISP-Download-Kabel, seriellem Nullmodem-Kabel, 6V/1A-Schaltnetzteil&lt;br /&gt;
* Offizielle [http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2breviadevelopmentkit.cfm Produktbeschreibung von Lattice]&lt;br /&gt;
* Lieferant: [http://de.mouser.com/ProductDetail/Lattice/LFXP2-5E-B2-EVN/?qs=sGAEpiMZZMtvzEnwIFtdJf1kwhjc34f7 Mouser Electronics] 40,43 Euro +MwSt. (Lieferung nach Deutschland ohne zusätzliche Kosten problemlos möglich)&lt;br /&gt;
* Software kostenlos bei [http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2breviadevelopmentkit.cfm Lattice] (Quick-Start, User&#039;s Guide, EDA, Reference Designs, 8-/32-Bit Soft-Cores Mico8/Mico32 etc.)&lt;br /&gt;
==== Weitere ====&lt;br /&gt;
* www.hardware-design.de&lt;br /&gt;
* bietet verschiedene einfache Boards mit Lattice-Bausteinen an&lt;br /&gt;
* FPGA-Board mit XP2-17/XP2-8/XP2-5 -&amp;gt; 113,- bis 101,- Euro&lt;br /&gt;
* CPLD-Boards u.a. mit MachXO640 -&amp;gt; 89,- Euro&lt;br /&gt;
&lt;br /&gt;
=== Boards für Actel-FPGAs ===&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Liste von UC Eval boards]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FPGA-Boards]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66577</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66577"/>
		<updated>2012-05-30T15:10:44Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Literatur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind in vielen Fällen verpflichtet, ein gewisses Maß an Überstunden zu leisten, auch wenn diese nicht durch Gleitzeit ausgegliechen werden. Nicht immer werden diese finanziell zusätzlich abgegolten. Dies kann - muss aber nicht - Bestandteil des Vertrages sein, wenn eine festgelegte Menge an Überstunden im Vertrag benannt ist, die mit abgegolten sind. Freiberufler haben dieses Problem dann nicht, wenn sie wie beim Dienstvertrag alle Zeiten auf die Rechnung schreiben können. Sie können sogar Überstunden ablehnen, da sie nicht weisungsgebunden sind. Praktisch werden vom Freiberufler aber Liefertermine gefordert und der Dienstvertrag gekündigt, wenn sie zu wenige Stunden bringen können, wie im Fall eines Unfalls oder Krankheit. Der Dienstvertrag kann dann einseitig vom Projektgeber gekündigt werden oder es kann Ersatz in Form von Personal vom Freiberufler gefordert werden, sofern dies im Vertrag vereinbart worden ist. Die meisten Freiberufler lassen diesen Paragraphen i.d.R steichen. Freiberufler, die einen Werkvertrag haben, sind in der Zeitgestaltung komplett frei, sie müssen aber aus praktischen Gründen oftmals mehr Überstunden machen, da die Liefertermine verbindlich(er) sind. Diese Überstunden werden auch nicht gezahlt. Daher ist es nötig, bei Werkverträgen, einige Überstunden für Unvorhersehbares einzukalulieren und trotzdem Termine zu nennen, die noch Luft für etwas Krankheit haben.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Vertragserfüllung ==&lt;br /&gt;
&lt;br /&gt;
*Im Falle der Dienstverträge wird in einem Vertrag ein Stundensatz festgelegt, der für die Projektdauer gilt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden. Unerheblich und sogar kontraprodutiv ist das Festhalten dann, wenn vermieden werden soll, dass offenbar wird, dass es sich um einen scheinbaren Werkvertrag handelt. Bei echten Werkverträgen, wird ein Arbeitsergebnis und etwaiger Liefertermin bestimmt und ein Gesamtpreis festgelegt, der teilweis in Teilbeträgen gezahlt wird. so ist es üblich, eine 10% Anzahlung bei Vertragsschluss zu leisten und zum Vertragsende 90% der Gesamtrechung zu begleichen. 10% hält sich der Auftraggeber zurück, um etwaige Nacharbeiten einfordern zu können. Bei Dienstverträgen endet das Verhältnis mit dem Tage der Beendigung. In beiden Fällen bestehen aber meistens Verpflichtungen für den Projektnehmer, kostenlose Nachbesserungen vorzunehmen, wenn sich Fehler offenbaren. Diese Pflicht ist immer auf eine bestimmte Dauer nach der offiziellen Endabnahme begrenzt, liegt aber in der Praxis zwischen 2 Wochen und bis zu 7 Jahren!&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats oder eines zu vereinbarenden Zeitraums wird eine Rechnung erstellt. Diese unterliegt bei Inlandsrechnungen der gesetzlichen Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein. Im aktuellen Projektgeschäft werden sogenannte all-in Stundensätze verhandelt, in denen alles enthalten ist. Der Freiberufler muss selbst rechnen, wie hoch er den Satz ansetzen muss, um wirtschaftlich sein zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Im Bereich der IT und des IT-nahen engineering wird vermehrt beobachtet, dass Konzerne eine Stundensatzdeckelung vornehmen, die dazu führt, dass gute Freiberufler mit hochwertiger Ausbildung und viel Erfahrung nicht besetzt werden können, weil der Marktpreis zu hoch ist. Will ein Abteilungs- oder Projektleiter dann dennoch besetzen, so erfolgen imer häufiger Nebenabreden, dass mehr Stunden geschrieben werden, als real erbracht wurden. Der Stundensatzkorrekturfaktor errechnet sich zu: Erfassungszeit = RealeZeit * (Zielstundensatz / Nominalstundensatz). Somit kann ein Projektnehmer z.B. 44h die Woche abrechnen, statt 40h, wenn er statt der gwünschten 66,-/h nur 60,- erhalten darf. Das Problem, dass hierbei entsteht ist einmal, dass die Stundensaätze nicht mehr vergleichbar werden und zudem der Auftragsvermittler durch die Scheinstunden mehr verdient, wenn er keinen prozentualen- sondern einen statischen Aufschlag von z.B. 10,- pro Stunde bekommt.&lt;br /&gt;
&lt;br /&gt;
== Vergleich des Einkommens von Angestelltem und Freiberufler ==&lt;br /&gt;
Einkommen, Besteuerung und Nettoverdienst unterscheiden sich bei beiden:&lt;br /&gt;
&lt;br /&gt;
* Der Angestellte erhält ein Bruttogehalt, von dem er Werbungskosten wie Bücher, Fahrten zum Arbeitplatz abziehen kann. Von diesem Gehalt wird die Lohnsteuer und Kirchensteuer abgezogen, sowie die AN-Anteile der Sozialversicherungen. Ferner bekommt er die AG-Anteile zu den Sozialversicherungen (Krankenkasse, Pflegeversicherung, Rentenversicherung und Arbeitslosenversicherung) vom Arbeitgeber steuerfrei hinzu.&lt;br /&gt;
&lt;br /&gt;
* Der Freiberufler zieht von allen Umsätzen (&amp;quot;Erlöse&amp;quot;) die betriebsbedingten Kosten ab, führt die Umsatzsteuer ab, die er vom Auftraggeber bekommen hat und rechnet virtuelle Privatanteile (besonders für den Geschäftswagen, Telefon etc,) hinzu und erhält daraus den geschäftlichen Gewinn. Privatanteile muss er zusätzlich umsatzversteuern. Dieser Gewinn wird dem Freiberufler vollständig als Einkommen gewertet und unterliegt der Einkommensteuer. Werbungskosten wie Bücher, Fahrten zum Arbeitplatz kann er nicht abziehen, da er in keinem abhängigen Verhältnis steht. Kosten dieser Art müssen, so möglich, im geschäftlichen Bereich gewinnmindernd verbucht werden. Von diesem Einkommen kann der Freiberufler Teile der Krankenkasse und anderer Aufwendungen steuerlich geltend machen, bevor sich die Summe des zu versteuernden Einkommens berechnet. Aufgrund der komplett steuerfreien AG-Anteile steht der Freiberufler hier schlechter, weshalb ihm bei einem bestimmten Gewinn immer weniger Netto (und der Rentenkasse) bleibt, als bei einem gleich hohen Bruttogehalt, was bei den Stundensätzen entsprechend berücksichtigt werden muss.&lt;br /&gt;
&lt;br /&gt;
Ein Rechenbeispiel befindet sich hier:&lt;br /&gt;
http://www.mikrocontroller.net/topic/225269#2263497&lt;br /&gt;
&lt;br /&gt;
Bei einem Vergleichsgehalt von 65.000 Euro Brutto muss danach im günstigsten Fall (längere Projektdauer, gute Auslastung, wenig Zeitverlust, kaum Fahrten zum Kunden) mindestens ein Stundensatz von 63,- Euro/Stunde erhoben werden. Um dasselbe Vergleichsbrutto mit ungünstigeren Projektbedingungen (100% vorort, längere Fahrten, Unterkunft und kurze Projekte mit mehr Zeitverlust fürs Suchen) müssten über 80 Euro / Stunde verrechnet werden.&lt;br /&gt;
&lt;br /&gt;
Typische Stundensätze im Bereich Engineering und IT liegen um 70,- bis 80,- die Stunde, für längere Einsätze in etwa 10,- darunter, für sehr kurze Einsätze im Bereich von Tagen bei 100,- bis 180,- Euro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66576</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66576"/>
		<updated>2012-05-30T14:34:32Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Vertragserfüllung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind in vielen Fällen verpflichtet, ein gewisses Maß an Überstunden zu leisten, auch wenn diese nicht durch Gleitzeit ausgegliechen werden. Nicht immer werden diese finanziell zusätzlich abgegolten. Dies kann - muss aber nicht - Bestandteil des Vertrages sein, wenn eine festgelegte Menge an Überstunden im Vertrag benannt ist, die mit abgegolten sind. Freiberufler haben dieses Problem dann nicht, wenn sie wie beim Dienstvertrag alle Zeiten auf die Rechnung schreiben können. Sie können sogar Überstunden ablehnen, da sie nicht weisungsgebunden sind. Praktisch werden vom Freiberufler aber Liefertermine gefordert und der Dienstvertrag gekündigt, wenn sie zu wenige Stunden bringen können, wie im Fall eines Unfalls oder Krankheit. Der Dienstvertrag kann dann einseitig vom Projektgeber gekündigt werden oder es kann Ersatz in Form von Personal vom Freiberufler gefordert werden, sofern dies im Vertrag vereinbart worden ist. Die meisten Freiberufler lassen diesen Paragraphen i.d.R steichen. Freiberufler, die einen Werkvertrag haben, sind in der Zeitgestaltung komplett frei, sie müssen aber aus praktischen Gründen oftmals mehr Überstunden machen, da die Liefertermine verbindlich(er) sind. Diese Überstunden werden auch nicht gezahlt. Daher ist es nötig, bei Werkverträgen, einige Überstunden für Unvorhersehbares einzukalulieren und trotzdem Termine zu nennen, die noch Luft für etwas Krankheit haben.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Vertragserfüllung ==&lt;br /&gt;
&lt;br /&gt;
*Im Falle der Dienstverträge wird in einem Vertrag ein Stundensatz festgelegt, der für die Projektdauer gilt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden. Unerheblich und sogar kontraprodutiv ist das Festhalten dann, wenn vermieden werden soll, dass offenbar wird, dass es sich um einen scheinbaren Werkvertrag handelt. Bei echten Werkverträgen, wird ein Arbeitsergebnis und etwaiger Liefertermin bestimmt und ein Gesamtpreis festgelegt, der teilweis in Teilbeträgen gezahlt wird. so ist es üblich, eine 10% Anzahlung bei Vertragsschluss zu leisten und zum Vertragsende 90% der Gesamtrechung zu begleichen. 10% hält sich der Auftraggeber zurück, um etwaige Nacharbeiten einfordern zu können. Bei Dienstverträgen endet das Verhältnis mit dem Tage der Beendigung. In beiden Fällen bestehen aber meistens Verpflichtungen für den Projektnehmer, kostenlose Nachbesserungen vorzunehmen, wenn sich Fehler offenbaren. Diese Pflicht ist immer auf eine bestimmte Dauer nach der offiziellen Endabnahme begrenzt, liegt aber in der Praxis zwischen 2 Wochen und bis zu 7 Jahren!&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats oder eines zu vereinbarenden Zeitraums wird eine Rechnung erstellt. Diese unterliegt bei Inlandsrechnungen der gesetzlichen Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein. Im aktuellen Projektgeschäft werden sogenannte all-in Stundensätze verhandelt, in denen alles enthalten ist. Der Freiberufler muss selbst rechnen, wie hoch er den Satz ansetzen muss, um wirtschaftlich sein zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Im Bereich der IT und des IT-nahen engineering wird vermehrt beobachtet, dass Konzerne eine Stundensatzdeckelung vornehmen, die dazu führt, dass gute Freiberufler mit hochwertiger Ausbildung und viel Erfahrung nicht besetzt werden können, weil der Marktpreis zu hoch ist. Will ein Abteilungs- oder Projektleiter dann dennoch besetzen, so erfolgen imer häufiger Nebenabreden, dass mehr Stunden geschrieben werden, als real erbracht wurden. Der Stundensatzkorrekturfaktor errechnet sich zu: Erfassungszeit = RealeZeit * (Zielstundensatz / Nominalstundensatz). Somit kann ein Projektnehmer z.B. 44h die Woche abrechnen, statt 40h, wenn er statt der gwünschten 66,-/h nur 60,- erhalten darf. Das Problem, dass hierbei entsteht ist einmal, dass die Stundensaätze nicht mehr vergleichbar werden und zudem der Auftragsvermittler durch die Scheinstunden mehr verdient, wenn er keinen prozentualen- sondern einen statischen Aufschlag von z.B. 10,- pro Stunde bekommt.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66575</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66575"/>
		<updated>2012-05-30T14:31:07Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Erfüllung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind in vielen Fällen verpflichtet, ein gewisses Maß an Überstunden zu leisten, auch wenn diese nicht durch Gleitzeit ausgegliechen werden. Nicht immer werden diese finanziell zusätzlich abgegolten. Dies kann - muss aber nicht - Bestandteil des Vertrages sein, wenn eine festgelegte Menge an Überstunden im Vertrag benannt ist, die mit abgegolten sind. Freiberufler haben dieses Problem dann nicht, wenn sie wie beim Dienstvertrag alle Zeiten auf die Rechnung schreiben können. Sie können sogar Überstunden ablehnen, da sie nicht weisungsgebunden sind. Praktisch werden vom Freiberufler aber Liefertermine gefordert und der Dienstvertrag gekündigt, wenn sie zu wenige Stunden bringen können, wie im Fall eines Unfalls oder Krankheit. Der Dienstvertrag kann dann einseitig vom Projektgeber gekündigt werden oder es kann Ersatz in Form von Personal vom Freiberufler gefordert werden, sofern dies im Vertrag vereinbart worden ist. Die meisten Freiberufler lassen diesen Paragraphen i.d.R steichen. Freiberufler, die einen Werkvertrag haben, sind in der Zeitgestaltung komplett frei, sie müssen aber aus praktischen Gründen oftmals mehr Überstunden machen, da die Liefertermine verbindlich(er) sind. Diese Überstunden werden auch nicht gezahlt. Daher ist es nötig, bei Werkverträgen, einige Überstunden für Unvorhersehbares einzukalulieren und trotzdem Termine zu nennen, die noch Luft für etwas Krankheit haben.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Vertragserfüllung ==&lt;br /&gt;
&lt;br /&gt;
*Im Falle der Dienstverträge wird in einem Vertrag ein Stundensatz festgelegt, der für die Projektdauer gilt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden. Unerheblich und sogar kontraprodutiv ist das Festhalten dann, wenn vermieden werden soll, dass offenbar wird, dass es sich um einen scheinbaren Werkvertrag handelt. Bei echten Werkverträgen, wird ein Arbeitsergebnis und etwaiger Liefertermin bestimmt und ein Gesamtpreis festgelegt, der teilweis in Teilbeträgen gezahlt wird. so ist es üblich, eine 10% Anzahlung bei Vertragsschluss zu leisten und zum Vertragsende 90% der Gesamtrechung zu begleichen. 10% hält sich der Auftraggeber zurück, um etwaige Nacharbeiten einfordern zu können. Bei Dienstverträgen endet das Verhältnis mit dem Tage der Beendigung. In beiden Fällen bestehen aber meistens Verpflichtungen für den Projektnehmer, kostenlose Nachbesserungen vorzunehmen, wenn sich Fehler offenbaren. Diese Pflicht ist immer auf eine bestimmte Dauer nach der offiziellen Endabnahme begrenzt, liegt aber in der Praxis zwischen 2 Wochen und bis zu 7 Jahren!&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats oder eines zu vereinbarenden Zeitraums wird eine Rechnung erstellt. Diese unterliegt bei Inlandsrechnungen der gesetzlichen Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
*Im Bereich der IT und des IT-nahen engineering wird vermehrt beobachtet, dass Konzerne eine Stundensatzdeckelung vornehmen, die dazu führt, dass gute Freiberufler mit hochwertiger Ausbildung und viel Erfahrung nicht besetzt werden können, weil der Marktpreis zu hoch ist. Will ein Abteilungs- oder Projektleiter dann dennoch besetzen, so erfolgen imer häufiger Nebenabreden, dass mehr Stunden geschrieben werden, als real erbracht wurden. Der Stundensatzkorrekturfaktor errechnet sich zu: Erfassungszeit = RealeZeit * (Zielstundensatz / Nominalstundensatz). Somit kann ein Projektnehmer z.B. 44h die Woche abrechnen, statt 40h, wenn er statt der gwünschten 66,-/h nur 60,- erhalten darf. Das Problem, dass hierbei entsteht ist einmal, dass die Stundensaätze nicht mehr vergleichbar werden und zudem der Auftragsvermittler durch die Scheinstunden mehr verdient, wenn er keinen prozentualen- sondern einen statischen Aufschlag von z.B. 10,- pro Stunde bekommt.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66574</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66574"/>
		<updated>2012-05-30T14:23:08Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Arbeitnehmer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind in vielen Fällen verpflichtet, ein gewisses Maß an Überstunden zu leisten, auch wenn diese nicht durch Gleitzeit ausgegliechen werden. Nicht immer werden diese finanziell zusätzlich abgegolten. Dies kann - muss aber nicht - Bestandteil des Vertrages sein, wenn eine festgelegte Menge an Überstunden im Vertrag benannt ist, die mit abgegolten sind. Freiberufler haben dieses Problem dann nicht, wenn sie wie beim Dienstvertrag alle Zeiten auf die Rechnung schreiben können. Sie können sogar Überstunden ablehnen, da sie nicht weisungsgebunden sind. Praktisch werden vom Freiberufler aber Liefertermine gefordert und der Dienstvertrag gekündigt, wenn sie zu wenige Stunden bringen können, wie im Fall eines Unfalls oder Krankheit. Der Dienstvertrag kann dann einseitig vom Projektgeber gekündigt werden oder es kann Ersatz in Form von Personal vom Freiberufler gefordert werden, sofern dies im Vertrag vereinbart worden ist. Die meisten Freiberufler lassen diesen Paragraphen i.d.R steichen. Freiberufler, die einen Werkvertrag haben, sind in der Zeitgestaltung komplett frei, sie müssen aber aus praktischen Gründen oftmals mehr Überstunden machen, da die Liefertermine verbindlich(er) sind. Diese Überstunden werden auch nicht gezahlt. Daher ist es nötig, bei Werkverträgen, einige Überstunden für Unvorhersehbares einzukalulieren und trotzdem Termine zu nennen, die noch Luft für etwas Krankheit haben.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Erfüllung ==&lt;br /&gt;
&lt;br /&gt;
*Im Falle der Dienstverträge wird in einem Vertrag ein Stundensatz festgelegt, der für die Projektdauer gilt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden. Unerheblich und sogar kontraprodutiv ist das Festhalten dann, wenn vermieden werden soll, dass offenbar wird, dass es sich um einen scheinbaren Werkvertrag handelt. Bei echten Werkverträgen, wird ein Arbeitsergebnis und etwaiger Liefertermin bestimmt und ein Gesamtpreis festgelegt, der teilweis in Teilbeträgen gezahlt wird. so ist es üblich, eine 10% Anzahlung bei Vertragsschluss zu leisten und zum Vertragsende 90% der Gesamtrechung zu begleichen. 10% hält sich der Auftraggeber zurück, um etwaige Nacharbeiten einfordern zu können. Bei Dienstverträgen endet das Verhältnis mit dem Tage der Beendigung. In beiden Fällen bestehen aber meistens Verpflichtungen für den Projektnehmer, kostenlose Nachbesserungen vorzunehmen, wenn sich Fehler offenbaren. Diese Pflicht ist immer auf eine bestimmte Dauer nach der offiziellen Endabnahme begrenzt, liegt aber in der Praxis zwischen 2 Wochen und bis zu 7 Jahren!&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats oder eines zu vereinbarenden Zeitraums wird eine Rechnung erstellt. Diese unterliegt bei Inlandsrechnungen der gesetzlichen Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66573</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66573"/>
		<updated>2012-05-30T14:15:37Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Erfüllung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind verpflichtet, ein gewisses Maß an Überstunden zu leisten. Nicht immer werden diese abgegolten. Freiberufler haben dieses Problem nicht, sie schreiben alle Zeiten auf die Rechnung.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Erfüllung ==&lt;br /&gt;
&lt;br /&gt;
*Im Falle der Dienstverträge wird in einem Vertrag ein Stundensatz festgelegt, der für die Projektdauer gilt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden. Unerheblich und sogar kontraprodutiv ist das Festhalten dann, wenn vermieden werden soll, dass offenbar wird, dass es sich um einen scheinbaren Werkvertrag handelt. Bei echten Werkverträgen, wird ein Arbeitsergebnis und etwaiger Liefertermin bestimmt und ein Gesamtpreis festgelegt, der teilweis in Teilbeträgen gezahlt wird. so ist es üblich, eine 10% Anzahlung bei Vertragsschluss zu leisten und zum Vertragsende 90% der Gesamtrechung zu begleichen. 10% hält sich der Auftraggeber zurück, um etwaige Nacharbeiten einfordern zu können. Bei Dienstverträgen endet das Verhältnis mit dem Tage der Beendigung. In beiden Fällen bestehen aber meistens Verpflichtungen für den Projektnehmer, kostenlose Nachbesserungen vorzunehmen, wenn sich Fehler offenbaren. Diese Pflicht ist immer auf eine bestimmte Dauer nach der offiziellen Endabnahme begrenzt, liegt aber in der Praxis zwischen 2 Wochen und bis zu 7 Jahren!&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats oder eines zu vereinbarenden Zeitraums wird eine Rechnung erstellt. Diese unterliegt bei Inlandsrechnungen der gesetzlichen Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66572</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66572"/>
		<updated>2012-05-30T14:09:06Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Angebot an Freiberufler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind verpflichtet, ein gewisses Maß an Überstunden zu leisten. Nicht immer werden diese abgegolten. Freiberufler haben dieses Problem nicht, sie schreiben alle Zeiten auf die Rechnung.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebote an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, zeitlich und fachlich begrenzt, was das Wesensmerkmal des Projektes als Werkvertrag erfüllt. Sind sie zeitlich unbegrenzt, liegt meistens ein Dienstvertrag vor. Die fachliche Definition bedeutet mithin aber auch, dass Mindestanforderungen in diesen Bereichen erforderlich sind, die beachtet werden müssen. Angebote umfassen im Fall des Wekrvertrages immer die Aufgabenbeschreibung des Anbieters sowie einen Zeitplan und Liefertermin. Im Bereich der Dienstverträge besteht ein Arbeitsablauf ähnlich dem, des Angestellten, der sehr zeitorientiert beschäaftigt ist, d.h. Ablauf und Termine sind offen(er).&lt;br /&gt;
&lt;br /&gt;
* Eine Bewerbrung auf ein Angebot enthält oft eine Skillslist, die den Freiberufler charakterisiert, sodass der Projektanbieter ersehen kann, was der Freiberufler bisher gemacht hat und u.U. auch wo. Z.B. werden in der skill list alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen). Dabei ist jedoch zu beachten, dass viele Verträge über Vermittler zustande kommen, die nicht daran interessiert sind, die Namen und Adressen von Kunden und Ansprechpartnern zu veröffentlichen. Die Preisgabe dieser Information ist auch in vielen Verträgen ausdrücklich untersagt. Speziell Projektinhalte dürfen oft nicht offengelegt werden, wenn in Sicherheitsbereichen wie Militär oder Staat gearbeitet wurde, oder es sich bei dem Projekt um eine Vorentwicklung handelt, deren Benennung im Markt seitens des Kunden nicht erwünscht ist. Dem Freiberufler sind damit die Möglichkeiten, Referenten zu nennen, stark eingeschränkt.&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB. Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Erfüllung ==&lt;br /&gt;
&lt;br /&gt;
*In der Regel wird in einem Vertrag ein Stundensatz festgelegt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden.&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats wird eine Rechnung erstellt. Diese unterliegt in der Regel der Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66571</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66571"/>
		<updated>2012-05-30T13:59:52Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Freiberufler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind verpflichtet, ein gewisses Maß an Überstunden zu leisten. Nicht immer werden diese abgegolten. Freiberufler haben dieses Problem nicht, sie schreiben alle Zeiten auf die Rechnung.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung ((Rentenversicherung und Krankenversicherung). Sie können daher eigene Versicherungen auf freiwilliger Basis abschließen (sowohl gesetzlich, als auch privat.) Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Die freiwillige gesetzliche Versicherung ist in der Regel teurer und u.Z. unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachteilig werden kann. Diese Überlegungen sollten auf Kranken- Renten- aber auch Unfall-, Rechtsschutz- und Berufsunfähigkeitsversicherung, sowie eine Berufshaftpflichtversicherung angewendet werden. Der Freiberufler benötigt hier im Ggs zum Angestellten mehr Absicherung, vor allem in rechtlicher hinsicht.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebot an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, fachlich, zeitlich und fachlich bestimmt, dies bedeutet, dass sie Mindestanforderungen in diesen Bereichen erfordern. Es ist in der Regel unsinnig, diese nicht zu beachten. Angebote umfassen auch die Aufgabenbeschreibung des Anbieters.&lt;br /&gt;
&lt;br /&gt;
* Ein Angebot enthält eine Skillslist, die der Freiberufler abgibt. Der Anbietende muss ersehen können, was der Freiberufler bisher so gemacht hat und wo. Ich habe in meiner Skillslist alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden werden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen).&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Erfüllung ==&lt;br /&gt;
&lt;br /&gt;
*In der Regel wird in einem Vertrag ein Stundensatz festgelegt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden.&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats wird eine Rechnung erstellt. Diese unterliegt in der Regel der Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66570</id>
		<title>Freiberufler und Angestellte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Freiberufler_und_Angestellte&amp;diff=66570"/>
		<updated>2012-05-30T13:56:14Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Freiberufler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Freiberufler oder Angestellter? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allgemeines ==&lt;br /&gt;
* Abhängige Arbeit oder &#039;weisungsgebundene Arbeit&#039; liegt vor, wenn der Dienstenehmer ausschließlich oder überwiegend nach Anweisung des Auftraggebers handelt. Diese Form des Arbeitens wird durch Arbeitsverträge -und meistens- auch durch Tarifverträge bestimmt. Als Arbeitnehmer bezeichnet man Personen, die einen solchen Arbeitsvertrag geschlossen haben. Alle anderen sind Freiberufler.&lt;br /&gt;
&lt;br /&gt;
==Arbeitnehmer==&lt;br /&gt;
* Arbeitsverträge sind vom Gedanken der Fürsorgepflicht gegenüber dem Arbeitnehmer bestimmt, Verträge dieser Art unterliegen auch dem Arbeitsschutzrecht, der Arbeitszeitordnung und anderen Gesetzen. Auch die Teilnahme am Sozialsystem entspringt dem Gedanken der Fürsorge gegenüber dem Arbeitnehmer. Durch die Verpflichtung zur Teilnahme sinkt allerdings der Gestaltungsspielraum des Arbeitnehmers. &lt;br /&gt;
&lt;br /&gt;
* Arbeitnehmer sind verpflichtet, ein gewisses Maß an Überstunden zu leisten. Nicht immer werden diese abgegolten. Freiberufler haben dieses Problem nicht, sie schreiben alle Zeiten auf die Rechnung.&lt;br /&gt;
&lt;br /&gt;
== Freiberufler==&lt;br /&gt;
* Freiberufler sind Dienstvertragsnnehmer oder Werksvertragsnehme. Es handelt sich oft um Spezialisten, deren Wissen nur kurze Zeit benötigt wird. Sie sind von der Pflicht zur gesetzlichen Sozialversicherung (Rentenversicherung und Krankenversicherung) ausgenommen und können sich daher freiwillig versichern. Privat versichern kann sich jeder, der über den gesetzlichen Grenzwerten liegt. (Krankenkasse ca 44k, Rente ca 64k). Freiwillige gesetzliche Versicherung ist in der Regel teurer und unproduktiv, da weniger Leistungen bei inzwischen gleichen Sätzen gewährt werden. Die private Versicherungen sind u.U. günstiger, bergen aber den Nachteil der indirekt an die wirtschaftlichen Erfolge der Versicherungsunternehmen gekoppelten Verträge, was im Alter besonders bei der Krankenkasse sehr nachtielige werden kann. Ein Freiberufler braucht in der Regel keinen Meisterbrief, es gibt allerdings Branchen, in denen er vorgeschrieben ist. Ein Freiberufler besitzt keinen Gewerbeschein, gilt aber als geschäftlich tätig. Einen Gewerbeschein benötigt nur der Gewerbetreibende, als die geschäftlich Tätigen, die nicht als Freiberufler gelten. Freiberufler ist, wer einen der typischen Katalogberuf ausübt, sowie nach der Rechtsprechung auch der, der eine den Katalogberufen ähnliche Tätigkeit ausübt. Der Freiberuflerstatus ist streng genommen für jede individuelle Tätigkeit und jedes Projekt neu zu bewerten. Ungeachtet dessen kommen Rentenversicherung und Finanzamt mitunter zu  gegenteiligen Ergebnissen bei der Bewertung, was dazu führen kann, dass zwar der Freiberuflerstatus besteht, jedoch Rentenversicherungspflicht für ein Projekt entsteht.&lt;br /&gt;
&lt;br /&gt;
* Scheinselbständige sind Freiberufler, die langfristig z.B. ausschließlich für einen Auftraggeber tätig sind. Hier handelt es sich oft um Versuche, die Zwänge des Sozialrechts zu umgehen. Die Rechtsprechung ändert sich hier permanent, meistens zu Gunsten der Freiberufler. Genauere Informationen haben Steuerberater und die IHKs.&lt;br /&gt;
&lt;br /&gt;
* Freiberufler unterliegen nicht dem Zwang zur gesetzlichen Sozialversicherung. Sie können daher eigene Versicherungen auf privater Basis abschließen. Diese Überlegungen sollten vorwiegend auf Kranken- Unfall- Renten- Rechtsschutz- und Berufsunfähigkeitsversicherung, aber auch auf eine Berufshaftpflichtversicherung angewendet werden.&lt;br /&gt;
&lt;br /&gt;
==Marktteilnehmer Auftraggeber ==&lt;br /&gt;
* Zeitarbeitsunternehmen haben Angestellte, die einen normalen Arbeitsvertrag abgeschlossen haben und die Arbeiten für andere leisten. Sie werden  vom Vertragspartner bezahlt. Vorteil ist für den Arbeitnehmer das Sammeln von Erfahrung in verschiedenen Firmen und Projekten, nachteilig sind oft die geringeren Bezüge und die Ungewissheit. Die Firma ist verpflichtet, für eine konstante Beschäftigung zu sorgen.&lt;br /&gt;
&lt;br /&gt;
* Vermittler sind Unternehmen, die Freiberufler in Projekte vermitteln. Ihre Tätigkeit beginnt mit der Ausschreibung im Projekt und endet nach Ablauf des Dienstvertrages. Die Vermittler üben aber keine Projektarbeit aus. Projektbörsen sind typische Vermittler.&lt;br /&gt;
&lt;br /&gt;
* Dienstleister sind Firmen, die Projekte in anderen Firmen durchführen und dabei auch Freiberufler einsetzen. Die Dienstleister führen das gesamte Projekt durch.&lt;br /&gt;
&lt;br /&gt;
* Für den Freiberufler ist die Zusammenarbeit mit einem Vermittler vorteilhaft, weil der Vermittler für die Bezüge haftet, wenn der Kunde die Zahlung verweigert. Dieses ist natürlich erst bei einer gewissen Größe der Vermittler ein Kriterium.&lt;br /&gt;
&lt;br /&gt;
== Angebot an Freiberufler==&lt;br /&gt;
&lt;br /&gt;
* Angebote sind meistens räumlich, fachlich, zeitlich und fachlich bestimmt, dies bedeutet, dass sie Mindestanforderungen in diesen Bereichen erfordern. Es ist in der Regel unsinnig, diese nicht zu beachten. Angebote umfassen auch die Aufgabenbeschreibung des Anbieters.&lt;br /&gt;
&lt;br /&gt;
* Ein Angebot enthält eine Skillslist, die der Freiberufler abgibt. Der Anbietende muss ersehen können, was der Freiberufler bisher so gemacht hat und wo. Ich habe in meiner Skillslist alle Projekte der letzten 10 Jahre aufgelistet, aber die Namen der Kunden werden erst ein Jahr nach dem Abschluss des Auftrages hinzugefügt. (Ausnahme: Referenzen).&lt;br /&gt;
&lt;br /&gt;
* Angebote, die unter Verwendung von virtuellen Marktplätzen (zB Xing) zustande kommen, haben in der Regel eine ausführliche Projektliste des Freiberuflers im Internet erkennbar. Nicht jeder Auftraggeber findet das gut, hier ist Fingerspitzengefühl erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Erfüllung ==&lt;br /&gt;
&lt;br /&gt;
*In der Regel wird in einem Vertrag ein Stundensatz festgelegt. Um die gearbeiteten Stunden nachzuweisen, müssen diese in geeigneter Form erfasst werden. Die Art der Festlegung und die Person, die den Stundennachweis unterschreibt, sollten ebenfalls im Vertrag festgehalten werden.&lt;br /&gt;
&lt;br /&gt;
* Am Ende eines Monats wird eine Rechnung erstellt. Diese unterliegt in der Regel der Mehrwertsteuer. Im Vertrag sollten weitere Modalitäten der Rechnungserstellung (zB Reisekosten, Ab/Anfahrt usw) enthalten sein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.amazon.de/Privatrecht-Wolfgang-Kallwass/dp/3800637383/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295516334&amp;amp;sr=8-1 Privatrecht] von Wolfgang Kallwass, ISBN 978-3800637386; ist eine sehr gute Einführung in das allgemeine Privatrecht, auch für Nichtjuristen verständlich geschrieben.&lt;br /&gt;
* [http://www.fliptronics.com/consult.html About Consultancy], Tips für Freiberufler von einem Freiberufler, informativ und witzig, engl.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Speicher&amp;diff=66215</id>
		<title>Speicher</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Speicher&amp;diff=66215"/>
		<updated>2012-05-11T15:58:08Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* DDR3-SDRAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Bereich der Mikrocontroller gibt es viele verschiedene Arten von Speicher.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Typ       || Geschwindigkeit || Größe  || Schreibzugriffe    || Datenerhalt ohne Spannung 	&lt;br /&gt;
|-&lt;br /&gt;
| RAM       || ++++            || ++++   || beliebig oft       || nein&lt;br /&gt;
|-&lt;br /&gt;
| EPROM     || +               || +++    || ~1000              || ja&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM    || +               || +++    || 10.000-1.000.000   || ja&lt;br /&gt;
|-&lt;br /&gt;
| FLASH-ROM || ++              || +++++  || 1000-10.000        || ja&lt;br /&gt;
|-&lt;br /&gt;
| OTP-ROM   || +               || +++    || einmal             || ja&lt;br /&gt;
|-&lt;br /&gt;
| Register  || ++++++          || +      || beliebig oft       || nein&lt;br /&gt;
|-&lt;br /&gt;
| F-RAM||++++||+++||beliebig oft||ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Angaben von Geschwindigkeit und Größe sind nur prinzipiell dargestellt.&lt;br /&gt;
&lt;br /&gt;
== RAM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;andom &#039;&#039;&#039;A&#039;&#039;&#039;ccess &#039;&#039;&#039;M&#039;&#039;&#039;emory - Speicher mit wahlfreiem Zugriff.&lt;br /&gt;
&lt;br /&gt;
Damit ist gemeint, daß man beim Zugriff keine Reihenfolge einhalten muß und jederzeit auf alle Daten zugreifen kann, lesend und schreibend. Allerdings trifft diese Eigenschaft mittlerweile auf viele Speichertypen zu. Spricht man heutzutage von RAM, dann meint man damit meistens Speicher, den man beliebig oft lesen und beschreiben kann und der zum Datenerhalt Strom benötigt. Es gibt auch Speichertypen, die diese Eigenschaften nicht haben, aber trotzdem &amp;quot;RAM&amp;quot; im Namen tragen, z.&amp;amp;nbsp;B. FRAM. Über diese Speicher spricht man dann in ihrer vollen Form (z.&amp;amp;nbsp;B. FRAM), man nennt sie nicht einfach nur RAM.&lt;br /&gt;
&lt;br /&gt;
=== SRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;S&#039;&#039;&#039;tatic &#039;&#039;&#039;R&#039;&#039;&#039;andom &#039;&#039;&#039;A&#039;&#039;&#039;ccess &#039;&#039;&#039;M&#039;&#039;&#039;emory - statischer RAM.&lt;br /&gt;
&lt;br /&gt;
Hat man SRAM als einzelne ICs, dann liegt ihr Vorteil darin, dass sie zum Datenerhalt nur eine Versorgungsspannung brauchen und keinen Refresh (siehe DRAM weiter unten). Das hat unter anderem den Vorteil, daß ein Mikrocontroller beliebig langsam getaktet werden kann (z.&amp;amp;nbsp;B. 32,768 kHz Uhrenquarz) bzw. im Schlafmodus mit vollkommen gestopptem Takt betrieben werden kann, ohne die Daten zu verlieren. Er kann mit einer hohen Geschwindigkeit gelesen und geschrieben werden, ohne Begrenzung an Lese-/Schreibzyklen.&lt;br /&gt;
&lt;br /&gt;
Bei [[Mikrocontroller]]n und auch bei Mikroprozessoren (wie [[x86]]-kompatiblen) wird diese Speichertechnologie als RAM eingesetzt. Bei den heutigen Hochleistungsprozessoren, die im oberen MHz bis GHz-Bereich arbeiten und viel RAM benötigen ist meist jedoch nur ein kleiner Teil als SRAM ausgeführt: Der Cache, der auf dem CPU-IC untergebracht ist. &lt;br /&gt;
&lt;br /&gt;
SRAM-Zellen benutzen als Grundprinzip der Speicherung [[FlipFlop]]s, was ihn sehr schnell macht, er aber deswegen seine Daten nur mit Spannungsversorgung speichern kann. Technisch gesehen besteht ein SRAM-[[Digitaltechnik|Bit]] meist aus 4 oder 6 [[Transistor]]en, wodurch relativ viel Platz verbraucht wird. Die Stromaufnahme ist im inaktiven Zustand meist sehr gering (einige zehn Mikroampere oder weniger).&lt;br /&gt;
Im aktiven Zustand haben SRAMs allerdings einen beträchtlichen Stromverbrauch; ein typischer Wert für ein 32kx8-SRAM sind ca. 100mA bei 5V.&lt;br /&gt;
&lt;br /&gt;
==== Anschluss an den Mikrocontroller ====&lt;br /&gt;
&lt;br /&gt;
[[Bild:sram.png|thumb|200px|Ein typischer SRAM-IC]]&lt;br /&gt;
&lt;br /&gt;
Der Speicher wird über einen Daten- und einen Adressbus sowie die Steuerleitungen /OE (output enable, manchmal auch als /RD read enable bezeichnet), /WE (write enable) und /CS (chip select) angeschlossen. Der Datenbus für einen Speicher der Organisation 32k x 8 Bit hat eine Breite von 8 Bit, der Adressbus ist dann 15 Bit breit. Um den Speicher zu aktivieren, muß /CS auf LOW (Masse) gelegt werden. Dies kann verwendet werden, um mehrere Speicher- oder andere Bausteine am selben [[Bus]] zu betreiben. Hierbei muß sichergestellt sein, daß jeweils nur ein IC zur gleichen Zeit ein low-aktives /CS-Signal erhält, damit es nicht zum Kurzschluss auf dem Datenbus kommt (siehe [[Ausgangsstufen Logik-ICs]]). Ist außer dem Controller nur ein einziges IC an den Bus angeschlossen, kann /CS auch fest mit Masse verbunden und der Speicher somit permanent aktiviert werden. Das /OE-Signal dient hierbei dem Zweck, nach Anlegen einer Adresse am Adressbus den Speicher zum Übertragen eines Datenworts über den Datenbus zu veranlassen (Lesezugriff). Sollen Daten in das SRAM geschrieben werden, legt der Controller die Adresse und dann die Daten an, um den Speicher dann mit einem Low-Signal auf der /WE-Leitung zum Speichern zu bringen.&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der einzelnen Daten- und Adresspins am RAM kann nach Belieben variiert werden, wenn dadurch das Layout der Platine vereinfach wird. D.h. D0 des RAMs kann auch an D5 des Controllers gehen. Der Grund dafür ist folgender: Die Daten werden zwar verstreut im RAM gespeichert (Adressleitungen vertauscht) oder in falscher Anordnung im Speicher angelegt (Datenleitungen vertauscht), jedoch kompensiert sich diese Unordnung beim Auslesen wieder. &#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;, das geht nur bei einfachen SRAMs. DRAM oder neuere Speicher nehmen das fix übel, weil die Ansteuerung durcheinander kommt (Adressmultiplexing, Pagemodus, Byteslanes bei DDR-RAM etc.). Bei diesen ICs kann man bestenfalls Datenleitungen tauschen, bei DDR-RAMs nur innerhalb einer Byte-Lane. Prinzipiell sollte man davon aber nur sparsam Gebrauch machen, wenn es dem Layout wirklich hilft.&lt;br /&gt;
&lt;br /&gt;
===== Ohne Latch =====&lt;br /&gt;
&lt;br /&gt;
Die einfachste Art einen externen SRAM an den Mikrocontroller anzubinden ist die direkte Verkabelung. Jeder Pin des SRAMs bekommt einen Pin am MC. Jedoch verschwendet diese Anschlußweise auch ziemlich viele IO-Pins. Bei dem nebenstehenden 32-KiBi-RAM verbraucht der Anschluß so 8+15+2 (25) Pins.&lt;br /&gt;
&lt;br /&gt;
Am sinnvollsten verwendet man einen ganzen Port für die acht Datenleitungen, damit man schnell darauf zugreifen kann. Die Adressleitungen A0 bis A7 werden auch möglichst auf einen Port gelegt. An einen dritten Port wiederum werden A8-A14 angeschlossen; /WR und /OE können dann mit zwei weiteren freien Pins verbunden werden. Zusammen belegt diese Methode also 25 Pins für 32 KiBi. Auf diese Weise kann man an praktisch jeden Mikrocontroller einen SRAM anschließen, die Ansteuerung kann dann rein in Software vorgenommen werden. Das ist jedoch relativ aufwendig, in der Anwendung umständlich und langsam. Sinnvollerweise sollte der Mikrocontroller eine eingebaute Speicherschnittstelle haben, um den SRAM per Hardware direkt und schnell ansprechen zu können.&lt;br /&gt;
&lt;br /&gt;
===== Mit Latch =====&lt;br /&gt;
&lt;br /&gt;
Will man wertvolle Pins einsparen so benutzt man am besten ein [[Latch]], das die Signale zwischenspeichert. Man kann wählen, ob nur A0-A7 eingespart werden soll, oder gleich alle Adressleitungen. Für den ersten Fall benötigt man ein 8-Bit Latch das ausreichend schnell schalten kann, für den zweiten Fall zwei Latches.&lt;br /&gt;
&lt;br /&gt;
Die Eingänge des Latches werden mit den Datenleitungen des Mikrocontrollers verbunden und das Enable-Signal bekommt einen eigenständigen Pin. Die Einsparungen an Pins geht jedoch auf Kosten der Geschwindigkeit, da zuerst das Latch mit der Adresse geladen werden muß bevor die eigentliche Aktivierung des SRAMs beginnen kann. Bei einem 32-KiB-SRAM werden mit einem Latch nur noch 8+7+3 (18) Pins gebraucht, gegenüber der Variante ohne Latch also eine Einsparung von sieben Pins mit einem Bauteil.&lt;br /&gt;
&lt;br /&gt;
===== Mit XMEM-Interface =====&lt;br /&gt;
&lt;br /&gt;
[[Image:Sram_latch.png|thumb|250px|Verbindung zwischen einem AVR und einem 32-KiB-SRAM mit Latch und dem XMEM-Interface]]&lt;br /&gt;
&lt;br /&gt;
Viele Controller ([[AVR]], [[8051]]) besitzen ein Speicherinterface, das es ermöglicht SRAM anzuschließen und diesen als Erweiterung des internen RAMs zu benutzen. Dieser wird dann mit einem Latch angeschlossen, um Pins zu sparen. Das Enable-Signal des Latch muß mit dem Ausgang ALE (&#039;&#039;&#039;A&#039;&#039;&#039;ddress &#039;&#039;&#039;L&#039;&#039;&#039;atch &#039;&#039;&#039;E&#039;&#039;&#039;nable) verbunden werden, wie es im Schema gezeigt wird. Nach der Initialisierung des externen Speicherinterfaces steht der Software auch der externe SRAM zu Verfügung. Der Vorteil gegenüber den beiden erstgenannten Methoden ist die höhere Geschwindigkeit und einfachere Nutzung, denn die Steuersignale müssen nicht per Software erzeugt werden, das macht die Hardware in den Mikrocontrollern allein.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== BRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039;lock &#039;&#039;&#039;RAM&#039;&#039;&#039; - Block RAM.&lt;br /&gt;
&lt;br /&gt;
Damit wird ein Speicher bezeichnet, welcher sich in [[FPGA]]s befindet. Die Blöcke von RAM sind physikalisch wie SRAM aufgebaut, sehr leicht anzusteuern und sehr schnell (200MHz++). Die Ansteuerung erfolgt jedoch synchron wie bei SDRAM mit einem Taktsignal. Die meisten FPGAs besitzen BRAM, welcher über zwei komplette Schnittstellen verfügt, (engl. Dual Port Memory). Damit ist es möglich von zwei Seiten gleichzeitig auf die Daten zuzugreifen. Das ist sehr vorteilhaft für [[FIFO]]s, da hier gleichzeitig Daten gelesen und geschrieben werden können. Bei den meisten FPGAs sind die beiden Ports komplett unabhängig und können mit unterschiedlichen Takten betrieben werden, was imense Vorteile für asynchrone FIFOs bringt.&lt;br /&gt;
&lt;br /&gt;
=== DRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;D&#039;&#039;&#039;ynamic &#039;&#039;&#039;RAM&#039;&#039;&#039; - dynamischer RAM.&lt;br /&gt;
&lt;br /&gt;
Ein DRAM-[[Digitaltechnik|Bit]] besteht aus einem Transistor und einem Kondensator, wodurch man es sehr klein bauen kann. Allerdings kann der Kondensator seine Ladung nicht unbegrenzt lange halten, weswegen diese regelmäßig erneuert werden muß. Diese Erneuerung (englisch Refresh) macht DRAMs im Mikrocontrollerbereich etwas unbeliebt. Bei großen 16/32-Bit-Controllern befinden sich oft DRAM-Controller mit auf dem IC (on chip) die sich um den Refresh kümmern, da nur als DRAM große, schnelle und billige RAMs verfügbar sind. Heutzutage wird fast nur noch SDRAM hierfür verwendet, der klassiche DRAM ist ein Auslaufmodell. Auch einige 8-Bit Prozessoren wie der [[Z80]] unterstützten DRAM hardwareseitig. DRAM war bis zum Anfang der Pentium-Zeit der Hauptspeicher in PCs (EDO-RAM). Die Ansteuerung erfolgt &#039;&#039;&#039;asynchron&#039;&#039;&#039; über verschiedene Steuersignale. Die Adressen werden dabei [[Multiplexen | gemultiplext]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-4-121457.html Forenbeitrag zur Ansteuerung von DRAM per Software mit einem AVR]&lt;br /&gt;
&lt;br /&gt;
=== SDRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;S&#039;&#039;&#039;ynchronous &#039;&#039;&#039;DRAM&#039;&#039;&#039; - synchroner DRAM.&lt;br /&gt;
&lt;br /&gt;
Dabei handelt es sich um die Weiterentwicklung von DRAM. Wie der Name verrät ist dieser Speicher &#039;&#039;&#039;synchron&#039;&#039;&#039;, d.h. sämtliche Steuer -und Datentransfers zwischen SDRAM und Speichercontroller erfolgen synchron zu einem Taktsignal. Das vereinfacht das Design wesentlich und ermöglicht höhere Datentransfergeschwindigkeiten (Taktfrequenz, typisch bis 133 MHz).&lt;br /&gt;
&lt;br /&gt;
* Beschreibung von [http://de.wikipedia.org/wiki/Synchronous_Dynamic_Random_Access_Memory Synchronous Dynamic Random Access Memory] bei Wikipedia&lt;br /&gt;
* Artikel zum [[SDRAM-Timing]]&lt;br /&gt;
&lt;br /&gt;
=== DDR-SDRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;D&#039;&#039;&#039;ouble &#039;&#039;&#039;D&#039;&#039;&#039;ata &#039;&#039;&#039;R&#039;&#039;&#039;ate &#039;&#039;&#039;SDRAM&#039;&#039;&#039; - SDRAM mit doppelter Datenrate.&lt;br /&gt;
&lt;br /&gt;
Oft als DDR-RAM abgekürzt. Hierbei handelt es sich um eine Weiterentwicklung von SDRAM. Dabei werden im Gegensatz zum Vorgänger Daten mit jeder Taktflanke übertragen, so dass pro Taktzyklus zwei Datenworte übertragen werden. Z.B. arbeitet DDR266 mit 133 MHz Taktfrequenz, DDR400 demzufolge mit 200 MHz. Die Steuerung erfolgt jedoch nach wie vor nur mit einfacher Taktfrequenz. Die höhere Taktfrequenz wird durch eine neue IC-Technologie, niedrigere Betriebsspannung (2,5V anstatt 3,3V) und andere IO-Standards (SSTL-2,5 anstatt 3,3V CMOS) erreicht. Das ist auch nötig, weil bei diesen Datenraten das Thema [[Wellenwiderstand]] bereits eine elementare Rolle spielt.&lt;br /&gt;
&lt;br /&gt;
=== DDR2-SDRAM ===&lt;br /&gt;
Dabei handelt es sich um die Weiterentwicklung von DDR-SDRAM. Durch weitere Verbesserungen der IC-Technologie, vor allem durch kleinere Strukturgrößen und niedrigere Betriebsspannung (1,8V anstatt 2,5V). Das Protokoll ist ähnlich zu DDR-RAM, die Taktfrequenzen sind höher als bei DDR-RAM.&lt;br /&gt;
&lt;br /&gt;
=== DDR3-SDRAM ===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um eine Weiterentwicklung der DDR2-Architektur.&lt;br /&gt;
Die Versorgungsspannung wurde auf 1,5V reduziert.&lt;br /&gt;
In heutigen PCs (Stand: Mai 2011) ist DDR3-RAM der am meisten eingesetzte Speicher.&lt;br /&gt;
Häufig wird DDR3-1333 verwendet; dieser Speicher hat eine Taktfrequenz von 667MHz. Die typische Rate von üblichen DDR3-Speichern liegt bei 800MHz (DDR3-1600).&lt;br /&gt;
&lt;br /&gt;
=== DDR4-SDRAM ===&lt;br /&gt;
Die neueste Variante ist die von Micron angekündigte DDR4-Speichertechnik. Sie lauft auf nur noch 1,2V statt 1,5V, bietet bis zu 16GB Speichervermögen je Chip&lt;br /&gt;
und hat einige Verbesserungen im Bereich der Adressierung und der Spannungsversorgung.&lt;br /&gt;
&lt;br /&gt;
=== PSRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P&#039;&#039;&#039;seudo &#039;&#039;&#039;S&#039;&#039;&#039;tatic RAM&lt;br /&gt;
&lt;br /&gt;
Pseudostatisches RAM ist intern ein DRAM, kann aber wie ein normales asynchrones SRAM angesteuert werden. Um den Refresh braucht man sich nicht zu kümmern. Der Nachteil ist die verglichen mit SRAMs langsame Zugriffszeit (z.&amp;amp;nbsp;B. 70 ns).&lt;br /&gt;
&lt;br /&gt;
Manche PSRAMs, z.&amp;amp;nbsp;B. das CellularRAM von Micron, implementieren zusätzlich einen synchronen Betriebsmodus der schnelle Burst-Zugriffe erlaubt. Um den Refresh kümmert sich das PSRAM auch hier intern, allerdings muss der Benutzer ggf. Wartezeiten beim Zugriff einhalten oder Busy-Leitungen abfragen.&lt;br /&gt;
&lt;br /&gt;
=== FRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;F&#039;&#039;&#039;erroelectric &#039;&#039;&#039;RAM&#039;&#039;&#039; - Ferroelektrischer RAM.&lt;br /&gt;
&lt;br /&gt;
FRAM is a registered trademark of Ramtron International Corporation (U.S.A.)&lt;br /&gt;
&lt;br /&gt;
Bekannte Hersteller: &lt;br /&gt;
* [http://www.ramtron.com Ramtron]&lt;br /&gt;
* Fujitsu&lt;br /&gt;
* Epson&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://www.fujitsu.com/emea/services/microelectronics/fram/technology.html Technische Berschreibung von Fujitsu]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ferroelectric_Random_Access_Memory FRAM in der Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== MRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;agnetic &#039;&#039;&#039;RAM&#039;&#039;&#039; - magnetischer RAM.&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um Speicher, der die Daten nicht elektrisch sondern magnetisch speichert werden. MRAMs behalten ihren Speicherinhalt auch ohne Stromversorgung.&lt;br /&gt;
&lt;br /&gt;
Bekannte Hersteller: &lt;br /&gt;
* [http://www.everspin.com Everspin]&lt;br /&gt;
&lt;br /&gt;
=== NVRAM ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039;on &#039;&#039;&#039;V&#039;&#039;&#039;olatile &#039;&#039;&#039;RAM&#039;&#039;&#039; - nichtflüchtiger Speicher.&lt;br /&gt;
&lt;br /&gt;
NVRAM bezeichnet keine bestimmte Speichertechnologie sondern allgemein ein RAM das seinen Speicherinhalt beim Wegfall der Versorgungsspannung beibehält.&lt;br /&gt;
&lt;br /&gt;
Realisierungmöglichkeiten:&lt;br /&gt;
* SRAM mit Lithiumbatterie, Speicherdauer mehrere Jahre; Hersteller: [http://www.stm.com STM], [http://www.maxim-ic.com Maxim]&lt;br /&gt;
* SRAM mit Goldcap, Speicherdauer mehrere Wochen bis Monate&lt;br /&gt;
* FRAM, Speicherdauer 10 - 100 Jahre; Hersteller: Fujitsu, RamTron&lt;br /&gt;
* RAM mit automatischem EEPROM-Backup, Speicherdauer bis zu 100 Jahre; Hersteller: [http://www.intersil.com/html/ Intersil]&lt;br /&gt;
&lt;br /&gt;
=== Speichermodul ===&lt;br /&gt;
&lt;br /&gt;
Bei einem Speichermodul sind mehrere einzelne Speicherchips zu einem handlichen, steckbaren Bauteil zusammengefaßt, wie sie z.&amp;amp;nbsp;B. in PCs zum Einsatz kommen.&lt;br /&gt;
&lt;br /&gt;
* Übersicht über [http://www.hardware-bastelkiste.de/speichps.html Speicher-Module (ältere Modelle)] in der www.hardware-bastelkiste.de (SIPP, 30poliges-SIMM-Modul, 72poliges-PS/2-Modul)&lt;br /&gt;
* Forumsbeitrag: [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR]&lt;br /&gt;
* Forumsbeitrag: [http://www.mikrocontroller.net/topic/65601#524917 simm DRAMs parallel]&lt;br /&gt;
&lt;br /&gt;
== EPROM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rasable &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;R&#039;&#039;&#039;ead-&#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory&amp;quot; - löschbarer, programmierbarer Nur-Lese-Speicher. &lt;br /&gt;
&lt;br /&gt;
EPROMs sind elektronische Speicher, die in einem entsprechenden Programmiergerät elektrisch programmiert und mit UV-Licht eines Löschgeräts wieder gelöscht werden können. Dazu hat der IC ein Fenster aus UV-durchlässigem Quarzglas. Da dies aber relativ umständlich ist und diese Gehäuse groß und teuer sind, werden heutzutage auch oft andere Speicherformen benutzt, z.&amp;amp;nbsp;B. EEPROMs oder FLASH-ROMs.&lt;br /&gt;
&lt;br /&gt;
Was in den Speicherbaustein geschrieben oder von dort gelesen wird, kann als Binärdatei oder Textdatei definiert werden. Bei Textdateien werden oft Formate mit einer Fehlerkontrollmöglichkeit verwendet. Gängig sind die Formate Intel-HEX (IHEX) und Motorola S-Record.&lt;br /&gt;
&lt;br /&gt;
* [http://web.archive.org/web/20070610011547/http://www.cs.net/lucid/intel.htm Intel HEX-record Format]&lt;br /&gt;
* [http://www.amelek.gda.pl/avr/uisp/srecord.htm Motorola S-records]&lt;br /&gt;
* [http://home.earthlink.net/~tdickens/68hc11/docs/s19_file_format.html S19 File Format]&lt;br /&gt;
* [http://www.keil.com/download/docs/10.asp Motorola S-Record to BINARY File Converter] von keil.com&lt;br /&gt;
* [http://srecord.sourceforge.net/ SRecord 1.32] is a collection of powerful tools for manipulating EPROM load files. (GPL)&lt;br /&gt;
* [http://gnuwin32.sourceforge.net/packages/hex2bin.htm Hex2Bin Konverter]  unter GPL und [http://www.atmel.com/dyn/products/tools.asp?family_id=604 von Atmel]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/63448#new EPROM mit UV-LEDs löschen?]&lt;br /&gt;
* [http://members.misty.com/don/uvbulb.html#ep Using Alternate UV Sources to Erase EPROMS]&lt;br /&gt;
&lt;br /&gt;
== EEPROM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;lectrically &#039;&#039;&#039;E&#039;&#039;&#039;rasable &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;R&#039;&#039;&#039;ead &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory&amp;quot;) - elektrisch löschbarer, programmierbarer Nur-Lese-Speicher.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu FLASH-ROMs muß man bei EEPROMs nicht immer einen ganzen Block auf einmal löschen sondern kann auch einzelne [[Digitaltechnik|Bytes]] löschen und neu beschreiben. Der Schreibzykls dauert ca 3-5 msec.&lt;br /&gt;
&lt;br /&gt;
Die meisten [[AVR]]-Controller haben ein integriertes EEPROM als Datenspeicher, es gibt jedoch auch externe EEPROMs die über den [[I²C]]- oder [[SPI]]-[[Bus]] angeschlossen werden können. Serielle EEPROMs können beispielsweise mit dem universellen und frei verfügbaren Programmer [http://www.lancos.com/ PonyProg] programmiert und ausgelesen werden. Eine Einführung dazu findet man im [[Pony-Prog Tutorial]].&lt;br /&gt;
&lt;br /&gt;
Wie oft ein EEPROM beschrieben werden kann, steht im Datenblatt. Typische Werte sind 10.000 bis 1 Million Schreibzugriffe. Danach kann es zu Datenverlusten kommen. Wer regelmäßig in ein EEPROM schreiben will sollte unbedingt nachrechnen wie viele Schreibzugriffe er denn konkret machen will. Schreibt man z.&amp;amp;nbsp;B. jede Sekunde auf die gleiche Stelle, dann macht man in drei Stunden 10.800 Schreibzugriffe und damit kann das EEPROM schon kaputt sein.&lt;br /&gt;
&lt;br /&gt;
=== EEPROM Schreibzugriffe minimieren ===&lt;br /&gt;
&lt;br /&gt;
Sinnvollerweise schreibt man Daten nur direkt ins EEPROM, wenn man sicher ist, dass dies nur selten vorkommt. Anderenfalls speichert man die Daten im RAM und kopiert sie erst in den EEPROM, wenn die Versorgungsspannung ausfällt. Allerdings muss man durch eine Pufferschaltung gewährleisten, dass die Versorgungsspannung noch ein paar (hundert) Millisekunden stabil ist, nachdem das Netzteil ausgeschaltet wurde. Das kann man mit grossen Elektrolytkondensatoren, Goldcaps oder kleinen Batterien (Lithiumzellen) erreichen. Ein Schaltungsbeispiel findet man in er folgenden Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:eeprom_power_fail.png]]&lt;br /&gt;
&lt;br /&gt;
Wenn die Versorgungsspannung plötzlich abgeklemmt oder kurzgeschlossen wird, verhindert Diode D1 zunächst, dass sich der Pufferkondensator C2 sofort entlädt. Über R1 wird ein externer Interrupt im Prozessor ausgelöst (auf fallende Flanke oder Low Level einstellen!). Dort muss nun der Datensatz aus dem RAM ins EEPROM kopiert werden. Doch das darf nicht zu lange dauern, denn der Pufferkondensator C2 kann nur für ein paar Dutzend Millisekunden die Betriebsspannung aufrecht erhalten. Berechnet werden kann das durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;t=\frac{C \cdot \Delta V}{I}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* t : Pufferzeit&lt;br /&gt;
* &amp;amp;Delta;V : Spannungsabfall während der Pufferzeit&lt;br /&gt;
* I : Stromaufnahme der Schaltung&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
* Verbraucher: ATtiny2313@1 MHz, 5V ca. 0,9mA&lt;br /&gt;
* Datensatz: 32 Byte&lt;br /&gt;
* Schreibdauer / Byte: ca. 3,4 ms&lt;br /&gt;
&lt;br /&gt;
Wir brauchen also ca. 32x3,4ms=108,8ms, um die Daten im EEPROM zu speichern. Wenn wir den AVR mit 5V betreiben und zulassen, dass die Spannung bis auf 3V sinkt (&amp;amp;Delta;V=2V) ergibt sich daraus eine minimale Kapazität für C2 von&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C=\frac{I \cdot t}{\Delta V}=\frac{0,9mA \cdot 108,8ms}{2V}=48,9\mu F&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das ist das rechnerische Minimum! Real wird man eher den 2..5 fachen Wert wählen müssen, weil&lt;br /&gt;
&lt;br /&gt;
* man Reserven haben will&lt;br /&gt;
* besonders Elektrolytkondensatoren SEHR grosse Toleranzen haben (+20/-60%!!!)&lt;br /&gt;
* besonders Elektrolytkondensatoren bei niedrigen Temperaturen massiv an Kapazität verlieren&lt;br /&gt;
* während des Schreibens des EEPROMs mehr Strom benötigt wird.&lt;br /&gt;
&lt;br /&gt;
Verbraucht die Schaltung nun mehr Strom oder muss man grössere Datensätze speichern, werden die Kapazitäten bisweilen sehr gross. Was kann man tun? Aus der Formel oben geht hervor, dass durch ein Erhöhen des zulässigen Spannungsabfalls die Kapazität verringert werden kann. Doch unser Controller benötigt eine Mindestspannung, kann aber auch nicht mit 10V betrieben werden. Ja, der Controller nicht, aber ein Spannungsregler! Dieser kommt mit stark schwankenden Eingangsspannungen problemlos klar! Es sollte hier aber auf jeden Fall ein Typ mit geringem Stromverbrauch genutzt werden, wie z.&amp;amp;nbsp;B. der LP2950 (siehe [[Versorgung aus einer Zelle]]). Noch effizienter wäre der Einsatz eines Schaltreglers. Sinnvollerweise werden nur der Prozessor und minimal notwenig Komponenten von diesem Spannungsregler versorgt, Verbraucher mit hohem Stromverbrauch (LEDs, Relais, etc.) werden über einen zweiten Spannungsregler oder direkt vom Spannungseingang versorgt. Der [[Spannungsteiler]] aus R1 und R2 muss so berechnet sein, das beim Erreichen der minimalen Versorgungsspannung Vin ein Interrupt ausgelöst wird. Dazu kann man im [[AVR]] den Analogcomparator verwenden. Oder man rechnet mit einer Schaltschwelle von Vcc/2 und verwendet einen normalen externen [[Interrupt]]eingang.&lt;br /&gt;
&lt;br /&gt;
[[bild:eeprom_puffer_vreg.png]]&lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung ist die Verwendung einer kleinen Lithiumzelle. Dabei springt diese nur ein, wenn sie wirklich gebraucht wird, sprich die Hauptstromversorgung ausfällt. Die unterbrechungsfreie Umschaltung wird durch zwei Dioden erreicht. Der Spannungsabfall über den Dioden diese Typs beträgt ca. 320mV bei 1mA und und 400mV bei 10mA. Noch besser ist die Verwendung eines kleinen MOSFETs, wie in diesem [http://www.mikrocontroller.net/topic/72275#591483 Beitrag] gezeigt wird. Damit erreicht man praktisch eine Umschaltung der Versorgungsspannung ohne nennenswerten Spannungsabfall. Wesentlicher Vorteil dieser Schaltung ist die um Grössenordungen längere Pufferzeit von Sekunden bis Minuten. Der Nachteil ist, dass sie, wenn sie oft genutzt wird irgendwann einmal leer ist, nicht mehr als Backup dienen kann.&lt;br /&gt;
&lt;br /&gt;
[[bild:battery-backup.png]]&lt;br /&gt;
&lt;br /&gt;
== Flash-ROM ==&lt;br /&gt;
&lt;br /&gt;
Flash-ROMs sind nichtflüchtige Datenspeicher ähnlich zu EEPROMs, die elektrisch lösch- und beschreibbar sind. Sie können Daten auch ohne Stromversorgung speichern. Man kann sie beliebig oft auslesen, aber nicht beliebig oft beschreiben. Wie oft genau ist unterschiedlich und steht normalerweise im Datenblatt (1.000-10.000 mal). Ein Flash-ROM kann im Gegensatz zum EEPROM nur sektorweise gelöscht werden, außerdem ist die Anzahl der erlaubten Lösch-/Schreibzyklen meist deutlich niedriger. Flash-ROMs sind als Programmspeicher in [[Mikrocontroller]]n weit verbreitet.&lt;br /&gt;
&lt;br /&gt;
== OTP-ROM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ne &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable-&#039;&#039;&#039;R&#039;&#039;&#039;ead &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory - einmal programmierbarer Nur-Lese-Speicher.&lt;br /&gt;
&lt;br /&gt;
Bisweilen auch als &#039;&#039;&#039;PROM&#039;&#039;&#039; bezeichnet. Ein Speicher der nur einmal beschrieben werden kann. Das bedeutet natürlich, daß man sich vorher sicher sein muß, daß die Daten bzw. das Programm korrekt sind.&lt;br /&gt;
&lt;br /&gt;
Die interne Struktur besteht aus Leiterbahnen auf dem Chip, die beim Programmieren durchgebrannt werden und danach eine der Diodenmatrix ähnliche Verschaltung bilden. Diese Technik wurde auch bei [[PAL]]s verwendet. Heute ist sie nur noch sehr selten anzutreffen. Bausteine die durch ihre einmalige Programmierbarkeit ein OTP-PROM vermuten lassen, wie z.&amp;amp;nbsp;B. die [[PIC|PIC-Controller]], benutzen meist die Eprom-Technik bei der einfach das Quarzglasfenster zum Löschen weggelassen wird. [[Mikrocontroller]] mit OTP-ROM benutzt man z.&amp;amp;nbsp;B. in der industriellen Serienfertigung. Dazu entwickelt man die Software auf relativ teuren Controllern mit wiederbeschreibbarem Speicher (FLASH-ROM) und wenn man fertig ist kommen die billigeren Versionen mit OTP-ROM zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
&lt;br /&gt;
Die Register eines [[Prozessor]]s sind Speicher mit geringer Kapazität und kürzester Zugriffszeit. Sie dienen zur vorübergehenden Speicherung von Informationen, welche im Moment verarbeitet werden sollen. Viele CPU-Befehle funktionieren nur mit Registern. Will man z.&amp;amp;nbsp;B. zwei Zahlen addieren dann müssen sich die beiden Summanden bei den meisten Controllern in Registern befinden. Befinden sich die Summanden im RAM, dann müssen sie vor der Addition in Register kopiert werden. Die Klassifizierung der CPU bzw. des Mikrocontrollers gibt die Breite dieser Register an (8/16/32/64 Bit CPU).&lt;br /&gt;
&lt;br /&gt;
Weiterhin haben alle Mikrocontroller sogenannte &#039;&#039;&#039;S&#039;&#039;&#039;pecial &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister (SFR, spezielle Funktionsregister). Das sind spezielle Register, welche sämtliche Funktionen und Module des Mikrocontrollers steuern ([[AVR-Tutorial: IO-Grundlagen | IO-Pins]], [[UART]], [[SPI]], [[AVR-Tutorial: Timer | Timer]], etc.). Diese befinden sich physisch zwar auf dem Mikrocontroller-IC, logisch allerdings ausserhalb der CPU und werden über andere Befehle angesprochen als die normalen CPU-Register.&lt;br /&gt;
&lt;br /&gt;
== WOM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;W&#039;&#039;&#039;rite &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory - Nur Schreib-Speicher.&lt;br /&gt;
&lt;br /&gt;
Derzeit ist nur ein Modell bekannt: Signetics 25120 9046xN ([http://www.national.com/rap/files/datasheet.pdf Datenblatt (PDF)]). Weitere Berichte zu diesem zukunftsträchtigen Bauteil siehe [http://www.national.com/rap/Story/WOMorigin.html The origin of the WOM - the &amp;quot;Write Only Memory&amp;quot;] von Bob Pease. ;-)&lt;br /&gt;
&lt;br /&gt;
WOMs lassen sich allerdings auch leicht selbst herstellen indem z.&amp;amp;nbsp;B. bei SRAMs der /OE-Pin entfernt wird.&lt;br /&gt;
&lt;br /&gt;
== Externe Speichermedien ==&lt;br /&gt;
&lt;br /&gt;
Siehe Artikel &lt;br /&gt;
* [[Festplatte]]&lt;br /&gt;
* [[MMC- und SD-Karten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Kategorie:Speicher und Dateisysteme| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:RS-232&amp;diff=64897</id>
		<title>Diskussion:RS-232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:RS-232&amp;diff=64897"/>
		<updated>2012-03-12T16:16:03Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: Die Seite wurde neu angelegt: „Warum wurden die links von heute wieder rausgenommen?“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Warum wurden die links von heute wieder rausgenommen?&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CPLD&amp;diff=64306</id>
		<title>CPLD</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CPLD&amp;diff=64306"/>
		<updated>2012-02-15T14:06:29Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Konfiguration/Programmierung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;omplex &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;L&#039;&#039;&#039;ogic &#039;&#039;&#039;D&#039;&#039;&#039;evice&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
CPLDs sind programmierbare ICs, die z.&amp;amp;nbsp;B. [[digital]]e Schaltungen mit Logik-ICs der [[74xx]]-Reihe ersetzen können. Die Programmierung findet meistens [[seriell]] statt.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
* MAX3000A Familie von [http://www.altera.com Altera]&lt;br /&gt;
* ispLSI Familie von [http://www.latticesemi.com Lattice]&lt;br /&gt;
* XC9500XL Familie von [http://www.xilinx.com XILINX]&lt;br /&gt;
&lt;br /&gt;
CPLDs verlieren ihre Programmierung nicht beim Wegfall der Versorgungsspannung, weil sie auf [[Speicher#EEPROM | EEPROM]]-Technologie aufbauen. So entfällt die Bootphase (Konfiguration), wie sie bei SRAM-basierenden FPGAs üblich ist. Auch muss kein externer Programmspeicher zugeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
CPLDs enthalten wie die kleineren [[GAL]]s eine Und-Oder-Matrix sowie Speicherelemente ([[FlipFlop]]s, Abk. FF), die frei miteinander verbunden werden können. Im Gegensatz zu [[FPGA]]s stehen in CPLDs weniger FFs zur Verfügung. Während schon kleine FPGAs mehrere hundert FFs mitbringen, reicht die Spanne bei CPLDs von 32 bis 512 FFs. Die Anzahl der FFs ist fest an die Anzahl der User-I/O gekoppelt. Meist steht für ein Pin ein bis zwei FFs zur Verfügung. Deshalb werden die großen CPLDs mit vielen FFs nur in den großen Gehäusen mit 100 und mehr Pins gefertigt.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Geschwindigkeit&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Bei CPLDs ist die interne Verdrahtung einfacher als im FPGA, die Signallaufzeiten lassen sich leicht abschätzen. Grund dafür ist die breite  AND/OR-Matrix, mit der sich beispielsweise 20 bit breite Decoder &amp;quot;in einem Rutsch&amp;quot; realisieren lassen. Im FPGA müssen dazu mehrere Lookup Tables verschaltet werden. Das erhöht die Signallaufzeit im FPGA wesentlich. Typische Anwendungen im CPLD laufen mit 30 - 200 MHz. CPLDs werden auch wegen ihrer kurzen Durchlaufzeit von ca. 10 - 5 ns von Pin zu Pin bevorzugt in rein kombinatorischen Schaltungen eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration/Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Ein CPLD-&amp;quot;Programm&amp;quot; kann auf verschiedene Arten erstellt werden: Man kann entweder die Anordnung der einzelnen [[digital]]en Gatter als Schaltplan zeichnen oder die gewünschte Funktion mit einer [[Hardwarebeschreibungssprachen|Hardwarebeschreibungssprache]] wie Abel, VHDL oder Verilog beschreiben. Diese Tools werden meist kostenlos vom Hersteller zur Verfügung gestellt. Die &amp;quot;kleinen&amp;quot; Entwurfssprachen wie ABEL sind auch im CPLD-Bereich von den Hochsprachen wie Verilog und VHDL zurück gedrängt worden. &lt;br /&gt;
&lt;br /&gt;
VHDL-Code für FPGAs ist teilweise ineffizient für CPLDs. So spart ein synchroner oder eingesparter Reset Ressourcen im FPGA, während bei CPLDs ein asynchroner Reset zu kleineren Designs führen kann. Auch sind Maßnahmen zur Erhöhung der Taktfrequenz wie Pipelining (FlipFlops in lange kombinatorische Pfade einbauen) für CPLDs meist unnötig und wegen der geringen Anzahl an FlipFlops auch meist nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Bei CPLDs sind wegen der einfacheren Struktur die Bearbeitungsschritte &amp;quot;Mapping&amp;quot; und &amp;quot;Place &amp;amp; Route&amp;quot; zusammengefasst. Bei Xilinx wird anstatt des Mappers (map) und des Routers (par) der Fitter nach der Synthese gestartet (cpld_fit(?)). Während im FPGA-Bereich die Tools meist mehrere Minuten benötigen, benötigt die Umsetzung aus der Beschreibungssprache zur CPLD-Programmierdatei oft nur wenige Sekunden.&lt;br /&gt;
&lt;br /&gt;
PLDs sind aufgund ihres Aufbaus nur begrenzt wiederbeschreibbar, was in Einzelfällen ihre Verwendbarkeit im Sinne des updates im Feld einschränkt. Siehe: http://www.mikrocontroller.net/topic/248137#2550419&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
&lt;br /&gt;
CPLDs werden eingesetzt, wo es neben einer hohen Packungsdichte nach:&lt;br /&gt;
* geringem Strombedarf&lt;br /&gt;
* breiter kombinatorischer Logik (Adressdecoder, Busmultiplexer)&lt;br /&gt;
* sofortiger Bereitschaft nach Zuschalten der Spannung&lt;br /&gt;
* geringem Beschaltungsaufwand&lt;br /&gt;
verlangt.&lt;br /&gt;
&lt;br /&gt;
Auch sind viele CPLDs noch 5V-tolerant und können so als [[Pegelwandler]] eingesetzt werden. Zwar gibt es auch 8-bit Mikrocontroller-Designs für CPLDs (Xilinx Picoblaze, siehe [[FPGA Soft Core]]), aber die passen nur in die größten CPLDs. Praktisch sinnvoll sind sie nicht, eine State Machine ist hier wesentlich besser. Typische Anwendungen sind:&lt;br /&gt;
* Digitaluhren mit alphanumerischem Display&lt;br /&gt;
* Seriell/Parallel Wandler&lt;br /&gt;
* [[PWM]]-Generator&lt;br /&gt;
* Konfigurationslogik für FPGAs&lt;br /&gt;
* Speichercontroller für mehrere CPUs&lt;br /&gt;
* Zeitgesteuerte Einschaltlogik (Einschaltsequenz)&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[GAL]]&lt;br /&gt;
* [[FPGA]]&lt;br /&gt;
* [[Hardwarebeschreibungssprachen‎]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* Altera&lt;br /&gt;
** [http://www.pyroelectro.com/tutorials/cpld_board/index.html Build A CPLD Dev Board] bei www.pyroelectro.com (MAX7000A Serie)&lt;br /&gt;
** [http://www.pyroelectro.com/tutorials/byteblaster/index.html Build A ByteBlaster] bei www.pyroelectro.com&lt;br /&gt;
* Lattice&lt;br /&gt;
** [http://www.amateurfunkbasteln.de/pcla/pcla.html 32-Kanal-Logik-Analysator bis 40 Mhz]&lt;br /&gt;
* XILINX&lt;br /&gt;
** [http://www.interq.or.jp/japan/se-inoue/e_cpld3_3.htm CPLD-Programmer für Xilinx 9500] !!Defekt (404)!!&lt;br /&gt;
** [http://www.geocities.com/jacquesmartini/digital/schematic/Parallel_Cable_III.png Parallel-Cable-III für Xilinx CPLDs und FPGAs]&lt;br /&gt;
** [http://www.mikrocontroller.net/forum/read-9-306733.html XC95xxx CPLD: Beschaltung Quarz/Oszillator]&lt;br /&gt;
** [http://www.mikrocontroller.net/forum/read-9-294326.html Probleme beim Programmieren XC95xxx]&lt;br /&gt;
[[Category:FPGA und Co]]&lt;br /&gt;
** [http://www.ulrichradig.de/ Kleine Grafikkarte für uCs, CPLD -&amp;gt; 8bit µC GraKa]&lt;br /&gt;
** [http://www.embedded-projects.net/index.php?page_id=157 Programmieren von Xilinx CPLDs oder FPGAs mit usbprog unter Linux und potenziell Windows]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Eagle-Wishlist&amp;diff=64259</id>
		<title>Diskussion:Eagle-Wishlist</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Eagle-Wishlist&amp;diff=64259"/>
		<updated>2012-02-14T16:10:56Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Anmerkungen Punkte 5 und 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*  Messung der Leiterbahnlänge&lt;br /&gt;
: ULP: length.ulp --Haku 08:47, 21. Feb. 2010 (UTC)&lt;br /&gt;
: -&amp;gt; Das zeigt die Länge des gesammten Signal an, nicht nur eines oder mehrere Teilstücke.&lt;br /&gt;
&lt;br /&gt;
* Abstandsmessung&lt;br /&gt;
: Nach setzen der Markierung mit dem &#039;&#039;MARK&#039;&#039;-Befehl werden oben links über dem Layout horizontaler und vertikaler Versatz des Mauszeigers zur Markierung sowie Abstand und Winkel angezeigt. --[[Benutzer:Haku|Haku]] 08:47, 21. Feb. 2010 (UTC)&lt;br /&gt;
: -&amp;gt; Siehe Bemerkung [2] im Artikel. Wenn man an mehreren Stellen messen will, muss man immer die Referenzkoordinaten versetzen. Das ist unnötig kompliziert. Wie es einfacher geht bitte an der Demoversion von Sprint-Layout probieren.&lt;br /&gt;
&lt;br /&gt;
* Layer Gruppen erzeugen/selber definieren (z.&amp;amp;nbsp;B. für Routing, Plazierung, Mech. ...)&lt;br /&gt;
: Auf den &amp;quot;Display&amp;quot; Button links klicken und Taste gedrückt halten bis sich Kontextmenü öffnet. Darin kann die aktuelle Layerkonfiguration gespeichert werden oder zwischen gespeicherten Konfigurationen umgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
* Weitere Standardgeometrien (Kreisfläche)&lt;br /&gt;
: Mit Circle einen Kreis zeichnen und Leiterbahnbreite (Width) auf 0 setzen erzeugt eine Kreisfläche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Eagle Wishlist...&lt;br /&gt;
: Schön und toll, aber hat irgend jemand schon einmal Farnell bzw Cadsoft auf unsere Wishlist hingewiesen?&lt;br /&gt;
: -&amp;gt;  Es ist bestimmt besser damit noch etwas zu warten bis mehr Striche da sind, sonst denken die sich: &amp;quot;Was, nur 2 Leute wollen das? Dann machen wir uns die Arbeit nicht...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Anmerkungen Punkte 5 und 6 ==&lt;br /&gt;
&lt;br /&gt;
[5] ist in &amp;lt;10s selbst gemacht. (Erstellen Dateiassoziation)&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Wenn das alle Firmen sagen/würden, könnten normale User ihren PC nicht mehr verwenden. &amp;quot;Vernünftige&amp;quot; Software setzt IMO die Assoziationen mit entsprechenden Icons und weiteren Funktionen (z.B. CAM-Prozessor öffnen)&lt;br /&gt;
&lt;br /&gt;
[6] _nichts_ anderes passiert bei installation im _gleichen_ ordner. lesen lernen... &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; die meisten Setups erlauben Funktionen wie &amp;quot;Aktualisieren&amp;quot; oder &amp;quot;Zusätzlich installieren&amp;quot;.&lt;br /&gt;
Für den Distributor einmal ne Stunde Arbeit gegen jeder User, der nur aktualisieren will, muss den Pfad ändern, schauen ob er passt um dann festzustellen, dass er doch wieder zwei Installationen auf dem Rechner hat...&lt;br /&gt;
&lt;br /&gt;
lesen lernen: das hat damit nichts zu tun. Warum sollte ich das tun, was die Software schneller und besser kann als ich? Getreu dem Motto &amp;quot;Ein guter Programmierer programmiert etwas nicht zweimal.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Anmerkung zu Versionen ==&lt;br /&gt;
Der Punkt &amp;quot;•Light Version auf 2 Signal + 2 Power Lagen anheben. 2 Lagen ist nicht mehr Zeitgemäß&amp;quot; widerspricht der Forderung der Reduktion auf 2 Lagen bei der non Profit-Version. Eher umgekehrt macht sinn.&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64114</id>
		<title>Glossar</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64114"/>
		<updated>2012-02-09T16:23:46Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* P */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
;ABI: &#039;&#039;&#039;A&#039;&#039;&#039;pplication &#039;&#039;&#039;B&#039;&#039;&#039;inary &#039;&#039;&#039;I&#039;&#039;&#039;nterface: Das Binärinterface, das zum Datenaustausch verwendet wird, z.B. die Registerverwendung in einer Funktion und für Parameterübergabe, Datenablage, Strukturlayout, etc. Jeder [[Compiler]] erzeugt Code nach einer bestimmten ABI, so daß der Code aus unterschiedlichen Modulen und Bibliotheken zusammenpasst. Beim Mischen von Hochsprachen mit (Inline-)Assembler muss auf ABI-konformität geachtet werden. Compiler-Schalter können das ABI beeinflussen. Beispiel: -fpack-struct beim GCC.&lt;br /&gt;
&lt;br /&gt;
;[[ADC]]: &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;C&#039;&#039;&#039;onverter.&lt;br /&gt;
&lt;br /&gt;
;[[AGC]]: &#039;&#039;&#039;A&#039;&#039;&#039;utomatic &#039;&#039;&#039;G&#039;&#039;&#039;ain &#039;&#039;&#039;C&#039;&#039;&#039;ontrol. Ein Schaltkreis zur selbsttätigen Verstärkungsanpassung.&lt;br /&gt;
&lt;br /&gt;
;[[ARM]]: Eine Mikrocontrollerfamilie&lt;br /&gt;
&lt;br /&gt;
;[[AVR]]: Eine Mikrocontrollerfamilie von Atmel. Der Ursprung des Namens ist unklar.&lt;br /&gt;
&lt;br /&gt;
== B ==&lt;br /&gt;
&lt;br /&gt;
;[[BGA]]: &#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray: Eine Gehäuseform für ICs.&lt;br /&gt;
&lt;br /&gt;
;Bit: &#039;&#039;&#039;Bi&#039;&#039;&#039;nary Digi&#039;&#039;&#039;t&#039;&#039;&#039;: Kleinste Informationseinheit, siehe [[Bitmanipulation]].&lt;br /&gt;
 &lt;br /&gt;
;BNC: &#039;&#039;&#039;B&#039;&#039;&#039;ajonet &#039;&#039;&#039;N&#039;&#039;&#039;ut &#039;&#039;&#039;C&#039;&#039;&#039;onnector: Ein Steckverbinder für Koaxialkabel.&lt;br /&gt;
&lt;br /&gt;
;[[BSDL]]: &#039;&#039;&#039;B&#039;&#039;&#039;oundary &#039;&#039;&#039;S&#039;&#039;&#039;can &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage: Eine Sprache für [[boundary scan]]-basiertes Testen und Debuggen.&lt;br /&gt;
&lt;br /&gt;
== C ==&lt;br /&gt;
&lt;br /&gt;
;[[C]]: Eine weit verbreitete Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
;[[CAN]]: &#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork: Ein Netzwerk für kleine [[Mikrocontroller]], ursprünglich für die Automobilbranche entwickelt.&lt;br /&gt;
&lt;br /&gt;
;[[CPLD]]: &#039;&#039;&#039;C&#039;&#039;&#039;omplex &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;L&#039;&#039;&#039;ogic &#039;&#039;&#039;D&#039;&#039;&#039;evice: Ein programmierbarer Logikbaustein.&lt;br /&gt;
&lt;br /&gt;
== D ==&lt;br /&gt;
;[[DAC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;C&#039;&#039;&#039;onverter&lt;br /&gt;
;[[DCM]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;C&#039;&#039;&#039;Clock &#039;&#039;&#039;M&#039;&#039;&#039;anager&lt;br /&gt;
;[[DDC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;D&#039;&#039;&#039;own &#039;&#039;&#039;C&#039;&#039;&#039;onversion: Abtastfrequenzverringerung in der Signalverarbeitung&lt;br /&gt;
;[[DUC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;U&#039;&#039;&#039;p &#039;&#039;&#039;C&#039;&#039;&#039;onversion: Abtastfrequenzerhöhung in der Signalverarbeitung&lt;br /&gt;
;[[DSP]]: &#039;&#039;&#039;D&#039;&#039;&#039;igitaler &#039;&#039;&#039;S&#039;&#039;&#039;ignal&#039;&#039;&#039;p&#039;&#039;&#039;rozessor&lt;br /&gt;
;[[DTMF]]: &#039;&#039;&#039;D&#039;&#039;&#039;ual &#039;&#039;&#039;T&#039;&#039;&#039;one &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;F&#039;&#039;&#039;requency: Tonwahlverfahren im Telephon.&lt;br /&gt;
&lt;br /&gt;
== E ==&lt;br /&gt;
&lt;br /&gt;
;[[EEPROM]]: &#039;&#039;&#039;E&#039;&#039;&#039;lectrical &#039;&#039;&#039;E&#039;&#039;&#039;rasable and &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;R&#039;&#039;&#039;ead &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory: Ein nichtflüchtiger [[Speicher#EEPROM|Speicher]].&lt;br /&gt;
&lt;br /&gt;
;[[EMV]]: &#039;&#039;&#039;E&#039;&#039;&#039;lektro&#039;&#039;&#039;m&#039;&#039;&#039;agnetische &#039;&#039;&#039;V&#039;&#039;&#039;erträglichkeit: Beschreibt das Verhalten von Geräten bezüglich Aussenden von elektromagetischen Störungen und die Toleranz bezüglich Einstrahlung eben dieser. &lt;br /&gt;
&lt;br /&gt;
== F ==&lt;br /&gt;
&lt;br /&gt;
;FBGA: &#039;&#039;&#039;F&#039;&#039;&#039;ine [[BGA|&#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray]]: Eine Gehäuseform für ICs.&lt;br /&gt;
;FEC: &#039;&#039;&#039;F&#039;&#039;&#039;orward &#039;&#039;&#039;E&#039;&#039;&#039;rror &#039;&#039;&#039;C&#039;&#039;&#039;orrectopn: Fehlerkorrektur&lt;br /&gt;
;FEM: &#039;&#039;&#039;F&#039;&#039;&#039;inite &#039;&#039;&#039;E&#039;&#039;&#039;lemente &#039;&#039;&#039;M&#039;&#039;&#039;ethode: Stützstellenapproximation&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT]: &#039;&#039;&#039;F&#039;&#039;&#039;ast &#039;&#039;&#039;F&#039;&#039;&#039;ourier &#039;&#039;&#039;T&#039;&#039;&#039;ransformation: Ein Algorithmus zur effizienten Berechnung der [http://de.wikipedia.org/wiki/Diskrete_Fourier-Transformation Diskreten Fourier-Transformation] für den Fall gleicher Zeitabstände der Eingabewerte und einer Zweierpotenz als Anzahl der Eingabewerte.  Die Fourier-Transformation bildet eine Funktion auf ihr Frequenzspektrum ab, was vielfach in der Signalverarbeitung Anwendung findet neben anderen Transformationen wie Laplace-Transformation, Wavelet-Transformation oder Z-Transformation.&lt;br /&gt;
;[[FIFO]]: &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;O&#039;&#039;&#039;ut: Eine Organisationsform für einen Zwischenspeicher.&lt;br /&gt;
;[[FPGA]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray: Ein programmierbarer Logikbaustein.&lt;br /&gt;
;[[FPU]]: &#039;&#039;&#039;F&#039;&#039;&#039;loating &#039;&#039;&#039;P&#039;&#039;&#039;oint &#039;&#039;&#039;U&#039;&#039;&#039;nit: Teil eines Prozessors der Berechnungen mit Gleitkommazahlen unterstützt.&lt;br /&gt;
&lt;br /&gt;
;[[FOC]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;O&#039;&#039;&#039;riented &#039;&#039;&#039;C&#039;&#039;&#039;ontrol, englisch für feldorientierte Regelung (bei Motoren)&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
&lt;br /&gt;
;GFR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: s.u.&lt;br /&gt;
;GPR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;P&#039;&#039;&#039;urpose &#039;&#039;&#039;R&#039;&#039;&#039;egister: Arbeitsregister eines Prozessors. Bei vielen Architekturen müssen Daten in solche Register geladen werden, um sie bearbeiten zu können. Bei [[AVR]] sind das z.B. die Register R0 – R31&lt;br /&gt;
;GMI:&lt;br /&gt;
;GPS: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;P&#039;&#039;&#039;ositioning &#039;&#039;&#039;S&#039;&#039;&#039;ystem&lt;br /&gt;
;GSM: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;S&#039;&#039;&#039;ystem for &#039;&#039;&#039;M&#039;&#039;&#039;obile Communications:&lt;br /&gt;
;GTP: &#039;&#039;&#039;G&#039;&#039;&#039;igabit &#039;&#039;&#039;T&#039;&#039;&#039;ransceiver &#039;&#039;&#039;P&#039;&#039;&#039;ort: Ein high speed port bei FPGAs&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
&lt;br /&gt;
;HF: Hochfrequenz&lt;br /&gt;
&lt;br /&gt;
;HIL: &amp;amp;rarr; Wikipedia: [http://de.wikipedia.org/wiki/Hardware_in_the_Loop &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;i&#039;&#039;&#039;n the &#039;&#039;&#039;L&#039;&#039;&#039;oop].&lt;br /&gt;
&lt;br /&gt;
== I ==&lt;br /&gt;
&lt;br /&gt;
;ISA: &#039;&#039;&#039;I&#039;&#039;&#039;nstruction &#039;&#039;&#039;S&#039;&#039;&#039;et &#039;&#039;&#039;A&#039;&#039;&#039;rchitecture: Registerstruktur und Befehlssatz eines Prozessors/[[Mikrocontroller]]s bzw. einer Prozessorfamilie.&lt;br /&gt;
&lt;br /&gt;
;[[ISP]]: &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;S&#039;&#039;&#039;ystem &#039;&#039;&#039;P&#039;&#039;&#039;rogramming: Der Mikrocontroller wird direkt auf der Zielhardware programmiert.&lt;br /&gt;
&lt;br /&gt;
;ISR: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;S&#039;&#039;&#039;ervice &#039;&#039;&#039;R&#039;&#039;&#039;outine: Ein Programmstück, das nach Eintreten eines bestimmten Ereignisses ausgeführt wird. Siehe [[Interrupt]].&lt;br /&gt;
&lt;br /&gt;
;IRQ: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;R&#039;&#039;&#039;e&#039;&#039;&#039;q&#039;&#039;&#039;uest: Ein Ereignis, das einen [[Interrupt]] auslöst. In der Regel wird die Programmausführung unterbrochen und ein spezielles Programmstück, eine ISR, ausgeführt und danach zum ursprünglichen Programmcode zurückgekehrt. Viele IRQs können aktiviert oder deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
== J ==&lt;br /&gt;
&lt;br /&gt;
;[[JTAG]]: &#039;&#039;&#039;J&#039;&#039;&#039;oint &#039;&#039;&#039;T&#039;&#039;&#039;est &#039;&#039;&#039;A&#039;&#039;&#039;ction &#039;&#039;&#039;G&#039;&#039;&#039;roup: Eine Funktion für komplexe ICs, um diese im aufgelöteten Zustand zu prüfen bzw. zu programmieren und debuggen (Mikrocontroller).&lt;br /&gt;
&lt;br /&gt;
== K ==&lt;br /&gt;
&lt;br /&gt;
== L ==&lt;br /&gt;
&lt;br /&gt;
;LSB: &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das niederwertigste Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: niederwertigstes Bit.&lt;br /&gt;
&lt;br /&gt;
== M ==&lt;br /&gt;
&lt;br /&gt;
;MSB: &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das höchstwertige Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: höchstwertiges Bit.&lt;br /&gt;
&lt;br /&gt;
== N ==&lt;br /&gt;
&lt;br /&gt;
== O ==&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
&lt;br /&gt;
;[[PCM]]: &#039;&#039;&#039;P&#039;&#039;&#039;ulse &#039;&#039;&#039;C&#039;&#039;&#039;ode &#039;&#039;&#039;M&#039;&#039;&#039;odulation: Umsetzung eines Wertes auf 1-Bit Signal, auch ein Datenformat&lt;br /&gt;
;[[PDM]]: &#039;&#039;&#039;P&#039;&#039;&#039;ulse &#039;&#039;&#039;D&#039;&#039;&#039;ichte &#039;&#039;&#039;M&#039;&#039;&#039;odulation: Umsetzung eines Wertes auf 1-Bit Signal&lt;br /&gt;
;[[PFC]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;F&#039;&#039;&#039;actor &#039;&#039;&#039;C&#039;&#039;&#039;orrection: Eine Schaltung, die Blindleistung kompensiert&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Phase-locked_loop PLL]: &#039;&#039;&#039;P&#039;&#039;&#039;hase &#039;&#039;&#039;L&#039;&#039;&#039;ocked &#039;&#039;&#039;L&#039;&#039;&#039;oop: Eine Schaltung, die einen Ausgangstakt mit definierter Phaselage zu einem Eingangstakt generiert.&lt;br /&gt;
;[[PSU]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;S&#039;&#039;&#039;upply &#039;&#039;&#039;U&#039;&#039;&#039;nit: Bezeichnung für die Stromversorgungseinheit&lt;br /&gt;
&lt;br /&gt;
== Q ==&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
&lt;br /&gt;
;[[RS232]]: &#039;&#039;&#039;R&#039;&#039;&#039;ecommended &#039;&#039;&#039;S&#039;&#039;&#039;tandard 232: Eine Definition zur seriellen Datenübertragung, eng gekoppelt an [[UART]].&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
&lt;br /&gt;
;SFR: &#039;&#039;&#039;S&#039;&#039;&#039;pecial &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: Hardware-Register, über die interne und externe Peripherie eines Prozessors/[[Mikrocontroller]]s konfiguriert wird, und über die Daten ausgetauscht werden. IO-Ports werden z.B. auf bestimmte [[Speicher#Register|SFRs]] abgebildet, auf die dann mit speziellen Befehlen zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
;SAR: &#039;&#039;&#039;S&#039;&#039;&#039;ynthetic &#039;&#039;&#039;A&#039;&#039;&#039;perture &#039;&#039;&#039;R&#039;&#039;&#039;adar: Eine Messmethodik in der Radartechnik&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
&lt;br /&gt;
;TTL: &#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;L&#039;&#039;&#039;ogik.&lt;br /&gt;
&lt;br /&gt;
== U ==&lt;br /&gt;
&lt;br /&gt;
;[[UART]]: &#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;A&#039;&#039;&#039;synchronus &#039;&#039;&#039;R&#039;&#039;&#039;eceiver and &#039;&#039;&#039;T&#039;&#039;&#039;ransmitter: Ein Modul in Mikrocontrollern oder PCs zum seriellen Datenaustausch.&lt;br /&gt;
&lt;br /&gt;
== V ==&lt;br /&gt;
&lt;br /&gt;
== W ==&lt;br /&gt;
&lt;br /&gt;
;[[Watchdog|WDT]]: &#039;&#039;&#039;W&#039;&#039;&#039;atch &#039;&#039;&#039;D&#039;&#039;&#039;og &#039;&#039;&#039;T&#039;&#039;&#039;imer&lt;br /&gt;
&lt;br /&gt;
== X ==&lt;br /&gt;
&lt;br /&gt;
== Y ==&lt;br /&gt;
&lt;br /&gt;
== Z ==&lt;br /&gt;
&lt;br /&gt;
;Z: In der HF-Technik das Formelzeichen für den [[Wellenwiderstand]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64113</id>
		<title>Glossar</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64113"/>
		<updated>2012-02-09T16:21:46Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
;ABI: &#039;&#039;&#039;A&#039;&#039;&#039;pplication &#039;&#039;&#039;B&#039;&#039;&#039;inary &#039;&#039;&#039;I&#039;&#039;&#039;nterface: Das Binärinterface, das zum Datenaustausch verwendet wird, z.B. die Registerverwendung in einer Funktion und für Parameterübergabe, Datenablage, Strukturlayout, etc. Jeder [[Compiler]] erzeugt Code nach einer bestimmten ABI, so daß der Code aus unterschiedlichen Modulen und Bibliotheken zusammenpasst. Beim Mischen von Hochsprachen mit (Inline-)Assembler muss auf ABI-konformität geachtet werden. Compiler-Schalter können das ABI beeinflussen. Beispiel: -fpack-struct beim GCC.&lt;br /&gt;
&lt;br /&gt;
;[[ADC]]: &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;C&#039;&#039;&#039;onverter.&lt;br /&gt;
&lt;br /&gt;
;[[AGC]]: &#039;&#039;&#039;A&#039;&#039;&#039;utomatic &#039;&#039;&#039;G&#039;&#039;&#039;ain &#039;&#039;&#039;C&#039;&#039;&#039;ontrol. Ein Schaltkreis zur selbsttätigen Verstärkungsanpassung.&lt;br /&gt;
&lt;br /&gt;
;[[ARM]]: Eine Mikrocontrollerfamilie&lt;br /&gt;
&lt;br /&gt;
;[[AVR]]: Eine Mikrocontrollerfamilie von Atmel. Der Ursprung des Namens ist unklar.&lt;br /&gt;
&lt;br /&gt;
== B ==&lt;br /&gt;
&lt;br /&gt;
;[[BGA]]: &#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray: Eine Gehäuseform für ICs.&lt;br /&gt;
&lt;br /&gt;
;Bit: &#039;&#039;&#039;Bi&#039;&#039;&#039;nary Digi&#039;&#039;&#039;t&#039;&#039;&#039;: Kleinste Informationseinheit, siehe [[Bitmanipulation]].&lt;br /&gt;
 &lt;br /&gt;
;BNC: &#039;&#039;&#039;B&#039;&#039;&#039;ajonet &#039;&#039;&#039;N&#039;&#039;&#039;ut &#039;&#039;&#039;C&#039;&#039;&#039;onnector: Ein Steckverbinder für Koaxialkabel.&lt;br /&gt;
&lt;br /&gt;
;[[BSDL]]: &#039;&#039;&#039;B&#039;&#039;&#039;oundary &#039;&#039;&#039;S&#039;&#039;&#039;can &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage: Eine Sprache für [[boundary scan]]-basiertes Testen und Debuggen.&lt;br /&gt;
&lt;br /&gt;
== C ==&lt;br /&gt;
&lt;br /&gt;
;[[C]]: Eine weit verbreitete Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
;[[CAN]]: &#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork: Ein Netzwerk für kleine [[Mikrocontroller]], ursprünglich für die Automobilbranche entwickelt.&lt;br /&gt;
&lt;br /&gt;
;[[CPLD]]: &#039;&#039;&#039;C&#039;&#039;&#039;omplex &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;L&#039;&#039;&#039;ogic &#039;&#039;&#039;D&#039;&#039;&#039;evice: Ein programmierbarer Logikbaustein.&lt;br /&gt;
&lt;br /&gt;
== D ==&lt;br /&gt;
;[[DAC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;C&#039;&#039;&#039;onverter&lt;br /&gt;
;[[DCM]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;C&#039;&#039;&#039;Clock &#039;&#039;&#039;M&#039;&#039;&#039;anager&lt;br /&gt;
;[[DDC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;D&#039;&#039;&#039;own &#039;&#039;&#039;C&#039;&#039;&#039;onversion: Abtastfrequenzverringerung in der Signalverarbeitung&lt;br /&gt;
;[[DUC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;U&#039;&#039;&#039;p &#039;&#039;&#039;C&#039;&#039;&#039;onversion: Abtastfrequenzerhöhung in der Signalverarbeitung&lt;br /&gt;
;[[DSP]]: &#039;&#039;&#039;D&#039;&#039;&#039;igitaler &#039;&#039;&#039;S&#039;&#039;&#039;ignal&#039;&#039;&#039;p&#039;&#039;&#039;rozessor&lt;br /&gt;
;[[DTMF]]: &#039;&#039;&#039;D&#039;&#039;&#039;ual &#039;&#039;&#039;T&#039;&#039;&#039;one &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;F&#039;&#039;&#039;requency: Tonwahlverfahren im Telephon.&lt;br /&gt;
&lt;br /&gt;
== E ==&lt;br /&gt;
&lt;br /&gt;
;[[EEPROM]]: &#039;&#039;&#039;E&#039;&#039;&#039;lectrical &#039;&#039;&#039;E&#039;&#039;&#039;rasable and &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;R&#039;&#039;&#039;ead &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory: Ein nichtflüchtiger [[Speicher#EEPROM|Speicher]].&lt;br /&gt;
&lt;br /&gt;
;[[EMV]]: &#039;&#039;&#039;E&#039;&#039;&#039;lektro&#039;&#039;&#039;m&#039;&#039;&#039;agnetische &#039;&#039;&#039;V&#039;&#039;&#039;erträglichkeit: Beschreibt das Verhalten von Geräten bezüglich Aussenden von elektromagetischen Störungen und die Toleranz bezüglich Einstrahlung eben dieser. &lt;br /&gt;
&lt;br /&gt;
== F ==&lt;br /&gt;
&lt;br /&gt;
;FBGA: &#039;&#039;&#039;F&#039;&#039;&#039;ine [[BGA|&#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray]]: Eine Gehäuseform für ICs.&lt;br /&gt;
;FEC: &#039;&#039;&#039;F&#039;&#039;&#039;orward &#039;&#039;&#039;E&#039;&#039;&#039;rror &#039;&#039;&#039;C&#039;&#039;&#039;orrectopn: Fehlerkorrektur&lt;br /&gt;
;FEM: &#039;&#039;&#039;F&#039;&#039;&#039;inite &#039;&#039;&#039;E&#039;&#039;&#039;lemente &#039;&#039;&#039;M&#039;&#039;&#039;ethode: Stützstellenapproximation&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT]: &#039;&#039;&#039;F&#039;&#039;&#039;ast &#039;&#039;&#039;F&#039;&#039;&#039;ourier &#039;&#039;&#039;T&#039;&#039;&#039;ransformation: Ein Algorithmus zur effizienten Berechnung der [http://de.wikipedia.org/wiki/Diskrete_Fourier-Transformation Diskreten Fourier-Transformation] für den Fall gleicher Zeitabstände der Eingabewerte und einer Zweierpotenz als Anzahl der Eingabewerte.  Die Fourier-Transformation bildet eine Funktion auf ihr Frequenzspektrum ab, was vielfach in der Signalverarbeitung Anwendung findet neben anderen Transformationen wie Laplace-Transformation, Wavelet-Transformation oder Z-Transformation.&lt;br /&gt;
;[[FIFO]]: &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;O&#039;&#039;&#039;ut: Eine Organisationsform für einen Zwischenspeicher.&lt;br /&gt;
;[[FPGA]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray: Ein programmierbarer Logikbaustein.&lt;br /&gt;
;[[FPU]]: &#039;&#039;&#039;F&#039;&#039;&#039;loating &#039;&#039;&#039;P&#039;&#039;&#039;oint &#039;&#039;&#039;U&#039;&#039;&#039;nit: Teil eines Prozessors der Berechnungen mit Gleitkommazahlen unterstützt.&lt;br /&gt;
&lt;br /&gt;
;[[FOC]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;O&#039;&#039;&#039;riented &#039;&#039;&#039;C&#039;&#039;&#039;ontrol, englisch für feldorientierte Regelung (bei Motoren)&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
&lt;br /&gt;
;GFR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: s.u.&lt;br /&gt;
;GPR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;P&#039;&#039;&#039;urpose &#039;&#039;&#039;R&#039;&#039;&#039;egister: Arbeitsregister eines Prozessors. Bei vielen Architekturen müssen Daten in solche Register geladen werden, um sie bearbeiten zu können. Bei [[AVR]] sind das z.B. die Register R0 – R31&lt;br /&gt;
;GMI:&lt;br /&gt;
;GPS: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;P&#039;&#039;&#039;ositioning &#039;&#039;&#039;S&#039;&#039;&#039;ystem&lt;br /&gt;
;GSM: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;S&#039;&#039;&#039;ystem for &#039;&#039;&#039;M&#039;&#039;&#039;obile Communications:&lt;br /&gt;
;GTP: &#039;&#039;&#039;G&#039;&#039;&#039;igabit &#039;&#039;&#039;T&#039;&#039;&#039;ransceiver &#039;&#039;&#039;P&#039;&#039;&#039;ort: Ein high speed port bei FPGAs&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
&lt;br /&gt;
;HF: Hochfrequenz&lt;br /&gt;
&lt;br /&gt;
;HIL: &amp;amp;rarr; Wikipedia: [http://de.wikipedia.org/wiki/Hardware_in_the_Loop &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;i&#039;&#039;&#039;n the &#039;&#039;&#039;L&#039;&#039;&#039;oop].&lt;br /&gt;
&lt;br /&gt;
== I ==&lt;br /&gt;
&lt;br /&gt;
;ISA: &#039;&#039;&#039;I&#039;&#039;&#039;nstruction &#039;&#039;&#039;S&#039;&#039;&#039;et &#039;&#039;&#039;A&#039;&#039;&#039;rchitecture: Registerstruktur und Befehlssatz eines Prozessors/[[Mikrocontroller]]s bzw. einer Prozessorfamilie.&lt;br /&gt;
&lt;br /&gt;
;[[ISP]]: &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;S&#039;&#039;&#039;ystem &#039;&#039;&#039;P&#039;&#039;&#039;rogramming: Der Mikrocontroller wird direkt auf der Zielhardware programmiert.&lt;br /&gt;
&lt;br /&gt;
;ISR: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;S&#039;&#039;&#039;ervice &#039;&#039;&#039;R&#039;&#039;&#039;outine: Ein Programmstück, das nach Eintreten eines bestimmten Ereignisses ausgeführt wird. Siehe [[Interrupt]].&lt;br /&gt;
&lt;br /&gt;
;IRQ: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;R&#039;&#039;&#039;e&#039;&#039;&#039;q&#039;&#039;&#039;uest: Ein Ereignis, das einen [[Interrupt]] auslöst. In der Regel wird die Programmausführung unterbrochen und ein spezielles Programmstück, eine ISR, ausgeführt und danach zum ursprünglichen Programmcode zurückgekehrt. Viele IRQs können aktiviert oder deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
== J ==&lt;br /&gt;
&lt;br /&gt;
;[[JTAG]]: &#039;&#039;&#039;J&#039;&#039;&#039;oint &#039;&#039;&#039;T&#039;&#039;&#039;est &#039;&#039;&#039;A&#039;&#039;&#039;ction &#039;&#039;&#039;G&#039;&#039;&#039;roup: Eine Funktion für komplexe ICs, um diese im aufgelöteten Zustand zu prüfen bzw. zu programmieren und debuggen (Mikrocontroller).&lt;br /&gt;
&lt;br /&gt;
== K ==&lt;br /&gt;
&lt;br /&gt;
== L ==&lt;br /&gt;
&lt;br /&gt;
;LSB: &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das niederwertigste Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: niederwertigstes Bit.&lt;br /&gt;
&lt;br /&gt;
== M ==&lt;br /&gt;
&lt;br /&gt;
;MSB: &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das höchstwertige Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: höchstwertiges Bit.&lt;br /&gt;
&lt;br /&gt;
== N ==&lt;br /&gt;
&lt;br /&gt;
== O ==&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
&lt;br /&gt;
;[[PCM]]: &#039;&#039;&#039;P&#039;&#039;&#039;ulse &#039;&#039;&#039;C&#039;&#039;&#039;ode &#039;&#039;&#039;M&#039;&#039;&#039;odulation: Ein Datenformat&lt;br /&gt;
&lt;br /&gt;
;[[PFC]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;F&#039;&#039;&#039;actor &#039;&#039;&#039;C&#039;&#039;&#039;orrection: Eine Schaltung, die Blindleistung kompensiert&lt;br /&gt;
&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Phase-locked_loop PLL]: &#039;&#039;&#039;P&#039;&#039;&#039;hase &#039;&#039;&#039;L&#039;&#039;&#039;ocked &#039;&#039;&#039;L&#039;&#039;&#039;oop: Eine Schaltung, die einen Ausgangstakt mit definierter Phaselage zu einem Eingangstakt generiert.&lt;br /&gt;
&lt;br /&gt;
;[[PSU]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;S&#039;&#039;&#039;upply &#039;&#039;&#039;U&#039;&#039;&#039;nit: Bezeichnung für die Stromversorgungseinheit&lt;br /&gt;
&lt;br /&gt;
== Q ==&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
&lt;br /&gt;
;[[RS232]]: &#039;&#039;&#039;R&#039;&#039;&#039;ecommended &#039;&#039;&#039;S&#039;&#039;&#039;tandard 232: Eine Definition zur seriellen Datenübertragung, eng gekoppelt an [[UART]].&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
&lt;br /&gt;
;SFR: &#039;&#039;&#039;S&#039;&#039;&#039;pecial &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: Hardware-Register, über die interne und externe Peripherie eines Prozessors/[[Mikrocontroller]]s konfiguriert wird, und über die Daten ausgetauscht werden. IO-Ports werden z.B. auf bestimmte [[Speicher#Register|SFRs]] abgebildet, auf die dann mit speziellen Befehlen zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
;SAR: &#039;&#039;&#039;S&#039;&#039;&#039;ynthetic &#039;&#039;&#039;A&#039;&#039;&#039;perture &#039;&#039;&#039;R&#039;&#039;&#039;adar: Eine Messmethodik in der Radartechnik&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
&lt;br /&gt;
;TTL: &#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;L&#039;&#039;&#039;ogik.&lt;br /&gt;
&lt;br /&gt;
== U ==&lt;br /&gt;
&lt;br /&gt;
;[[UART]]: &#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;A&#039;&#039;&#039;synchronus &#039;&#039;&#039;R&#039;&#039;&#039;eceiver and &#039;&#039;&#039;T&#039;&#039;&#039;ransmitter: Ein Modul in Mikrocontrollern oder PCs zum seriellen Datenaustausch.&lt;br /&gt;
&lt;br /&gt;
== V ==&lt;br /&gt;
&lt;br /&gt;
== W ==&lt;br /&gt;
&lt;br /&gt;
;[[Watchdog|WDT]]: &#039;&#039;&#039;W&#039;&#039;&#039;atch &#039;&#039;&#039;D&#039;&#039;&#039;og &#039;&#039;&#039;T&#039;&#039;&#039;imer&lt;br /&gt;
&lt;br /&gt;
== X ==&lt;br /&gt;
&lt;br /&gt;
== Y ==&lt;br /&gt;
&lt;br /&gt;
== Z ==&lt;br /&gt;
&lt;br /&gt;
;Z: In der HF-Technik das Formelzeichen für den [[Wellenwiderstand]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64112</id>
		<title>Glossar</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Glossar&amp;diff=64112"/>
		<updated>2012-02-09T16:19:18Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* G */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
;ABI: &#039;&#039;&#039;A&#039;&#039;&#039;pplication &#039;&#039;&#039;B&#039;&#039;&#039;inary &#039;&#039;&#039;I&#039;&#039;&#039;nterface: Das Binärinterface, das zum Datenaustausch verwendet wird, z.B. die Registerverwendung in einer Funktion und für Parameterübergabe, Datenablage, Strukturlayout, etc. Jeder [[Compiler]] erzeugt Code nach einer bestimmten ABI, so daß der Code aus unterschiedlichen Modulen und Bibliotheken zusammenpasst. Beim Mischen von Hochsprachen mit (Inline-)Assembler muss auf ABI-konformität geachtet werden. Compiler-Schalter können das ABI beeinflussen. Beispiel: -fpack-struct beim GCC.&lt;br /&gt;
&lt;br /&gt;
;[[ADC]]: &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;C&#039;&#039;&#039;onverter.&lt;br /&gt;
&lt;br /&gt;
;[[AGC]]: &#039;&#039;&#039;A&#039;&#039;&#039;utomatic &#039;&#039;&#039;G&#039;&#039;&#039;ain &#039;&#039;&#039;C&#039;&#039;&#039;ontrol. Ein Schaltkreis zur selbsttätigen Verstärkungsanpassung.&lt;br /&gt;
&lt;br /&gt;
;[[ARM]]: Eine Mikrocontrollerfamilie&lt;br /&gt;
&lt;br /&gt;
;[[AVR]]: Eine Mikrocontrollerfamilie von Atmel. Der Ursprung des Namens ist unklar.&lt;br /&gt;
&lt;br /&gt;
== B ==&lt;br /&gt;
&lt;br /&gt;
;[[BGA]]: &#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray: Eine Gehäuseform für ICs.&lt;br /&gt;
&lt;br /&gt;
;Bit: &#039;&#039;&#039;Bi&#039;&#039;&#039;nary Digi&#039;&#039;&#039;t&#039;&#039;&#039;: Kleinste Informationseinheit, siehe [[Bitmanipulation]].&lt;br /&gt;
 &lt;br /&gt;
;BNC: &#039;&#039;&#039;B&#039;&#039;&#039;ajonet &#039;&#039;&#039;N&#039;&#039;&#039;ut &#039;&#039;&#039;C&#039;&#039;&#039;onnector: Ein Steckverbinder für Koaxialkabel.&lt;br /&gt;
&lt;br /&gt;
;[[BSDL]]: &#039;&#039;&#039;B&#039;&#039;&#039;oundary &#039;&#039;&#039;S&#039;&#039;&#039;can &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage: Eine Sprache für [[boundary scan]]-basiertes Testen und Debuggen.&lt;br /&gt;
&lt;br /&gt;
== C ==&lt;br /&gt;
&lt;br /&gt;
;[[C]]: Eine weit verbreitete Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
;[[CAN]]: &#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork: Ein Netzwerk für kleine [[Mikrocontroller]], ursprünglich für die Automobilbranche entwickelt.&lt;br /&gt;
&lt;br /&gt;
;[[CPLD]]: &#039;&#039;&#039;C&#039;&#039;&#039;omplex &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;L&#039;&#039;&#039;ogic &#039;&#039;&#039;D&#039;&#039;&#039;evice: Ein programmierbarer Logikbaustein.&lt;br /&gt;
&lt;br /&gt;
== D ==&lt;br /&gt;
&lt;br /&gt;
;[[DAC]]: &#039;&#039;&#039;D&#039;&#039;&#039;igital to &#039;&#039;&#039;A&#039;&#039;&#039;nalog &#039;&#039;&#039;C&#039;&#039;&#039;onverter&lt;br /&gt;
&lt;br /&gt;
;[[DSP]]: &#039;&#039;&#039;D&#039;&#039;&#039;igitaler &#039;&#039;&#039;S&#039;&#039;&#039;ignal&#039;&#039;&#039;p&#039;&#039;&#039;rozessor&lt;br /&gt;
&lt;br /&gt;
;[[DTMF]]: &#039;&#039;&#039;D&#039;&#039;&#039;ual &#039;&#039;&#039;T&#039;&#039;&#039;one &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;F&#039;&#039;&#039;requency: Tonwahlverfahren im Telephon.&lt;br /&gt;
&lt;br /&gt;
== E ==&lt;br /&gt;
&lt;br /&gt;
;[[EEPROM]]: &#039;&#039;&#039;E&#039;&#039;&#039;lectrical &#039;&#039;&#039;E&#039;&#039;&#039;rasable and &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;R&#039;&#039;&#039;ead &#039;&#039;&#039;O&#039;&#039;&#039;nly &#039;&#039;&#039;M&#039;&#039;&#039;emory: Ein nichtflüchtiger [[Speicher#EEPROM|Speicher]].&lt;br /&gt;
&lt;br /&gt;
;[[EMV]]: &#039;&#039;&#039;E&#039;&#039;&#039;lektro&#039;&#039;&#039;m&#039;&#039;&#039;agnetische &#039;&#039;&#039;V&#039;&#039;&#039;erträglichkeit: Beschreibt das Verhalten von Geräten bezüglich Aussenden von elektromagetischen Störungen und die Toleranz bezüglich Einstrahlung eben dieser. &lt;br /&gt;
&lt;br /&gt;
== F ==&lt;br /&gt;
&lt;br /&gt;
;FBGA: &#039;&#039;&#039;F&#039;&#039;&#039;ine [[BGA|&#039;&#039;&#039;B&#039;&#039;&#039;all &#039;&#039;&#039;G&#039;&#039;&#039;rid &#039;&#039;&#039;A&#039;&#039;&#039;rray]]: Eine Gehäuseform für ICs.&lt;br /&gt;
;FEC: &#039;&#039;&#039;F&#039;&#039;&#039;orward &#039;&#039;&#039;E&#039;&#039;&#039;rror &#039;&#039;&#039;C&#039;&#039;&#039;orrectopn: Fehlerkorrektur&lt;br /&gt;
;FEM: &#039;&#039;&#039;F&#039;&#039;&#039;inite &#039;&#039;&#039;E&#039;&#039;&#039;lemente &#039;&#039;&#039;M&#039;&#039;&#039;ethode: Stützstellenapproximation&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT]: &#039;&#039;&#039;F&#039;&#039;&#039;ast &#039;&#039;&#039;F&#039;&#039;&#039;ourier &#039;&#039;&#039;T&#039;&#039;&#039;ransformation: Ein Algorithmus zur effizienten Berechnung der [http://de.wikipedia.org/wiki/Diskrete_Fourier-Transformation Diskreten Fourier-Transformation] für den Fall gleicher Zeitabstände der Eingabewerte und einer Zweierpotenz als Anzahl der Eingabewerte.  Die Fourier-Transformation bildet eine Funktion auf ihr Frequenzspektrum ab, was vielfach in der Signalverarbeitung Anwendung findet neben anderen Transformationen wie Laplace-Transformation, Wavelet-Transformation oder Z-Transformation.&lt;br /&gt;
;[[FIFO]]: &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;F&#039;&#039;&#039;irst &#039;&#039;&#039;O&#039;&#039;&#039;ut: Eine Organisationsform für einen Zwischenspeicher.&lt;br /&gt;
;[[FPGA]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray: Ein programmierbarer Logikbaustein.&lt;br /&gt;
;[[FPU]]: &#039;&#039;&#039;F&#039;&#039;&#039;loating &#039;&#039;&#039;P&#039;&#039;&#039;oint &#039;&#039;&#039;U&#039;&#039;&#039;nit: Teil eines Prozessors der Berechnungen mit Gleitkommazahlen unterstützt.&lt;br /&gt;
&lt;br /&gt;
;[[FOC]]: &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;O&#039;&#039;&#039;riented &#039;&#039;&#039;C&#039;&#039;&#039;ontrol, englisch für feldorientierte Regelung (bei Motoren)&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
&lt;br /&gt;
;GFR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: s.u.&lt;br /&gt;
;GPR: &#039;&#039;&#039;G&#039;&#039;&#039;eneral &#039;&#039;&#039;P&#039;&#039;&#039;urpose &#039;&#039;&#039;R&#039;&#039;&#039;egister: Arbeitsregister eines Prozessors. Bei vielen Architekturen müssen Daten in solche Register geladen werden, um sie bearbeiten zu können. Bei [[AVR]] sind das z.B. die Register R0 – R31&lt;br /&gt;
;GMI:&lt;br /&gt;
;GPS: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;P&#039;&#039;&#039;ositioning &#039;&#039;&#039;S&#039;&#039;&#039;ystem&lt;br /&gt;
;GSM: &#039;&#039;&#039;G&#039;&#039;&#039;lobal &#039;&#039;&#039;S&#039;&#039;&#039;ystem for &#039;&#039;&#039;M&#039;&#039;&#039;obile Communications:&lt;br /&gt;
;GTP: &#039;&#039;&#039;G&#039;&#039;&#039;igabit &#039;&#039;&#039;T&#039;&#039;&#039;ransceiver &#039;&#039;&#039;P&#039;&#039;&#039;ort: Ein high speed port bei FPGAs&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
&lt;br /&gt;
;HF: Hochfrequenz&lt;br /&gt;
&lt;br /&gt;
;HIL: &amp;amp;rarr; Wikipedia: [http://de.wikipedia.org/wiki/Hardware_in_the_Loop &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;i&#039;&#039;&#039;n the &#039;&#039;&#039;L&#039;&#039;&#039;oop].&lt;br /&gt;
&lt;br /&gt;
== I ==&lt;br /&gt;
&lt;br /&gt;
;ISA: &#039;&#039;&#039;I&#039;&#039;&#039;nstruction &#039;&#039;&#039;S&#039;&#039;&#039;et &#039;&#039;&#039;A&#039;&#039;&#039;rchitecture: Registerstruktur und Befehlssatz eines Prozessors/[[Mikrocontroller]]s bzw. einer Prozessorfamilie.&lt;br /&gt;
&lt;br /&gt;
;[[ISP]]: &#039;&#039;&#039;I&#039;&#039;&#039;n &#039;&#039;&#039;S&#039;&#039;&#039;ystem &#039;&#039;&#039;P&#039;&#039;&#039;rogramming: Der Mikrocontroller wird direkt auf der Zielhardware programmiert.&lt;br /&gt;
&lt;br /&gt;
;ISR: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;S&#039;&#039;&#039;ervice &#039;&#039;&#039;R&#039;&#039;&#039;outine: Ein Programmstück, das nach Eintreten eines bestimmten Ereignisses ausgeführt wird. Siehe [[Interrupt]].&lt;br /&gt;
&lt;br /&gt;
;IRQ: &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;R&#039;&#039;&#039;e&#039;&#039;&#039;q&#039;&#039;&#039;uest: Ein Ereignis, das einen [[Interrupt]] auslöst. In der Regel wird die Programmausführung unterbrochen und ein spezielles Programmstück, eine ISR, ausgeführt und danach zum ursprünglichen Programmcode zurückgekehrt. Viele IRQs können aktiviert oder deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
== J ==&lt;br /&gt;
&lt;br /&gt;
;[[JTAG]]: &#039;&#039;&#039;J&#039;&#039;&#039;oint &#039;&#039;&#039;T&#039;&#039;&#039;est &#039;&#039;&#039;A&#039;&#039;&#039;ction &#039;&#039;&#039;G&#039;&#039;&#039;roup: Eine Funktion für komplexe ICs, um diese im aufgelöteten Zustand zu prüfen bzw. zu programmieren und debuggen (Mikrocontroller).&lt;br /&gt;
&lt;br /&gt;
== K ==&lt;br /&gt;
&lt;br /&gt;
== L ==&lt;br /&gt;
&lt;br /&gt;
;LSB: &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das niederwertigste Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;L&#039;&#039;&#039;east &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: niederwertigstes Bit.&lt;br /&gt;
&lt;br /&gt;
== M ==&lt;br /&gt;
&lt;br /&gt;
;MSB: &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;yte: Das höchstwertige Byte in einem Datenwort mit mehreren Bytes. Je nach Zusammenhang aber auch &#039;&#039;&#039;M&#039;&#039;&#039;ost &#039;&#039;&#039;S&#039;&#039;&#039;ignificant &#039;&#039;&#039;B&#039;&#039;&#039;it: höchstwertiges Bit.&lt;br /&gt;
&lt;br /&gt;
== N ==&lt;br /&gt;
&lt;br /&gt;
== O ==&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
&lt;br /&gt;
;[[PCM]]: &#039;&#039;&#039;P&#039;&#039;&#039;ulse &#039;&#039;&#039;C&#039;&#039;&#039;ode &#039;&#039;&#039;M&#039;&#039;&#039;odulation: Ein Datenformat&lt;br /&gt;
&lt;br /&gt;
;[[PFC]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;F&#039;&#039;&#039;actor &#039;&#039;&#039;C&#039;&#039;&#039;orrection: Eine Schaltung, die Blindleistung kompensiert&lt;br /&gt;
&lt;br /&gt;
;[http://de.wikipedia.org/wiki/Phase-locked_loop PLL]: &#039;&#039;&#039;P&#039;&#039;&#039;hase &#039;&#039;&#039;L&#039;&#039;&#039;ocked &#039;&#039;&#039;L&#039;&#039;&#039;oop: Eine Schaltung, die einen Ausgangstakt mit definierter Phaselage zu einem Eingangstakt generiert.&lt;br /&gt;
&lt;br /&gt;
;[[PSU]]: &#039;&#039;&#039;P&#039;&#039;&#039;ower &#039;&#039;&#039;S&#039;&#039;&#039;upply &#039;&#039;&#039;U&#039;&#039;&#039;nit: Bezeichnung für die Stromversorgungseinheit&lt;br /&gt;
&lt;br /&gt;
== Q ==&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
&lt;br /&gt;
;[[RS232]]: &#039;&#039;&#039;R&#039;&#039;&#039;ecommended &#039;&#039;&#039;S&#039;&#039;&#039;tandard 232: Eine Definition zur seriellen Datenübertragung, eng gekoppelt an [[UART]].&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
&lt;br /&gt;
;SFR: &#039;&#039;&#039;S&#039;&#039;&#039;pecial &#039;&#039;&#039;F&#039;&#039;&#039;unction &#039;&#039;&#039;R&#039;&#039;&#039;egister: Hardware-Register, über die interne und externe Peripherie eines Prozessors/[[Mikrocontroller]]s konfiguriert wird, und über die Daten ausgetauscht werden. IO-Ports werden z.B. auf bestimmte [[Speicher#Register|SFRs]] abgebildet, auf die dann mit speziellen Befehlen zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
;SAR: &#039;&#039;&#039;S&#039;&#039;&#039;ynthetic &#039;&#039;&#039;A&#039;&#039;&#039;perture &#039;&#039;&#039;R&#039;&#039;&#039;adar: Eine Messmethodik in der Radartechnik&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
&lt;br /&gt;
;TTL: &#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;T&#039;&#039;&#039;ransistor-&#039;&#039;&#039;L&#039;&#039;&#039;ogik.&lt;br /&gt;
&lt;br /&gt;
== U ==&lt;br /&gt;
&lt;br /&gt;
;[[UART]]: &#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;A&#039;&#039;&#039;synchronus &#039;&#039;&#039;R&#039;&#039;&#039;eceiver and &#039;&#039;&#039;T&#039;&#039;&#039;ransmitter: Ein Modul in Mikrocontrollern oder PCs zum seriellen Datenaustausch.&lt;br /&gt;
&lt;br /&gt;
== V ==&lt;br /&gt;
&lt;br /&gt;
== W ==&lt;br /&gt;
&lt;br /&gt;
;[[Watchdog|WDT]]: &#039;&#039;&#039;W&#039;&#039;&#039;atch &#039;&#039;&#039;D&#039;&#039;&#039;og &#039;&#039;&#039;T&#039;&#039;&#039;imer&lt;br /&gt;
&lt;br /&gt;
== X ==&lt;br /&gt;
&lt;br /&gt;
== Y ==&lt;br /&gt;
&lt;br /&gt;
== Z ==&lt;br /&gt;
&lt;br /&gt;
;Z: In der HF-Technik das Formelzeichen für den [[Wellenwiderstand]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=VHDL_Softwarepool&amp;diff=64032</id>
		<title>VHDL Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=VHDL_Softwarepool&amp;diff=64032"/>
		<updated>2012-02-06T13:46:09Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Logic Analyzer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite dient der Sammlung von Code Beispielen in VHDL, die im Forum veröffentlicht wurden.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungs- und Debugging-Hilfen ==&lt;br /&gt;
=== Testbenches ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/87026 Testbench zum Lesen und Schreiben von BMP-Dateien]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Messtechnikprojekte==&lt;br /&gt;
=== Logic Analyzer ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/156256 Logicanalyzer für Pollin CPLD (HW+SW)]&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/96087 Simple LogicAnalyzer VHDL/Delphi]&lt;br /&gt;
&lt;br /&gt;
== IO und GUI ==&lt;br /&gt;
=== LCD Controller ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/134713 16x2 LCD Textcontroller / HD44780]&lt;br /&gt;
=== VGA Controller ===&lt;br /&gt;
=== Maus Interface ===&lt;br /&gt;
=== Tastatur Interface===&lt;br /&gt;
&lt;br /&gt;
== Signalerzeugung ==&lt;br /&gt;
=== PWM ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/199692 PWM mit variabler Auflösung in xilinx CPLD]&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/113547 Schnelle 10Bit-PWM in VHDL mit CPLD mit BASCOM]&lt;br /&gt;
&lt;br /&gt;
=== Zufallszahlen ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/111667 Zufallsbit Generator]&lt;br /&gt;
&lt;br /&gt;
== Bus Interfaces ==&lt;br /&gt;
===RS 232===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/87853 RS-232 Interface in VHDL]&lt;br /&gt;
&lt;br /&gt;
===I2C-Slave===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/31387 FPGA-Funktion I2C-Slave VHDL]&lt;br /&gt;
&lt;br /&gt;
== Sonsige ==&lt;br /&gt;
=== RAM, FiFo ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/153073 Asynchrones FIFO]&lt;br /&gt;
[http://www.mikrocontroller.net/topic/138998 Barrel Shifter und Cache]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:VHDL]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=VHDL_Softwarepool&amp;diff=64027</id>
		<title>VHDL Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=VHDL_Softwarepool&amp;diff=64027"/>
		<updated>2012-02-06T13:33:22Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Bus Interfaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite dient der Sammlung von Code Beispielen in VHDL, die im Forum veröffentlicht wurden.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungs- und Debugging-Hilfen ==&lt;br /&gt;
=== Testbenches ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/87026 Testbench zum Lesen und Schreiben von BMP-Dateien]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Messtechnikprojekte==&lt;br /&gt;
=== Logic Analyzer ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/156256 Logicanalyzer für Pollin CPLD (HW+SW)]&lt;br /&gt;
&lt;br /&gt;
== IO und GUI ==&lt;br /&gt;
=== LCD Controller ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/134713 16x2 LCD Textcontroller / HD44780]&lt;br /&gt;
=== VGA Controller ===&lt;br /&gt;
=== Maus Interface ===&lt;br /&gt;
=== Tastatur Interface===&lt;br /&gt;
&lt;br /&gt;
== Signalerzeugung ==&lt;br /&gt;
=== PWM ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/199692 PWM mit variabler Auflösung in xilinx CPLD]&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/113547 Schnelle 10Bit-PWM in VHDL mit CPLD mit BASCOM]&lt;br /&gt;
&lt;br /&gt;
=== Zufallszahlen ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/111667 Zufallsbit Generator]&lt;br /&gt;
&lt;br /&gt;
== Bus Interfaces ==&lt;br /&gt;
===RS 232===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/87853 RS-232 Interface in VHDL]&lt;br /&gt;
&lt;br /&gt;
===I2C-Slave===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/31387 FPGA-Funktion I2C-Slave VHDL]&lt;br /&gt;
&lt;br /&gt;
== Sonsige ==&lt;br /&gt;
=== RAM, FiFo ===&lt;br /&gt;
[http://www.mikrocontroller.net/topic/153073 Asynchrones FIFO]&lt;br /&gt;
[http://www.mikrocontroller.net/topic/138998 Barrel Shifter und Cache]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:VHDL]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=64025</id>
		<title>FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=64025"/>
		<updated>2012-02-06T13:24:29Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Entwicklungsboards und Starter-Kits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FPGA ist die Abkürzung für &amp;quot;&#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
=== Grundelemente  ===&lt;br /&gt;
&lt;br /&gt;
Ein FPGA besteht, ähnlich wie ein [[CPLD]], aus vielen Logikelementen, hauptsächlich [[FlipFlop]]s (FF) und davor gelagerten kombinatorischen Logikschaltungen. Diese sind entweder Verknüpfungen verschiedener Logikgatter (Actel) oder sogenannten LUTs (Look-Up-Table), die über elektronische &amp;quot;Schalter&amp;quot; entsprechend der vom Entwickler gewünschten Funktion miteinander verknüpft werden können.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;LUT&#039;&#039;&#039; kann eine beliebige kombinatorische Funktion (NAND, XOR, AND, Multiplexer etc.) aus den Eingangssignalen realisieren. Die Anzahl der Eingangssignale pro LUT ist vom FPGA abhängig und liegt meist zwischen 4 und 6. Für Funktionen die mehr Eingänge erfordern als eine einzige LUT besitzt (hohes Fan-In), werden mehrere LUTs direkt miteinander verschaltet. Die [[FlipFlop]]s dienen dazu, Signalwerte zwischenzuspeichern, um sie im nächsten Takt weiterverarbeiten zu können. Das Verhältnis zwischen der Anzahl der LUTs und der Anzahl der Flip-Flops ist meist 1:1. Aktuelle FPGAs bestehen aus bis zu einigen zehntausend Logikelementen.&lt;br /&gt;
&lt;br /&gt;
Die logischen Schalter und Speicher sind in den meisten FPGAs durch [[Speicher#SRAM | SRAM]]-Speicherzellen realisiert, welche beim Bootprozess passend geladen werden. Das Laden dieser Konfigurationsdaten bzw. Verknüpfungsregeln geschieht dabei in der Regel aus einem speziellen [[Speicher#Flash | Flash-ROM]]-Baustein heraus. Es kann aber auch ein Mikrocontroller benutzt werden. Die meisten FPGAs bieten daher für diesen Konfigurationsvorgang mehrere Modi an (seriell, parallel, Master/Slave). Da die SRAM-Zellen ihren Inhalt beim Abschalten der Versorgungsspannung verlieren, muss ein SRAM-basierter FPGA bei jedem Einschalten neu konfiguriert werden. Daher benötigt ein solcher FPGA einige Millisekunden bis zu einigen Sekunden, bevor er voll betriebsbereit ist.&lt;br /&gt;
&lt;br /&gt;
Eine FPGA-Familie beinhaltet Typen mit unterschiedlicher Anzahl und Komplexität von Logikzellen. So enthält ein Spartan3-1000 ca. 2,5 mal so viel Logik (FF, LUTs) wie ein Spartan3-400.  &lt;br /&gt;
&lt;br /&gt;
FPGAs mit nichtflüchtigem Speicher basieren auf [[Speicher#EEPROM | EEPROM]]-, [[Speicher#Flash | Flash]]-Speicher (einige Familien von Lattice und Actel) oder AntiFuse- Technologie (Actel). Die sogenannten AntiFuse FPGAs sind nur einmalig programmierbar.&lt;br /&gt;
&lt;br /&gt;
=== I/O Anschlüsse ===&lt;br /&gt;
&lt;br /&gt;
FPGAs unterstützen als universal einsetzbare Digital-ICs eine Vielzahl von Signalstandards. Üblich sind verschiedene TTL-Pegel (5V, 3,3V, 2,5V), differentielle Signalstandards (LVDS, GTL, GTP) und im Hochpreisbereich serielle Hochgeschwindigkeitsstandards mit bis zu 28 Gbit/s. Oftmals sind weitere Eigenschaften wie Treiberstärke und Flankensteilheit für jeden benutzerdefinierbaren Anschluss (User-IO) einstellbar. Meist sind die Pins zu Bänken mit gleichem I/O Standard zusammengefasst. Innerhalb einer solchen Bank arbeiten alle Pins im gleichen I/O Standard und mit der selben I/O Spannung.&lt;br /&gt;
&lt;br /&gt;
Für hohe Taktraten werden sowohl für Daten, als auch die Takte die LVDS-Funktion verwendet. Hier sind zwei komplementäre Buffer in unmittelbarer Nachbarschaft angeordnet, um das DS = differential signalling bei LV = low voltage zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
[[Ausgangsstufen Logik-ICs | Tristatebuffer]] werden implizit über VHDL definiert, indem einem Ausgang zeitabhängig der Zustand &amp;quot;Z&amp;quot; zugewiesen wird. Alternativ kann er explizit als Komponente eingefügt werden.&lt;br /&gt;
&lt;br /&gt;
Ebenso können je nach Hersteller und Typ interne Pull-Up und Pull-Down-Widerstände sowie Terminationswiderstände zugeschaltet werden, [[Wellenwiderstand | Terminierung]] wird ebenfalls unterstützt. Zudem befinden sich hinter vielen IO-Pads sog. [[Boundary_scan| Boundary Scan]] Zellen.&lt;br /&gt;
&lt;br /&gt;
Bei komplexeren FPGAs sind die Ein- und Ausgänge mit Delaygliedern versehen, die ein Anpassen des Timings bei Bussen wie z.B. schnellen Speichern ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Einige Pins übernehmen besondere Funktionen und sind somit vom Anwender nicht uneingeschränkt oder z.T. auch gar nicht nutzbar. Dazu zählen neben der [[JTAG]]-Schnittstelle z.&amp;amp;nbsp;B. die Pins zum Einlesen der Konfigurationsdaten. &lt;br /&gt;
&lt;br /&gt;
Ferner sind einige wenige Pins (2 - 8) zum Einspeisen des Taktes für das Design vorgesehen. Für schnelle Schaltungen sollten diese reservierten Pins benutzt werden. Sie enthalten kein Eingangs-FF und wirken über instanziierbare buffer direkt auf Taktnetze / PLLs. Bei leistungsfähigen grossen Applikationen mit mehreren Takten müssen diese genutzt werden, da nur eine begrenzte Zahl von DCMs zur Verfügung steht und benachbarte IO-Pins genutzt werden müssen. Für hohe Taktraten werden LVDS-eingänge verwendet.&lt;br /&gt;
&lt;br /&gt;
Das I/O Verhalten wird zusammen mit vielen anderen Parametern in einer Datei festgelegt (Xilinx *.ucf, Altera *.acf, Lattice *.lpf). Alternativ können diese auch als Syntheseoption im Kommentarfeld des [[Verilog]]/[[VHDL]] Codes mit angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die Hersteller bieten FPGAs mit gleicher Anzahl von Logikelementen in unterschiedlichen Gehäusen an. So kann der FPGA mit der passenden Anzahl von Pins eingesetzt werden. Das obere Ende markieren Chips mit über 1500 I/Os, die kleinsten bieten ca. 50 User-I/O. Oft werden nur [[IC-Geh%C3%A4useformen#BGA|BGA]] und [[IC-Geh%C3%A4useformen#QFP|QFP]] Gehäuse (bis ca. 240 Pins) angeboten.&lt;br /&gt;
&lt;br /&gt;
Umgekehert kann innerhalb einer Gehäusefamilie hochmigriert werden, d.h. bei gleichbleibendem pinout, kann ein komplexerer FPGA eingesetzt werden. Das Layout muss dann icht verändert werden, um eine Schaltung mit mehr Funktionen auszustatten.&lt;br /&gt;
&lt;br /&gt;
=== Komplexe Funktionsblöcke ===&lt;br /&gt;
&lt;br /&gt;
Neben den einfachen FlipFlops beinhalten FPGAs darüber hinaus komplexe Routing- und Speicherkonfigurationsoptionen innerhalb und außerhalb der logischen Elemente (LEs), die es gestatten, komplexe Schalt- und Rechenstrukturen aufzubauen. Für rechenintensive Designs, z.&amp;amp;nbsp;B. in der Signalverarbeitung, enthalten viele FPGAs &#039;&#039;&#039;Multiplizierer&#039;&#039;&#039; direkt auf dem Chip, die in einem einzigen Taktzyklus Multiplikationen durchführen können.&lt;br /&gt;
&lt;br /&gt;
Ferner haben FPGAs oft einen von den LEs getrennt verfügbaren &#039;&#039;&#039;RAM&#039;&#039;&#039;-Bereich integriert, der sich in vielfältiger Weise ansprechen lässt. So können damit Single- oder Dualport-RAMs mit variabler Bitbreite erzeugt werden. Üblich sind mehrere (4 - 30) kleinere Dualport [[Speicher#BRAM | RAM-Blöcke]] von 4 - 16 kbit. Einige Familien besitzen einen größeren internen RAM, andere spezielle FIFO-Blöcke.&lt;br /&gt;
&lt;br /&gt;
Zur Generierung spezieller Takte sind &#039;&#039;&#039;PLL&#039;&#039;&#039;s (Phase Locked Loop) auf dem FPGA integriert. Einige Hersteller setzen mit dem selben Ziel &#039;&#039;&#039;DLL&#039;&#039;&#039;s (Delay Locked Loop) ein. Mittels dieser Blöcke können aus einem Taktsignal weitere erzeugt werden. Typisch sind Taktverdopplung oder -vervielfachung. Ebenso kann der Takt geteilt werden oder ein Signal gleicher Frequenz, aber um eine halbe, viertel usw. Periode verschoben erzeugt werden. Typische Anwendungen sind die Ansteuerung von [[Speicher#DDR-RAM | DDR-RAMs]] oder die Kompensation von Laufzeitunterschieden zwischen Takt und mit diesem getakteten Steuersignalen. Meist sind 2 - 8 Taktnetzwerke und PLL/DLLs gleicher Anzahl integriert. Siehe auch [[Taktung FPGA/CPLD]].&lt;br /&gt;
&lt;br /&gt;
=== CPU im FPGA ===&lt;br /&gt;
&lt;br /&gt;
Programmierbare Prozessoren sind auch bei FPGA-Designs immer häufiger anzutreffen. CPUs sind zwar im Allgemeinen langsamer und weniger effizient, als eine vollständige Implementation aus Logik-Primitiven - aber bei komplexen Abläufen auch deutlich einfacher zu entwickeln. Insbesondere bei sequentiellen Aufgaben (Benutzerinterface, komplexe Steueraufgaben etc.) wird man gerne auf eine klassische CPU zurückgreifen. &lt;br /&gt;
&lt;br /&gt;
Manche FPGAs integrieren dazu einen oder mehrere Prozessorkerne (z. B. [[AVR]] bei Atmels FPSLIC oder PowerPC bei Xilinx&#039; Virtex) als &#039;&#039;HardCores&#039;&#039; auf einem IC.&lt;br /&gt;
&lt;br /&gt;
Auf der anderen Seite gibt es auch [[FPGA Soft Core | SoftCores]] (z. B. ARM-Cortex-M1 bei IGLOO-FPGA von [http://www.actel.com ACTEL]), Prozessorkerne die als Quelltext oder als vorsynthetisierte Netzliste vorliegen. In Abhängigkeit von den zur Verfügung stehenden Ressourcen können diese &#039;&#039;SoftCores&#039;&#039; beliebig instanziiert werden. Es gibt eine Vielzahl verschiedener &#039;&#039;SoftCores&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
Teilweise kompatibel zu etablierten Prozessorarchitekturen (MIPS, SPARC, AVR), zum Teil optimiert auf die FPGAs einzelner Hersteller. Auch auf vergleichsweise &lt;br /&gt;
kleinen aktuellen FPGAs kann man problemlos eine 32bit-RISC-CPU integrieren.&lt;br /&gt;
&lt;br /&gt;
Als Programmspeicher werden die FPGA-internen [[Speicher#BRAM | RAM-Blöcke]] oder externe [[Speicher]] (SDRAM, SRAM) genutzt. Für einige Prozessorkerne stehen Hochsprachen wie C, C++ etc. zur Verfügung, andere werden in Assembler programmiert.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
&lt;br /&gt;
=== Taktgeschwindigkeit ===&lt;br /&gt;
&lt;br /&gt;
Die maximale „Geschwindigkeit“ eines FPGAs ist von der verwendeten Halbleitertechnologie (Prozess, Strukturgrößen), der internen Schaltungstopologie (Komplexität der LEs), Vorhandensein von harten Strukturen und vor allem vom Design abhängig. Dabei sind der sogenannte Datendurchsatz und die rein maximale Systemtaktfrequenz zu unterscheiden. Die erreichbare Taktfrequenz lässt sich ohne detaillierte Kenntnis des Designs nicht abschätzen, möglich sind je nach »Speed Grade« des ICs typischerweise Taktfrequenzen von 300-600 MHz für die Schaltgeschwindigkeit der reinen Logikelemente. Je nach der Anzahl und Komplexität der pro Takt durchzuführenden Operationen ergeben sich dann reale Systemtaktfrequenzen von meist 10-100 MHz für global operierende Einheiten und bis zu 300 MHz für schnelle lokale Module. Maßgeblich ist in wieweit das Design auf Fläche bzw. Geschwindigkeit hin optimiert und vom Tool synthetisiert wurde: Durch das Einbringen von zusätzlichen Registerstufen lassen sich z.&amp;amp;nbsp;B. zeitkritische Pfade entschärfen (Pipelining), sodass die Frequenz des Chips angehoben werden kann und somit der effektive Datendurchsatz erhöht wird, mit dem Nachteil der gesteigerten Latenz durch das Mehr an Takten. Der Datendurchsatz lässt sich darüber hinaus durch die Nutzung paralleler Architekturen verbessern.&lt;br /&gt;
&lt;br /&gt;
Die Systemfrequenz kann-, muss aber nicht der Frequenz entsprechen, mit der Daten zyklisch eingetaktet und verarbeitet werden; zudem sind Schaltungsteile mit unterschiedlichen Taktfrequenzen zu unterscheiden: Mit einem Systemtakt von 20 MHz lassen sich z.&amp;amp;nbsp;B. 18-Bit AD-Wandler auslesen, die so z.&amp;amp;nbsp;B. alle 1 µs neue Daten liefern, die verarbeitet werden müssen. Bei der Nutzung von 5 solchen Wandlern, die sequentiell verarbeitet werden, lägen 5 MHz Datenfrequenz vor. Für andere Schaltungsteile, die z.&amp;amp;nbsp;B. asynchron an die Peripherie andocken, sowie reine »state machines« können Schaltungsteile auf der 2-4 fachen Frequenz betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Generell sind Fläche und Geschwindigkeit konkurrierende Größen, zwischen denen ein Optimum gefunden werden muss. Für die preiswerten FPGA-Serien wie Spartan (Xilinx) und Cyclone (Altera) sind aufgrund technologischer Randbedingungen etwa 10-30% weniger Taktgeschwindigkeit bei gleichem Design zu erwarten als bei den großen Brüdern der Virtex- (Xilinx) bzw. Stratix-Familie (Altera). Es muss mit mehr Verbrauch an Logikelementen und Taktzyklen gerechnet werden (weniger Routingreserven, geringere Zahl von LUT-Eingängen, langsamere Logikelemente). Dafür sind sie sehr preiswert.&lt;br /&gt;
&lt;br /&gt;
Funktionstechnisch identische Chips werden oft in zwei oder mehr Geschwindigkeitsklassen (speed grades) angeboten, die sich meist durch Bauteilselektion bei der Produktion ergeben. Grob kann man ca. 5%-10% höhere Taktung zwischen zwei speed grades erwarten.&lt;br /&gt;
&lt;br /&gt;
== Hersteller ==&lt;br /&gt;
&lt;br /&gt;
Die größten Hersteller von FPGAs sind [http://www.altera.com Altera] und [http://www.xilinx.com Xilinx]. Weitere Hersteller sind [http://www.latticesemi.com/ Lattice], [http://www.actel.com Actel] und [http://www.atmel.com Atmel].&lt;br /&gt;
&lt;br /&gt;
== Anwendung und Programmierung ==&lt;br /&gt;
=== Erstellung der FPGA firmware===&lt;br /&gt;
&lt;br /&gt;
Der Aufbau komplizierter, applikationsnaher Strukturen wird meist durch automatische Routing- und Synthesewerkzeuge erledigt, welche mit einer logischen, funktionellen Beschreibung der Architektur in einer Hardwarebeschreibungssprache wie z.&amp;amp;nbsp;B. VHDL &amp;quot;gefüttert&amp;quot; werden. Die Hardwarebeschreibung in [[VHDL]] gelingt ihrerseits z.&amp;amp;nbsp;B. mit VHDL-generierenden Werkzeugen, mittels derer zuvor Logikstrukturen, hardwarenahe Strukturen, Ablaufdiagramme und Zustandsautomaten formuliert wurden.&lt;br /&gt;
&lt;br /&gt;
Durch die Standardisierung der Architektur einerseits und die Entkopplung von applikationsorientierter Beschreibung sowie Chip- und Hersteller-spezifischer Synthese andererseits, wird die Hardware quasi als Software gebaut. Dies wiederum schafft alle Optionen der Wiederverwendung und Austausch von &amp;quot;Hardwareteilen&amp;quot;. So stehen inzwischen komplett nutzbare Schaltungen wie serielle Bausteine, RAM-Controller und vieles mehr zur Verfügung - teilweis sogar in Form von Open Source Projekten.&lt;br /&gt;
&lt;br /&gt;
=== Anbindung an Mikrocontroller ===&lt;br /&gt;
==== Streaming IO ====&lt;br /&gt;
==== Memory Mapped ====&lt;br /&gt;
&lt;br /&gt;
=== Anbindung an RAMs und ROMs ===&lt;br /&gt;
&lt;br /&gt;
==== DDR2 / DDR3 - RAM ====&lt;br /&gt;
==== Parallel Flash EEPROM ====&lt;br /&gt;
==== SPI-Flash ====&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Siehe [[VHDL_Softwarepool]]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsboards und Starter-Kits ==&lt;br /&gt;
Siehe [[Liste von FPGA Eval boards]]&lt;br /&gt;
&lt;br /&gt;
== Debugging-Hilfen ==&lt;br /&gt;
Gerade beim [[Debugging]] größerer FPGA-Designs ist es oft notwendig, auf interne Signale und Busse zuzugreifen, die aus routing- oder Platzgründen nicht an Pins des FPGAs gelegt - und mit konventionellen Analysatoren beobachtet werden können. Nebst den einschlägigen Tools der Hersteller, welche Signal probing über JTAG gestatten (z.&amp;amp;nbsp;B. ChipsScope und SignalTap), werden in FPGAs oft mehr oder weniger komplexe [[Logic Analyzer]] integriert, welche die internen Signale in vielfältiger Weise aufzeichnen. Diese werden in Block-RAMs oder FIFOs gespeichert und durch externe Master ausgelesen. Hier kommen auf der Platine befindliche MCUs oder fremd zugreifende FPGAs / CPUs in Betracht, welche über unterschiedliche Kommunikationsverbindungen (seriell, parallel, LVDS) angeschlossen sind. Dazu werden in die FPGAs entsprechende Cores und state machines instanziiert und mit Software auf PC-Seite ausgelesen.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
===Automatisch instanziierte Logic Analyzer ===&lt;br /&gt;
Praktisch alle FPGA-Hersteller bieten die Möglichkeit, mit einem internen Tool ein script zu erzeugen, welches der Synthese übergeben wird, welche dann anhand von Signallisten und diversen Randbedingungen einen LA automatisiert aufbaut und verdrahtet. SampleZeit und -Takt sind dabei genauso einstellbar, wie RAM-Tiefe und -Breite. Die so generierten Datenpakete können dann mittels JTAG ausgelesen werden. Im Continous-Betrieb können so sogar permanente Datenausgaben wie bei einem Oszilloskop vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
===Proprietärer serieller Logic Analyzer ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Möglichkeit ist die direkte Instanziierung eines Blockrams als FIFO mit &amp;quot;breitem&amp;quot; Busanschluss: Linksseitig besitzt das FIFO eine Breite von z.&amp;amp;nbsp;B. 256 Bit (Xilinx-Rams lassen sich ohne weitere Umbeschaltung über den Wizzard mit bis zu 1024 Bits deklarieren und nutzen). Rechtsseitig einen 16- oder 32 Bit breiten Busanschluss für einen Prozessor bzw Parallelinterface oder einen 1 Bit breiten Anschluss für ein serielles streaming interface. Mit einem FiFo-enable können die zu sampelnden Zeiten (Busphasen) festgelegt werden, z.&amp;amp;nbsp;B. anhand eines Kriteriums wie die Erfüllung einer bestimmten mathematischen Bedingung, die man in VHDL formuliert, oder es wird einfach ein Trigger gesetzt. Solange das FiFo nicht voll ist, kann geschrieben werden, was durch die interne FiFo-Verwaltung selbst bereits komplett geregelt wird.&lt;br /&gt;
&lt;br /&gt;
Beim einfachen seriellen Logic Analyzer benötigt man nur noch einen kleinen Core, der permanent das FiFo liest, und den seriellen Overhead (Startbit, Stoppbit, Parity und gfs CRC) hinzufügt. Mit einem einfach Pegelwandler kann so ein PC direkt angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
Auch denkbar ist die Anbindung an ein fremdes FPGA-board mit viel Speicher über (LV-)DS-Kommunikation. In komplexeren Systemen wird ein CAN- oder USB-Core eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Wenn mittels des Kriteriums nur ganz bestimmte kritische Phasen herausgesampelt werden (z.&amp;amp;nbsp;B. das Auftauchen eines bestimmten Rechenfehlers im FPGA) und so das Datenaufkommen je Zeiteinheit über längere Zeit betrachtet eher gering ist, kann bei geeignetem Datendurchsatz in Echtzeit dauerhaft mitprotokolliert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BusProbe, der Debugging Core von abaxor engineering  ===&lt;br /&gt;
Mit der BusProbe kann der Entwickler den Signalfluss im FPGA-Design auch über einen längeren Zeitraum überwachen und am PC aufzeichnen. Der Core verarbeitet an jedem Eingang einen kompletten Bus. &lt;br /&gt;
&lt;br /&gt;
Die Daten werden gemultiplext zum PC geschickt und dort per Software demultiplext. Im PC erfolgt auch die Auswertung mit beliebigen Analyse-Tools.&lt;br /&gt;
&lt;br /&gt;
Gegenüber dem Betriebssystem verhält sich die BusProbe wie eine Festplatte, von der die Daten mit gewöhnlichen Zugriffen gelesen werden können.&lt;br /&gt;
&lt;br /&gt;
* Streaming der Daten zum PC mit mehr als 20 MByte/s&lt;br /&gt;
* keine Treiber im PC da Nutzung von Standardschnittstellen (USB oder IDE)&lt;br /&gt;
* Hot-Plugging&lt;br /&gt;
* Visualisierung mit beliebigen Programmen&lt;br /&gt;
* geringer Logikaufwand&lt;br /&gt;
&lt;br /&gt;
[http://www.abaxor.de/produkte.html abaxor.de-Webseite]&lt;br /&gt;
&lt;br /&gt;
=== open source Logikanalysator von sump.org ===&lt;br /&gt;
Ein einfacher, übersichtlicher Logikanalysator findet sich auf sump.org. Er liegt im Quelltext vor wird mit ins Design einsynthetisiert. Als Speicher dient wahlweise SRAM oder internes RAM. Es können 32 Kanäle mit 100 MHz (oder weniger) gesampelt werden. Die Bediensoftware läuft platformunabhängig unter Java und benötigt eine serielle Schnittstelle (auch über USB-seriell Wandler) zum Core.&lt;br /&gt;
&lt;br /&gt;
[http://de.sump.org/projects/analyzer/ sump.org-Webseite]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Hardwarebeschreibungssprachen]]&lt;br /&gt;
* [[Reset für FPGA/CPLD]]&lt;br /&gt;
* [[Taktung FPGA/CPLD]]&lt;br /&gt;
* Projekt [[Audio-DSP mit Spartan 3-FPGA]]&lt;br /&gt;
* Projekt [[FPGA Lab]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA4Fun] - FPGA-Projekte, größtenteils mit Altera und Verilog&lt;br /&gt;
* [http://video.google.com/videoplay?docid=-4969729965240981475 Ein Vortrag, auf Englisch: General Purpose, Low Power Supercomputing Using Reconfiguration Logic]&lt;br /&gt;
* http://www.opencores.org - FPGA-Projekte, Opensource, jeder kann seine Eigenen einstellen und an anderen mitarbeiten. U.a. gibt es verschiedene CPUs für FPGAs.&lt;br /&gt;
* [http://members.optushome.com.au/jekent/FPGA.htm John&#039;s FPGA Page]&lt;br /&gt;
* [http://www.embedded.com/columns/whatsnew/197003073 More about designing with embedded FPGAs] by Bernard Cole, Embedded.com&lt;br /&gt;
* [http://chaosradio.ccc.de/cre117.html Chaosradio Express - FPGA]&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FPGA_Soft_Core&amp;diff=63699</id>
		<title>FPGA Soft Core</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FPGA_Soft_Core&amp;diff=63699"/>
		<updated>2012-02-02T12:32:46Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* MicroBlaze &amp;amp; Nachbauten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Ein soft core (engl. weicher Kern) ist ein Prozessor bzw. Mikrocontroller, welcher sich in einem FPGA befindet. Im Gegensatz zum hard core (engl. harter Kern) besteht er aus reiner Anwenderlogik im FPGA und ist nicht fest auf dem Chip platziert.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Flexible Anwendung, das FPGA &#039;&#039;&#039;kann&#039;&#039;&#039; bei Bedarf mit einem SoftCore versehen werden; es wird keine Chipfläche für einen eventuell ungenutzen Hard Core verschwendet (Kosten!)&lt;br /&gt;
* Einige Softcore sind sehr flexibel konfigurierbar (16/32 Bit Datenpfade, Zusatzmodule, Spezielle Anwenderbefehle etc.) &lt;br /&gt;
* Kleine Softcores können mehrfach im FPGA parallel platziert und verwendet werden, dadurch erhöht sich die Datenverabreitungskapazität (z.&amp;amp;nbsp;B. ein RX Prozessor und ein TX-Prozessor)&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Geringere Geschwindigkeit als Hard Cores&lt;br /&gt;
&lt;br /&gt;
Ein soft core wird gern für etwas komplexere Aufgaben verwendet, bei denen es nicht auf allerhöchste Geschwindigkeit ankommt, z.&amp;amp;nbsp;B. eine Displayansteuerung.&lt;br /&gt;
&lt;br /&gt;
Die Taktfrequenzen sind stark vom FPGA-Typ und der FPGA-Auslastung (freie Logikressourcen) abhängig.&lt;br /&gt;
&lt;br /&gt;
Eine große Anzahl frei verfügbarer Soft-CPUs gibt es auf [http://www.opencores.org/browse.cgi/filter/category_microprocessor OpenCores.org]. Die vorhandene Palette reicht von Nachbauten vorhandener Prozessoren, wie des AVR, PIC oder MIPS, bis hin zu eigenen Entwicklungen, wie dem &amp;quot;16 Bit Microcontroller&amp;quot; (c16), der speziell für FPGAs optimiert ist und mit einem eigenen RTOS kommt. Ein anderer ist z.&amp;amp;nbsp;B. der 32-bit OpenRisc 1000, für den eine Version der GNU Tools für die Software Entwicklung zur Verfügung stehen.&lt;br /&gt;
&lt;br /&gt;
Hier soll ein kleiner Überblick über vorhandene Softcores entstehen, für welche Softwarunterstützung existiert und welche Leistungen zu erwarten sind.&lt;br /&gt;
Es nützt einem oft der tollste Softcore nicht, wenn er sich nicht entsprechend programmieren läßt. Für LatticeMico32, MicroBlaze und NIOS ist jeweils ein Systembuilder verfügbar. Damit lassen sich leicht und übersichtlich Prozessor und Peripherie konfigurieren.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit Soft Cores ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!max. Programmspeicher&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|AX8&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|2k (8k)&lt;br /&gt;
|asm, C, Basic, [[Ada]]...&lt;br /&gt;
|GCC/WinAVR, ...&lt;br /&gt;
|wie AT90S2313 mit 30-50MHz&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/project,ax8 OpenCores]&lt;br /&gt;
|-&lt;br /&gt;
|T51&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm, Basic, C, ...&lt;br /&gt;
|sdcc, MCS-Basic, ...&lt;br /&gt;
|single cycle 8051, z.&amp;amp;nbsp;B. 40 MHz auf Spartan3&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/projects.cgi/web/t51/overview OpenCores]&amp;lt;BR&amp;gt;[[T51-Core]]&lt;br /&gt;
|-&lt;br /&gt;
|8051 IP Core&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm, Basic, C, ...&lt;br /&gt;
|sdcc, MCS-Basic, ...&lt;br /&gt;
|1-4 cycle 8051&lt;br /&gt;
|open IP-Core&lt;br /&gt;
|[http://www.oregano.at/ip/8051.htm Oregano Systems]&lt;br /&gt;
|-&lt;br /&gt;
|LatticeMico8&lt;br /&gt;
|Lattice&lt;br /&gt;
|ja, Verilog &amp;amp; VHDL&lt;br /&gt;
|&lt;br /&gt;
|asm, C&lt;br /&gt;
|GNU Toolchain&lt;br /&gt;
|&lt;br /&gt;
|open IP-core&lt;br /&gt;
|[http://www.latticesemi.com/products/intellectualproperty/referencedesigns/8bitmicrocontrollermico8.cfm Lattice]&lt;br /&gt;
|-&lt;br /&gt;
|PicoBlaze&lt;br /&gt;
|Xilinx&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|2k (1024 Befehle)&lt;br /&gt;
|asm (DOS/ dosbox)&lt;br /&gt;
|&lt;br /&gt;
|lt. Xilinx 100 MIPS&lt;br /&gt;
|Xilinx Reference Design License&lt;br /&gt;
|[http://www.xilinx.com/picoblaze Xilinx]&lt;br /&gt;
|-&lt;br /&gt;
|PacoBlaze&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, Verilog&lt;br /&gt;
|wie PicoBlaze&lt;br /&gt;
|asm (geschrieben in Java)&lt;br /&gt;
|KCAsm&lt;br /&gt;
|wie Picoblaze&lt;br /&gt;
|modifizierte BSD Lizenz&lt;br /&gt;
|[http://bleyer.org/pacoblaze/ PacoBlaze]&lt;br /&gt;
|-&lt;br /&gt;
|Panda&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|HASM, Builder SW&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP, Boost&lt;br /&gt;
|[http://www.logicsolutions.ch/Download.htm LogicSolutions]&lt;br /&gt;
|-&lt;br /&gt;
|Poteus&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|HASM, Builder SW&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP, Boost&lt;br /&gt;
|[http://www.logicsolutions.ch/Download.htm LogicSolutions]&lt;br /&gt;
|-&lt;br /&gt;
|embedded Z8 (UB8820)&lt;br /&gt;
|XILINX, ASIC syn.&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|[http://john.ccac.rwth-aachen.de:8000/as/ Makroassembler AS]&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP&lt;br /&gt;
|[http://www.dynamic-technologies.de/papa/z8/current.tgz embeddedZ8 site]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Picoblaze ===&lt;br /&gt;
&lt;br /&gt;
Dabei handelt es sich um einen sehr kleinen, aber dennoch sehr leistungsfähigen Microprozessor.&lt;br /&gt;
&lt;br /&gt;
Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
*nur 76-93 Slices Ressourcenbedarf&lt;br /&gt;
*16 8-Bit Register&lt;br /&gt;
*1024 Befehle Programmspeicher (Version für Spartan-II nur 256 Befehle)&lt;br /&gt;
*18-Bit Befehle, RISC (Version für Spartan-II hat 16-Bit Befehle)&lt;br /&gt;
*&#039;&#039;&#039;Alle&#039;&#039;&#039; Befehle dauern zwei Takte&lt;br /&gt;
*Interruptunterstützung&lt;br /&gt;
*8-Bit IO-Bus&lt;br /&gt;
*Indirekte Addressierung möglich&lt;br /&gt;
*Programmspeicher durch Bankumschaltung erweiterbar&lt;br /&gt;
*Assembler als Kommandozeilenprogramm verfügbar&lt;br /&gt;
*Entwicklungsumgebung pBlazeIDE verfuegbar mit integriertem Assembler&lt;br /&gt;
*Schneller Programmdownload über JTAG während der Entwicklung&lt;br /&gt;
*37..102 MIPS, abhängig von der FPGA-Familie&lt;br /&gt;
&lt;br /&gt;
=== AX8 ===&lt;br /&gt;
Der AX8-Core entspricht fast einem Atmel AT90S2313. Ihm fehlen noch Hardwareeinheiten wie EEPROM, Watchdog und die verschiedenen Powerdown-Modi.&lt;br /&gt;
&lt;br /&gt;
* Ressourcenbedarf: ~ 1400 Xilinx-Slices&lt;br /&gt;
* erreichbare Geschwindigkeit auf einem Spartan3-1000: 50 MHz&lt;br /&gt;
* als Toolchain kann problemlos WinAVR o.ä. verwendet werden&lt;br /&gt;
&lt;br /&gt;
Die ROM-Beschreibung muss angepasst werden, damit XST einen BlockRAM generieren kann (ein passendes hex2rom gibts hier: [http://www.mikrocontroller.net/topic/91160 hex2rom]). &lt;br /&gt;
&lt;br /&gt;
Der Core lässt sich leicht mit Speicher (8KByte ROM), einem EEPROM (bis zu 64KByte), zwei Ports und einem Watchdog erweitern. Damit entspricht der AX8 dann einem AT90S8535, bis auf die anderen Timer/Counter und die fehlende SPI-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Für Entwicklungszwecke lässt sich der ROM-Inhalt - wie beim Picoblaze - per JTAG-Schnittstelle updaten. Somit kann neue Software getestet werden, ohne das Design neu zu synthetisieren. Dafür benötigt man die Werkzeuge hex2svf, svf2xsvf und xsvfplayer. Im FPGA füllt dann eine State-Machine am JTAG-Port einen DualPort-RAM (ROM :-))&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu neueren AVR-Controllern wie dem ATMega8, fehlen dem AX8-Core Befehle wie MOVW, MUL und FMUL. Außerdem fehlen Hardwareeinheiten, wie I2C und erweiterte Timer. Die größte Beschränkung aber ist der maximale Programmspeicherplatz von 8KByte. Mehr Speicher macht größere Änderungen am VHDL-Code des Cores erforderlich.&lt;br /&gt;
&lt;br /&gt;
=== AVR8 ===&lt;br /&gt;
&lt;br /&gt;
The AVR8 Soft Processor core is an AVR instruction set compatible processor that is optimized to run on the Butterfly Flight or Butterfly Light FPGA hardware. It is based on the &#039;&#039;&#039;ATmega103&#039;&#039;&#039; processor and includes a full toolchain to compile and run C code developed with avr-gcc.&lt;br /&gt;
&lt;br /&gt;
http://gadgetfactory.net/gf/project/avr_core/&lt;br /&gt;
&lt;br /&gt;
=== Panda ===&lt;br /&gt;
Es steht eine grafische Builder SW zur Verfügung um ein System inklusive Peripheriern zu generieren, ohne VHDL schreiben zu müssen. Einige Peripherieren (Timer, Ports, etc.) sind bereits integriert, eigene Peripherien können in die SW integriert werden.&lt;br /&gt;
Der Prozessor ist stark konfigurierbar (z.&amp;amp;nbsp;B. Ein/Ausschalten einzelner Instruktionen).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Proteus ===&lt;br /&gt;
Der Prozessor kann durch über 20 Generics perfekt an das Projekt angepasst werden. Es lassen sich beispielsweise Wortbreite, Instruktionen, Pipelining und Register anpassen. Es gibt auch eine JTAG Debugging Software zum Prozessor, die es auch ermöglicht mehrere Prozessoren in einem Chip zu Debuggen. Auch benutzerdefinierte Instruktionen werden unterstützt.&lt;br /&gt;
Proteus hat für Daten und Instruktionen zwei separate Wishbone Interfaces und ist zu 100% Herstellerunabhängig. In seiner kleinsten Konfiguration benötigt Proteus weniger als 300 LUTs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== embedded Z8 (UB8820/UB8840) ===&lt;br /&gt;
Frei konfigurierbarer Mikrokontroller Core der sich an der Architekture des UB8820/... orientiert (damit dem z8 entsprechend)&lt;br /&gt;
&lt;br /&gt;
Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
*konfigurierbare Anzahl der Registersets&lt;br /&gt;
&lt;br /&gt;
== 16 Bit Soft Cores ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|TG68&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|GCC, (68k-compatible)&lt;br /&gt;
|&lt;br /&gt;
|LGPL&lt;br /&gt;
|[http://www.opencores.org/projects.cgi/web/tg68/overview OpenCores.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TG68 ===&lt;br /&gt;
* 68000 kompatible&lt;br /&gt;
* Recourcenbedarf: ~2700 Xilinx Slices, ~4000 LC&#039;s auf Altera Cyclone II&lt;br /&gt;
&lt;br /&gt;
== 32 Bit Soft Cores ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|HiCoVec Vektorprozessor&lt;br /&gt;
|Xilinx Spartan3A&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|asm, C&lt;br /&gt;
|GCC, HiCoVec Assembler&lt;br /&gt;
|Flexible Vektoreinheit&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://www.hs-augsburg.de/~kiefer/hicovec HS-Augsburg]&lt;br /&gt;
|-&lt;br /&gt;
|LatticeMico32&lt;br /&gt;
|Lattice, siehe aber soc-lm32&lt;br /&gt;
|ja, Verilog&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, MSB&lt;br /&gt;
|&lt;br /&gt;
|open IP-core&lt;br /&gt;
|[http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/ Lattice]&lt;br /&gt;
|-&lt;br /&gt;
|Leon&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC (SPARC-compatible)&lt;br /&gt;
|&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://www.gaisler.com Gaisler Research]&lt;br /&gt;
|-&lt;br /&gt;
|MicroBlaze&lt;br /&gt;
|Xilinx&lt;br /&gt;
|Nein&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, EDK&lt;br /&gt;
|&lt;br /&gt;
|EDK $500/Jahr&lt;br /&gt;
|[http://www.xilinx.com/products/design_resources/proc_central/microblaze.htm Xilinx]&amp;lt;BR&amp;gt;[http://de.wikipedia.org/wiki/MicroBlaze MicroBlaze bei Wikipedia]&lt;br /&gt;
|-&lt;br /&gt;
|NIOS II&lt;br /&gt;
|Altera&lt;br /&gt;
|Nein&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, SOPC, EDS&lt;br /&gt;
|&lt;br /&gt;
|mit Nios II Eval-Kit ab $400, oder $3000 - Nios II/e core free (12/2009)&lt;br /&gt;
|[http://www.altera.com/nios2 Altera]&lt;br /&gt;
|-&lt;br /&gt;
|OpenRISC&lt;br /&gt;
|&lt;br /&gt;
|Ja, Verilog&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|GCC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/projects.cgi/web/or1k/overview OpenCores]&lt;br /&gt;
|-&lt;br /&gt;
|Plasma&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC (MIPS-compatible)&lt;br /&gt;
|&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://www.opencores.org/ OpenCores.org]&lt;br /&gt;
|-&lt;br /&gt;
|Zylin CPU (ZPU)&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC&lt;br /&gt;
|&lt;br /&gt;
|FreeBSD/GPL&lt;br /&gt;
|[http://opensource.zylin.com/zpu.htm Zylin.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Einen ersten Eindruck von derLeistungsfähigkeit der 32 Bit SoftCores gibt z.&amp;amp;nbsp;B. &lt;br /&gt;
die [http://www.gaisler.com/doc/Evaluation_of_synthesizable_CPU_cores.pdf Master-Arbeit &amp;quot;Evaluation of synthesizable CPU cores&amp;quot;] aus dem Jahr 2004. &lt;br /&gt;
Diese Vergleicht den Leon 2, MicroBlaze und OpenRISC 1200 miteinander.&lt;br /&gt;
&lt;br /&gt;
=== Lattice Mico32 und soc-lm32 ===&lt;br /&gt;
&lt;br /&gt;
Mico32 ist eine 32 Bit pipelined RISC CPU. Die steht unter einer OpenSource&lt;br /&gt;
Lizenz und liegt komplett im Verilog Quelltext vor. Sowohl die CPU Architektur als auch der Resourcenbedarf ist vergleichbar mit dem MicroBlaze von Xilinx, ist allerdings eine eigenständige Entwicklung von Lattice.&lt;br /&gt;
&lt;br /&gt;
* Recourcenbedarf: ~1600 Slices (Lattice/Xilinx)&lt;br /&gt;
* Erreicht ca. 80-116MHz auf ECP2 und XP2 Devices von Lattice und ca. 100 MHz auf Spartan3 Generation FPGAs,&lt;br /&gt;
* Konfigurierbare D- und I-Caches (aus BRAM oder Distributed RAM)&lt;br /&gt;
* 2 Wishbone-Interfaces: Für Daten-Load&amp;amp;Store und Instruction-Fetch&lt;br /&gt;
* Systembuilder mit automatisch erstellten Wishbone Arbitern&lt;br /&gt;
* Keine Begrenzung in Anzahl der benutzten Wishbone Busse&lt;br /&gt;
* Kompletter GNU Toolchain aus binutils, gcc und gdb&lt;br /&gt;
* Eclipse Entwicklungsumgebung, gemanagte C und C++ Entwicklung&lt;br /&gt;
* Automatische Treibererstellung durch den Systembuilder&lt;br /&gt;
* In Lattice Bausteinen gleichzeitige Benutzung des Logikanalyzers und Debuggers&lt;br /&gt;
&lt;br /&gt;
Neben dem Original, das man von [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm Lattice] herunterladen kann, und dessen Toolchain erstmal auf Windows mit Lattice FPGAs ausgelegt ist, gibt es noch [http://www.das-labor.org/wiki/Soc-lm32 soc-lm32]. soc-lm32 ist eine Portierung auf Altera und Xilinx Bausteine und benutzt einen Makefile-basierten Workflow.&lt;br /&gt;
&lt;br /&gt;
Eine von Lattice in Auftrag gegebene Portierung von uC-Linux ist verfügbar&lt;br /&gt;
(http://www.theobroma-systems.com/mico32/).&lt;br /&gt;
&lt;br /&gt;
Nachteile: bis jetzt gibt es keine Version mit FPU (kann über Wishbone als Peripherie angeflanscht werden) oder MMU.&lt;br /&gt;
&lt;br /&gt;
=== Leon ===&lt;br /&gt;
&lt;br /&gt;
Dieser Prozessorkern ist komplett SPARC V8 kompatibel -- beliebige SPARC Compiler können verwendet werden (z.&amp;amp;nbsp;B. bcc, ). Neben dem Kern selbst steht auch eine breite Auswahl an Peripherie in Form von VHDL-Komponenten zur Vefügung. Als On-Chip Interconnect kommt AMBA (AHB + APB) zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
* Recourcenbedarf: ~4000 Xilinx Slices, 10 BRAMs (minimal-konfiguration)&lt;br /&gt;
* Erreicht ca. 50 MHz auf Spartan3 Generation FPGAs&lt;br /&gt;
&lt;br /&gt;
=== MicroBlaze &amp;amp; Nachbauten ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MicroBlaze&#039;&#039;&#039; ist ein Core der con der Firma Xilinx speziell für deren FPGAs zur Verfügung gestellt wird. Er ist u.a. mit der XPS-Software instanziier- und konfigurierbar. Die softwareentwicklung erfolgt in C mittels der Sofware EDK.&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=63658</id>
		<title>Schaltplaneditoren</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=63658"/>
		<updated>2012-01-31T17:19:19Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* FreePCB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== AACircuit ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AACircuit&#039;&#039;&#039; ist ein Schaltplaneditor mit einer Ausgabe als ASCII-Grafik. Das Programm wurde dafür entwickelt, um mal eben eine Frage oder eine Antwort in &#039;&#039;newsgroups&#039;&#039;, Chats oder Foren zu veranschaulichen, wenn keine Upload-Möglichkeit von Bilddateien da ist. AACircuit gibt es bei http://www.tech-chat.de/&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  .---o----o------o---o---------------o---o----o------------o 12-15V&lt;br /&gt;
  |   |    |  22µF| + |               |   |    |&lt;br /&gt;
 .-.  |   .-.    ###  |              .-.  |    |    .-------o&lt;br /&gt;
 | |&amp;lt;-&#039;   | |    ---  |              | |  |    |    |   .---o&lt;br /&gt;
 | |5k    | |5k6  |   |              | |  |    |    |   |&lt;br /&gt;
 &#039;-&#039;      &#039;-&#039;     |   o--.           &#039;-&#039;  |   _|_   o  /o&lt;br /&gt;
  |        |     ===  |  |            |   |  |_/_|-   /&lt;br /&gt;
 .-.       |     GND  | ---100n   LED V   -    |     /&lt;br /&gt;
 | |       |          | ---           -   ^    |    o&lt;br /&gt;
 | |6k2    |          |  |            |   |    |    |&lt;br /&gt;
 &#039;-&#039;       |          | GND           &#039;---o----o    &#039;-------o&lt;br /&gt;
  |        |       2|\|7                       |&lt;br /&gt;
  o-----------------|-\ LM741      ___       |/&lt;br /&gt;
  |        |        |  &amp;gt;-------o--|___|--o---|&lt;br /&gt;
  |        o---o----|+/ 6      |   22k   |   |&amp;gt;  BC547&lt;br /&gt;
  |        |   |   3|/|4       |         |     |&lt;br /&gt;
 .-.       |   |     ===       o---.    .-.    |&lt;br /&gt;
 | |       |   o---. GND       |   |    | |5k6 |&lt;br /&gt;
 | |2k7   .-.  |   |   ___    _V_  |    | |    |&lt;br /&gt;
 &#039;-&#039;     KTY10 | + &#039;--|___|--|___|-&#039;    &#039;-&#039;    |&lt;br /&gt;
  |       | | ###      47k   220k        |     |&lt;br /&gt;
  |       &#039;-&#039; ---                        |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  &#039;--------o---o-------------------------o-----o------------o GND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BAE ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039;artels &#039;&#039;&#039;A&#039;&#039;&#039;uto &#039;&#039;&#039;E&#039;&#039;&#039;ngineer unterstützt die Erstellung von Schaltplänen, Leiterplatten und integrierten Schaltungen und läuft unter Windows, Linux und verschiedenen X11-/Unix-Systemen. Der Schaltplaneditor kann Pläne auf beliebig vielen Blättern erstellen, wobei auch hierarchische Strukturen möglich sind. Der Autorouter erzeugt recht brauchbare Ergebnisse, wobei beliebige Teile mit der Hand vorab geroutet werden können. Ein Autoplacer ist ebenfalls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Eine auf Schaltplaneingabe beschränkte Version und eine kastrierte Evaluierungsversion sind auf der [http://www.bartels.de/bae/bae_de.htm BAE Homepage] downloadbar.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.bartels.de/bae/baeprice_de.htm preiswerteste] kostenpflichtige Version ist das &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE Light&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Diese Version ist auf Leiterplatten der Groesse 180x120 mm² und auf 2 Lagen beschränkt, eine Beschränkung auf eine bestimmte Pinanzahl gibt es aber nicht.&lt;br /&gt;
&lt;br /&gt;
Ansonsten wird eine Economy-, Professional- und Highendversion angeboten, die jeweiligen Eigenschaften sind im Abschnitt [http://www.bartels.de/baedoc/inst_de.htm Bartels AutoEngineer Softwarekonfigurationen] erklärt. Interessant ist z.&amp;amp;nbsp;B. der Bauteilhöhencheck.&lt;br /&gt;
&lt;br /&gt;
Mit dem &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE IC Design&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; dringt man bis in den Bereich der IC-Entwicklung vor.&lt;br /&gt;
&lt;br /&gt;
[[BAE-Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Basic Schematic == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Base schematic example.png|right|thumb|Screenshot Base Schematic]]&lt;br /&gt;
&lt;br /&gt;
Basic Schematic (&#039;&#039;&#039;BSch3V&#039;&#039;&#039;) ist ein freier Schaltplaneditor für Windows (98/Me/2000/XP). Es enthält einen Component Library Editor, einen Parts List Generator und einen Netlist Generator, sowie eine Automatic Numbering Funktion.&lt;br /&gt;
&lt;br /&gt;
Ein ZIP-Archiv mit engl. Programm, Handbuch und Sourcecode gibt es bei http://www.suigyodo.com/online/e/index.htm.&lt;br /&gt;
&lt;br /&gt;
Ebenso ist dort eine Cross-Plattform Version &#039;&#039;&#039;Qt-BSch3V&#039;&#039;&#039; auf der Basis von Qt-Grafiklibraries erhältlich.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist bis dato (2011) gut gepflegt.&lt;br /&gt;
&lt;br /&gt;
== BlackBoard Breadboard Designer == &lt;br /&gt;
&lt;br /&gt;
[[Bild:BlackBoard.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BlackBoard Breadboard Designer&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist ein freier Editor für Lochrasterplatinen Layouts, der das Planen der Bauteilplazierung sowie der beidseitigen Verdrahtung deutlich vereinfacht und sich u.a. auch für die Dokumenation solcher Prototypenaufbauten eignet.&lt;br /&gt;
&lt;br /&gt;
Er läuft auf allen Plattformen für die eine Java Runtime zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
Die Homepage von Blackboard ist unter http://blackboard.serverpool.org zu erreichen. Blackboard steht unter Der GPL V2 und wird ständig weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DipTrace ==&lt;br /&gt;
&lt;br /&gt;
Design-Editor für PCB-Leiterplatten für Windows NT, 2000, XP, Server 2003&lt;br /&gt;
- erweiterte Pro-Version erlaubt den Export in DXF, Gerber und N/C Drill sowie Leiterplattenlayouts mit mehr als 250 Pins.&lt;br /&gt;
&lt;br /&gt;
http://www.diptrace.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eagle ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Eagle.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Eagle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; von Cadsoft ist nicht nur ein &amp;lt;b&amp;gt;Schaltplaneditor&amp;lt;/b&amp;gt;, sondern ein komplettes Paket mit &amp;lt;b&amp;gt;Layoutprogramm&amp;lt;/b&amp;gt; und &amp;lt;b&amp;gt;Autorouter&amp;lt;/b&amp;gt;. Das hat den Vorteil, dass man einen erstellten Schaltplan gleich zur Platine weiterverarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
Mitgeliefert werden umfangreiche Symbol- bzw. Bauteilbibliotheken, von Widerständen in allen Bauformen über Taster bis hin zu [[AVR]]s. Eine Library für viele aktuelle AVRs findet sich im Download-Bereich &lt;br /&gt;
von [http://www.embedit.de http://www.embedit.de].&lt;br /&gt;
&lt;br /&gt;
Eagle läuft unter Linux, Windows (2000/XP/Vista/7) und Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Eine für nichtkommerzielle Anwendungen kostenlose Version ist von [http://www.cadsoft.de/ CadSoft] erhältlich. Diese ist auf zweilagige Platinen im halben Euro-Format (80x100mm) sowie Schaltpläne mit nur einer Seite beschränkt.&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht===&lt;br /&gt;
[[Bild:Stereobild-elektronik-3d.jpg|right|thumb|Rot-Grün-Stereo-Bild]]&lt;br /&gt;
Zum Betrachten des fertigen, bestückten Platinenentwurfs in Form eines 3D-Bilds bietet sich das Paket [http://www.matwei.de/doku.php?id=en:eagle3d:eagle3d eagle3D] an. Mit Hilfe eines ULP wird eine Beschreibungsdatei für den open source Renderer &amp;lt;i&amp;gt;POVray&amp;lt;/i&amp;gt; erzeugt, welche dann anschließend halbautomatisch generiert werden kann. Auch Bewegungsanimation und Kameraflug sind möglich. Es wird bereits ein große Zahl an Bauteilen unterstützt.&lt;br /&gt;
&lt;br /&gt;
Anwendungshinweise:&lt;br /&gt;
* [[Eagle im Hobbybereich]]&lt;br /&gt;
* [http://gaussmarkov.net/wordpress/category/tools/software/eagle/ Eagle CAD Tutorial] im Blog von gaussmarkov: diy fx (englisch)&lt;br /&gt;
* [[Stereobilder mit EAGLE 3D]]&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== FreePCB ==&lt;br /&gt;
&lt;br /&gt;
FreePCB ist ein freier, open-source PCB editor für Microsoft Windows, der unter der GNU General Public License veröffentlicht wurde. Er wurde entwickelt, um ihn einfach erlernen und nutzen zu können und dennoch für professionelles Arbeiten geeignet. Er besitzt keinen eingebauten Auto Router, kann jedoch den web-basierten auto router auf www.freerouting.net verwenden.&lt;br /&gt;
&lt;br /&gt;
== Electric ==&lt;br /&gt;
&lt;br /&gt;
Das [http://www.staticfreesoft.com/index.html Electric(TM)] VLSI Design System ist ein Open Source Electronic Design Automation (EDA) System.&lt;br /&gt;
&lt;br /&gt;
== ExpressPCB ==&lt;br /&gt;
&lt;br /&gt;
Die Firma &amp;lt;b&amp;gt;ExpressPCB&amp;lt;/b&amp;gt; bietet den kostenlosen Schaltplaneditor &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressSCH&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; an. Zusätzlich gibt es das kostenlose Layoutprogramm &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressPCB&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; zum Erstellen von zwei- und vierlagigen Leiterplatten. Die beiden Programme sind auf Windows (NT, 2000, XP, Vista) beschränkt. Die Firma bietet auf der [http://www.expresspcb.com/ ExpressPCB Homepage] ausserdem einen kommerziellen Service für die Herstellung von zwei- und vierlagigen Leiterplatten an. Auf der Seite finden sich [http://www.expresspcb.com/ExpressPCBHtm/Tips.htm hier] einige Hinweise zum Entwurf von Leiterplatten.&lt;br /&gt;
&lt;br /&gt;
== FidoCadJ ==&lt;br /&gt;
&lt;br /&gt;
[http://davbucci.chez-alice.fr/index.php?argument=elettronica/fidocadj/fidocadj.inc&amp;amp;language=English FidoCadJ] is a very easy to use editor, with a library of electrical symbols and footprints (through hole and SMD). Albeit its ease of use, it is a very immediate and effective EDA tool for the hobbyst. FidoCadJ stores its drawings in a compact text format. This choice is well suited for the copy and paste in newsgroups and forums. This explains the success of FidoCadJ in Usenet groups and in several portals. FidoCadJ is multi-platform Java program and runs on MacOSX, Linux and Windows. FidoCadJ and its manuals are in english, french and italian. Lizenz: Creative Commons 3.0 BY-NC-ND&lt;br /&gt;
&lt;br /&gt;
== Fritzing ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fritzing&#039;&#039;&#039; verwendet die Metapher eines Breadboards (Steckbretts), auf dem die Benutzer virtuell Bauteile einstecken. Fritzings Zielgruppe sind Künstler, Designer und Hobbyisten aber nicht unbedingt Profielektroniker, und die Software soll speziell auf die Zielgruppe zugeschnitten werden. Dabei wird auf eine niedrige Zugangsschwelle wert gelegt. Versionen für Mac OS X, Linux und Windows (XP/Vista) sind bei http://www.fritzing.org/ erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Gschem ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Gschem.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist der Schaltplaneditor aus dem Open Source Projekt gEDA. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; wird hauptsächlich auf Linux Rechnern entwickelt, läuft aber auch auf anderen Unix-Betriebssystemen und unter Windows. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; ist für die Linuxdistributionen RedHat und Debian als Paket verfügbar, für Windows ist nur eine ältere Version erhältlich und für alle anderen ist selber kompilieren angesagt.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung ist nicht sonderlich anfängerfreundlich. Hat man sich aber mal daran gewöhnt, dass jeder Menupunkt mit 1 oder 2 Tasten erreichbar ist, läßt sich&#039;s mit &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; prima arbeiten. &lt;br /&gt;
&lt;br /&gt;
In der Symbolbibliothek (die auch online betrachtet werden kann) sind etwas mehr als 1000 Symbole; das Selbsterzeugen von Symbolen ist jedoch problemlos möglich. Insbesondere ist es aufgrund des gut dokumentierten und einfachen Datei-Formates möglich, mit einfachen Perl-Programmen z.&amp;amp;nbsp;B. aus Reports von Xilinx ISE Symbole zu erzeugen und automatisch zu aktualisieren, wenn sich die Pinzuordnung ändert. Das fehlerhafte Eingeben der Pinbelegung von CPLDs und FPGAs von Hand und die Änderung derselben ist damit für &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; User Geschichte.&lt;br /&gt;
&lt;br /&gt;
Die Schaltpläne lassen sich als png und als Postscript exportieren. &lt;br /&gt;
&lt;br /&gt;
Netzlisten (insgesamt über 20 Formate für PCB, Protel, Eagle, BAE, spice, pads, ... ) lassen sich mit dem Programm &amp;lt;i&amp;gt;gnetlist&amp;lt;/i&amp;gt; generieren. Aus diesem Grund ist man (bis auf die Namen der Footprints) unabhängig von der verwendeten Layout-Software und kann diese auch sehr leicht wechseln.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil der gEDA-Suite sind die Dateiformate, welche alle reiner ASCII-Text sind. Dies macht die Entwicklung von Helper-Tools zur Lösung von speziellen Aufgaben sehr leicht. Außerdem können die Dateien deswegen sehr einfach in Versionsverwaltungssystemen wie CVS verwaltet werden, was insbesondere die Entwickler größerer Projekte zu schätzen wissen.&lt;br /&gt;
&lt;br /&gt;
Nähere Informationen über &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; (gEDA) gibt es unter [[http://www.geda.seul.org/ http://www.geda.seul.org/]].&lt;br /&gt;
&lt;br /&gt;
== Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Etwas bekannter noch als Jfig ist [http://inkscape.org/ &#039;&#039;&#039;Inkscape&#039;&#039;&#039;], ebenfalls ein reines Vektorzeichenprogramm, das vor allem (aber nicht nur) SVG-Dateien erstellt, die mit der Wikipedia eine große Verbreitung gefunden haben. Es ist in fast jeder gängigen Linux Distribution enthalten, eine Windowsversion sowie eine [http://portableapps.com/apps/graphics_pictures/inkscape_portable &#039;&#039;&#039;portable Windowsversion&#039;&#039;&#039;] existiert auch. In der Wikipedia findet sich eine Sammlung von Elektroniksymbolen im [http://commons.wikimedia.org/wiki/Category:SVG_electrical_symbols SVG-Format] und [http://commons.wikimedia.org/wiki/File:Electrical_symbols_library.svg hier]. Als Beispiele damit gezeichneter Schaltpläne sei diese [http://commons.wikimedia.org/wiki/Category:Created_with_electrical_symbols_library] genannt.&lt;br /&gt;
&lt;br /&gt;
== JFig ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Jfig.png|right|thumb|Screenshot]]&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;JFig&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist eigentlich ein &amp;quot;ganz normales&amp;quot; Vektorzeichenprogramm. Um Schaltpläne zu zeichnen benötigt man deshalb zusätzliche Symbolbibliotheken. &lt;br /&gt;
&lt;br /&gt;
Die Exportmöglichkeiten für das weitverbreitete fig-Format sind sehr vielfältig: mit dem Zusatzprogramm &amp;lt;i&amp;gt;fig2dev&amp;lt;/i&amp;gt;, das direkt aus dem &amp;lt;i&amp;gt;jfig&amp;lt;/i&amp;gt;-Menü aufgerufen kann, bleiben von Postscript über PNG bis hin zu [[LaTeX]] kaum Wünsche offen. Für kleine Schaltpläne oder Diagramme, die ausgedruckt oder in PDF-Dateien verbreitet werden sollen, gibt es deshalb nichts besseres.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist ein komplett in [http://java.sun.com/ Java] geschriebener 1:1-Klon des [[Linux]]-Programms &amp;lt;i&amp;gt;xfig&amp;lt;/i&amp;gt; und sollte daher mit jedem Betriebssystem von Windows bis Mac OS laufen. Es ist kostenlos auf [http://tams-www.informatik.uni-hamburg.de/applets/jfig/ http://tams-www.informatik.uni-hamburg.de/applets/jfig/] erhältlich. (Leider ist der Download schon geraume Zeit nicht mehr möglich. Zitat von der Seite: &amp;quot;Sorry. Recently, I got two serious bug reports which have now been confirmed, and jfig downloads are suspended until these have been resolved.&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Die Bedienung wird für Windows-Benutzer am Anfang wohl ziemlich ungewohnt sein, aber wenn man mal das Grundprinzip verstanden, hat findet man sich durch die eindeutig beschrifteten Schaltflächen schnell zurecht.&lt;br /&gt;
&lt;br /&gt;
== Kicad ==&lt;br /&gt;
[[Bild:kicad1.gif|right|thumb|Screenshot]]&lt;br /&gt;
[[Bild:kicad2.gif|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
[[KiCAD]] ([http://www.lis.inpg.fr/realise_au_lis/kicad/ Homepage&amp;amp;Download]) ist ein Paket aus Design / Layout / Routing Programmen. Es basiert auf wxWidgets und ist damit plattformübergreifend. Die Progamme sind unter der GPL veröffentlicht und damit Open Source.&lt;br /&gt;
Im deutschsprachigen Raum existiert noch ein Zeichenprogramm für Elektrotechnik, welches auch kicad heisst, aber ein kommerzelles Projekt ist, und mit dem hier behandelten lediglich den Namen gemeinsam hat.&lt;br /&gt;
&lt;br /&gt;
Eine Kicad User-Group findet sich unter http://groups.yahoo.com/group/kicad-users/. Die Anmeldung erfolgt erst, nachdem man vom Besitzer der User-Group freigeschaltet wurde (wie üblich für die meisten Yahoo-Groups).&lt;br /&gt;
&lt;br /&gt;
Neben der mitgelieferten, bereits umfangreichen Bibliothek gibt es auf vielen anderen Seiten (z.&amp;amp;nbsp;B. http://www.kicadlib.org/) weitere Bibliotheken zum Download, die einfach integriert werden können.&lt;br /&gt;
&lt;br /&gt;
Für Umsteiger von anderen Programmen sollten sich nach wenigen Stunden bereits die gleichen Ergebnisse erzielen lassen. Beim Erlernen kann das Tutorial von http://www.curiousinventor.com/guides/kicad helfen. Ebenso findet sich hier unter http://www.mikrocontroller.net/articles/KiCAD eine unfangreiche FAQ (und Bibliothekssammlung)&lt;br /&gt;
&lt;br /&gt;
Kicad liefert eine schöne 3D-Ansicht des fertigen Layouts einschließlich der bestückten Bauteile, so dass man an dieser Stelle schon einmal einen Überblick bekommt, ob vielleicht nicht doch etwas vergessen wurde. Es gibt zwar nicht für alle Bauformen ein 3D-Modell, allerdings lassen sich diese selbst erstellen.&lt;br /&gt;
&lt;br /&gt;
Als Nachteil ließe sich noch aufführen, dass der PCB-Layouter in der Version vom Januar 2006 etwas instabil ist und gerne abstürzt. Die Version vom Mai 2010 läuft aber sehr stabil. Ebenso sind die Autorouterfunktionen nicht gut dokumentiert. Ein weiterer Kritikpunkt wäre, dass die offizielle Symbolbibliothek nur amerikanische, aber keine europäischen Schaltplansymbole enthält. Kicad hat unter &amp;quot;contributions&amp;quot; eine (veraltete) Version von SymbolsSimilarEN60617+oldDIN617.lib mit europäischen EN60617 Symbolen. Eine aktuelle Version der gleichen Symbolbibliothek findet sich hier in  Mikrocontroller.de unter http://www.mikrocontroller.net/articles/KiCAD#Bibliotheken. Aktuell ist RevE4.&lt;br /&gt;
Diese enthält aber nicht nur EN60617 Symbole, sondern auch einige andere Symbole wie Logos für Gefahr, Hochspannung, ESD-Schutz und Dummy Symbole für Platinenumrisse, Fiducials, Messpunkte ec.&lt;br /&gt;
&lt;br /&gt;
== Lochmaster ==&lt;br /&gt;
&lt;br /&gt;
[http://www.abacom-online.de/html/lochmaster.html Lochmaster] ist ein Programm zur Erstellung von Layouts speziell auf [[Lochrasterplatine]]n. Schaltplan und Layout sind ein und das selbe.&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
&lt;br /&gt;
[http://pcb.sourceforge.net/index.html PCB] ist ein freies (open source) Layoutprogramm inklusive Autorouter. Zum Zeichnen der Schaltpläne kann [[Schaltplaneditoren#Gschem|Gschem]] verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; wurde ursprünglich für den Atari ST entwickelt und später nach &lt;br /&gt;
Unix portiert. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; läuft meist unter Linux, kann allerdings mit [http://www.cygwin.com/ Cygwin] auch unter Windows betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Als Ausgabeformate stehen [http://de.wikipedia.org/wiki/Postscript Postscript] und Gerber RS-274-X zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; ist, dass alle Funktionen auch über &lt;br /&gt;
Hotkeys gesteuert werden können, was insbesondere nach längerer Einarbeitungszeit ein großer Gewinn gegenüber manchen Windows-Programmen ist.&lt;br /&gt;
&lt;br /&gt;
Zur Einarbeitung ist es meines Erachtens sehr wichtig, sich das [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchzulesen. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; und &amp;lt;i&amp;gt;Gschem&amp;lt;/i&amp;gt; sind nicht besonders einfach zu benutzen. Gerade am Anfang, wenn man sich versucht damit einzuarbeiten. Aber wenn man einmal mit dem Werkzeug arbeiten kann, wird man es nicht mehr missen wollen.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Einstellungen &amp;amp; Tips ===&lt;br /&gt;
&lt;br /&gt;
Die neue GTK+ Version aus dem CVS Archiv ist der alten, etwas angestaubten Version vorzuziehen. Auch das Kompilieren ist nicht wirklich schwierig. Alles, was dazu notwendig ist (und das Programm hat keine großen Abhängigkeiten), ist in der Readme erklärt. Somit fällt die Kompilierung recht einfach aus.&lt;br /&gt;
&lt;br /&gt;
Auf der linken Seite befindet sich die Auswahl der jeweiligen Layer. Gerade bei Verwendung des Autorouters sollte man hier den 2. Layer deaktivieren. Dies kann ganz einfach mit einem Klick auf die Beschriftung erfolgen (component, GND-comp und VCC-comp). Ebenso sollte man unused (grün) und unused (blau) deaktivieren.&lt;br /&gt;
&lt;br /&gt;
Als Route Style verwende ich den &#039;&#039;Power Style&#039;&#039; mit einer Dicke von 25 Mil (0.6 mm). Der &#039;&#039;Signal Style&#039;&#039; scheint mir gerade bei schlechten Belichtungsverhältnissen nicht ganz optimal zu sein.&lt;br /&gt;
&lt;br /&gt;
=== Autorouter ===&lt;br /&gt;
&lt;br /&gt;
Der Autorouter von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; hat einige Schwächen, welche allerdings bei Hobby-Projekten völlig belanglos sind: Beispielsweise kann es bei TQFP-Gehäusen mit 100 Pins u. 0.5mm Pinabstand zu Problemen kommen, 64polige TQFP-Gehäuse (z.&amp;amp;nbsp;B. vom ATmega 128) gehen jedoch ohne Probleme. &lt;br /&gt;
&lt;br /&gt;
Hat man sich soweit im [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchgearbeitet und seine Bauteile positioniert, kann der Autorouter zum Einsatz kommen. Auch hier ist ein wenig Experimentierfreude erforderlich, um zu zufriedenstellenden Ergebnissen zu kommen.&lt;br /&gt;
&lt;br /&gt;
Unter &#039;&#039;&#039;Connects / Optimize routed Tracks / Miter&#039;&#039;&#039; können die gerouteten Linien in 45 Grad Winkel modifiziert werden.&lt;br /&gt;
&lt;br /&gt;
=== Footprints ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcbgtk.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
Sehr wichtig für das Zusammenspiel zwischen dem Schaltplaneditor [http://www.geda.seul.org/tools/gschem/ Gschem] und dem [http://pcb.sourceforge.net PCB] ist die Verwendung der richtigen Footprints.&lt;br /&gt;
&lt;br /&gt;
Mir persönlich ist aufgefallen, daß viele Pads zu klein sind. Gerade im Bereich der Hobbyätzerei könnten sie ruhig größer ausfallen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Element&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Alternativer Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Beschreibung&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Widerstand 1/4 Watt&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R0w4&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R025&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Ich benutze R0w4, weil es die Pads größer sind.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Elko&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;RADIAL_CAN 200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200 ist für größere Elkos (Umfang), während bei RADIAL_CAN 200 der Umfang kleiner ist. Leider fehlt die Polarität bei diesem Symbol.  Allgemein jedoch sind bei beiden Elementen die Pads zu klein.&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcb_widerstand.png]]&lt;br /&gt;
&lt;br /&gt;
Mir waren irgendwie alle Widerstände nicht ideal genug.&lt;br /&gt;
Die Löcher werden ja meist mit 0.8mm gebohrt: (0.8 mm * (1 mil/ 0.0254 mm) = 31 mil. Eine Richtlinie für den gesamten Paddurchmesser habe ich nicht gefunden. Aus einer Elektor Platine habe ich mit Meßschieber ungefähr 2 mm gemessen, also 78 mil.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;R__0w4_10.16mm&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 0 0 0 -10300 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[0 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[40000 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [7900 0 4400 0 1000]&lt;br /&gt;
    ElementLine [32000 0 35500 0 1000]&lt;br /&gt;
    ElementLine [7900 -3300 7900 3300 1000]&lt;br /&gt;
    ElementLine [32000 -3300 32000 3300 1000]&lt;br /&gt;
    ElementLine [7900 -3300 32000 -3300 1000]&lt;br /&gt;
    ElementLine [7900 3300 32000 3300 1000]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Kapazitäten mit einer Breite von 2.54 mm oder 5.08 mm nutze ich folgendes Element&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 65000 78500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[2000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-8000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-18000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[-16000 -2500 -10000 -2500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;&amp;quot;]&lt;br /&gt;
    ElementLine [-4000 -6500 -4000 2500 1399]&lt;br /&gt;
    ElementLine [-2000 -6500 -2000 2500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine Breite von 5.08 mm oder 7.62 mm nutze ich folgendes Element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 63000 93500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[14000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[4000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-16000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[5500 -4500 12500 -4500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [-7500 -8500 -7500 500 1399]&lt;br /&gt;
    ElementLine [-5500 -8500 -5500 500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ProtoCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://protomind.net/page.php?7 ProtoCAD] ist ein Werkzeug, um schnell Schaltpläne zu entwerfen. Es ist für [[Lochrasterplatine]]n entwickelt worden, kann aber auch für andere Methoden genutzt werden. (Java 1.5 kompatibel, Swing GUI, Open Source)&lt;br /&gt;
&lt;br /&gt;
== Pulsonix ==&lt;br /&gt;
[http://www.pulsonix.com PULSONIX] ist ein professionelles Schaltplan- und Layout-Werkzeug mit [http://www.pulsonix.com/downloads/datasheets/Pulsonix%20FPGA.pdf integriertem FPGA-Interface] sowie [http://www.pulsonix.com/downloads/datasheets/Pulsonix%20Spice%20V2.0%20UK.pdf integriertem Schaltungsimulator] auf PSpice-Basis.&lt;br /&gt;
&lt;br /&gt;
== QCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://www.ribbonsoft.de/qcad.html QCAD] gibt es in einer lizenzpflichigen und in einer Open Source Community Version. QCAD ist kein ausschliesslicher Schaltungseditor, sondern kann auch für andere 2D Zeichnungen (Konstruktionen etc.) eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== sPlan ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sPlan&#039;&#039;&#039; ist ein relativ preiswerter Schaltplaneditor für Windows (95,98,ME,NT,2000,XP)&lt;br /&gt;
Infos und eine Demoversion von sPlan gibt es u.a. bei http://www.abacom-online.de/html/splan.html&lt;br /&gt;
&lt;br /&gt;
== TARGET 3001! == &lt;br /&gt;
&lt;br /&gt;
[[Bild:target3001.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; für Windows (ME/NT4/2000/XP/Vista/Win7) bietet folgende Funktionen&lt;br /&gt;
&lt;br /&gt;
* Schaltplan&lt;br /&gt;
* Bauteilerstellung &lt;br /&gt;
* Schaltungssimulation (PSPICE-Syntax)&lt;br /&gt;
* Platinen-Layout mit Autoplatzierer&lt;br /&gt;
* Autorouter &lt;br /&gt;
* Anzeige der Platine in 3D&lt;br /&gt;
* Frontplattenentwurf direkt an oder über der Platine&lt;br /&gt;
&lt;br /&gt;
Die Platinen-Layout-Software ist in deutscher, englischer oder französischer Sprache. Es gibt eine für nicht kommerzielle Anwendungen kostenlose Version: &amp;lt;b&amp;gt;TARGET 3001! discover&amp;lt;/b&amp;gt; ist beschränkt auf 250 Pins/Pads, 2 Kupferlagen&lt;br /&gt;
und 30 Signale sind simulierbar, die Fläche ist unbeschränkt (1,2m x 1,2m).&lt;br /&gt;
&lt;br /&gt;
Auf der c&#039;t 11/07 CD ist eine &amp;lt;b&amp;gt;SE Version&amp;lt;/b&amp;gt; von TARGET 3001! verfügbar welche 400 Pins/Pads verarbeiten kann. &lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;b&amp;gt;PCB-Pool Edition&amp;lt;/b&amp;gt; hat keine Beschränkungen, speichert aber die Layouts in einem von normalen Target Versionen nicht lesbaren Format. Diese Layouts können dann allerdings nur zum selbst Ätzen ausgedruckt werden oder vom PCB-POOL® produziert werden.&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://server.ibfriedrich.com/wiki/ibfwikide Target3001 Homepage]&lt;br /&gt;
* [http://www.pcb-pool.com/ppde/service_downloads.html Target3001 PCB-Pool-Edition]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt; bietet ein typisches Windows Look-And-Feel. Eine einfache Einführung findet sich &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Kurzeinführung2 hier]&#039;&#039;&#039;. Wer sich schon mit Eagle auskennt, kann auch &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Eagle hier]&#039;&#039;&#039; schauen. Es gibt kostenlosen direkten Service durch den Hersteller telefonisch oder per E-Mail auch für Einsteiger oder Demo-User.&lt;br /&gt;
&lt;br /&gt;
== TinyCAD ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TinyCAD&#039;&#039;&#039; ist ein weiterer &#039;&#039;Open Source&#039;&#039; Schaltplaneditor für Windows. Mehr Infos gibt es auf der [http://tinycad.sourceforge.net Projektseite]. TinyCAD kann z.&amp;amp;nbsp;B. mit VeeCAD (s.u.) kombiniert werden.&lt;br /&gt;
&lt;br /&gt;
== VeeCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://veecad.com/ VeeCAD] Stripboard Layout Editor ist ein Werkzeug, um [[Lochrasterplatine]]n zu entwerfen. VeeCAD ist als kommerzielle Version und als eingeschränkte Freiversion erhältlich.&lt;br /&gt;
&lt;br /&gt;
== ZenitPCB Suite ==&lt;br /&gt;
&lt;br /&gt;
[http://www.zenitpcb.com/eng/Index_Eng.html ZenitPCB Suite] is directed to all those people who want to make printed circuit board for hobby, or to student and academics from universities or high schools, who want to create their own pcb with a professional approach and particularly without having to pay for expensive licenses. ZenitPCB Layout (part of the ZenitPCB Suite) is completely freeware for personal or semi-professional use, limited to [http://www.zenitpcb.com/images/MainBoard_01_01.gif 800 pins]. (Windows XP, Vista)&lt;br /&gt;
&lt;br /&gt;
Übersetzung: ZenitPCB richtet sich an all diejenigen, welche fürs Hobby, Schule, Studium etc professionelle PCBs erstellen möchten, ohne viel Geld für Lizenzen ausgeben zu müssen. ZenitPCb ist in der eingeschränkten Version mit 800 Pins für den semi-professionellen und privaten Gebrauch kostenfrei benutzbar.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Schaltungssimulation]]&lt;br /&gt;
* [[Dos and don&#039;ts - Platinenlayout]]&lt;br /&gt;
* [[Lochrasterplatine]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;br /&gt;
[[Kategorie:Schaltplaneditoren| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=63657</id>
		<title>Schaltplaneditoren</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=63657"/>
		<updated>2012-01-31T17:16:14Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* ProtoCAD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== AACircuit ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AACircuit&#039;&#039;&#039; ist ein Schaltplaneditor mit einer Ausgabe als ASCII-Grafik. Das Programm wurde dafür entwickelt, um mal eben eine Frage oder eine Antwort in &#039;&#039;newsgroups&#039;&#039;, Chats oder Foren zu veranschaulichen, wenn keine Upload-Möglichkeit von Bilddateien da ist. AACircuit gibt es bei http://www.tech-chat.de/&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  .---o----o------o---o---------------o---o----o------------o 12-15V&lt;br /&gt;
  |   |    |  22µF| + |               |   |    |&lt;br /&gt;
 .-.  |   .-.    ###  |              .-.  |    |    .-------o&lt;br /&gt;
 | |&amp;lt;-&#039;   | |    ---  |              | |  |    |    |   .---o&lt;br /&gt;
 | |5k    | |5k6  |   |              | |  |    |    |   |&lt;br /&gt;
 &#039;-&#039;      &#039;-&#039;     |   o--.           &#039;-&#039;  |   _|_   o  /o&lt;br /&gt;
  |        |     ===  |  |            |   |  |_/_|-   /&lt;br /&gt;
 .-.       |     GND  | ---100n   LED V   -    |     /&lt;br /&gt;
 | |       |          | ---           -   ^    |    o&lt;br /&gt;
 | |6k2    |          |  |            |   |    |    |&lt;br /&gt;
 &#039;-&#039;       |          | GND           &#039;---o----o    &#039;-------o&lt;br /&gt;
  |        |       2|\|7                       |&lt;br /&gt;
  o-----------------|-\ LM741      ___       |/&lt;br /&gt;
  |        |        |  &amp;gt;-------o--|___|--o---|&lt;br /&gt;
  |        o---o----|+/ 6      |   22k   |   |&amp;gt;  BC547&lt;br /&gt;
  |        |   |   3|/|4       |         |     |&lt;br /&gt;
 .-.       |   |     ===       o---.    .-.    |&lt;br /&gt;
 | |       |   o---. GND       |   |    | |5k6 |&lt;br /&gt;
 | |2k7   .-.  |   |   ___    _V_  |    | |    |&lt;br /&gt;
 &#039;-&#039;     KTY10 | + &#039;--|___|--|___|-&#039;    &#039;-&#039;    |&lt;br /&gt;
  |       | | ###      47k   220k        |     |&lt;br /&gt;
  |       &#039;-&#039; ---                        |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  &#039;--------o---o-------------------------o-----o------------o GND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BAE ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039;artels &#039;&#039;&#039;A&#039;&#039;&#039;uto &#039;&#039;&#039;E&#039;&#039;&#039;ngineer unterstützt die Erstellung von Schaltplänen, Leiterplatten und integrierten Schaltungen und läuft unter Windows, Linux und verschiedenen X11-/Unix-Systemen. Der Schaltplaneditor kann Pläne auf beliebig vielen Blättern erstellen, wobei auch hierarchische Strukturen möglich sind. Der Autorouter erzeugt recht brauchbare Ergebnisse, wobei beliebige Teile mit der Hand vorab geroutet werden können. Ein Autoplacer ist ebenfalls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Eine auf Schaltplaneingabe beschränkte Version und eine kastrierte Evaluierungsversion sind auf der [http://www.bartels.de/bae/bae_de.htm BAE Homepage] downloadbar.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.bartels.de/bae/baeprice_de.htm preiswerteste] kostenpflichtige Version ist das &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE Light&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Diese Version ist auf Leiterplatten der Groesse 180x120 mm² und auf 2 Lagen beschränkt, eine Beschränkung auf eine bestimmte Pinanzahl gibt es aber nicht.&lt;br /&gt;
&lt;br /&gt;
Ansonsten wird eine Economy-, Professional- und Highendversion angeboten, die jeweiligen Eigenschaften sind im Abschnitt [http://www.bartels.de/baedoc/inst_de.htm Bartels AutoEngineer Softwarekonfigurationen] erklärt. Interessant ist z.&amp;amp;nbsp;B. der Bauteilhöhencheck.&lt;br /&gt;
&lt;br /&gt;
Mit dem &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE IC Design&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; dringt man bis in den Bereich der IC-Entwicklung vor.&lt;br /&gt;
&lt;br /&gt;
[[BAE-Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Basic Schematic == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Base schematic example.png|right|thumb|Screenshot Base Schematic]]&lt;br /&gt;
&lt;br /&gt;
Basic Schematic (&#039;&#039;&#039;BSch3V&#039;&#039;&#039;) ist ein freier Schaltplaneditor für Windows (98/Me/2000/XP). Es enthält einen Component Library Editor, einen Parts List Generator und einen Netlist Generator, sowie eine Automatic Numbering Funktion.&lt;br /&gt;
&lt;br /&gt;
Ein ZIP-Archiv mit engl. Programm, Handbuch und Sourcecode gibt es bei http://www.suigyodo.com/online/e/index.htm.&lt;br /&gt;
&lt;br /&gt;
Ebenso ist dort eine Cross-Plattform Version &#039;&#039;&#039;Qt-BSch3V&#039;&#039;&#039; auf der Basis von Qt-Grafiklibraries erhältlich.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist bis dato (2011) gut gepflegt.&lt;br /&gt;
&lt;br /&gt;
== BlackBoard Breadboard Designer == &lt;br /&gt;
&lt;br /&gt;
[[Bild:BlackBoard.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BlackBoard Breadboard Designer&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist ein freier Editor für Lochrasterplatinen Layouts, der das Planen der Bauteilplazierung sowie der beidseitigen Verdrahtung deutlich vereinfacht und sich u.a. auch für die Dokumenation solcher Prototypenaufbauten eignet.&lt;br /&gt;
&lt;br /&gt;
Er läuft auf allen Plattformen für die eine Java Runtime zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
Die Homepage von Blackboard ist unter http://blackboard.serverpool.org zu erreichen. Blackboard steht unter Der GPL V2 und wird ständig weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DipTrace ==&lt;br /&gt;
&lt;br /&gt;
Design-Editor für PCB-Leiterplatten für Windows NT, 2000, XP, Server 2003&lt;br /&gt;
- erweiterte Pro-Version erlaubt den Export in DXF, Gerber und N/C Drill sowie Leiterplattenlayouts mit mehr als 250 Pins.&lt;br /&gt;
&lt;br /&gt;
http://www.diptrace.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eagle ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Eagle.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Eagle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; von Cadsoft ist nicht nur ein &amp;lt;b&amp;gt;Schaltplaneditor&amp;lt;/b&amp;gt;, sondern ein komplettes Paket mit &amp;lt;b&amp;gt;Layoutprogramm&amp;lt;/b&amp;gt; und &amp;lt;b&amp;gt;Autorouter&amp;lt;/b&amp;gt;. Das hat den Vorteil, dass man einen erstellten Schaltplan gleich zur Platine weiterverarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
Mitgeliefert werden umfangreiche Symbol- bzw. Bauteilbibliotheken, von Widerständen in allen Bauformen über Taster bis hin zu [[AVR]]s. Eine Library für viele aktuelle AVRs findet sich im Download-Bereich &lt;br /&gt;
von [http://www.embedit.de http://www.embedit.de].&lt;br /&gt;
&lt;br /&gt;
Eagle läuft unter Linux, Windows (2000/XP/Vista/7) und Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Eine für nichtkommerzielle Anwendungen kostenlose Version ist von [http://www.cadsoft.de/ CadSoft] erhältlich. Diese ist auf zweilagige Platinen im halben Euro-Format (80x100mm) sowie Schaltpläne mit nur einer Seite beschränkt.&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht===&lt;br /&gt;
[[Bild:Stereobild-elektronik-3d.jpg|right|thumb|Rot-Grün-Stereo-Bild]]&lt;br /&gt;
Zum Betrachten des fertigen, bestückten Platinenentwurfs in Form eines 3D-Bilds bietet sich das Paket [http://www.matwei.de/doku.php?id=en:eagle3d:eagle3d eagle3D] an. Mit Hilfe eines ULP wird eine Beschreibungsdatei für den open source Renderer &amp;lt;i&amp;gt;POVray&amp;lt;/i&amp;gt; erzeugt, welche dann anschließend halbautomatisch generiert werden kann. Auch Bewegungsanimation und Kameraflug sind möglich. Es wird bereits ein große Zahl an Bauteilen unterstützt.&lt;br /&gt;
&lt;br /&gt;
Anwendungshinweise:&lt;br /&gt;
* [[Eagle im Hobbybereich]]&lt;br /&gt;
* [http://gaussmarkov.net/wordpress/category/tools/software/eagle/ Eagle CAD Tutorial] im Blog von gaussmarkov: diy fx (englisch)&lt;br /&gt;
* [[Stereobilder mit EAGLE 3D]]&lt;br /&gt;
&lt;br /&gt;
== FreePCB ==&lt;br /&gt;
&lt;br /&gt;
FreePCB ist ein freier, open-source PCB editor für Microsoft Windows, der unter der GNU General Public License veröffentlicht wurde. Er wurde entwickelt, um ihn einfach erlernen und nutzen zu können und dennoch für professionellesArbeiten geeignet. Er besitzt keinen eingebauten Auto Router, kann jedoch den web-basierten auto router auf www.freerouting.net verwenden.&lt;br /&gt;
&lt;br /&gt;
== Electric ==&lt;br /&gt;
&lt;br /&gt;
Das [http://www.staticfreesoft.com/index.html Electric(TM)] VLSI Design System ist ein Open Source Electronic Design Automation (EDA) System.&lt;br /&gt;
&lt;br /&gt;
== ExpressPCB ==&lt;br /&gt;
&lt;br /&gt;
Die Firma &amp;lt;b&amp;gt;ExpressPCB&amp;lt;/b&amp;gt; bietet den kostenlosen Schaltplaneditor &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressSCH&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; an. Zusätzlich gibt es das kostenlose Layoutprogramm &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressPCB&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; zum Erstellen von zwei- und vierlagigen Leiterplatten. Die beiden Programme sind auf Windows (NT, 2000, XP, Vista) beschränkt. Die Firma bietet auf der [http://www.expresspcb.com/ ExpressPCB Homepage] ausserdem einen kommerziellen Service für die Herstellung von zwei- und vierlagigen Leiterplatten an. Auf der Seite finden sich [http://www.expresspcb.com/ExpressPCBHtm/Tips.htm hier] einige Hinweise zum Entwurf von Leiterplatten.&lt;br /&gt;
&lt;br /&gt;
== FidoCadJ ==&lt;br /&gt;
&lt;br /&gt;
[http://davbucci.chez-alice.fr/index.php?argument=elettronica/fidocadj/fidocadj.inc&amp;amp;language=English FidoCadJ] is a very easy to use editor, with a library of electrical symbols and footprints (through hole and SMD). Albeit its ease of use, it is a very immediate and effective EDA tool for the hobbyst. FidoCadJ stores its drawings in a compact text format. This choice is well suited for the copy and paste in newsgroups and forums. This explains the success of FidoCadJ in Usenet groups and in several portals. FidoCadJ is multi-platform Java program and runs on MacOSX, Linux and Windows. FidoCadJ and its manuals are in english, french and italian. Lizenz: Creative Commons 3.0 BY-NC-ND&lt;br /&gt;
&lt;br /&gt;
== Fritzing ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fritzing&#039;&#039;&#039; verwendet die Metapher eines Breadboards (Steckbretts), auf dem die Benutzer virtuell Bauteile einstecken. Fritzings Zielgruppe sind Künstler, Designer und Hobbyisten aber nicht unbedingt Profielektroniker, und die Software soll speziell auf die Zielgruppe zugeschnitten werden. Dabei wird auf eine niedrige Zugangsschwelle wert gelegt. Versionen für Mac OS X, Linux und Windows (XP/Vista) sind bei http://www.fritzing.org/ erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Gschem ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Gschem.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist der Schaltplaneditor aus dem Open Source Projekt gEDA. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; wird hauptsächlich auf Linux Rechnern entwickelt, läuft aber auch auf anderen Unix-Betriebssystemen und unter Windows. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; ist für die Linuxdistributionen RedHat und Debian als Paket verfügbar, für Windows ist nur eine ältere Version erhältlich und für alle anderen ist selber kompilieren angesagt.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung ist nicht sonderlich anfängerfreundlich. Hat man sich aber mal daran gewöhnt, dass jeder Menupunkt mit 1 oder 2 Tasten erreichbar ist, läßt sich&#039;s mit &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; prima arbeiten. &lt;br /&gt;
&lt;br /&gt;
In der Symbolbibliothek (die auch online betrachtet werden kann) sind etwas mehr als 1000 Symbole; das Selbsterzeugen von Symbolen ist jedoch problemlos möglich. Insbesondere ist es aufgrund des gut dokumentierten und einfachen Datei-Formates möglich, mit einfachen Perl-Programmen z.&amp;amp;nbsp;B. aus Reports von Xilinx ISE Symbole zu erzeugen und automatisch zu aktualisieren, wenn sich die Pinzuordnung ändert. Das fehlerhafte Eingeben der Pinbelegung von CPLDs und FPGAs von Hand und die Änderung derselben ist damit für &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; User Geschichte.&lt;br /&gt;
&lt;br /&gt;
Die Schaltpläne lassen sich als png und als Postscript exportieren. &lt;br /&gt;
&lt;br /&gt;
Netzlisten (insgesamt über 20 Formate für PCB, Protel, Eagle, BAE, spice, pads, ... ) lassen sich mit dem Programm &amp;lt;i&amp;gt;gnetlist&amp;lt;/i&amp;gt; generieren. Aus diesem Grund ist man (bis auf die Namen der Footprints) unabhängig von der verwendeten Layout-Software und kann diese auch sehr leicht wechseln.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil der gEDA-Suite sind die Dateiformate, welche alle reiner ASCII-Text sind. Dies macht die Entwicklung von Helper-Tools zur Lösung von speziellen Aufgaben sehr leicht. Außerdem können die Dateien deswegen sehr einfach in Versionsverwaltungssystemen wie CVS verwaltet werden, was insbesondere die Entwickler größerer Projekte zu schätzen wissen.&lt;br /&gt;
&lt;br /&gt;
Nähere Informationen über &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; (gEDA) gibt es unter [[http://www.geda.seul.org/ http://www.geda.seul.org/]].&lt;br /&gt;
&lt;br /&gt;
== Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Etwas bekannter noch als Jfig ist [http://inkscape.org/ &#039;&#039;&#039;Inkscape&#039;&#039;&#039;], ebenfalls ein reines Vektorzeichenprogramm, das vor allem (aber nicht nur) SVG-Dateien erstellt, die mit der Wikipedia eine große Verbreitung gefunden haben. Es ist in fast jeder gängigen Linux Distribution enthalten, eine Windowsversion sowie eine [http://portableapps.com/apps/graphics_pictures/inkscape_portable &#039;&#039;&#039;portable Windowsversion&#039;&#039;&#039;] existiert auch. In der Wikipedia findet sich eine Sammlung von Elektroniksymbolen im [http://commons.wikimedia.org/wiki/Category:SVG_electrical_symbols SVG-Format] und [http://commons.wikimedia.org/wiki/File:Electrical_symbols_library.svg hier]. Als Beispiele damit gezeichneter Schaltpläne sei diese [http://commons.wikimedia.org/wiki/Category:Created_with_electrical_symbols_library] genannt.&lt;br /&gt;
&lt;br /&gt;
== JFig ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Jfig.png|right|thumb|Screenshot]]&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;JFig&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist eigentlich ein &amp;quot;ganz normales&amp;quot; Vektorzeichenprogramm. Um Schaltpläne zu zeichnen benötigt man deshalb zusätzliche Symbolbibliotheken. &lt;br /&gt;
&lt;br /&gt;
Die Exportmöglichkeiten für das weitverbreitete fig-Format sind sehr vielfältig: mit dem Zusatzprogramm &amp;lt;i&amp;gt;fig2dev&amp;lt;/i&amp;gt;, das direkt aus dem &amp;lt;i&amp;gt;jfig&amp;lt;/i&amp;gt;-Menü aufgerufen kann, bleiben von Postscript über PNG bis hin zu [[LaTeX]] kaum Wünsche offen. Für kleine Schaltpläne oder Diagramme, die ausgedruckt oder in PDF-Dateien verbreitet werden sollen, gibt es deshalb nichts besseres.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist ein komplett in [http://java.sun.com/ Java] geschriebener 1:1-Klon des [[Linux]]-Programms &amp;lt;i&amp;gt;xfig&amp;lt;/i&amp;gt; und sollte daher mit jedem Betriebssystem von Windows bis Mac OS laufen. Es ist kostenlos auf [http://tams-www.informatik.uni-hamburg.de/applets/jfig/ http://tams-www.informatik.uni-hamburg.de/applets/jfig/] erhältlich. (Leider ist der Download schon geraume Zeit nicht mehr möglich. Zitat von der Seite: &amp;quot;Sorry. Recently, I got two serious bug reports which have now been confirmed, and jfig downloads are suspended until these have been resolved.&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Die Bedienung wird für Windows-Benutzer am Anfang wohl ziemlich ungewohnt sein, aber wenn man mal das Grundprinzip verstanden, hat findet man sich durch die eindeutig beschrifteten Schaltflächen schnell zurecht.&lt;br /&gt;
&lt;br /&gt;
== Kicad ==&lt;br /&gt;
[[Bild:kicad1.gif|right|thumb|Screenshot]]&lt;br /&gt;
[[Bild:kicad2.gif|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
[[KiCAD]] ([http://www.lis.inpg.fr/realise_au_lis/kicad/ Homepage&amp;amp;Download]) ist ein Paket aus Design / Layout / Routing Programmen. Es basiert auf wxWidgets und ist damit plattformübergreifend. Die Progamme sind unter der GPL veröffentlicht und damit Open Source.&lt;br /&gt;
Im deutschsprachigen Raum existiert noch ein Zeichenprogramm für Elektrotechnik, welches auch kicad heisst, aber ein kommerzelles Projekt ist, und mit dem hier behandelten lediglich den Namen gemeinsam hat.&lt;br /&gt;
&lt;br /&gt;
Eine Kicad User-Group findet sich unter http://groups.yahoo.com/group/kicad-users/. Die Anmeldung erfolgt erst, nachdem man vom Besitzer der User-Group freigeschaltet wurde (wie üblich für die meisten Yahoo-Groups).&lt;br /&gt;
&lt;br /&gt;
Neben der mitgelieferten, bereits umfangreichen Bibliothek gibt es auf vielen anderen Seiten (z.&amp;amp;nbsp;B. http://www.kicadlib.org/) weitere Bibliotheken zum Download, die einfach integriert werden können.&lt;br /&gt;
&lt;br /&gt;
Für Umsteiger von anderen Programmen sollten sich nach wenigen Stunden bereits die gleichen Ergebnisse erzielen lassen. Beim Erlernen kann das Tutorial von http://www.curiousinventor.com/guides/kicad helfen. Ebenso findet sich hier unter http://www.mikrocontroller.net/articles/KiCAD eine unfangreiche FAQ (und Bibliothekssammlung)&lt;br /&gt;
&lt;br /&gt;
Kicad liefert eine schöne 3D-Ansicht des fertigen Layouts einschließlich der bestückten Bauteile, so dass man an dieser Stelle schon einmal einen Überblick bekommt, ob vielleicht nicht doch etwas vergessen wurde. Es gibt zwar nicht für alle Bauformen ein 3D-Modell, allerdings lassen sich diese selbst erstellen.&lt;br /&gt;
&lt;br /&gt;
Als Nachteil ließe sich noch aufführen, dass der PCB-Layouter in der Version vom Januar 2006 etwas instabil ist und gerne abstürzt. Die Version vom Mai 2010 läuft aber sehr stabil. Ebenso sind die Autorouterfunktionen nicht gut dokumentiert. Ein weiterer Kritikpunkt wäre, dass die offizielle Symbolbibliothek nur amerikanische, aber keine europäischen Schaltplansymbole enthält. Kicad hat unter &amp;quot;contributions&amp;quot; eine (veraltete) Version von SymbolsSimilarEN60617+oldDIN617.lib mit europäischen EN60617 Symbolen. Eine aktuelle Version der gleichen Symbolbibliothek findet sich hier in  Mikrocontroller.de unter http://www.mikrocontroller.net/articles/KiCAD#Bibliotheken. Aktuell ist RevE4.&lt;br /&gt;
Diese enthält aber nicht nur EN60617 Symbole, sondern auch einige andere Symbole wie Logos für Gefahr, Hochspannung, ESD-Schutz und Dummy Symbole für Platinenumrisse, Fiducials, Messpunkte ec.&lt;br /&gt;
&lt;br /&gt;
== Lochmaster ==&lt;br /&gt;
&lt;br /&gt;
[http://www.abacom-online.de/html/lochmaster.html Lochmaster] ist ein Programm zur Erstellung von Layouts speziell auf [[Lochrasterplatine]]n. Schaltplan und Layout sind ein und das selbe.&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
&lt;br /&gt;
[http://pcb.sourceforge.net/index.html PCB] ist ein freies (open source) Layoutprogramm inklusive Autorouter. Zum Zeichnen der Schaltpläne kann [[Schaltplaneditoren#Gschem|Gschem]] verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; wurde ursprünglich für den Atari ST entwickelt und später nach &lt;br /&gt;
Unix portiert. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; läuft meist unter Linux, kann allerdings mit [http://www.cygwin.com/ Cygwin] auch unter Windows betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Als Ausgabeformate stehen [http://de.wikipedia.org/wiki/Postscript Postscript] und Gerber RS-274-X zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; ist, dass alle Funktionen auch über &lt;br /&gt;
Hotkeys gesteuert werden können, was insbesondere nach längerer Einarbeitungszeit ein großer Gewinn gegenüber manchen Windows-Programmen ist.&lt;br /&gt;
&lt;br /&gt;
Zur Einarbeitung ist es meines Erachtens sehr wichtig, sich das [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchzulesen. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; und &amp;lt;i&amp;gt;Gschem&amp;lt;/i&amp;gt; sind nicht besonders einfach zu benutzen. Gerade am Anfang, wenn man sich versucht damit einzuarbeiten. Aber wenn man einmal mit dem Werkzeug arbeiten kann, wird man es nicht mehr missen wollen.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Einstellungen &amp;amp; Tips ===&lt;br /&gt;
&lt;br /&gt;
Die neue GTK+ Version aus dem CVS Archiv ist der alten, etwas angestaubten Version vorzuziehen. Auch das Kompilieren ist nicht wirklich schwierig. Alles, was dazu notwendig ist (und das Programm hat keine großen Abhängigkeiten), ist in der Readme erklärt. Somit fällt die Kompilierung recht einfach aus.&lt;br /&gt;
&lt;br /&gt;
Auf der linken Seite befindet sich die Auswahl der jeweiligen Layer. Gerade bei Verwendung des Autorouters sollte man hier den 2. Layer deaktivieren. Dies kann ganz einfach mit einem Klick auf die Beschriftung erfolgen (component, GND-comp und VCC-comp). Ebenso sollte man unused (grün) und unused (blau) deaktivieren.&lt;br /&gt;
&lt;br /&gt;
Als Route Style verwende ich den &#039;&#039;Power Style&#039;&#039; mit einer Dicke von 25 Mil (0.6 mm). Der &#039;&#039;Signal Style&#039;&#039; scheint mir gerade bei schlechten Belichtungsverhältnissen nicht ganz optimal zu sein.&lt;br /&gt;
&lt;br /&gt;
=== Autorouter ===&lt;br /&gt;
&lt;br /&gt;
Der Autorouter von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; hat einige Schwächen, welche allerdings bei Hobby-Projekten völlig belanglos sind: Beispielsweise kann es bei TQFP-Gehäusen mit 100 Pins u. 0.5mm Pinabstand zu Problemen kommen, 64polige TQFP-Gehäuse (z.&amp;amp;nbsp;B. vom ATmega 128) gehen jedoch ohne Probleme. &lt;br /&gt;
&lt;br /&gt;
Hat man sich soweit im [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchgearbeitet und seine Bauteile positioniert, kann der Autorouter zum Einsatz kommen. Auch hier ist ein wenig Experimentierfreude erforderlich, um zu zufriedenstellenden Ergebnissen zu kommen.&lt;br /&gt;
&lt;br /&gt;
Unter &#039;&#039;&#039;Connects / Optimize routed Tracks / Miter&#039;&#039;&#039; können die gerouteten Linien in 45 Grad Winkel modifiziert werden.&lt;br /&gt;
&lt;br /&gt;
=== Footprints ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcbgtk.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
Sehr wichtig für das Zusammenspiel zwischen dem Schaltplaneditor [http://www.geda.seul.org/tools/gschem/ Gschem] und dem [http://pcb.sourceforge.net PCB] ist die Verwendung der richtigen Footprints.&lt;br /&gt;
&lt;br /&gt;
Mir persönlich ist aufgefallen, daß viele Pads zu klein sind. Gerade im Bereich der Hobbyätzerei könnten sie ruhig größer ausfallen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Element&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Alternativer Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Beschreibung&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Widerstand 1/4 Watt&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R0w4&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R025&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Ich benutze R0w4, weil es die Pads größer sind.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Elko&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;RADIAL_CAN 200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200 ist für größere Elkos (Umfang), während bei RADIAL_CAN 200 der Umfang kleiner ist. Leider fehlt die Polarität bei diesem Symbol.  Allgemein jedoch sind bei beiden Elementen die Pads zu klein.&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcb_widerstand.png]]&lt;br /&gt;
&lt;br /&gt;
Mir waren irgendwie alle Widerstände nicht ideal genug.&lt;br /&gt;
Die Löcher werden ja meist mit 0.8mm gebohrt: (0.8 mm * (1 mil/ 0.0254 mm) = 31 mil. Eine Richtlinie für den gesamten Paddurchmesser habe ich nicht gefunden. Aus einer Elektor Platine habe ich mit Meßschieber ungefähr 2 mm gemessen, also 78 mil.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;R__0w4_10.16mm&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 0 0 0 -10300 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[0 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[40000 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [7900 0 4400 0 1000]&lt;br /&gt;
    ElementLine [32000 0 35500 0 1000]&lt;br /&gt;
    ElementLine [7900 -3300 7900 3300 1000]&lt;br /&gt;
    ElementLine [32000 -3300 32000 3300 1000]&lt;br /&gt;
    ElementLine [7900 -3300 32000 -3300 1000]&lt;br /&gt;
    ElementLine [7900 3300 32000 3300 1000]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Kapazitäten mit einer Breite von 2.54 mm oder 5.08 mm nutze ich folgendes Element&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 65000 78500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[2000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-8000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-18000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[-16000 -2500 -10000 -2500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;&amp;quot;]&lt;br /&gt;
    ElementLine [-4000 -6500 -4000 2500 1399]&lt;br /&gt;
    ElementLine [-2000 -6500 -2000 2500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine Breite von 5.08 mm oder 7.62 mm nutze ich folgendes Element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 63000 93500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[14000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[4000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-16000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[5500 -4500 12500 -4500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [-7500 -8500 -7500 500 1399]&lt;br /&gt;
    ElementLine [-5500 -8500 -5500 500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ProtoCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://protomind.net/page.php?7 ProtoCAD] ist ein Werkzeug, um schnell Schaltpläne zu entwerfen. Es ist für [[Lochrasterplatine]]n entwickelt worden, kann aber auch für andere Methoden genutzt werden. (Java 1.5 kompatibel, Swing GUI, Open Source)&lt;br /&gt;
&lt;br /&gt;
== Pulsonix ==&lt;br /&gt;
[http://www.pulsonix.com PULSONIX] ist ein professionelles Schaltplan- und Layout-Werkzeug mit [http://www.pulsonix.com/downloads/datasheets/Pulsonix%20FPGA.pdf integriertem FPGA-Interface] sowie [http://www.pulsonix.com/downloads/datasheets/Pulsonix%20Spice%20V2.0%20UK.pdf integriertem Schaltungsimulator] auf PSpice-Basis.&lt;br /&gt;
&lt;br /&gt;
== QCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://www.ribbonsoft.de/qcad.html QCAD] gibt es in einer lizenzpflichigen und in einer Open Source Community Version. QCAD ist kein ausschliesslicher Schaltungseditor, sondern kann auch für andere 2D Zeichnungen (Konstruktionen etc.) eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== sPlan ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sPlan&#039;&#039;&#039; ist ein relativ preiswerter Schaltplaneditor für Windows (95,98,ME,NT,2000,XP)&lt;br /&gt;
Infos und eine Demoversion von sPlan gibt es u.a. bei http://www.abacom-online.de/html/splan.html&lt;br /&gt;
&lt;br /&gt;
== TARGET 3001! == &lt;br /&gt;
&lt;br /&gt;
[[Bild:target3001.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; für Windows (ME/NT4/2000/XP/Vista/Win7) bietet folgende Funktionen&lt;br /&gt;
&lt;br /&gt;
* Schaltplan&lt;br /&gt;
* Bauteilerstellung &lt;br /&gt;
* Schaltungssimulation (PSPICE-Syntax)&lt;br /&gt;
* Platinen-Layout mit Autoplatzierer&lt;br /&gt;
* Autorouter &lt;br /&gt;
* Anzeige der Platine in 3D&lt;br /&gt;
* Frontplattenentwurf direkt an oder über der Platine&lt;br /&gt;
&lt;br /&gt;
Die Platinen-Layout-Software ist in deutscher, englischer oder französischer Sprache. Es gibt eine für nicht kommerzielle Anwendungen kostenlose Version: &amp;lt;b&amp;gt;TARGET 3001! discover&amp;lt;/b&amp;gt; ist beschränkt auf 250 Pins/Pads, 2 Kupferlagen&lt;br /&gt;
und 30 Signale sind simulierbar, die Fläche ist unbeschränkt (1,2m x 1,2m).&lt;br /&gt;
&lt;br /&gt;
Auf der c&#039;t 11/07 CD ist eine &amp;lt;b&amp;gt;SE Version&amp;lt;/b&amp;gt; von TARGET 3001! verfügbar welche 400 Pins/Pads verarbeiten kann. &lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;b&amp;gt;PCB-Pool Edition&amp;lt;/b&amp;gt; hat keine Beschränkungen, speichert aber die Layouts in einem von normalen Target Versionen nicht lesbaren Format. Diese Layouts können dann allerdings nur zum selbst Ätzen ausgedruckt werden oder vom PCB-POOL® produziert werden.&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://server.ibfriedrich.com/wiki/ibfwikide Target3001 Homepage]&lt;br /&gt;
* [http://www.pcb-pool.com/ppde/service_downloads.html Target3001 PCB-Pool-Edition]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt; bietet ein typisches Windows Look-And-Feel. Eine einfache Einführung findet sich &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Kurzeinführung2 hier]&#039;&#039;&#039;. Wer sich schon mit Eagle auskennt, kann auch &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Eagle hier]&#039;&#039;&#039; schauen. Es gibt kostenlosen direkten Service durch den Hersteller telefonisch oder per E-Mail auch für Einsteiger oder Demo-User.&lt;br /&gt;
&lt;br /&gt;
== TinyCAD ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TinyCAD&#039;&#039;&#039; ist ein weiterer &#039;&#039;Open Source&#039;&#039; Schaltplaneditor für Windows. Mehr Infos gibt es auf der [http://tinycad.sourceforge.net Projektseite]. TinyCAD kann z.&amp;amp;nbsp;B. mit VeeCAD (s.u.) kombiniert werden.&lt;br /&gt;
&lt;br /&gt;
== VeeCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://veecad.com/ VeeCAD] Stripboard Layout Editor ist ein Werkzeug, um [[Lochrasterplatine]]n zu entwerfen. VeeCAD ist als kommerzielle Version und als eingeschränkte Freiversion erhältlich.&lt;br /&gt;
&lt;br /&gt;
== ZenitPCB Suite ==&lt;br /&gt;
&lt;br /&gt;
[http://www.zenitpcb.com/eng/Index_Eng.html ZenitPCB Suite] is directed to all those people who want to make printed circuit board for hobby, or to student and academics from universities or high schools, who want to create their own pcb with a professional approach and particularly without having to pay for expensive licenses. ZenitPCB Layout (part of the ZenitPCB Suite) is completely freeware for personal or semi-professional use, limited to [http://www.zenitpcb.com/images/MainBoard_01_01.gif 800 pins]. (Windows XP, Vista)&lt;br /&gt;
&lt;br /&gt;
Übersetzung: ZenitPCB richtet sich an all diejenigen, welche fürs Hobby, Schule, Studium etc professionelle PCBs erstellen möchten, ohne viel Geld für Lizenzen ausgeben zu müssen. ZenitPCb ist in der eingeschränkten Version mit 800 Pins für den semi-professionellen und privaten Gebrauch kostenfrei benutzbar.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Schaltungssimulation]]&lt;br /&gt;
* [[Dos and don&#039;ts - Platinenlayout]]&lt;br /&gt;
* [[Lochrasterplatine]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;br /&gt;
[[Kategorie:Schaltplaneditoren| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CRC&amp;diff=63426</id>
		<title>CRC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CRC&amp;diff=63426"/>
		<updated>2012-01-20T12:32:35Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;yclic &#039;&#039;&#039;R&#039;&#039;&#039;edundancy &#039;&#039;&#039;C&#039;&#039;&#039;heck&lt;br /&gt;
&lt;br /&gt;
Ein Verfahren um aus einem beliebig langen Datenstrom eine Prüfsumme (Schlüssel) fester Länge zu erzeugen. Das besondere ist, dass die Prüfsumme sich schon bei minimalen Veränderungen in den Daten total verändert und es sehr unwahrscheinlich ist, dass zwei verschiedene Datenströme die gleiche Prüfsumme haben.&lt;br /&gt;
&lt;br /&gt;
Der häufigste Einsatzzweck von CRC ist die Überprüfung von Daten auf Unversehrtheit in einem Speicher oder nach einer Datenübertragung. CRC16 ist die häufigste Form. Es gibt jedoch auch weitere Verfahren, wie z.&amp;amp;nbsp;B. CRC8 oder CRC32.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
 &lt;br /&gt;
Der CRC Algorithmus ist relativ einfach zu bewerkstelligen und dennoch ein Mittel, um Daten bei ihrer Speicherung und/oder Übertragung wirkungsvoll auf Korrektheit zu prüfen!&lt;br /&gt;
&lt;br /&gt;
Beim CRC Verfahren gibt es ein sogenanntes Generator-Polynom, welches bei Sender und Empfänger der Daten (Sender und Empfänger können auch ein und das selbe Gerät sein) bekannt sein muss. Je nach Bezeichnung des Verfahrens handelt es sich um unterschiedliche Länge dieses Generator-Polynoms. Zum Beispiel bedeutet CRC16, dass das Generator-Polynom vom Grad 16 ist, sprich es hat 16 [[Bit]].&lt;br /&gt;
&lt;br /&gt;
=== Anwendung ===&lt;br /&gt;
&#039;&#039;&#039;Zur praktischen Anwendung dieses Verfahrens:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# An die zu schützenden binären Daten werden N Bits mit dem Wert Null angefügt, wobei N die Anzahl Bits des Generatorpolynoms ist. (CRC16 -&amp;gt; 16 Bits)&lt;br /&gt;
# Die entstandene neuen binären Daten werden durch das Generator-Polynom geteilt und der Rest wird ermittelt!&lt;br /&gt;
# Der Rest wird zu den binären Daten hinzugefügt, er stellt die Prüfsumme dar.&lt;br /&gt;
&lt;br /&gt;
Der Empfänger kann nun die erhaltenen Daten durch das Generator-Polynom teilen. Bleibt bei dieser Division 0 Rest sind die Daten korrekt übertragen worden. Ist der Rest ungleich 0, ist ein Fehler bei der Übertragung aufgetreten.&lt;br /&gt;
Um die ursprünglichen Daten wieder zu erhalten (natürlich nur, falls sie korrekt übertragen wurden) müssen nur die letzten Stellen entfernt werden!&lt;br /&gt;
&lt;br /&gt;
=== Berechnungshinweise ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bei der Berechnung ist folgendes zu beachten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Bilden des Restes wird beim schriftlichen Divideren durch eine Subtraktion durchgeführt.&lt;br /&gt;
Hier beim CRC wird es aber mit einer [[Logische Verknüpfungen#XOR|XOR]] Verknüpfung realisiert. Desweiteren entfällt auch das bilden des Quotienten, dieser wird nicht benötigt.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/forum/read-1-190635.html&lt;br /&gt;
&lt;br /&gt;
Das Generator-Polynom sei &amp;lt;math&amp;gt;x^5+x^2+x&amp;lt;/math&amp;gt;. Dies entspricht der binären Zahl 100110. Das Polynom ist vom 5. Grad, weil das höchste gesetzte Bit den Wert 2^5 hat. Gerechnet wird aber immer nur mit den unteren 5 Bit, hier also 00110. Jetzt ist natürlich auch noch ein binäre Zeichenkette notwendig, die unsere Daten darstellt. Beispielsweise 1110100111001 (willkürlich gewählt).&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Sender&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
* An die Daten werden 5 Nullen angehängt:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0&lt;br /&gt;
* Die Daten müssen jetzt durch das Generator-Polynom dividiert und somit der Rest ermittelt werden:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 0 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 1 0 0&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 0 1 0 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 0 0 1 0 0&lt;br /&gt;
Der Rest ist also 100.&lt;br /&gt;
* Nun muss nur noch der Rest zu den Daten hinzugefügt werden:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Empfänger&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ohne Fehler&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Empfänger ermittelt seinerseits jetzt natürlich ebenfalls aus diesen empfangenen Daten den Rest:&lt;br /&gt;
* Rest ermitteln&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 0 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 1 0 1&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 0 1 1 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 0 0 0 0 0 &lt;br /&gt;
&lt;br /&gt;
Der Rest ist also wirklich &#039;&#039;&#039;0&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mit Fehler&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Addieren wir beispielsweise 1100 zu den Daten hinzu bekommen wir also:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;                            1 1 0 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0&lt;br /&gt;
&lt;br /&gt;
Jetzt führen wir die Division erneut durch und sehen uns den Rest an:&lt;br /&gt;
* Rest ermitteln&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 1 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 0 0 0&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 1 1 0 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 1 0 1 0 0&lt;br /&gt;
Somit bleibt also 10100 als Rest und dies bedeutet, dass die Daten nicht korrekt beim Empfänger angekommen sind!&lt;br /&gt;
&lt;br /&gt;
== Intere Links ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/219468&lt;br /&gt;
* http://www.mikrocontroller.net/topic/228553&lt;br /&gt;
* http://www.mikrocontroller.net/topic/12177&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/4?filter=crc* Suche nach Implementierungen in der Codesammlung]&lt;br /&gt;
* [http://www.employees.org/~surendra/asic/crc.html A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS]&lt;br /&gt;
* [http://www.tty1.net/pycrc/ C Source Generator]&lt;br /&gt;
* [http://www.zorc.breitbandkatze.de/crc.html Online Rechner, berechnet CRC16, CRC32 und CRC-CCITT]&lt;br /&gt;
* [http://www.informatik.uni-frankfurt.de/~haase/crc.html CRC - Der Cyclic Redundancy Code www.informatik.uni-frankfurt.de]&lt;br /&gt;
* [http://ghsi.de/CRC/ flexibles online tool für CRC]&lt;br /&gt;
* [http://crc-gen-verilog.sourceforge.net/ online CRC mit Verilog und VHDL Generation]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Zyklische_Redundanzpr%C3%BCfung Wikipedia Link]&lt;br /&gt;
* [http://www.verilog.net/free.html offline Verlog CRC]&lt;br /&gt;
* [http://www.electronicdesignworks.com/utilities/crc_generator/crc_generator.htm sehr schönes online tool in Deutsch]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CRC&amp;diff=63424</id>
		<title>CRC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CRC&amp;diff=63424"/>
		<updated>2012-01-20T12:26:40Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Algorithmus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;yclic &#039;&#039;&#039;R&#039;&#039;&#039;edundancy &#039;&#039;&#039;C&#039;&#039;&#039;heck&lt;br /&gt;
&lt;br /&gt;
Ein Verfahren um aus einem beliebig langen Datenstrom eine Prüfsumme (Schlüssel) fester Länge zu erzeugen. Das besondere ist, dass die Prüfsumme sich schon bei minimalen Veränderungen in den Daten total verändert und es sehr unwahrscheinlich ist, dass zwei verschiedene Datenströme die gleiche Prüfsumme haben.&lt;br /&gt;
&lt;br /&gt;
Der häufigste Einsatzzweck von CRC ist die Überprüfung von Daten auf Unversehrtheit in einem Speicher oder nach einer Datenübertragung. CRC16 ist die häufigste Form. Es gibt jedoch auch weitere Verfahren, wie z.&amp;amp;nbsp;B. CRC8 oder CRC32.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
 &lt;br /&gt;
Der CRC Algorithmus ist relativ einfach zu bewerkstelligen und dennoch ein Mittel, um Daten bei ihrer Speicherung und/oder Übertragung wirkungsvoll auf Korrektheit zu prüfen!&lt;br /&gt;
&lt;br /&gt;
Beim CRC Verfahren gibt es ein sogenanntes Generator-Polynom, welches bei Sender und Empfänger der Daten (Sender und Empfänger können auch ein und das selbe Gerät sein) bekannt sein muss. Je nach Bezeichnung des Verfahrens handelt es sich um unterschiedliche Länge dieses Generator-Polynoms. Zum Beispiel bedeutet CRC16, dass das Generator-Polynom vom Grad 16 ist, sprich es hat 16 [[Bit]].&lt;br /&gt;
&lt;br /&gt;
=== Anwendung ===&lt;br /&gt;
&#039;&#039;&#039;Zur praktischen Anwendung dieses Verfahrens:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# An die zu schützenden binären Daten werden N Bits mit dem Wert Null angefügt, wobei N die Anzahl Bits des Generatorpolynoms ist. (CRC16 -&amp;gt; 16 Bits)&lt;br /&gt;
# Die entstandene neuen binären Daten werden durch das Generator-Polynom geteilt und der Rest wird ermittelt!&lt;br /&gt;
# Der Rest wird zu den binären Daten hinzugefügt, er stellt die Prüfsumme dar.&lt;br /&gt;
&lt;br /&gt;
Der Empfänger kann nun die erhaltenen Daten durch das Generator-Polynom teilen. Bleibt bei dieser Division 0 Rest sind die Daten korrekt übertragen worden. Ist der Rest ungleich 0, ist ein Fehler bei der Übertragung aufgetreten.&lt;br /&gt;
Um die ursprünglichen Daten wieder zu erhalten (natürlich nur, falls sie korrekt übertragen wurden) müssen nur die letzten Stellen entfernt werden!&lt;br /&gt;
&lt;br /&gt;
=== Berechnungshinweise ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bei der Berechnung ist folgendes zu beachten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Bilden des Restes wird beim schriftlichen Divideren durch eine Subtraktion durchgeführt.&lt;br /&gt;
Hier beim CRC wird es aber mit einer [[Logische Verknüpfungen#XOR|XOR]] Verknüpfung realisiert. Desweiteren entfällt auch das bilden des Quotienten, dieser wird nicht benötigt.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/forum/read-1-190635.html&lt;br /&gt;
&lt;br /&gt;
Das Generator-Polynom sei &amp;lt;math&amp;gt;x^5+x^2+x&amp;lt;/math&amp;gt;. Dies entspricht der binären Zahl 100110. Das Polynom ist vom 5. Grad, weil das höchste gesetzte Bit den Wert 2^5 hat. Gerechnet wird aber immer nur mit den unteren 5 Bit, hier also 00110. Jetzt ist natürlich auch noch ein binäre Zeichenkette notwendig, die unsere Daten darstellt. Beispielsweise 1110100111001 (willkürlich gewählt).&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Sender&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
* An die Daten werden 5 Nullen angehängt:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0&lt;br /&gt;
* Die Daten müssen jetzt durch das Generator-Polynom dividiert und somit der Rest ermittelt werden:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 0 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 1 0 0&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 0 1 0 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 0 0 1 0 0&lt;br /&gt;
Der Rest ist also 100.&lt;br /&gt;
* Nun muss nur noch der Rest zu den Daten hinzugefügt werden:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Empfänger&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ohne Fehler&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Empfänger ermittelt seinerseits jetzt natürlich ebenfalls aus diesen empfangenen Daten den Rest:&lt;br /&gt;
* Rest ermitteln&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 0 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 1 0 1&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 0 1 1 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 0 0 0 0 0 &lt;br /&gt;
&lt;br /&gt;
Der Rest ist also wirklich &#039;&#039;&#039;0&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mit Fehler&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Addieren wir beispielsweise 1100 zu den Daten hinzu bekommen wir also:&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;                            1 1 0 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0&lt;br /&gt;
&lt;br /&gt;
Jetzt führen wir die Division erneut durch und sehen uns den Rest an:&lt;br /&gt;
* Rest ermitteln&lt;br /&gt;
     1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0&lt;br /&gt;
     &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
     0 1 1 1 0 0 0&lt;br /&gt;
       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
       0 1 1 1 1 0 1&lt;br /&gt;
         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
         0 1 1 0 1 1 1&lt;br /&gt;
           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
           0 1 0 0 0 1 1 &lt;br /&gt;
             &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
             0 0 0 1 0 1 0 0 1&lt;br /&gt;
                   &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                   0 0 1 1 1 1 1 0&lt;br /&gt;
                       &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                       0 1 1 0 0 0 0&lt;br /&gt;
                         &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                         0 1 0 1 1 0 0&lt;br /&gt;
                           &amp;lt;u&amp;gt;1 0 0 1 1 0&amp;lt;/u&amp;gt;&lt;br /&gt;
                           0 0 1 0 1 0 0&lt;br /&gt;
Somit bleibt also 10100 als Rest und dies bedeutet, dass die Daten nicht korrekt beim Empfänger angekommen sind!&lt;br /&gt;
&lt;br /&gt;
== Intere Links ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/219468&lt;br /&gt;
* http://www.mikrocontroller.net/topic/228553&lt;br /&gt;
* http://www.mikrocontroller.net/topic/12177&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/4?filter=crc* Suche nach Implementierungen in der Codesammlung]&lt;br /&gt;
* [http://www.employees.org/~surendra/asic/crc.html A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS]&lt;br /&gt;
* [http://www.tty1.net/pycrc/ C Source Generator]&lt;br /&gt;
* [http://www.zorc.breitbandkatze.de/crc.html Online Rechner, berechnet CRC16, CRC32 und CRC-CCITT]&lt;br /&gt;
* [http://www.informatik.uni-frankfurt.de/~haase/crc.html CRC - Der Cyclic Redundancy Code www.informatik.uni-frankfurt.de]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Schrittmotoren&amp;diff=63422</id>
		<title>Schrittmotoren</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Schrittmotoren&amp;diff=63422"/>
		<updated>2012-01-20T12:21:08Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Links */  threads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schrittmotoren eignen sich als Stellmotoren. Sie können eine vorherbestimmte Anzahl von Schritten drehen und dann stehen bleiben. Ein Positionsgeber für die Rückmeldung, ob die gewünschte Position erreicht ist wird nicht zwingend benötigt. Einsatzgebiete sind Robotik und Stellantriebe. Man findet sie auch in alten 5,25 Zöllern (Floppy-Laufwerken), in sehr alten Festplatten, in Faxgeräten, Druckern und Plottern. Die größeren Motoren erreichen teils sehr hohe Drehmomente, die ein Untersetzungsgetriebe unnötig machen.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
===Mechanischer Aufbau===&lt;br /&gt;
Schrittmotoren bestehen aus einem (magnetisierten) Ankerkonstrukt und einem Spulensystem, wodurch bei Strommfluss eine Bewegung generiert werden kann. Kohlebürsten oder Schleifringe braucht der Motor nicht. Der Anker (Innenläufer) kann z. B. aus einem gezahnten Permanentmagneten bestehen. Durch diesen geschickten Aufbau wird erreicht, dass je Motorumdrehung mehrere Schrittpositionen geschaffen werden, in die der Motor einrasten kann. So gibt es Motoren mit 200 Vollschritten je Umdrehung. Aufgrund der Magnetisierung besitzt der Motor Ruhepunkte, in denen ein Haltemoment vorliegt.&lt;br /&gt;
&lt;br /&gt;
===Elektrischer Aufbau===&lt;br /&gt;
Es gibt aus elektrischer Sicht zwei grundlegende Typen von Schrittmotoren. Unipolare und bipolare Schrittmotoren. Die einfachsten Typen haben zwei getrennte Wicklungen, auch Phasen genannt. Der Unterschied besteht in der Ansteuerung der Wicklungen:&lt;br /&gt;
&lt;br /&gt;
==== Unipolare Schrittmotoren ====&lt;br /&gt;
Unipolare Schrittmotoren haben Wicklungen mit Mittelanzapfungen. Die Mittelanzapfungen sind mit der Versorgungsspannung verbunden, die Spulenendanschlüsse über Leistungstransistoren auf Masse. Durch das Einschalten der Transistoren kann man die Spulen jeweils zur Hälfte mit Strom durchfluten.&lt;br /&gt;
&lt;br /&gt;
Vorteil&lt;br /&gt;
* einfache Ansteuerung durch Transistoren (Low Side Driver)&lt;br /&gt;
* kann auch wie ein bipolarer Schrittmotor angesteuert werden, erreicht dann aber nicht ganz das Drehmoment eines vergleichbaren Bipolartyps&lt;br /&gt;
&lt;br /&gt;
Nachteil&lt;br /&gt;
* verringertes Drehmoment, da immer nur eine halbe Spule vom Strom durchflossen ist&lt;br /&gt;
&lt;br /&gt;
==== Bipolare Schrittmotoren ====&lt;br /&gt;
Bipolare Schrittmotoren haben einfache Wicklungen. Die Spulen werden über H-Brücken angesteuert, um sie umpolen zu können. Dadurch fliesst der Strom immer durch die ganzen Spulen.&lt;br /&gt;
&lt;br /&gt;
Vorteil&lt;br /&gt;
* hohes Drehmoment&lt;br /&gt;
&lt;br /&gt;
Nachteil&lt;br /&gt;
* erhöhter Ansteuerungsaufwand durch H-Brücken&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Durch passendes Anlegen der Spannungen an die Wicklungen wird ein Drehfeld erzeugt, dem der Motor folgt. Bevor der Motor die durch das Feld vorgegebene Position erreicht, muss es weitergeführt werden, um die Drehung zu erhalten. Der Motor wird dadurch hinter dem Feld her geführt. Die Winkeldifferenz zwischen Feld und Position ist ein Maß für die Belastung des Motors und die Beschleunigung.&lt;br /&gt;
&lt;br /&gt;
Es ist etwas Logik und ein Leistungstreiber nötig, damit sich ein Schrittmotor in Bewegung setzt. Bekannteste Vertreter sind die ICs L297 (Ansteuerlogik) und L293/L298 (2fache H-Brücke). Alternativ zur Kombination aus L297/L298 gibt es auch leistungsfähige DMOS ICs wie z.B. [http://www.allegromicro.com/en/products/part_numbers/4988/4988.pdf| Allegromicro A4988] &lt;br /&gt;
===Betriebsarten===&lt;br /&gt;
====Vollschrittbetrieb====&lt;br /&gt;
Die einfachste Betriebsart ist die des Vollschrittbetriebs, bei der das Drehfeld immer um 90 Grad vorgeschoben werden muss, was durch wechselseitiges Ansteuern der Spulen sowie Negation der Ströme nach dem Muster + 0 - 0 sowie  0 + 0 - erfolgt. Es ist dabei immer nur eine einzige Spule aktv.&lt;br /&gt;
&lt;br /&gt;
====Halbschrittbetrieb====&lt;br /&gt;
Durch Nutzung von zwei Spulen gleichzeitig entstehen Zwischenstufen, die gegenüber dem Vollschritt um 45 Grad gedreht sind, da der Motor z.B. gleichzeit in Nord- als auch in Ostrichtung gezogen wird. Werden beide Betriebsarten gemischt, entsteht das Halbschrittverfahren. Dadurch entstehen 45 Grad-Schritte. Das Bestromungsmuster sieht wie folgt aus: + + 0 0 - - 0 0   sowie  0 + + 0 0 - - 0  für die andere Spule, wobei man wieder eine 90 Grad-Verschiebung der beiden Ströme erkennt.&lt;br /&gt;
&lt;br /&gt;
====Micro-Step-Betrieb====&lt;br /&gt;
Bei weiterer Verfeinerung der Methode entsteht der sogenannte microstep Betrieb, bei dem die beiden Wicklungen mit Sinus/Cosinus-Strömen angesteuert werden. Dennoch bleiben bei Schrittmotoren jeweils die Ruhepunkte pro Vollschritt erhalten, in die sie bei Abschalten des Stromes hineinfallen. In diesen Punkten ist das magnetische Haltemoment vergleichsweise gering (theoretisch null), wächst aber bei infinitisimaler Motordrehung rasch an, um dann wieder abzuflachen, sodass es bei 45 Grad, wenn der Anker gerade zwischen zwei magentischen Positionen steht, wieder Null ist. Vereinfacht kann man sich dies durch einen sinusförmigen Kurvenverlauf, wie im Diagramm rot dargestellt, vorstellen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:schrittmotor-ansteuerung-sin-con-js.gif|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
Den beiden ansteuernden Strömen Sinus/Cosinus kann nun ein dem Haltemoment eitgegengesetzter Strom aufaddiert werden, der dem Anker dort, wo er am stärksten Widerstand erfährt, mehr Drehmoment von aussen zuführt. Dazu muss eine Welle mit 4facher Frequenz, die immer exakt 90 Grad Vorlauf zur Ankerstellung hat, hinzuaddiert werden.&lt;br /&gt;
&lt;br /&gt;
In Realität ist das Moment nicht sinusförmig und dessen Maximum leicht nach vorne verschoben. Unter der Annahme, dass der Vorlauf des Drehfeldes für den Motor günstig ist, kann vereinfachend eine leichte Abflachung der Kurven in den Maxima von Sinus und Cosinus vorgenommen werden. Dies ist bei der einfachen Methode [[Digitale_Sinusfunktion#Sinus-Approximation_1]] bereits ansatzweise berücksichtigt, da die Kurve im Bereich 30 und 150 Grad steiler verläuft, als der reale Sinus.&lt;br /&gt;
&lt;br /&gt;
=== Schrittverlust ===&lt;br /&gt;
Das Hauptziel einer sinnvollen Ansteuerung ist neben dem schnellen Erreichen der Endposition bei möglichst geringem Stromaufwand die Vermeidung des so genannten Schrittverlustes, der auftritt, wenn die Sollvorgabe des Motors nicht erreicht wird und der Motor dem Drehfeld nicht folgen kann. Der Motor schwingt dann in die Position des letzten Vollschritts zurück, teilweise sogar darüber hinaus, wenn schwere Mechanik über Getriebe angetrieben wird und hohe Torsionsmomente gespeichert waren.&lt;br /&gt;
&lt;br /&gt;
==== Erkennung ====&lt;br /&gt;
Eine Möglichkeit ist, auf der Achse des Motors einen Winkelsensor (Encoder) zu montieren und die Schritte permanent mitzuzählen. Eine weitere Möglichkeit besteht in der Messung des Gegen-EMK des Motors. Bei einem Schrittverlust entstehen seltsame Oberwellen.&lt;br /&gt;
&lt;br /&gt;
==== Vermeidung ====&lt;br /&gt;
Entscheidend ist, das Drehfeld des Motors zum richtigen Zeitpunkt weiterzuführen. Das darf nicht zu früh passieren. Der kritischste Fall ist der des Starts. Daher kommt der richtigen Wahl der Beschleunigung eine grosse Bedeutung zu.&lt;br /&gt;
&lt;br /&gt;
===Beschleunigungsrampen richtig wählen und berechnen===&lt;br /&gt;
Dazu ein kurzer Ausflug zu meinen ersten Schrittmotor-Untersuchungen:&amp;lt;br&amp;gt;&lt;br /&gt;
In einem Matrix-Nadeldrucker der stabilen Bauart (1980: ca. 70 kg) wird der Druckkopf mittels Stepper und Zahnriemen angetrieben. Auf der Welle des Motors sitzt ein Drehgeber (Zahnrad mit Hallsensor). Dieser gibt zum Einen den Takt für die Nadeln, zum Anderen den Zeitpunkt für den nächsten Schritt vor. Das ist ideal, denn der neue Schritt wird im günstigsten Moment ausgeführt und der Motor beschleunigt mit seiner vollen Leistung, auch bei dynamischer Belastung. Der Drehgeber ist natürlich zusätzlicher Aufwand, den man gerne einsparen wollte. Später wurden typische Beschleunigungskurven aufgezeichnet und in SW nachgebildet.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Einfache Rampen wie lineares Dekrementieren der Periode von Schritt zu Schritt sind bestenfalls für kleine Beschleunigungen von sagen wir mal 1 bis 2 kHz ausreichend. Will man auf 5 bis 8 kHz drehen, muss vieles bedacht werden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Das größte Manko vorneweg: Das sinkende Drehmoment bei hoher Drehzahl bedingt durch den Abfall der Stromanstiegsgeschwindigkeit und durch steigende Verluste in Eisen und Wicklung (Wirbelstrom).&amp;lt;br&amp;gt;&lt;br /&gt;
Daher muss die Kurve oben flacher verlaufen, da weniger Kraft zum Beschleunigen zur Verfügung steht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2. Obwohl im unteren Drehzahlbereich viel Kraft zur Verfügung steht, ist es aus dynamisch-mechanischen Überlegungen manchmal nicht wünschenswert, voll loszubeschleunigen: Eine plötzlich einsetzende oder ausbleibende Kraft (Ruck) kann mechanische Resonanzen in der restlichen Mechanik (Getriebe, Motoraufhängung, Rahmen...) auslösen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wünschenswert ist ein sin(0..2pi)-förmiger Verlauf der Kraft, also der Beschleunigung. Da diese die erste Ableitung der Geschwindigkeit nach der Zeit ist, ist der Verlauf der Geschwindigkeit 1-cos(0..2pi) = 1+cos(pi..3pi)&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil: Maximale Beschleunigung in der Mitte 55% höher als bei linear.&amp;lt;br&amp;gt;&lt;br /&gt;
Kompromiss: Quadratische Rampe (Beschleunigung steigt linear an): 33% höheres Drehmoment erforderlich.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu sehr anschauliche Beschreibungen finden sich hier:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sew-eurodrive.com/download/pdf/09191704.pdf (2,28 MB) S. 30/116&amp;lt;br&amp;gt;&lt;br /&gt;
http://sew-eurodrive.com/download/pdf/11220201.pdf (2,68 MB) S. 37-51/72&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Atmel bietet für Steppermotoren eine Application Note (AVR446) und ein entsprechendes Demoprogramm für lineare Rampen:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.atmel.com/dyn/resources/prod_documents/doc8017.pdf&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Den fertigen Funktionen kann die Beschleunigung, Verlangsamung, gewünschte Geschwindigkeit und Anzahl der zu fahrenden Schritte übergeben werden. Es werden automatisch die Rampen berechnet und die Timersteuerung für 16-bit Timer berechnet.&lt;br /&gt;
Das Programm ist sehr ausführlich dokumentiert (u.a. mit Doxygen) und kann fast komplett in eigene Applikationen übernommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Achtung:&amp;lt;/b&amp;gt; Das Programm ist für den IAR-Compiler und muss ggf. leicht abgeändert werden.&lt;br /&gt;
&lt;br /&gt;
====Häufigster Fehler====&lt;br /&gt;
&lt;br /&gt;
Die Rampe wird unter der Prämisse erstellt, die Zeit zwischen den Einträgen sei konstant, man könne also die linear berechneten Frequenz- oder Timerwerte einfach so eintragen. DEM IST NICHT SO. Die Mitte der Liste ist bei Weitem nicht nach der halben Rampenzeit erreicht, da Schritte am Anfang wesentlich langsamer ausgeführt werden. Die Liste muss bei niedrigen Geschwindigkeiten grobe, bei hohen Geschwindigkeiten feine Abstufungen haben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Richtig&amp;lt;/b&amp;gt; ist: Nach jedem Step die &amp;lt;b&amp;gt;Zeit seit Beschleunigungsbeginn&amp;lt;/b&amp;gt; (einfach die Timer-Werte aufaddieren), daraus die &amp;lt;b&amp;gt;gewünschte Frequenz&amp;lt;/b&amp;gt; und daraus den benötigten &amp;lt;b&amp;gt;Timer-Wert&amp;lt;/b&amp;gt; berechnen.&lt;br /&gt;
&lt;br /&gt;
====Tipps zur Rampe====&lt;br /&gt;
&lt;br /&gt;
Eine einfache Methode ist es, kontinuierlich steigende Werte auf die Sollfrequenz zu geben. Damit ergibt sich ein beschleunigter Zeitverlauf.&lt;br /&gt;
&lt;br /&gt;
==Treibermodule==&lt;br /&gt;
&lt;br /&gt;
===Oriental Motor: Vexta AlphaStep ASD16AC und ASD20AC (230 VAC -&amp;gt; 324 VDC, Preisklasse 220-700 Euro)===&lt;br /&gt;
&lt;br /&gt;
* Vorteile&lt;br /&gt;
**verhält sich wie ein Servo, regelt Schlupf und auch statische Laständerungen aus&lt;br /&gt;
** neue AlphaStepPlus sind frei programmierbar; ist extrem gutmütig, läuft ohne mechanische Last auch mal mit 50 kHz (!) Schrittfrequenz = 6000 1/min&lt;br /&gt;
** Drehmomentverlauf über Drehzahl sehr gut wegen hoher Spannung&lt;br /&gt;
** Opto-Trennung&lt;br /&gt;
** Error-Ausgang&lt;br /&gt;
** Enable-Eingang&lt;br /&gt;
** 500, 1000, 5000 oder 10000 Schritte pro Umdrehung einstellbar&lt;br /&gt;
** hoher Wirkungsgrad&lt;br /&gt;
** Strom in 16 Stufen einstellbar&lt;br /&gt;
&lt;br /&gt;
*Nachteile&lt;br /&gt;
**passender Motor (Preis~100-200 Euro) mit Resolver nötig&lt;br /&gt;
**eingebauter v-Filter kann zwar beschleunigen, aber nicht abbremsen, das müßte er ja vorher wissen, leider macht er deshalb zu viel gemachte Schritte nicht zurück -&amp;gt; Rampen müssen doch selbst programmiert werden&lt;br /&gt;
**teuer&lt;br /&gt;
**Motorspannung netzgekoppelt -&amp;gt; VDE&lt;br /&gt;
&lt;br /&gt;
===3 und 4 Achsen TB6560 Schrittmotorplatinen von hyu68.com, wie sie auf eBay angeboten werden (Preisklasse 50 Euro)===&lt;br /&gt;
&lt;br /&gt;
*Vorteile&lt;br /&gt;
**sehr günstig&lt;br /&gt;
**state of the art Schrittmotor-IC&lt;br /&gt;
**Mikroschritt bis 16&lt;br /&gt;
**eigener Spannungsregler, benötigt nur die Motorspannung&lt;br /&gt;
**Optokoppler&lt;br /&gt;
**Enable-Eingang&lt;br /&gt;
**Strom in 3 Stufen, 100%, 75%, 50% vom Nennstrom, einstellbar&lt;br /&gt;
**Bedienteil ansteckbar&lt;br /&gt;
&lt;br /&gt;
*Nachteile&lt;br /&gt;
**nur die blanke Platine mit Kühlkörper, ohne Gehäuse&lt;br /&gt;
**trotz Optokoppler nicht galvanisch getrennt&lt;br /&gt;
**wegen der Optokoppler nur langsame Pulse, langsamer als Mach3 überhaupt einstellbar ist. Entfernt man die Optokoppler, geht das Handbedienteil nicht mehr.&lt;br /&gt;
**Chopperfrequenz und Nennstrom nur durch Austausch von Bauelementen veränderbar&lt;br /&gt;
**Freilaufdiode am Relais fehlt&lt;br /&gt;
**offiziell darf die Spannung der ICs nicht aus der Motorspannung abgeleitet werden, weil damit die Einschaltsequenz des TB6560 nicht eingehalten wird. Dennoch ist bisher keiner kaputt gegangen.&lt;br /&gt;
**obwohl viele Dioden auf dem Board verbaut sind, haben die Ausgänge nur nach Masse Freilaufdioden (der TB656A benötigt laut Hersteller keine Freilaufdioden) die anderen entkoppeln die Versorgungsspannung der 3 oder 4 Kanäle und dienen als Verpolschutz. &lt;br /&gt;
**wenn die Schrittmotoren gedreht werden, ohne dass das Board an Versorgungsspannung liegt, können die ICs gehimmelt werden.&lt;br /&gt;
**die Fähigkeiten des TB6560, wie Bremstempo, Umschalten der Mikroschritte während der Fahrt, Fehlermeldungen wie Übertemp, können nicht genutzt werden, werden aber von Mach3 sowieso nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
===RTA Deutschland / Italy: GMD03, HGD06 (32-85 V, Preisklasse 140-180 Euro)===&lt;br /&gt;
&lt;br /&gt;
*Vorteile&lt;br /&gt;
**sehr günstig&lt;br /&gt;
**wenig EMV-Probleme&lt;br /&gt;
** kann auch 8tel-Schritt&lt;br /&gt;
** HGD-Ein-und Ausgänge über Optokoppler&lt;br /&gt;
** automatische Ruhestromabsenkung&lt;br /&gt;
** Enable-Eingang&lt;br /&gt;
** Error-Ausgang&lt;br /&gt;
** Strom in 8 Stufen einstellbar&lt;br /&gt;
&lt;br /&gt;
*Nachteile&lt;br /&gt;
**nur die blanke Platine mit Kühlkörper, ohne Gehäuse (gibt es vermutlich als Zubehör)&lt;br /&gt;
&lt;br /&gt;
===IMS IB104, IB106, IB110 (Preisklasse 160-300 Euro)===&lt;br /&gt;
&lt;br /&gt;
*Vorteile&lt;br /&gt;
**mechanisch geschickt gelöst&lt;br /&gt;
**Digitaleingänge opto-isoliert&lt;br /&gt;
&lt;br /&gt;
*Nachteile&lt;br /&gt;
**analoger StromSet nicht galvanisch getrennt&lt;br /&gt;
**schlechte EMV&lt;br /&gt;
**weder home noch reset des eingebauten L297 sind herausgeführt, sodass man z.&amp;amp;nbsp;B. zum Umschalten in den Wave-Mode nicht weiß, ob er in einem geraden oder ungeraden Schritt ist&lt;br /&gt;
**Ruhe-Verlustleistung zu hoch (bei 60 V, 150 mA, 9 W, Linearregler)&lt;br /&gt;
**teurer als RTA&lt;br /&gt;
**IB106 und IB110 wesentlich teurer als IB104, obwohl nur ein paar Bauteile andere Werte haben&lt;br /&gt;
&lt;br /&gt;
=== Anregungen ===&lt;br /&gt;
&lt;br /&gt;
*Hohe Versorgungsspannung erforderlich&lt;br /&gt;
*Abbremsrampe ist schneller möglich wg. mechanischer Verluste (Reibung).&lt;br /&gt;
*Besonderheiten der Last (Drehmomentverlauf über Drehzahl) beachten.&lt;br /&gt;
*Startfrequenz knapp oberhalb der Hauptresonanzfrequenz. Nicht so hoch wie es möglich wäre, wg. Ruck beim Starten / Stoppen.&lt;br /&gt;
*Effekte bei Resonanz: kein Drehmoment, sogar Rückwärtslauf.&lt;br /&gt;
*Leistungsverbrauch sehr wohl lastabhängig.&lt;br /&gt;
&lt;br /&gt;
== Alternative Stellantriebe ==&lt;br /&gt;
&lt;br /&gt;
Eine preiswerte Alternative zu Schrittmotoren sind die [[Servo|Modellbau-Servos]], die es schon ab 5,- &amp;amp;#8364; gibt. Sie sind im Vergleich geradezu spielend einfach auch von µC anzusteuern und ermöglichen das exakte Anfahren bestimmter (speicherbarer) Winkel. Da sie nicht den Schrittmotor-typischen Schlupf haben, der gerne beim Anfahren unter mechanischer Last auftritt, eignen sie sich auch gut für größere Kräfte. Das integrierte Getriebe und die Stellautomatik blockieren die angefahrene Position, was bei kleineren Schrittmotoren mitunter problematischer ist. Für höhere Genauigkeit sollte man sogenannte digitale Servos nehmen. Eine Sonderform sind die Servowinden, mit denen man auch mehrere Umdrehungen erreichen kann. (&amp;quot;Segelwinden&amp;quot; bei Modellsegelbooten).&lt;br /&gt;
&lt;br /&gt;
== Diskussionsthreads ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/51534&lt;br /&gt;
* http://www.mikrocontroller.net/topic/232355&lt;br /&gt;
* http://www.mikrocontroller.net/topic/215261&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-1-113751.html#new Bipolare Schrittmotoren] Forumsbeitrag zum Thema&lt;br /&gt;
* [[Schrittmotor-Controller (Stepper)]] Mikrocontrollerprojekt für die Anwendung von (unipolaren) Schrittmotoren als Strahlschalter&lt;br /&gt;
* [http://www.roboternetz.de/wissen/index.php/Schrittmotoren Ausführlicher Grundlagenartikel auf roboternetz.de]&lt;br /&gt;
* Folgende 2 Beiträge beziehen sich auf http://www.mikrocontroller.net/forum/read-1-309923.html?reload=yes#310455&lt;br /&gt;
* [http://de.nanotec.com/schrittmotor_animation.html Schrittmotor - Animation] - Onlinetool zur Darstellung verschiedener Ansteuerungsarten von Nanotec.de (Flash erforderlich)&lt;br /&gt;
* [http://de.nanotec.com/assistant.php Motor-Assistent] - Onlinetool zur Berechnung von Motorkennzahlen anhand von Drehzahl und Drehmoment von Nanotec.de .&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/AppNotes/00907a.pdf Microchip AN907: Stepping Motors Fundamentals] - Gute und allgemeine Einführung zum Thema Schrittmotoren.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Motoren]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Digitaler_Rauschgenerator_im_FPGA&amp;diff=63421</id>
		<title>Diskussion:Digitaler Rauschgenerator im FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Digitaler_Rauschgenerator_im_FPGA&amp;diff=63421"/>
		<updated>2012-01-20T12:18:13Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: Die Seite wurde neu angelegt: „= Beispiel Codes = Gibt es dazu Beispiel Codes in VHDL oder Verilog?“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Beispiel Codes =&lt;br /&gt;
Gibt es dazu Beispiel Codes in VHDL oder Verilog?&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Digitaler_Rauschgenerator_im_FPGA&amp;diff=63420</id>
		<title>Digitaler Rauschgenerator im FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Digitaler_Rauschgenerator_im_FPGA&amp;diff=63420"/>
		<updated>2012-01-20T12:17:22Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Anwendungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einfacher digitaler Rauschgenerator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;von [[Benutzer:engineer|J.S.]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel beschreibt eine Möglichkeit, tatsächlich zufällige, nicht vorhersagbare Bitfolgen zu erzeugen, die prinzipiell gleichverteilt sind und mit denen sich Zufallszahlen und Rauschsignale erzeugen lassen. Die Schaltung funktionierte seinerzeit mit CMOS-Invertern und einem Binärzähler der der 4000er Serie und dem Abgriff des letzten Bits als Umschalter zwischen den unterschiedlich langen Inverterketten.&lt;br /&gt;
&lt;br /&gt;
Für die Realisation in VHDL müssen noch Buffer eingesetzt- sowie Schaltungsteile mittels &amp;quot;keep&amp;quot; erhalten werden. Die Lösung ist so gewählt, dass keine PLLs oder eine externe Verschaltungen benötigt werden.&lt;br /&gt;
&lt;br /&gt;
==Prinzip==&lt;br /&gt;
Die Idee beruht auf der Abtastung eines sich asynchron zur Zieldomain bewegenden Taktes, der sich praktisch während jedes denkbaren Abtastvorgangs ändern und damit vollkommen zufällige Werte annehmen kann. Die so abgetasteten Bits werden dann unabhängig von einander zu Bytes zusammengebaut, wodurch prinzipiell auch lange Nullfolgen entstehen können. Dazu muss der asynchrone Takt allerdings vergleichsweise langsam abgetastet werden.&lt;br /&gt;
&lt;br /&gt;
===Einfacher Ringoszillator===&lt;br /&gt;
Der naheliegende Ansatz ist ein selbstschwingender Ringoszillator, der unabhänig von der Zieldomain arbeitet und im Prinzip jeden Flankenzustand darstellen kann. Derartige Oszillatoren lassen sich leicht durch rückgekoppelte Inverterketten bilden, die vom Prizip nie in einen stabilen Zustand schwingen können und daher immer oszillieren. Die Erfahrung zeigt aber, dass solch ein einfacher Oszillator meistens nicht genügend jittert, um wirklich alle erdenklichen Kombinationen erzeugen zu können, da sich in der kurzfristigen Betrachtung immer eine Interferenz zu dem Abtasttakt einstellen wird. Ausserdem zeigt sich, dass solche Ringoszillatoren dazu neigen, sich auf benachbarte Schaltungsteile zu synchronisieren. Wenn diese mit dem Lesetakt getriggert werden, entstehen beobachtbare Spektren in den erzeugten Bitfolgen.&lt;br /&gt;
&lt;br /&gt;
===Mehrfach-Ringoszillator===&lt;br /&gt;
Eine deutliche Verbesserung stellt die Verwendung zweier Oszillatoren dar, die miteinander interferieren und je nach zeitlicher Überlagerung durch Verknüpfung mit einem EXOR ein z.T. sehr schnell toggelndes Bit ergeben, das schon gute Zufallswerte generiert, wenn es selten genug abgetastet wird. Je mehr solche Oszillatoren zugeschaltet werden, desto größer ist die Wahrscheinlichkeit eines Bitwechsels im Bereich der abtastenden Flanke. Leider neigt aber auch diese Anordnung von Ringoszillatoren dazu, sich auf Einflüsse der Restschaltung zu synchronisieren, was sich in der FFT-Analyse und Häufungsmessung des erzeugten Ausgangsignal äussert.&lt;br /&gt;
&lt;br /&gt;
===Desynchronisierte Ringoszillatoren===&lt;br /&gt;
Eine effektive Möglichkeit, etwaige Synchronisationsneigungen zu unterdrücken, ist es, die Frequenzen der Oszillatoren permanent umzuschalten, sodass keiner von ihnen eine stabile Phasenlage einnehmen kann. Genau, wie zu Beginn der Einschwingphase, benötigt der Oszillator nach dem Umschalten nämlich einige Schwingungen, um halbwegs stabil zu werden. Dies gilt insbesondere, wenn er sich auf irgendein externes Ereignis einstellen möchte. Wenn rechtzeitig umgeschaltet wird, hat der Oszillator keine Chance, sich auf Nachbarschaltungen einzuschwingen.&lt;br /&gt;
&lt;br /&gt;
Die Umschaltung funktioniert so, dass die Länge der Inverterkette verändert wird, indem ein Steuersignal einen Multiplexer treibt, der zwischen zwei Pfaden auswählt. Im einfachsten Fall schaltet man einfach 2 Inverter mehr dazu, wodurch sich etwas die Frequenz senkt. Je nach Technologie sind 4 Inverter besser, da dies einen deutlicheren Frquenzhub zur Folge hat. Entscheidend ist bei der Methode auch, dass durch das Umschalten ein Phasensprung erzeugt wird. Sollte der Oszillator begonnen haben, sich auf ein Ereignis zu synchronisieren, wird die massgebliche Taktflanke dadurch sofort wieder auf einen anderen Punkt gesetzt.&lt;br /&gt;
&lt;br /&gt;
===selbstdesynchronisierende Ringoszillatoren===&lt;br /&gt;
Eine Erweiterung der Lösung von oben ist es nun, die Zeitpunkte der Umschaltung ebenfalls zufällig bestimmen zu lassen. Dies geschieht am einfachsten durch einen ähnlich aufgebauten Gegenpart, der seinerseits wieder zufällig gesteuert wird. Im ersten Schritt entsteht der nachfolgend beschriebene 2fach- gekoppelte OSC. Mit drei deratig ringförmig verketteten, selbstschwingenden Oszillatoren bekommt man ein nahezu zufälliges Verhalten der Phase, da sich immer einer der Oszillatoren im Einschwingvorgang befindet und sich sein Beitrag zum Exor stark verschiebt, sodass auch in der lokalen Betrachtung keine sichtbaren Interferenzmuster mehr auftreten.&lt;br /&gt;
&lt;br /&gt;
==Realisationsvorschlag==&lt;br /&gt;
Hier eine konkrete Lösung mit 2 gekoppelten Oszillatoren:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Js-Vhdl-noise-bit-generator-schematic.gif]]&lt;br /&gt;
&lt;br /&gt;
Jeder der beiden OSC wird über eine Inverterkette mit einer insgesamt ungeraden Anzahl von Invertern gebildet, wobei die geradzahligen Inverterstufen ein delay bilden. Die Rückführung erfolgt über einen Multiplexer, welcher umschaltbar ist. So liegen beispielsweise einmal 7 und einmal 9 inverter in der Kette, bei dem anderen z.B. 11 oder 13.&lt;br /&gt;
&lt;br /&gt;
Jeder der beiden Oszillatoren treibt einen eigenen Zähler an, der bis 13 bzw. 27 zählt. Das jeweilige höchste Bit des Zählers wird zum Umschalten der Kettenlänge des anderen Oszillators benutzt. Durch die asymmetrische Verteilung 8/13 zu 5/13 bzw. 16/27 zu 11/27 wird erreicht, dass es eine längere und eine kürzere Phase gibt. Während der längeren Phase schaltet man die niedrigere Frequenz, während der längeren die höhere Frequenz. Damit ergibt sich für die Kettenlänge die Folge:&lt;br /&gt;
&lt;br /&gt;
OSC1 : ...7.7.7.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.7.7.7.7.7.7.7.7.7.7.7.9.9.9.9.....&lt;br /&gt;
&lt;br /&gt;
OSC2 : ....13.13.11.11.11.11.11.11.11.11.13.13.13.13.13.11.11.11.11.11.11.11.11.13.13...&lt;br /&gt;
&lt;br /&gt;
Oszillator 1 darf also abwechselnd eine längere Periode mit der etwas niedrigeren Frequenz schwingen und danach eine kürzere Periode mit der höheren. Irgendwann dazwischen schaltet er die Frequenz des zweiten um. Da sich der andere ebenso verhält, ergeben sich grob 4 Frequenzkombinationen, die unterschiedlich und veränderlich überlappen. Durch die langen Phasen von mindestens &amp;gt;5 Takten ist sichergestellt, dass auch bei schnellen Technologien der jeweilige OSC wieder anschwingt, falls beim Umschalten mitten in einen Zustandswechsel gesprungen wurde. Genau dies verschiebt die Phasen immer wieder sehr zufällig, sodass die Frequenz nicht lange stabil ist und sich die Oszillatoren auf nicht auf Umgebungseinflüsse synchronisieren können. Die Ausgänge werden mit Exor gemischt, wodurch bei einer Abtastung durch eine andere Domain noch bis zu 5-10 MHz vollkommen zufällige Bits entstehen.&lt;br /&gt;
&lt;br /&gt;
===Realisation für Consumerqualität===&lt;br /&gt;
16Bit-Rauschwerte bekommt man gemäß der Methode oben dann mit etwa 500kHz, in dem man kontinuierlich samplet und die Werte in SR schiebt. Für meine Audioworkstation benutze ich eine Abtastrate von ~4,5MHz und generiere daraus 24 Bit-Werte mit 192kHz Samplefrequenz. Muster im Bereich der Audiofrequenzen sind im Spektrum nicht erkennbar.&lt;br /&gt;
&lt;br /&gt;
Anfänglich hatte ich auch noch mehrere Generatoren parallel aufgebaut und die 24 Bit-Werte gemischt, fand aber keine Verbesserung mehr.  Allerdings hatte ich teilweise den Fall, dass statistisch mehr Nullen rauskamen (53%:47%). Ich habe dann einfach zwei ähnliche Generatoren aufgebaut (andere Kettenlängen) und einen Kanal invers zugemischt. Für meine Zwecke reicht das jetzt vollkommen aus. Für messtechnische Zwecke müsste man es näher untersuchen. Wenn man irgendwelche Rauschquellen mischen möchte, sollte man eine Extraquelle aufbauen, statt die erste mit anzuzapfen, es sei denn, dies ist signalverarbeitungstechnisch notwenig. Bei den Tongeneration von Schlagzeugklängen bekam ich vereinzelt seltsame metallisch klingende Auslöschungen, wenn zwei Instrumente (per Filter erzeugt) gleichzeitig erklangen. Einfache Abhilfe schafft ein Bitvertauscher.&lt;br /&gt;
&lt;br /&gt;
===Realisation für Messtechnik===&lt;br /&gt;
Für messtechnische Applikationen sollte man genügend niedrig abtasten, z.B. 1/MHz/bit. Für jedes weitere bit bzw MHz kommt ein weiterer Generator hinzu, der anders parametriert ist. Das stellt platzmäßig nur ein geringes Problem dar, da je nach Realisation nur 50-100 Logikelemente benötigt werden. Die Rauschgeneratoren sollten an verschiedenen Stellen im FPGA sitzen und sich keine Logikzellen teilen -&amp;gt; FPGA-Editor für das mapping / constraints benutzen.&lt;br /&gt;
&lt;br /&gt;
Ein eventuelles 1:0-Verteilungsproblem sollte mit zwei komplementären Rauschquellen zu lösen sein, während man die Zuordnung der Rauschbits ebenfalls noch ändern kann, indem man einen weiteren Oszillator nutzt, der zyklisch Adressen generiert, die einen von mehreren Multiplexern mit wechselndem Bitmapping auswählt. Auch lassen sich mehrere Rauschgeneratoren überlagern, um die Auflösung zu erhöhen. wobei das Problem auftritt, dass Ergebnisse im mittleren Wertebereich dann wahrscheinlicher sind, als Werte am Rand. Will man das verhindern, sind die Werte immer über EXOR bitweise zu verknüpfen.&lt;br /&gt;
&lt;br /&gt;
====Bauvorschlag / Beispiel====&lt;br /&gt;
Ein array von 2x32 Rauschquellen (ca. 500 LEs) wird mit einem PLL-basierten Takt von 1MHz in 64 Registern asynchron eingelesen. Über einen 64:64-Bitvertauscher mit zufällig wechselndem Mapping werden diese zu zwei 32 2-Bit-Werten zusammengesetzt, die mit einem Exor und einem Inverter von einander subtrahiert / komplementär addiert werden. Die Ergebnisse gehen auf einen synchronen asymmetrischen 32:8-FiFo, der 8-bit Rauschwerte mit 4MHz produziert, die statistisch vollkommen gleichverteilt sind.&lt;br /&gt;
&lt;br /&gt;
==Einschätzung der Qualität==&lt;br /&gt;
===Simulation===&lt;br /&gt;
Bereits mit festen Werten für die Inverterverzögerungen, die ja real starken Zufällen unterworfen sind, produziert eine ModelSIM-Simulation für die 2fach-Lösung ein sehr komplexes Muster mit geringer Wiederholrate. In der Realität lässt sich ein entsprechender Jitter messen, der mehrere Perioden des abtastenden Taktes überstreicht.&lt;br /&gt;
&lt;br /&gt;
Mit einer analogen Simulation können minimale Änderungen des Schaltverhaltens untersucht werden. Variiert man z.B. die Steilheit nur eines Inverterausgangs eines Oszillators um 0,5% ergibt sich bereits nach wenigen Schwingungen ein qualitativ verändertes Bild, weil die Umschaltpunkte des anderen Oszillators ein wenig wandern, wodurch sich eine andere Phasenkonstellation ergibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;2 Fälle verkoppelter Oszillatoren&amp;quot; widths=&amp;quot;600&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Datei:Lut-based-oscillator-js.gif|;Die beiden blauen Oszillatoren variieren minimal, was anhand des sich ergebenden 2Bit Codes (Visualisierung der Zustandsfolge) = violette Kurve schon sichtbar wird. Der mit einem EXOR gebildete Signal-Wert (türkis), wird mit einem willkürlichen Takt im FPGA (rot) gesampelt, sodass der grüne Ausgangswert entsteht. Eine kleine Änderung im Verhalten eines Inverters bedingt bereits ein anderes Ausgangsmuster;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Messungen ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vga-spectrum-analyzer-altera-fft-noise.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das Bild (Screenshot) zeigt eine FFT-Analyse von künstlich erzeugtem 16Bit-Rauschen aus zwei gekoppelten Oszillatoren. Der blaue Bereich zeigt die spiegelsymmetische 1024 FFT bei 16Mhz. Links sind Min, Max, Mittelwert und Standardabweichung automatisch markiert. Der verkleinerte türkise Bereich zeigt die um Faktor 2 verkleinerten über 16 Messungen gemittelten Werte.&lt;br /&gt;
&lt;br /&gt;
===Tauglichkeit als Zufallszahlengenerator===&lt;br /&gt;
Die so erzeugten Werte reichen in der Regel bereits für einfache Zufallszahlen, wie sie in Simulationen für technische Anwendungen benötigt werden. Sie entstehen durch einfaches Aneinanderreihen von Bits mit einem Schieberegister&lt;br /&gt;
&lt;br /&gt;
==== Gleichverteilung ====&lt;br /&gt;
Das Aneinanderreihen von Bits bevorzugt keine Zahl. Theoretisch kommt jede Zahl mit derselben Häufigkeit vor.&lt;br /&gt;
[[Datei:Js-histogramm-rauschgenerator-verteilung.gif]]&lt;br /&gt;
&lt;br /&gt;
Die Grafik zeigt die Verteilung von Zahlen, die mit einem Rauschgenerator generiert wurden. Mit 8 zusammengehängten Bits werden Zahlen erzeugt und deren Häufung mitgezählt, wobei dieselbe Zahl innerhalb von 4096 &amp;quot;Würfen&amp;quot; schwerpunktmäßig etwa 10-40x vorkommt. Wird das Experiment fortgesetzt und weitersummiert, gleichen sich Unsymmetrien wieder etwas aus und die Kurve wird glatter. Bei 15000 Würfen beträgt die Dynamik zwischen seltenen und häufigen Zahlen ca. 60-120.  Die Varianz beträgt letzlich nach &amp;gt;250.000 Würfen noch etwa +/- 12%. Aus Platzgründen sind nur die ersten 128 Zahlen dargestellt.&lt;br /&gt;
&lt;br /&gt;
==== Normalverteilung ====&lt;br /&gt;
Durch das Addieren von Rauschwerten kommen Werte in der Mitte des Zahlenraums naturgemäß häufiger häufiger vor, weil es mehrere Kombinationsmöglichkeiten gibt, wie sie entstehen können. Werte am Randbereich sind sehr selten. &lt;br /&gt;
[[Datei:Js-histogramm-rauschgenerator-summe.gif]]&lt;br /&gt;
&lt;br /&gt;
Um den 8-Bit Zahlenraum abzudecken, wurde für den Rundungsfehler eine weitere Zahl addiert. Damit ist der Zahlenraum 0...255 darstellbar. Ansonsten wären nur 16x15 = 240 erreichbar.&lt;br /&gt;
&lt;br /&gt;
==== Weitere Verteilungen====&lt;br /&gt;
Will man gezielte Verteilungen generieren und sicherstellen, dass Zahlen nach bestimmten Zeiten mindestens einmal auftreten, muss noch ein wenig mehr getan werden. Siehe [[Digitaler Zufallszahlengenerator in VHDL]].&lt;br /&gt;
&lt;br /&gt;
===Verbesserungsmöglichkeiten===&lt;br /&gt;
Um die Zufälligkeit weiter zu erhöhen, lässt sich die Schleife eines oder mehrerer Oszillatoren über externe Pins bilden, was zu starken Temperatur und Exemplarschwankungen führt. Dies ist vor allem bei der Nutzung nur eines Oszillators vorteilhaft. Allerdings reduziert sich dadurch die maximale Frequenz des Generators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
&lt;br /&gt;
=== Anwendungen ===&lt;br /&gt;
==== Bildverarbeitung ====&lt;br /&gt;
Rauschgeneratoren werden in der Bildverarbeitung zur Verbesserung der Bildqualität eingesetzt, indem z.b. mittels der &amp;quot;salt and pepper&amp;quot;-Methode Kanten infolge von Abtastungsartefakten geglättet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beiträge zum Thema ===&lt;br /&gt;
http://www.mikrocontroller.net/topic/191427&lt;br /&gt;
&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Rauschgenerator&lt;br /&gt;
http://de.wikipedia.org/wiki/Zufallszahlengenerator&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Digitaler_Rauschgenerator_im_FPGA&amp;diff=63356</id>
		<title>Digitaler Rauschgenerator im FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Digitaler_Rauschgenerator_im_FPGA&amp;diff=63356"/>
		<updated>2012-01-19T11:30:29Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* links*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einfacher digitaler Rauschgenerator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;von [[Benutzer:engineer|J.S.]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel beschreibt eine Möglichkeit, tatsächlich zufällige, nicht vorhersagbare Bitfolgen zu erzeugen, die prinzipiell gleichverteilt sind und mit denen sich Zufallszahlen und Rauschsignale erzeugen lassen. Die Schaltung funktionierte seinerzeit mit CMOS-Invertern und einem Binärzähler der der 4000er Serie und dem Abgriff des letzten Bits als Umschalter zwischen den unterschiedlich langen Inverterketten.&lt;br /&gt;
&lt;br /&gt;
Für die Realisation in VHDL müssen noch Buffer eingesetzt- sowie Schaltungsteile mittels &amp;quot;keep&amp;quot; erhalten werden. Die Lösung ist so gewählt, dass keine PLLs oder eine externe Verschaltungen benötigt werden.&lt;br /&gt;
&lt;br /&gt;
==Prinzip==&lt;br /&gt;
Die Idee beruht auf der Abtastung eines sich asynchron zur Zieldomain bewegenden Taktes, der sich praktisch während jedes denkbaren Abtastvorgangs ändern und damit vollkommen zufällige Werte annehmen kann. Die so abgetasteten Bits werden dann unabhängig von einander zu Bytes zusammengebaut, wodurch prinzipiell auch lange Nullfolgen entstehen können. Dazu muss der asynchrone Takt allerdings vergleichsweise langsam abgetastet werden.&lt;br /&gt;
&lt;br /&gt;
===Einfacher Ringoszillator===&lt;br /&gt;
Der naheliegende Ansatz ist ein selbstschwingender Ringoszillator, der unabhänig von der Zieldomain arbeitet und im Prinzip jeden Flankenzustand darstellen kann. Derartige Oszillatoren lassen sich leicht durch rückgekoppelte Inverterketten bilden, die vom Prizip nie in einen stabilen Zustand schwingen können und daher immer oszillieren. Die Erfahrung zeigt aber, dass solch ein einfacher Oszillator meistens nicht genügend jittert, um wirklich alle erdenklichen Kombinationen erzeugen zu können, da sich in der kurzfristigen Betrachtung immer eine Interferenz zu dem Abtasttakt einstellen wird. Ausserdem zeigt sich, dass solche Ringoszillatoren dazu neigen, sich auf benachbarte Schaltungsteile zu synchronisieren. Wenn diese mit dem Lesetakt getriggert werden, entstehen beobachtbare Spektren in den erzeugten Bitfolgen.&lt;br /&gt;
&lt;br /&gt;
===Mehrfach-Ringoszillator===&lt;br /&gt;
Eine deutliche Verbesserung stellt die Verwendung zweier Oszillatoren dar, die miteinander interferieren und je nach zeitlicher Überlagerung durch Verknüpfung mit einem EXOR ein z.T. sehr schnell toggelndes Bit ergeben, das schon gute Zufallswerte generiert, wenn es selten genug abgetastet wird. Je mehr solche Oszillatoren zugeschaltet werden, desto größer ist die Wahrscheinlichkeit eines Bitwechsels im Bereich der abtastenden Flanke. Leider neigt aber auch diese Anordnung von Ringoszillatoren dazu, sich auf Einflüsse der Restschaltung zu synchronisieren, was sich in der FFT-Analyse und Häufungsmessung des erzeugten Ausgangsignal äussert.&lt;br /&gt;
&lt;br /&gt;
===Desynchronisierte Ringoszillatoren===&lt;br /&gt;
Eine effektive Möglichkeit, etwaige Synchronisationsneigungen zu unterdrücken, ist es, die Frequenzen der Oszillatoren permanent umzuschalten, sodass keiner von ihnen eine stabile Phasenlage einnehmen kann. Genau, wie zu Beginn der Einschwingphase, benötigt der Oszillator nach dem Umschalten nämlich einige Schwingungen, um halbwegs stabil zu werden. Dies gilt insbesondere, wenn er sich auf irgendein externes Ereignis einstellen möchte. Wenn rechtzeitig umgeschaltet wird, hat der Oszillator keine Chance, sich auf Nachbarschaltungen einzuschwingen.&lt;br /&gt;
&lt;br /&gt;
Die Umschaltung funktioniert so, dass die Länge der Inverterkette verändert wird, indem ein Steuersignal einen Multiplexer treibt, der zwischen zwei Pfaden auswählt. Im einfachsten Fall schaltet man einfach 2 Inverter mehr dazu, wodurch sich etwas die Frequenz senkt. Je nach Technologie sind 4 Inverter besser, da dies einen deutlicheren Frquenzhub zur Folge hat. Entscheidend ist bei der Methode auch, dass durch das Umschalten ein Phasensprung erzeugt wird. Sollte der Oszillator begonnen haben, sich auf ein Ereignis zu synchronisieren, wird die massgebliche Taktflanke dadurch sofort wieder auf einen anderen Punkt gesetzt.&lt;br /&gt;
&lt;br /&gt;
===selbstdesynchronisierende Ringoszillatoren===&lt;br /&gt;
Eine Erweiterung der Lösung von oben ist es nun, die Zeitpunkte der Umschaltung ebenfalls zufällig bestimmen zu lassen. Dies geschieht am einfachsten durch einen ähnlich aufgebauten Gegenpart, der seinerseits wieder zufällig gesteuert wird. Im ersten Schritt entsteht der nachfolgend beschriebene 2fach- gekoppelte OSC. Mit drei deratig ringförmig verketteten, selbstschwingenden Oszillatoren bekommt man ein nahezu zufälliges Verhalten der Phase, da sich immer einer der Oszillatoren im Einschwingvorgang befindet und sich sein Beitrag zum Exor stark verschiebt, sodass auch in der lokalen Betrachtung keine sichtbaren Interferenzmuster mehr auftreten.&lt;br /&gt;
&lt;br /&gt;
==Realisationsvorschlag==&lt;br /&gt;
Hier eine konkrete Lösung mit 2 gekoppelten Oszillatoren:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Js-Vhdl-noise-bit-generator-schematic.gif]]&lt;br /&gt;
&lt;br /&gt;
Jeder der beiden OSC wird über eine Inverterkette mit einer insgesamt ungeraden Anzahl von Invertern gebildet, wobei die geradzahligen Inverterstufen ein delay bilden. Die Rückführung erfolgt über einen Multiplexer, welcher umschaltbar ist. So liegen beispielsweise einmal 7 und einmal 9 inverter in der Kette, bei dem anderen z.B. 11 oder 13.&lt;br /&gt;
&lt;br /&gt;
Jeder der beiden Oszillatoren treibt einen eigenen Zähler an, der bis 13 bzw. 27 zählt. Das jeweilige höchste Bit des Zählers wird zum Umschalten der Kettenlänge des anderen Oszillators benutzt. Durch die asymmetrische Verteilung 8/13 zu 5/13 bzw. 16/27 zu 11/27 wird erreicht, dass es eine längere und eine kürzere Phase gibt. Während der längeren Phase schaltet man die niedrigere Frequenz, während der längeren die höhere Frequenz. Damit ergibt sich für die Kettenlänge die Folge:&lt;br /&gt;
&lt;br /&gt;
OSC1 : ...7.7.7.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.7.7.7.7.7.7.7.7.7.7.7.9.9.9.9.....&lt;br /&gt;
&lt;br /&gt;
OSC2 : ....13.13.11.11.11.11.11.11.11.11.13.13.13.13.13.11.11.11.11.11.11.11.11.13.13...&lt;br /&gt;
&lt;br /&gt;
Oszillator 1 darf also abwechselnd eine längere Periode mit der etwas niedrigeren Frequenz schwingen und danach eine kürzere Periode mit der höheren. Irgendwann dazwischen schaltet er die Frequenz des zweiten um. Da sich der andere ebenso verhält, ergeben sich grob 4 Frequenzkombinationen, die unterschiedlich und veränderlich überlappen. Durch die langen Phasen von mindestens &amp;gt;5 Takten ist sichergestellt, dass auch bei schnellen Technologien der jeweilige OSC wieder anschwingt, falls beim Umschalten mitten in einen Zustandswechsel gesprungen wurde. Genau dies verschiebt die Phasen immer wieder sehr zufällig, sodass die Frequenz nicht lange stabil ist und sich die Oszillatoren auf nicht auf Umgebungseinflüsse synchronisieren können. Die Ausgänge werden mit Exor gemischt, wodurch bei einer Abtastung durch eine andere Domain noch bis zu 5-10 MHz vollkommen zufällige Bits entstehen.&lt;br /&gt;
&lt;br /&gt;
===Realisation für Consumerqualität===&lt;br /&gt;
16Bit-Rauschwerte bekommt man gemäß der Methode oben dann mit etwa 500kHz, in dem man kontinuierlich samplet und die Werte in SR schiebt. Für meine Audioworkstation benutze ich eine Abtastrate von ~4,5MHz und generiere daraus 24 Bit-Werte mit 192kHz Samplefrequenz. Muster im Bereich der Audiofrequenzen sind im Spektrum nicht erkennbar.&lt;br /&gt;
&lt;br /&gt;
Anfänglich hatte ich auch noch mehrere Generatoren parallel aufgebaut und die 24 Bit-Werte gemischt, fand aber keine Verbesserung mehr.  Allerdings hatte ich teilweise den Fall, dass statistisch mehr Nullen rauskamen (53%:47%). Ich habe dann einfach zwei ähnliche Generatoren aufgebaut (andere Kettenlängen) und einen Kanal invers zugemischt. Für meine Zwecke reicht das jetzt vollkommen aus. Für messtechnische Zwecke müsste man es näher untersuchen. Wenn man irgendwelche Rauschquellen mischen möchte, sollte man eine Extraquelle aufbauen, statt die erste mit anzuzapfen, es sei denn, dies ist signalverarbeitungstechnisch notwenig. Bei den Tongeneration von Schlagzeugklängen bekam ich vereinzelt seltsame metallisch klingende Auslöschungen, wenn zwei Instrumente (per Filter erzeugt) gleichzeitig erklangen. Einfache Abhilfe schafft ein Bitvertauscher.&lt;br /&gt;
&lt;br /&gt;
===Realisation für Messtechnik===&lt;br /&gt;
Für messtechnische Applikationen sollte man genügend niedrig abtasten, z.B. 1/MHz/bit. Für jedes weitere bit bzw MHz kommt ein weiterer Generator hinzu, der anders parametriert ist. Das stellt platzmäßig nur ein geringes Problem dar, da je nach Realisation nur 50-100 Logikelemente benötigt werden. Die Rauschgeneratoren sollten an verschiedenen Stellen im FPGA sitzen und sich keine Logikzellen teilen -&amp;gt; FPGA-Editor für das mapping / constraints benutzen.&lt;br /&gt;
&lt;br /&gt;
Ein eventuelles 1:0-Verteilungsproblem sollte mit zwei komplementären Rauschquellen zu lösen sein, während man die Zuordnung der Rauschbits ebenfalls noch ändern kann, indem man einen weiteren Oszillator nutzt, der zyklisch Adressen generiert, die einen von mehreren Multiplexern mit wechselndem Bitmapping auswählt. Auch lassen sich mehrere Rauschgeneratoren überlagern, um die Auflösung zu erhöhen. wobei das Problem auftritt, dass Ergebnisse im mittleren Wertebereich dann wahrscheinlicher sind, als Werte am Rand. Will man das verhindern, sind die Werte immer über EXOR bitweise zu verknüpfen.&lt;br /&gt;
&lt;br /&gt;
====Bauvorschlag / Beispiel====&lt;br /&gt;
Ein array von 2x32 Rauschquellen (ca. 500 LEs) wird mit einem PLL-basierten Takt von 1MHz in 64 Registern asynchron eingelesen. Über einen 64:64-Bitvertauscher mit zufällig wechselndem Mapping werden diese zu zwei 32 2-Bit-Werten zusammengesetzt, die mit einem Exor und einem Inverter von einander subtrahiert / komplementär addiert werden. Die Ergebnisse gehen auf einen synchronen asymmetrischen 32:8-FiFo, der 8-bit Rauschwerte mit 4MHz produziert, die statistisch vollkommen gleichverteilt sind.&lt;br /&gt;
&lt;br /&gt;
==Einschätzung der Qualität==&lt;br /&gt;
===Simulation===&lt;br /&gt;
Bereits mit festen Werten für die Inverterverzögerungen, die ja real starken Zufällen unterworfen sind, produziert eine ModelSIM-Simulation für die 2fach-Lösung ein sehr komplexes Muster mit geringer Wiederholrate. In der Realität lässt sich ein entsprechender Jitter messen, der mehrere Perioden des abtastenden Taktes überstreicht.&lt;br /&gt;
&lt;br /&gt;
Mit einer analogen Simulation können minimale Änderungen des Schaltverhaltens untersucht werden. Variiert man z.B. die Steilheit nur eines Inverterausgangs eines Oszillators um 0,5% ergibt sich bereits nach wenigen Schwingungen ein qualitativ verändertes Bild, weil die Umschaltpunkte des anderen Oszillators ein wenig wandern, wodurch sich eine andere Phasenkonstellation ergibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;2 Fälle verkoppelter Oszillatoren&amp;quot; widths=&amp;quot;600&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Datei:Lut-based-oscillator-js.gif|;Die beiden blauen Oszillatoren variieren minimal, was anhand des sich ergebenden 2Bit Codes (Visualisierung der Zustandsfolge) = violette Kurve schon sichtbar wird. Der mit einem EXOR gebildete Signal-Wert (türkis), wird mit einem willkürlichen Takt im FPGA (rot) gesampelt, sodass der grüne Ausgangswert entsteht. Eine kleine Änderung im Verhalten eines Inverters bedingt bereits ein anderes Ausgangsmuster;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Messungen ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vga-spectrum-analyzer-altera-fft-noise.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das Bild (Screenshot) zeigt eine FFT-Analyse von künstlich erzeugtem 16Bit-Rauschen aus zwei gekoppelten Oszillatoren. Der blaue Bereich zeigt die spiegelsymmetische 1024 FFT bei 16Mhz. Links sind Min, Max, Mittelwert und Standardabweichung automatisch markiert. Der verkleinerte türkise Bereich zeigt die um Faktor 2 verkleinerten über 16 Messungen gemittelten Werte.&lt;br /&gt;
&lt;br /&gt;
===Tauglichkeit als Zufallszahlengenerator===&lt;br /&gt;
Die so erzeugten Werte reichen in der Regel bereits für einfache Zufallszahlen, wie sie in Simulationen für technische Anwendungen benötigt werden. Sie entstehen durch einfaches Aneinanderreihen von Bits mit einem Schieberegister&lt;br /&gt;
&lt;br /&gt;
==== Gleichverteilung ====&lt;br /&gt;
Das Aneinanderreihen von Bits bevorzugt keine Zahl. Theoretisch kommt jede Zahl mit derselben Häufigkeit vor.&lt;br /&gt;
[[Datei:Js-histogramm-rauschgenerator-verteilung.gif]]&lt;br /&gt;
&lt;br /&gt;
Die Grafik zeigt die Verteilung von Zahlen, die mit einem Rauschgenerator generiert wurden. Mit 8 zusammengehängten Bits werden Zahlen erzeugt und deren Häufung mitgezählt, wobei dieselbe Zahl innerhalb von 4096 &amp;quot;Würfen&amp;quot; schwerpunktmäßig etwa 10-40x vorkommt. Wird das Experiment fortgesetzt und weitersummiert, gleichen sich Unsymmetrien wieder etwas aus und die Kurve wird glatter. Bei 15000 Würfen beträgt die Dynamik zwischen seltenen und häufigen Zahlen ca. 60-120.  Die Varianz beträgt letzlich nach &amp;gt;250.000 Würfen noch etwa +/- 12%. Aus Platzgründen sind nur die ersten 128 Zahlen dargestellt.&lt;br /&gt;
&lt;br /&gt;
==== Normalverteilung ====&lt;br /&gt;
Durch das Addieren von Rauschwerten kommen Werte in der Mitte des Zahlenraums naturgemäß häufiger häufiger vor, weil es mehrere Kombinationsmöglichkeiten gibt, wie sie entstehen können. Werte am Randbereich sind sehr selten. &lt;br /&gt;
[[Datei:Js-histogramm-rauschgenerator-summe.gif]]&lt;br /&gt;
&lt;br /&gt;
Um den 8-Bit Zahlenraum abzudecken, wurde für den Rundungsfehler eine weitere Zahl addiert. Damit ist der Zahlenraum 0...255 darstellbar. Ansonsten wären nur 16x15 = 240 erreichbar.&lt;br /&gt;
&lt;br /&gt;
==== Weitere Verteilungen====&lt;br /&gt;
Will man gezielte Verteilungen generieren und sicherstellen, dass Zahlen nach bestimmten Zeiten mindestens einmal auftreten, muss noch ein wenig mehr getan werden. Siehe [[Digitaler Zufallszahlengenerator in VHDL]].&lt;br /&gt;
&lt;br /&gt;
===Verbesserungsmöglichkeiten===&lt;br /&gt;
Um die Zufälligkeit weiter zu erhöhen, lässt sich die Schleife eines oder mehrerer Oszillatoren über externe Pins bilden, was zu starken Temperatur und Exemplarschwankungen führt. Dies ist vor allem bei der Nutzung nur eines Oszillators vorteilhaft. Allerdings reduziert sich dadurch die maximale Frequenz des Generators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
&lt;br /&gt;
=== Anwendungen ===&lt;br /&gt;
==== Bildverarbeitung ====&lt;br /&gt;
Rauschgeneratoren werden in der Bildverarbeitung zur Verbesserung der Bildqualität eingesetzt, in dem z.b. mittels der &amp;quot;salt and pepper&amp;quot;-Methode Kanten infolge von Abtastung geglättet werden.&lt;br /&gt;
&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Rauschgenerator&lt;br /&gt;
http://de.wikipedia.org/wiki/Zufallszahlengenerator&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=63013</id>
		<title>Filter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=63013"/>
		<updated>2012-01-03T09:58:15Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Notch-Filter */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Als Filter bezeichnet man in der Elektronik eine Schaltung, die die Frequenzanteile eines Signals unterschiedlich stark abschwächt oder betont. Im Bereich der Signalverarbeitung mit Software werden Filter mathematisch nachgebildet.&lt;br /&gt;
&lt;br /&gt;
=== Tiefpass ===&lt;br /&gt;
&lt;br /&gt;
Ein TP filtert Frequenzen oberhalb der Grenzfrequenz weg. Der einfachste passive Tiefpass besteht aus einer R/C-Kombination.&lt;br /&gt;
&lt;br /&gt;
         R&lt;br /&gt;
        ___&lt;br /&gt;
 o-----|___|----+----o&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               ---&lt;br /&gt;
               --- C&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               GND&lt;br /&gt;
&lt;br /&gt;
==== Grenzfrequenz ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_g = \frac{1}{2 \pi \cdot R \cdot C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Grenzfrequenz &amp;lt;math&amp;gt;f_g&amp;lt;/math&amp;gt; besteht zwischen Eingangssignal und Ausgangssignal eine Phasenverschiebung von 45&amp;amp;deg;.&lt;br /&gt;
&lt;br /&gt;
=== Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Ein HP filtert Frequenzen unterhalb seiner Grenzfrequenz weg, d.h. er lässt Frequenzen oberhalb passieren.&lt;br /&gt;
&lt;br /&gt;
=== Bandpass ===&lt;br /&gt;
&lt;br /&gt;
Ein BP lässt sich als Kombination von HP und TP auffassen. Er lässt Frequenzen zwischen zwei Grenzwerten durch.&lt;br /&gt;
&lt;br /&gt;
=== Notch-Filter ===&lt;br /&gt;
Das notch Filter nimmt einen bestimmten mehr oder weniger schmalbandigen Frequenzbereich aus dem Spektrum des Eingangssignals heraus. Theoretisch wird die Übertragungsfunktion für diesen Wert vollständig Null, praktisch wird dies für reale, verlustbehaftete Bauteile nicht erreicht.&lt;br /&gt;
&lt;br /&gt;
== Realisierung ==&lt;br /&gt;
&lt;br /&gt;
=== Analog ===&lt;br /&gt;
&lt;br /&gt;
Analoge Filter werden aus elektronischen oder mechanischen Bauteilen aufgebaut. In der Elektronik dienen sie der analogen Signalbearbeitung, in der Mechanik der Beeinflussung von Schwingungen. Beispielsweise werden durch Verkettung von schwingenden Feder-Masse-Systemen akustische Dämpfer ausgebildet.&lt;br /&gt;
&lt;br /&gt;
Analoge Filter haben bis auf eine systembedingte Anstiegszeit keine Reaktionsverzögerung bzw Latenz.&lt;br /&gt;
&lt;br /&gt;
=== Digital ===&lt;br /&gt;
Hier unterscheiden wir im Wesentlichen zwischen IIR- und FIR-Filtern. Der Algorithmus und der Rechenaufwand ist - wie die Effizienz - sehr verschieden. Speziell beim IIR muss man aufpassen, dass die Filterstufen nicht übersteuern, da IIR-Filter grundsätzlich instabil sein können.&lt;br /&gt;
&lt;br /&gt;
Digitale Filter haben neben einer Anstiegszeit eine rechenzeitbedingte Latenz.&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Digitalfilter ====&lt;br /&gt;
Ein digitales Filter besteht aus einem Speicher, in den nacheinander die einzelnen Daten eines Datenstromes hineingeladen und mit Koeffizienten multipliziert werden. Die Summe über einen definierten Bereich, der Zahl der sog. Taps, ist der Filterwert, der gfs noch durch die Zahl der Taps dividiert wird. Die Zahl der Taps ist massgeblich für die Güte und den Frequenzgang des Filters.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten rühren aus der Überlagerung mit Schwingungen genau der Frequenzen, die man herausselektieren möchte. Im einfachsten Fall multipliziert man einen eingehenden Datenstrom mit einer COS-Schwingung (im komplexen Fall auch mit der Sinus-Schwingung) und erhält eine Resonanz: Frequenzen im Datenstrom, die genau der Filterfrequenz entsprechen, werden logischerweise komplett durchgelassen. Frequenzen links und rechts davon mit zunehmender Abweichung der Filterfrequenz immer schlechter. Durch Überlagerung mehrerer solcher Frequenzen erhält man eine Addiotion der COS-Funktionen und immer mehr Frequenzen werden durch das Filter durchgelassen. Mathematisch kann man dies allgemein formulieren und z.B. für alle Frequenzen abwärts gegen Null integrieren, wodurch man einen Tiefpass erhält.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten sind selbst überlagerbar, d.h. wenn man von einem Koeffizientensatz eines Tiefpasses, der auf 100kHz ausgelegt wurde, einen TP-Koeffizientensatz, welcher auf 1kHz ausgelegt wurde, abzieht, erhält man automatisch ein Bandpassfilter 1kHz-100kHz.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
&lt;br /&gt;
Zuerst berechnen wir die Filterkoeffizienten mithilfe folgender Daten:&lt;br /&gt;
&lt;br /&gt;
# Filterart&lt;br /&gt;
# Ordnung&lt;br /&gt;
# Sample-Frequenz&lt;br /&gt;
# Grenzfrequenz.&lt;br /&gt;
&lt;br /&gt;
Für die &amp;quot;analogen Koeffizienten&amp;quot; findet man z.&amp;amp;nbsp;B. im Tietze-Schenk  Tabellen (nach Art und Ordnung sortiert). Diese rechnet man in &amp;quot;digitale Koeffizienten&amp;quot; um (Verhältnis Sample-Frequenz / Grenzfrequenz geht mit ein). Die Eingangsdaten werden mit diesen Koeffizienten im eigentlichen Filteralgorithmus verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Gleich mal ein Beispiel: krit.Filter, 2.Ordnung, Samplefreq 100Hz, Grenzfreq 2Hz (Verhältnis 50:1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float afc[] = {&lt;br /&gt;
 /* analoge Filterkoeff.                                          Art     Ordnung */&lt;br /&gt;
    1.287188506, 0.414213562, 0.0,                             /* Krit.   2.      */&lt;br /&gt;
    0.869958884, 0.189207115, 0.0,                             /* Krit.   4.      */&lt;br /&gt;
    0.699891558, 0.122462048, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    0.601690062, 0.090507733, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    1.3617,      0.6180,      0.0,                             /* Bessel  2.      */&lt;br /&gt;
    1.3397,      0.4889, 0.7743, 0.3890, 0.0,                  /* Bessel  4.      */&lt;br /&gt;
    1.2217,      0.3887, 0.9686, 0.3505, 0.5131, 0.2756, 0.0,  /* Bessel  6.      */&lt;br /&gt;
    0.0&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 AFC: A0= 0.870000   A1= 0.189200&lt;br /&gt;
 DFC: C1=-1.494553   C0= 0.558423  D0= 0.015967   D1= 0.031934  D2= 0.015967&lt;br /&gt;
 (das sind die gesuchten fünf Werte)&lt;br /&gt;
 &lt;br /&gt;
 DFC: 0x5fa7  0x8ef4  0x0416  0x82d  0x0416 (skaliert mit -16384 bzw. +65536)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für höhere Ordnungen speisen wir das Ergebnis wiederholt (Ordnung / 2 mal) durch den Filter, allerdings (außer beim krit. Filter) jede Stufe mit anderen Koeffizienten.&lt;br /&gt;
&lt;br /&gt;
==== Fensterung ====&lt;br /&gt;
Da die einkommenden Daten nicht immer ganzzahlig in die Tap-Zahl sowie die einzelnen selekttierten Frequenzen passen, ergeben sich Verzerrungen, die man lindern kann, wenn man den Datenstrom mit einer [[Fensterfunktion]] weich ein- und aublendet. Beispiele dafür sind die COS-basierten Funktionen &amp;quot;Hamming&amp;quot;, &amp;quot;von Hann&amp;quot; und &amp;quot;Blackman-Harris&amp;quot; sowie das weit gebräuchliche Kaiser-Fenster, das auf Besselfunktionen beruht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== geeignete Literatur ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.digitalfilter.com www.digitalfilter.com]&lt;br /&gt;
&lt;br /&gt;
Dough Coulter: Digital Audio Processing&lt;br /&gt;
&lt;br /&gt;
Tietze / Schenk: Schaltungstechnik&lt;br /&gt;
&lt;br /&gt;
Fortsetzung / Erweiterung folgt...&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Entfernen von Störsignalen aus einem Nutzsignal (z.&amp;amp;nbsp;B. bei einem Funkempfänger)&lt;br /&gt;
* Unterdrückung eines Wechselpannungsanteils&lt;br /&gt;
* Anti-Aliasing -&amp;gt; siehe [[Abtasttheorem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Reset_f%C3%BCr_FPGA/CPLD&amp;diff=63012</id>
		<title>Reset für FPGA/CPLD</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Reset_f%C3%BCr_FPGA/CPLD&amp;diff=63012"/>
		<updated>2012-01-03T09:56:06Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Asynchroner Reset */ sachlich falsch gewesen, da aynch sofort erfasst würde . &amp;quot;Erfassen&amp;quot; macht nur für den synchr Fall Sinn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wie jede digitale Schaltung mit FF benötigt auch ein FPGA-Design einen definierten Anfangszustand, den Resetzustand. Nach Art, Verteilung und Auslöser kann der Reset unterschieden werden zu:&lt;br /&gt;
&lt;br /&gt;
*synchroner, asynchroner Reset (FF mit synchronen oder asynchronen Set/Reset Eingängen)&lt;br /&gt;
*High oder Low-aktiver Reset (Der Resetzustand wird mit einer &#039;1&#039; oder &#039;0&#039; eingeleitet. Der Reset ist nie Flankengesteuert (?).&lt;br /&gt;
*Reset nach PowerUp, Abschluss FPGA-Laden, stabiles Taktsignal, externer Resetquelle oder Nutzer (Software) Auslösung.&lt;br /&gt;
* Verteilt über allgemeine Routing-Ressourcen oder globales Set/Reset-Netzwerk&lt;br /&gt;
&lt;br /&gt;
== Implementierung von FlipFlops/Registern mit verschiedenen Resetmöglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Kein Reset ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Laden befindet sich der FPGA immer in einem definierten Zustand, alle Speicherelemente (FF, Schiebeketten, RAM) sind fest geladen. Es bedarf also keiner zusätzlichen Resetschaltung. Die Resetwerte bei Xilinx (VHDL, XST) werden durch den Initwert bei der Signal-Deklaration festgelegt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
signal is_0_after_FPGA_config: std_logic := &#039;0&#039;;&lt;br /&gt;
signal is_1_after_FPGA_config: std_logic := &#039;1&#039;;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manche Logikelemente (bei Xilinx: shift register SR16E) sind nicht mit einem Reset einsetzbar, die Synthese muss also mehr Aufwand betreiben (siehe [http://www.mikrocontroller.net/topic/74068 Beitrag im Forum]).&lt;br /&gt;
&lt;br /&gt;
Der Resetwert für Speicher kann in VHDL, im ucf oder durch Konfigurationsfiles (Coregen, EDK) definiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Asynchroner Reset ===&lt;br /&gt;
&lt;br /&gt;
Traditionell am meisten eingesetzt wird der asynchrone Reset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
process(clk, reset)&lt;br /&gt;
begin&lt;br /&gt;
  if reset = &#039;1&#039; then&lt;br /&gt;
    -- Initialisierung der Register&lt;br /&gt;
  elsif rising_edge(clk) then&lt;br /&gt;
    -- Kombinatorik&lt;br /&gt;
  end if;&lt;br /&gt;
end process;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei ASICs ist er i.d.R. unverzichtbar, da diese nicht standardmäßig mit einem Initialwert geladen werden. Bei FPGA-Design wird er nur benötigt, wenn diese in einen ASIC überführt werden wollen. Bei reinen FPGA-Designs wird er meistens nicht verwendet. Er kann sogar zu Problemen führen, wenn die fallenden Flanke des Resetsignals zu einem ungünstigen Zeitpunkt kommt (Siehe [http://www.xilinx.com/support/documentation/white_papers/wp272.pdf Witepaper 272 bei Xilinx]). Je nach Logikdesign und der dadurch bedingten Auswirkung der Resetrücknahme, ist damit u.U. eine Verlängerung des Resetsignales so durchzuführen, daß das Löschen des Signals in jedem Falle ausserhalb des Bereiches möglicher Flankenwechsel des Systemtaktes erfolgen.&lt;br /&gt;
&lt;br /&gt;
Im Regelfall geschieht dies durch eine externe Synchronisation, z.B. einen Prozesssor oder einen anderen FPGA, der auf derselben Frequenz bzw einer Frequenz mit stes bekannter Phase läuft.&lt;br /&gt;
&lt;br /&gt;
Für [[FPGA]]s und [[PLD]]s ist es daher oftmals sinnvoller, einen synchronen Reset zu benutzen. Dabei ist darauf zu achten, daß das synchrone Resetsignal eine genügend lange Periode besitzt, um erfasst zu werden.&lt;br /&gt;
&lt;br /&gt;
=== Synchroner Reset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
process(clk, reset)&lt;br /&gt;
begin&lt;br /&gt;
  if rising_edge(clk) then&lt;br /&gt;
    if reset = &#039;1&#039; then&lt;br /&gt;
      -- Initialisierung der Register&lt;br /&gt;
    else&lt;br /&gt;
      -- Kombinatorik&lt;br /&gt;
    end if;&lt;br /&gt;
  end if;&lt;br /&gt;
end process;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Nutzung eines synchronen Resets, erfolgt durch das Eintakten / Einsynchronisieren des externen Resetsignals unbekannter Phasenlage und Länge, sodaß sichergestellt ist, daß der Resetimpuls überall innerhalb der verarbeitenden clock domain gleichzeitg anliegt und eine passende Länge hat.  Wird dies unterlassen, so kann aufgrund der Laufzeiten des Resetsignals und des Taktes im FPGA der Flankenwechsel des Resets von einem FF gerade erkannt und von einem anderen FF gerade verpasst werden, sodaß der Reset von unterschiedlichen Schaltungsteilen in zwei verschiedenen Taktperioden verarbeitet wird und die Schaltungsteile so &amp;quot;auseinanderlaufen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Die Verwendung eines synchronen Resets erfordert u.U. mehr Resourcen. In Einzelfällen können die sich ergebenden Strukturen jedoch auch druch die Synthese mit anderen Schaltungsteilen und Anforderungen zusammengefasst werden.&lt;br /&gt;
&lt;br /&gt;
== Resetgenerierung ==&lt;br /&gt;
&lt;br /&gt;
Folgend ein Beispiel einer internen Resetschaltung (auch wenn dergleichen heute im FPGA-Bereich kaum noch nötig ist), die einen 16 Takte langen Reset-Impuls erzeugt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
--xilinx spartan3&lt;br /&gt;
--reset  using a 16bit shift register&lt;br /&gt;
&lt;br /&gt;
gen_dcm_srl : SRL16E&lt;br /&gt;
&lt;br /&gt;
 GENERIC MAP (INIT =&amp;gt; X&amp;quot;FFFF&amp;quot;)   -- a  16 clk long &#039;1&#039; -pulse&lt;br /&gt;
 PORT MAP (&lt;br /&gt;
 Q =&amp;gt; rst_dcm_geseco,    --the reset signal for the rest of the design        &lt;br /&gt;
 A0 =&amp;gt; &#039;1&#039;,              --determines length Shiftreg (15+1 bit)  &lt;br /&gt;
 A1 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 A2 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 A3 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 CE =&amp;gt; Locked_DCM_MBSYS, --release reset pulse (here when clock is stable) &lt;br /&gt;
 CLK =&amp;gt; CLK96,           --its a synchronous reset   &lt;br /&gt;
 D =&amp;gt; &#039;0&#039;);              -- non-reset is &#039;0&#039; (high active reset)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logische Resets ==&lt;br /&gt;
Neben dem physikalischen Reset, der meist alle FFs gleichzeitig in einen Startzustand versetzt, benötigen viele Applikationen einen logisch neutralen Zustand mit z.&amp;amp;nbsp;B. inaktiven Ausgängen, wodurch teilweise weitere Resetzustände definiert werden müssen. Meist wird hier eine Art Warmstart-Zustand definiert. Auch ist es oft wünschenswert, dass nur Schaltungsteile neu gestartet werden, wenn Fehlfunktionen detektiert wurden, oder die Schaltung in Bereitschaft gesetzt werden soll, während andere essenzielle Funktionen aufrechterhalten werden sollen. Pipelines, algorithmische Rechenblöcke und untergeordnete state machines sind z.&amp;amp;nbsp;B. solche Schaltungsteile.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Beiträge zum Thema im Forum: http://www.mikrocontroller.net/forum/9?filter=reset*&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: FPGA und Co]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=62685</id>
		<title>Schaltplaneditoren</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Schaltplaneditoren&amp;diff=62685"/>
		<updated>2011-12-23T12:53:38Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* sPlan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== AACircuit ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AACircuit&#039;&#039;&#039; ist ein Schaltplaneditor mit einer Ausgabe als ASCII-Grafik. Das Programm wurde dafür entwickelt, um mal eben eine Frage oder eine Antwort in &#039;&#039;newsgroups&#039;&#039;, Chats oder Foren zu veranschaulichen, wenn keine Upload-Möglichkeit von Bilddateien da ist. AACircuit gibt es bei http://www.tech-chat.de/&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  .---o----o------o---o---------------o---o----o------------o 12-15V&lt;br /&gt;
  |   |    |  22µF| + |               |   |    |&lt;br /&gt;
 .-.  |   .-.    ###  |              .-.  |    |    .-------o&lt;br /&gt;
 | |&amp;lt;-&#039;   | |    ---  |              | |  |    |    |   .---o&lt;br /&gt;
 | |5k    | |5k6  |   |              | |  |    |    |   |&lt;br /&gt;
 &#039;-&#039;      &#039;-&#039;     |   o--.           &#039;-&#039;  |   _|_   o  /o&lt;br /&gt;
  |        |     ===  |  |            |   |  |_/_|-   /&lt;br /&gt;
 .-.       |     GND  | ---100n   LED V   -    |     /&lt;br /&gt;
 | |       |          | ---           -   ^    |    o&lt;br /&gt;
 | |6k2    |          |  |            |   |    |    |&lt;br /&gt;
 &#039;-&#039;       |          | GND           &#039;---o----o    &#039;-------o&lt;br /&gt;
  |        |       2|\|7                       |&lt;br /&gt;
  o-----------------|-\ LM741      ___       |/&lt;br /&gt;
  |        |        |  &amp;gt;-------o--|___|--o---|&lt;br /&gt;
  |        o---o----|+/ 6      |   22k   |   |&amp;gt;  BC547&lt;br /&gt;
  |        |   |   3|/|4       |         |     |&lt;br /&gt;
 .-.       |   |     ===       o---.    .-.    |&lt;br /&gt;
 | |       |   o---. GND       |   |    | |5k6 |&lt;br /&gt;
 | |2k7   .-.  |   |   ___    _V_  |    | |    |&lt;br /&gt;
 &#039;-&#039;     KTY10 | + &#039;--|___|--|___|-&#039;    &#039;-&#039;    |&lt;br /&gt;
  |       | | ###      47k   220k        |     |&lt;br /&gt;
  |       &#039;-&#039; ---                        |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  |        |   |                         |     |&lt;br /&gt;
  &#039;--------o---o-------------------------o-----o------------o GND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BAE ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039;artels &#039;&#039;&#039;A&#039;&#039;&#039;uto &#039;&#039;&#039;E&#039;&#039;&#039;ngineer unterstützt die Erstellung von Schaltplänen, Leiterplatten und integrierten Schaltungen und läuft unter Windows, Linux und verschiedenen X11-/Unix-Systemen. Der Schaltplaneditor kann Pläne auf beliebig vielen Blättern erstellen, wobei auch hierarchische Strukturen möglich sind. Der Autorouter erzeugt recht brauchbare Ergebnisse, wobei beliebige Teile mit der Hand vorab geroutet werden können. Ein Autoplacer ist ebenfalls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Eine auf Schaltplaneingabe beschränkte Version und eine kastrierte Evaluierungsversion sind auf der [http://www.bartels.de/bae/bae_de.htm BAE Homepage] downloadbar.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.bartels.de/bae/baeprice_de.htm preiswerteste] kostenpflichtige Version ist das &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE Light&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Diese Version ist auf Leiterplatten der Groesse 180x120 mm² und auf 2 Lagen beschränkt, eine Beschränkung auf eine bestimmte Pinanzahl gibt es aber nicht.&lt;br /&gt;
&lt;br /&gt;
Ansonsten wird eine Economy-, Professional- und Highendversion angeboten, die jeweiligen Eigenschaften sind im Abschnitt [http://www.bartels.de/baedoc/inst_de.htm Bartels AutoEngineer Softwarekonfigurationen] erklärt. Interessant ist z.&amp;amp;nbsp;B. der Bauteilhöhencheck.&lt;br /&gt;
&lt;br /&gt;
Mit dem &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BAE IC Design&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; dringt man bis in den Bereich der IC-Entwicklung vor.&lt;br /&gt;
&lt;br /&gt;
[[BAE-Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Basic Schematic == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Base schematic example.png|right|thumb|Screenshot Base Schematic]]&lt;br /&gt;
&lt;br /&gt;
Basic Schematic (&#039;&#039;&#039;BSch3V&#039;&#039;&#039;) ist ein freier Schaltplaneditor für Windows (98/Me/2000/XP). Es enthält einen Component Library Editor, einen Parts List Generator und einen Netlist Generator, sowie eine Automatic Numbering Funktion.&lt;br /&gt;
&lt;br /&gt;
Ein ZIP-Archiv mit engl. Programm, Handbuch und Sourcecode gibt es bei http://www.suigyodo.com/online/e/index.htm.&lt;br /&gt;
&lt;br /&gt;
Ebenso ist dort eine Cross-Plattform Version &#039;&#039;&#039;Qt-BSch3V&#039;&#039;&#039; auf der Basis von Qt-Grafiklibraries erhältlich.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist bis dato (2011) gut gepflegt.&lt;br /&gt;
&lt;br /&gt;
== BlackBoard Breadboard Designer == &lt;br /&gt;
&lt;br /&gt;
[[Bild:BlackBoard.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;BlackBoard Breadboard Designer&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist ein freier Editor für Lochrasterplatinen Layouts, der das Planen der Bauteilplazierung sowie der beidseitigen Verdrahtung deutlich vereinfacht und sich u.a. auch für die Dokumenation solcher Prototypenaufbauten eignet.&lt;br /&gt;
&lt;br /&gt;
Er läuft auf allen Plattformen für die eine Java Runtime zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
Die Homepage von Blackboard ist unter http://blackboard.serverpool.org zu erreichen. Blackboard steht unter Der GPL V2 und wird ständig weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DipTrace ==&lt;br /&gt;
&lt;br /&gt;
Design-Editor für PCB-Leiterplatten für Windows NT, 2000, XP, Server 2003&lt;br /&gt;
- erweiterte Pro-Version erlaubt den Export in DXF, Gerber und N/C Drill sowie Leiterplattenlayouts mit mehr als 250 Pins.&lt;br /&gt;
&lt;br /&gt;
http://www.diptrace.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eagle ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Eagle.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Eagle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; von Cadsoft ist nicht nur ein &amp;lt;b&amp;gt;Schaltplaneditor&amp;lt;/b&amp;gt;, sondern ein komplettes Paket mit &amp;lt;b&amp;gt;Layoutprogramm&amp;lt;/b&amp;gt; und &amp;lt;b&amp;gt;Autorouter&amp;lt;/b&amp;gt;. Das hat den Vorteil, dass man einen erstellten Schaltplan gleich zur Platine weiterverarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
Mitgeliefert werden umfangreiche Symbol- bzw. Bauteilbibliotheken, von Widerständen in allen Bauformen über Taster bis hin zu [[AVR]]s. Eine Library für viele aktuelle AVRs findet sich im Download-Bereich &lt;br /&gt;
von [http://www.embedit.de http://www.embedit.de].&lt;br /&gt;
&lt;br /&gt;
Eagle läuft unter Linux, Windows (2000/XP/Vista/7) und Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Eine für nichtkommerzielle Anwendungen kostenlose Version ist von [http://www.cadsoft.de/ CadSoft] erhältlich. Diese ist auf zweilagige Platinen im halben Euro-Format (80x100mm) sowie Schaltpläne mit nur einer Seite beschränkt.&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht===&lt;br /&gt;
[[Bild:Stereobild-elektronik-3d.jpg|right|thumb|Rot-Grün-Stereo-Bild]]&lt;br /&gt;
Zum Betrachten des fertigen, bestückten Platinenentwurfs in Form eines 3D-Bilds bietet sich das Paket [http://www.matwei.de/doku.php?id=en:eagle3d:eagle3d eagle3D] an. Mit Hilfe eines ULP wird eine Beschreibungsdatei für den open source Renderer &amp;lt;i&amp;gt;POVray&amp;lt;/i&amp;gt; erzeugt, welche dann anschließend halbautomati generiert werden kann. Auch Bewegungsanimation und KAmeraflug ist möglich. Es wird bereits ein große Zahl an Bauteilen unterstützt.&lt;br /&gt;
&lt;br /&gt;
Anwendungshinweise:&lt;br /&gt;
* [[Eagle im Hobbybereich]]&lt;br /&gt;
* [http://gaussmarkov.net/wordpress/category/tools/software/eagle/ Eagle CAD Tutorial] im Blog von gaussmarkov: diy fx (englisch)&lt;br /&gt;
* [[Stereobilder mit EAGLE 3D]]&lt;br /&gt;
&lt;br /&gt;
== FreePCB ==&lt;br /&gt;
&lt;br /&gt;
FreePCB ist ein freier, open-source PCB editor für Microsoft Windows, der unter der GNU General Public License veröffentlicht wurde. Er wurde entwickelt, um ihn einfach erlernen und nutzen zu können und dennoch für professionellesArbeiten geeignet. Er besitzt keinen eingebauten Auto Router, kann jedoch den web-basierten auto router auf www.freerouting.net verwenden.&lt;br /&gt;
&lt;br /&gt;
== Electric ==&lt;br /&gt;
&lt;br /&gt;
Das [http://www.staticfreesoft.com/index.html Electric(TM)] VLSI Design System ist ein Open Source Electronic Design Automation (EDA) System.&lt;br /&gt;
&lt;br /&gt;
== ExpressPCB ==&lt;br /&gt;
&lt;br /&gt;
Die Firma &amp;lt;b&amp;gt;ExpressPCB&amp;lt;/b&amp;gt; bietet den kostenlosen Schaltplaneditor &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressSCH&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; an. Zusätzlich gibt es das kostenlose Layoutprogramm &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ExpressPCB&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; zum Erstellen von zwei- und vierlagigen Leiterplatten. Die beiden Programme sind auf Windows (NT, 2000, XP, Vista) beschränkt. Die Firma bietet auf der [http://www.expresspcb.com/ ExpressPCB Homepage] ausserdem einen kommerziellen Service für die Herstellung von zwei- und vierlagigen Leiterplatten an. Auf der Seite finden sich [http://www.expresspcb.com/ExpressPCBHtm/Tips.htm hier] einige Hinweise zum Entwurf von Leiterplatten.&lt;br /&gt;
&lt;br /&gt;
== FidoCadJ ==&lt;br /&gt;
&lt;br /&gt;
[http://davbucci.chez-alice.fr/index.php?argument=elettronica/fidocadj/fidocadj.inc&amp;amp;language=English FidoCadJ] is a very easy to use editor, with a library of electrical symbols and footprints (through hole and SMD). Albeit its ease of use, it is a very immediate and effective EDA tool for the hobbyst. FidoCadJ stores its drawings in a compact text format. This choice is well suited for the copy and paste in newsgroups and forums. This explains the success of FidoCadJ in Usenet groups and in several portals. FidoCadJ is multi-platform Java program and runs on MacOSX, Linux and Windows. FidoCadJ and its manuals are in english, french and italian. Lizenz: Creative Commons 3.0 BY-NC-ND&lt;br /&gt;
&lt;br /&gt;
== Fritzing ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fritzing&#039;&#039;&#039; verwendet die Metapher eines Breadboards (Steckbretts), auf dem die Benutzer virtuell Bauteile einstecken. Fritzings Zielgruppe sind Künstler, Designer und Hobbyisten aber nicht unbedingt Profielektroniker, und die Software soll speziell auf die Zielgruppe zugeschnitten werden. Dabei wird auf eine niedrige Zugangsschwelle wert gelegt. Versionen für Mac OS X, Linux und Windows (XP/Vista) sind bei http://www.fritzing.org/ erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Gschem ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Gschem.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist der Schaltplaneditor aus dem Open Source Projekt gEDA. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; wird hauptsächlich auf Linux Rechnern entwickelt, läuft aber auch auf anderen Unix-Betriebssystemen und unter Windows. &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; ist für die Linuxdistributionen RedHat und Debian als Paket verfügbar, für Windows ist nur eine ältere Version erhältlich und für alle anderen ist selber kompilieren angesagt.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung ist nicht sonderlich anfängerfreundlich. Hat man sich aber mal daran gewöhnt, dass jeder Menupunkt mit 1 oder 2 Tasten erreichbar ist, läßt sich&#039;s mit &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; prima arbeiten. &lt;br /&gt;
&lt;br /&gt;
In der Symbolbibliothek (die auch online betrachtet werden kann) sind etwas mehr als 1000 Symbole; das Selbsterzeugen von Symbolen ist jedoch problemlos möglich. Insbesondere ist es aufgrund des gut dokumentierten und einfachen Datei-Formates möglich, mit einfachen Perl-Programmen z.&amp;amp;nbsp;B. aus Reports von Xilinx ISE Symbole zu erzeugen und automatisch zu aktualisieren, wenn sich die Pinzuordnung ändert. Das fehlerhafte Eingeben der Pinbelegung von CPLDs und FPGAs von Hand und die Änderung derselben ist damit für &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; User Geschichte.&lt;br /&gt;
&lt;br /&gt;
Die Schaltpläne lassen sich als png und als Postscript exportieren. &lt;br /&gt;
&lt;br /&gt;
Netzlisten (insgesamt über 20 Formate für PCB, Protel, Eagle, BAE, spice, pads, ... ) lassen sich mit dem Programm &amp;lt;i&amp;gt;gnetlist&amp;lt;/i&amp;gt; generieren. Aus diesem Grund ist man (bis auf die Namen der Footprints) unabhängig von der verwendeten Layout-Software und kann diese auch sehr leicht wechseln.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil der gEDA-Suite sind die Dateiformate, welche alle reiner ASCII-Text sind. Dies macht die Entwicklung von Helper-Tools zur Lösung von speziellen Aufgaben sehr leicht. Außerdem können die Dateien deswegen sehr einfach in Versionsverwaltungssystemen wie CVS verwaltet werden, was insbesondere die Entwickler größerer Projekte zu schätzen wissen.&lt;br /&gt;
&lt;br /&gt;
Nähere Informationen über &amp;lt;i&amp;gt;gschem&amp;lt;/i&amp;gt; (gEDA) gibt es unter [[http://www.geda.seul.org/ http://www.geda.seul.org/]].&lt;br /&gt;
&lt;br /&gt;
== Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Etwas bekannter noch als Jfig ist [http://inkscape.org/ &#039;&#039;&#039;Inkscape&#039;&#039;&#039;], ebenfalls ein reines Vektorzeichenprogramm, das vor allem (aber nicht nur) SVG-Dateien erstellt, die mit der Wikipedia eine große Verbreitung gefunden haben. Es ist in fast jeder gängigen Linux Distribution enthalten, eine Windowsversion sowie eine [http://portableapps.com/apps/graphics_pictures/inkscape_portable &#039;&#039;&#039;portable Windowsversion&#039;&#039;&#039;] existiert auch. In der Wikipedia findet sich eine Sammlung von Elektroniksymbolen im [http://commons.wikimedia.org/wiki/Category:SVG_electrical_symbols SVG-Format] und [http://commons.wikimedia.org/wiki/File:Electrical_symbols_library.svg hier]. Als Beispiele damit gezeichneter Schaltpläne sei diese [http://commons.wikimedia.org/wiki/Category:Created_with_electrical_symbols_library] genannt.&lt;br /&gt;
&lt;br /&gt;
== JFig ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Jfig.png|right|thumb|Screenshot]]&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;JFig&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ist eigentlich ein &amp;quot;ganz normales&amp;quot; Vektorzeichenprogramm. Um Schaltpläne zu zeichnen benötigt man deshalb zusätzliche Symbolbibliotheken. &lt;br /&gt;
&lt;br /&gt;
Die Exportmöglichkeiten für das weitverbreitete fig-Format sind sehr vielfältig: mit dem Zusatzprogramm &amp;lt;i&amp;gt;fig2dev&amp;lt;/i&amp;gt;, das direkt aus dem &amp;lt;i&amp;gt;jfig&amp;lt;/i&amp;gt;-Menü aufgerufen kann, bleiben von Postscript über PNG bis hin zu [[LaTeX]] kaum Wünsche offen. Für kleine Schaltpläne oder Diagramme, die ausgedruckt oder in PDF-Dateien verbreitet werden sollen, gibt es deshalb nichts besseres.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist ein komplett in [http://java.sun.com/ Java] geschriebener 1:1-Klon des [[Linux]]-Programms &amp;lt;i&amp;gt;xfig&amp;lt;/i&amp;gt; und sollte daher mit jedem Betriebssystem von Windows bis Mac OS laufen. Es ist kostenlos auf [http://tams-www.informatik.uni-hamburg.de/applets/jfig/ http://tams-www.informatik.uni-hamburg.de/applets/jfig/] erhältlich. (Leider ist der Download schon geraume Zeit nicht mehr möglich. Zitat von der Seite: &amp;quot;Sorry. Recently, I got two serious bug reports which have now been confirmed, and jfig downloads are suspended until these have been resolved.&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Die Bedienung wird für Windows-Benutzer am Anfang wohl ziemlich ungewohnt sein, aber wenn man mal das Grundprinzip verstanden, hat findet man sich durch die eindeutig beschrifteten Schaltflächen schnell zurecht.&lt;br /&gt;
&lt;br /&gt;
== Kicad ==&lt;br /&gt;
[[Bild:kicad1.gif|right|thumb|Screenshot]]&lt;br /&gt;
[[Bild:kicad2.gif|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
[[KiCAD]] ([http://www.lis.inpg.fr/realise_au_lis/kicad/ Homepage&amp;amp;Download]) ist ein Paket aus Design / Layout / Routing Programmen. Es basiert auf wxWidgets und ist damit plattformübergreifend. Die Progamme sind unter der GPL veröffentlicht und damit Open Source.&lt;br /&gt;
Im deutschsprachigen Raum existiert noch ein Zeichenprogramm für Elektrotechnik, welches auch kicad heisst, aber ein kommerzelles Projekt ist, und mit dem hier behandelten lediglich den Namen gemeinsam hat.&lt;br /&gt;
&lt;br /&gt;
Eine Kicad User-Group findet sich unter http://groups.yahoo.com/group/kicad-users/. Die Anmeldung erfolgt erst, nachdem man vom Besitzer der User-Group freigeschaltet wurde (wie üblich für die meisten Yahoo-Groups).&lt;br /&gt;
&lt;br /&gt;
Neben der mitgelieferten, bereits umfangreichen Bibliothek gibt es auf vielen anderen Seiten (z.&amp;amp;nbsp;B. http://www.kicadlib.org/) weitere Bibliotheken zum Download, die einfach integriert werden können.&lt;br /&gt;
&lt;br /&gt;
Für Umsteiger von anderen Programmen sollten sich nach wenigen Stunden bereits die gleichen Ergebnisse erzielen lassen. Beim Erlernen kann das Tutorial von http://www.curiousinventor.com/guides/kicad helfen. Ebenso findet sich hier unter http://www.mikrocontroller.net/articles/KiCAD eine unfangreiche FAQ (und Bibliothekssammlung)&lt;br /&gt;
&lt;br /&gt;
Kicad liefert eine schöne 3D-Ansicht des fertigen Layouts einschließlich der bestückten Bauteile, so dass man an dieser Stelle schon einmal einen Überblick bekommt, ob vielleicht nicht doch etwas vergessen wurde. Es gibt zwar nicht für alle Bauformen ein 3D-Modell, allerdings lassen sich diese selbst erstellen.&lt;br /&gt;
&lt;br /&gt;
Als Nachteil ließe sich noch aufführen, dass der PCB-Layouter in der Version vom Januar 2006 etwas instabil ist und gerne abstürzt. Die Version vom Mai 2010 läuft aber sehr stabil. Ebenso sind die Autorouterfunktionen nicht gut dokumentiert. Ein weiterer Kritikpunkt wäre, dass die offizielle Symbolbibliothek nur amerikanische, aber keine europäischen Schaltplansymbole enthält. Kicad hat unter &amp;quot;contributions&amp;quot; eine (veraltete) Version von SymbolsSimilarEN60617+oldDIN617.lib mit europäischen EN60617 Symbolen. Eine aktuelle Version der gleichen Symbolbibliothek findet sich hier in  Mikrocontroller.de unter http://www.mikrocontroller.net/articles/KiCAD#Bibliotheken. Aktuell ist RevE4.&lt;br /&gt;
Diese enthält aber nicht nur EN60617 Symbole, sondern auch einige andere Symbole wie Logos für Gefahr, Hochspannung, ESD-Schutz und Dummy Symbole für Platinenumrisse, Fiducials, Messpunkte ec.&lt;br /&gt;
&lt;br /&gt;
== Lochmaster ==&lt;br /&gt;
&lt;br /&gt;
[http://www.abacom-online.de/html/lochmaster.html Lochmaster] ist ein Programm zur Erstellung von Layouts speziell auf [[Lochrasterplatine]]n. Schaltplan und Layout sind ein und das selbe.&lt;br /&gt;
&lt;br /&gt;
== PCB ==&lt;br /&gt;
&lt;br /&gt;
[http://pcb.sourceforge.net/index.html PCB] ist ein freies (open source) Layoutprogramm inklusive Autorouter. Zum Zeichnen der Schaltpläne kann [[Schaltplaneditoren#Gschem|Gschem]] verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; wurde ursprünglich für den Atari ST entwickelt und später nach &lt;br /&gt;
Unix portiert. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; läuft meist unter Linux, kann allerdings mit [http://www.cygwin.com/ Cygwin] auch unter Windows betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Als Ausgabeformate stehen [http://de.wikipedia.org/wiki/Postscript Postscript] und Gerber RS-274-X zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; ist, dass alle Funktionen auch über &lt;br /&gt;
Hotkeys gesteuert werden können, was insbesondere nach längerer Einarbeitungszeit ein großer Gewinn gegenüber manchen Windows-Programmen ist.&lt;br /&gt;
&lt;br /&gt;
Zur Einarbeitung ist es meines Erachtens sehr wichtig, sich das [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchzulesen. &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; und &amp;lt;i&amp;gt;Gschem&amp;lt;/i&amp;gt; sind nicht besonders einfach zu benutzen. Gerade am Anfang, wenn man sich versucht damit einzuarbeiten. Aber wenn man einmal mit dem Werkzeug arbeiten kann, wird man es nicht mehr missen wollen.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Einstellungen &amp;amp; Tips ===&lt;br /&gt;
&lt;br /&gt;
Die neue GTK+ Version aus dem CVS Archiv ist der alten, etwas angestaubten Version vorzuziehen. Auch das Kompilieren ist nicht wirklich schwierig. Alles, was dazu notwendig ist (und das Programm hat keine großen Abhängigkeiten), ist in der Readme erklärt. Somit fällt die Kompilierung recht einfach aus.&lt;br /&gt;
&lt;br /&gt;
Auf der linken Seite befindet sich die Auswahl der jeweiligen Layer. Gerade bei Verwendung des Autorouters sollte man hier den 2. Layer deaktivieren. Dies kann ganz einfach mit einem Klick auf die Beschriftung erfolgen (component, GND-comp und VCC-comp). Ebenso sollte man unused (grün) und unused (blau) deaktivieren.&lt;br /&gt;
&lt;br /&gt;
Als Route Style verwende ich den &#039;&#039;Power Style&#039;&#039; mit einer Dicke von 25 Mil (0.6 mm). Der &#039;&#039;Signal Style&#039;&#039; scheint mir gerade bei schlechten Belichtungsverhältnissen nicht ganz optimal zu sein.&lt;br /&gt;
&lt;br /&gt;
=== Autorouter ===&lt;br /&gt;
&lt;br /&gt;
Der Autorouter von &amp;lt;i&amp;gt;PCB&amp;lt;/i&amp;gt; hat einige Schwächen, welche allerdings bei Hobby-Projekten völlig belanglos sind: Beispielsweise kann es bei TQFP-Gehäusen mit 100 Pins u. 0.5mm Pinabstand zu Problemen kommen, 64polige TQFP-Gehäuse (z.&amp;amp;nbsp;B. vom ATmega 128) gehen jedoch ohne Probleme. &lt;br /&gt;
&lt;br /&gt;
Hat man sich soweit im [http://www.geda.seul.org/wiki/geda:gsch2pcb_tutorial Tutorial] durchgearbeitet und seine Bauteile positioniert, kann der Autorouter zum Einsatz kommen. Auch hier ist ein wenig Experimentierfreude erforderlich, um zu zufriedenstellenden Ergebnissen zu kommen.&lt;br /&gt;
&lt;br /&gt;
Unter &#039;&#039;&#039;Connects / Optimize routed Tracks / Miter&#039;&#039;&#039; können die gerouteten Linien in 45 Grad Winkel modifiziert werden.&lt;br /&gt;
&lt;br /&gt;
=== Footprints ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcbgtk.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
Sehr wichtig für das Zusammenspiel zwischen dem Schaltplaneditor [http://www.geda.seul.org/tools/gschem/ Gschem] und dem [http://pcb.sourceforge.net PCB] ist die Verwendung der richtigen Footprints.&lt;br /&gt;
&lt;br /&gt;
Mir persönlich ist aufgefallen, daß viele Pads zu klein sind. Gerade im Bereich der Hobbyätzerei könnten sie ruhig größer ausfallen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Element&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Alternativer Footprint&amp;lt;/th&amp;gt;&lt;br /&gt;
   &amp;lt;th&amp;gt;Beschreibung&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Widerstand 1/4 Watt&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R0w4&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;R025&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Ich benutze R0w4, weil es die Pads größer sind.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;Elko&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;RADIAL_CAN 200&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td&amp;gt;CR200 ist für größere Elkos (Umfang), während bei RADIAL_CAN 200 der Umfang kleiner ist. Leider fehlt die Polarität bei diesem Symbol.  Allgemein jedoch sind bei beiden Elementen die Pads zu klein.&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pcb_widerstand.png]]&lt;br /&gt;
&lt;br /&gt;
Mir waren irgendwie alle Widerstände nicht ideal genug.&lt;br /&gt;
Die Löcher werden ja meist mit 0.8mm gebohrt: (0.8 mm * (1 mil/ 0.0254 mm) = 31 mil. Eine Richtlinie für den gesamten Paddurchmesser habe ich nicht gefunden. Aus einer Elektor Platine habe ich mit Meßschieber ungefähr 2 mm gemessen, also 78 mil.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;R__0w4_10.16mm&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 0 0 0 -10300 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[0 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[40000 0 7800 3100 6100 3500 &amp;quot;&amp;quot; &amp;quot;2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [7900 0 4400 0 1000]&lt;br /&gt;
    ElementLine [32000 0 35500 0 1000]&lt;br /&gt;
    ElementLine [7900 -3300 7900 3300 1000]&lt;br /&gt;
    ElementLine [32000 -3300 32000 3300 1000]&lt;br /&gt;
    ElementLine [7900 -3300 32000 -3300 1000]&lt;br /&gt;
    ElementLine [7900 3300 32000 3300 1000]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Kapazitäten mit einer Breite von 2.54 mm oder 5.08 mm nutze ich folgendes Element&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 65000 78500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[2000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-8000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-18000 -2500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[-16000 -2500 -10000 -2500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;&amp;quot;]&lt;br /&gt;
    ElementLine [-4000 -6500 -4000 2500 1399]&lt;br /&gt;
    ElementLine [-2000 -6500 -2000 2500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine Breite von 5.08 mm oder 7.62 mm nutze ich folgendes Element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Element[&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 63000 93500 0 0 0 100 &amp;quot;&amp;quot;]&lt;br /&gt;
(&lt;br /&gt;
    Pin[14000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[4000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_2&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pin[-16000 -4500 7000 3000 4200 2000 &amp;quot;&amp;quot; &amp;quot;cap_1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    Pad[5500 -4500 12500 -4500 1000 2000 3000 &amp;quot;&amp;quot; &amp;quot;1&amp;quot; &amp;quot;edge2&amp;quot;]&lt;br /&gt;
    ElementLine [-7500 -8500 -7500 500 1399]&lt;br /&gt;
    ElementLine [-5500 -8500 -5500 500 1399]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ProtoCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://protomind.net/page.php?7 ProtoCAD] ist ein Werkzeug, um schnell Schaltpläne zu entwerfen. Es ist für [[Lochrasterplatine]]n entwickelt worden, kann aber auch für andere Methoden genutzt werden. (Java 1.5 kompatibel, Swing GUI, Open Source)&lt;br /&gt;
&lt;br /&gt;
== QCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://www.ribbonsoft.de/qcad.html QCAD] gibt es in einer lizenzpflichigen und in einer Open Source Community Version. QCAD ist kein ausschliesslicher Schaltungseditor, sondern kann auch für andere 2D Zeichnungen (Konstruktionen etc.) eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== sPlan ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sPlan&#039;&#039;&#039; ist ein relativ preiswerter Schaltplaneditor für Windows (95,98,ME,NT,2000,XP)&lt;br /&gt;
Infos und eine Demoversion von sPlan gibt es u.a. bei http://www.abacom-online.de/html/splan.html&lt;br /&gt;
&lt;br /&gt;
== S-Print-Layout ==&lt;br /&gt;
&lt;br /&gt;
http://www.abacom-online.de/html/sprint-layout.html&lt;br /&gt;
&lt;br /&gt;
== TARGET 3001! == &lt;br /&gt;
&lt;br /&gt;
[[Bild:target3001.png|right|thumb|Screenshot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; für Windows (ME/NT4/2000/XP/Vista/Win7) bietet folgende Funktionen&lt;br /&gt;
&lt;br /&gt;
* Schaltplan&lt;br /&gt;
* Bauteilerstellung &lt;br /&gt;
* Schaltungssimulation (PSPICE-Syntax)&lt;br /&gt;
* Platinen-Layout mit Autoplatzierer&lt;br /&gt;
* Autorouter &lt;br /&gt;
* Anzeige der Platine in 3D&lt;br /&gt;
* Frontplattenentwurf direkt an oder über der Platine&lt;br /&gt;
&lt;br /&gt;
Die Platinen-Layout-Software ist in deutscher, englischer oder französischer Sprache. Es gibt eine für nicht kommerzielle Anwendungen kostenlose Version: &amp;lt;b&amp;gt;TARGET 3001! discover&amp;lt;/b&amp;gt; ist beschränkt auf 250 Pins/Pads, 2 Kupferlagen&lt;br /&gt;
und 30 Signale sind simulierbar, die Fläche ist unbeschränkt (1,2m x 1,2m).&lt;br /&gt;
&lt;br /&gt;
Auf der c&#039;t 11/07 CD ist eine &amp;lt;b&amp;gt;SE Version&amp;lt;/b&amp;gt; von TARGET 3001! verfügbar welche 400 Pins/Pads verarbeiten kann. &lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;b&amp;gt;PCB-Pool Edition&amp;lt;/b&amp;gt; hat keine Beschränkungen, speichert aber die Layouts in einem von normalen Target Versionen nicht lesbaren Format. Diese Layouts können dann allerdings nur zum selbst Ätzen ausgedruckt werden oder vom PCB-POOL® produziert werden.&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://server.ibfriedrich.com/wiki/ibfwikide Target3001 Homepage]&lt;br /&gt;
* [http://www.pcb-pool.com/ppde/service_downloads.html Target3001 PCB-Pool-Edition]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;TARGET 3001!&amp;lt;/i&amp;gt; bietet ein typisches Windows Look-And-Feel. Eine einfache Einführung findet sich &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Kurzeinführung2 hier]&#039;&#039;&#039;. Wer sich schon mit Eagle auskennt, kann auch &#039;&#039;&#039;[http://server.ibfriedrich.com/wiki/ibfwikide/index.php?title=Eagle hier]&#039;&#039;&#039; schauen. Es gibt kostenlosen direkten Service durch den Hersteller telefonisch oder per E-Mail auch für Einsteiger oder Demo-User.&lt;br /&gt;
&lt;br /&gt;
== TinyCAD ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TinyCAD&#039;&#039;&#039; ist ein weiterer &#039;&#039;Open Source&#039;&#039; Schaltplaneditor für Windows. Mehr Infos gibt es auf der [http://tinycad.sourceforge.net Projektseite]. TinyCAD kann z.&amp;amp;nbsp;B. mit VeeCAD (s.u.) kombiniert werden.&lt;br /&gt;
&lt;br /&gt;
== VeeCAD ==&lt;br /&gt;
&lt;br /&gt;
[http://veecad.com/ VeeCAD] Stripboard Layout Editor ist ein Werkzeug, um [[Lochrasterplatine]]n zu entwerfen. VeeCAD ist als kommerzielle Version und als eingeschränkte Freiversion erhältlich.&lt;br /&gt;
&lt;br /&gt;
== ZenitPCB Suite ==&lt;br /&gt;
&lt;br /&gt;
[http://www.zenitpcb.com/eng/Index_Eng.html ZenitPCB Suite] is directed to all those people who want to make printed circuit board for hobby, or to student and academics from universities or high schools, who want to create their own pcb with a professional approach and particularly without having to pay for expensive licenses. ZenitPCB Layout (part of the ZenitPCB Suite) is completely freeware for personal or semi-professional use, limited to [http://www.zenitpcb.com/images/MainBoard_01_01.gif 800 pins]. (Windows XP, Vista)&lt;br /&gt;
&lt;br /&gt;
Übersetzung: ZenitPCB richtet sich an all diejenigen, welche fürs Hobby, Schule, Studium etc professionelle PCBs erstellen möchten, ohne viel Geld für Lizenzen ausgeben zu müssen. ZenitPCb ist in der eingeschränkten Version mit 800 Pins für den semi-professionellen und privaten Gebrauch kostenfrei benutzbar.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Schaltungssimulation]]&lt;br /&gt;
* [[Dos and don&#039;ts - Platinenlayout]]&lt;br /&gt;
* [[Lochrasterplatine]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;br /&gt;
[[Kategorie:Schaltplaneditoren| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=62657</id>
		<title>FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=62657"/>
		<updated>2011-12-22T18:16:44Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* I/O Anschlüsse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FPGA ist die Abkürzung für &amp;quot;&#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
=== Grundelemente  ===&lt;br /&gt;
&lt;br /&gt;
Ein FPGA besteht, ähnlich wie ein [[CPLD]], aus vielen Logikelementen, hauptsächlich [[FlipFlop]]s (FF) und davor geschalteten Logikelementen. Diese Logikelemente sind entweder Verschaltungen verschiedener Logikgatter (Actel) oder aber kleine LUTs (LUT = Lookup-Table), die über elektronische &amp;quot;Schalter&amp;quot; entsprechend der vom Entwickler gewünschten Funktion miteinander verknüpft werden können.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;LUT&#039;&#039;&#039; kann eine beliebige kombinatorische Funktion (NAND, XOR, AND, Multiplexer etc.) aus den Eingangssignalen realisieren. Die Anzahl der Eingangssignale pro LUT ist vom FPGA abhängig und liegt meist zwischen 4 und 6. Für Funktionen die mehr Eingänge erfordern als eine einzige LUT besitzt (hohes Fan-In), werden mehrere LUTs direkt miteinander verschaltet. Die [[FlipFlop]]s dienen dazu, Signalwerte zwischenzuspeichern, um sie im nächsten Takt weiterverarbeiten zu können. Das Verhältnis zwischen der Anzahl der LUTs und der Anzahl der Flip-Flops ist meist 1:1. Aktuelle FPGAs bestehen aus bis zu einigen zehntausend Logikelementen.&lt;br /&gt;
&lt;br /&gt;
Die logischen Schalter und Speicher sind in den meisten FPGAs durch [[Speicher#SRAM | SRAM]]-Speicherzellen realisiert, welche beim Bootprozess passend geladen werden. Das Laden dieser Konfigurationsdaten bzw. Verknüpfungsregeln geschieht dabei in der Regel aus einem speziellen [[Speicher#Flash | Flash-ROM]]-Baustein heraus. Es kann aber auch ein Mikrocontroller benutzt werden. Die meisten FPGAs bieten daher für diesen Konfigurationsvorgang mehrere Modi an (seriell, parallel, Master/Slave). Da die SRAM-Zellen ihren Inhalt beim Abschalten der Versorgungsspannung verlieren, muss ein SRAM-basierter FPGA bei jedem Einschalten neu konfiguriert werden. Daher benötigt ein solcher FPGA einige Millisekunden bis zur Betriebsbereitschaft.&lt;br /&gt;
&lt;br /&gt;
Eine FPGA-Familie beinhaltet Typen mit unterschiedlicher Anzahl und Komplexität von Logikzellen. So enthält ein Spartan3-1000 ca. 2,5 mal so viel Logik (FF, LUTs) wie ein Spartan3-400.  &lt;br /&gt;
&lt;br /&gt;
FPGAs mit nichtflüchtigem Speicher basieren auf [[Speicher#EEPROM | EEPROM]]-, [[Speicher#Flash | Flash]]-Speicher (einige Familien von Lattice und Actel) oder AntiFuse- Technologie (Actel). Die sogenannten AntiFuse FPGAs sind nur einmalig programmierbar.&lt;br /&gt;
&lt;br /&gt;
=== I/O Anschlüsse ===&lt;br /&gt;
&lt;br /&gt;
FPGAs unterstützen als universal einsetzbare Digital-ICs eine Vielzahl von Signalstandards. Üblich sind verschiedene TTL-Pegel (5V, 3,3V, 2,5V), differentielle Signalstandards (LVDS, GTL, GTP) und im Hochpreisbereich serielle Hochgeschwindigkeitsstandards mit bis zu 28 Gbit/s. Oftmals sind weitere Eigenschaften wie Treiberstärke und Flankensteilheit für jeden benutzerdefinierbaren Anschluss (User-IO) einstellbar. Meist sind die Pins zu Bänken mit gleichem I/O Standard zusammengefasst. Innerhalb einer solchen Bank arbeiten alle Pins im gleichen I/O Standard und mit der selben I/O Spannung.&lt;br /&gt;
&lt;br /&gt;
Für hohe Taktraten werden sowohl für Daten, als auch die Takte die LVDS-Funktion verwendet. Hier sind zwei komplementäre Buffer in unmittelbarer Nachbarschaft angeordnet, um das DS = differential signalling bei LV = low voltage zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
[[Ausgangsstufen Logik-ICs | Tristatebuffer]] werden implizit über VHDL definiert, indem einem Ausgang zeitabhängig der Zustand &amp;quot;Z&amp;quot; zugewiesen wird. Alternativ kann er explizit als Komponente eingefügt werden.&lt;br /&gt;
&lt;br /&gt;
Ebenso können je nach Hersteller und Typ interne Pull-Up und Pull-Down-Widerstände sowie Terminationswiderstände zugeschaltet werden, [[Wellenwiderstand | Terminierung]] wird ebenfalls unterstützt. Zudem befinden sich hinter vielen IO-Pads sog. [[Boundary_scan| Boundary Scan]] Zellen.&lt;br /&gt;
&lt;br /&gt;
Bei komplexeren FPGAs sind die Ein- und Ausgänge mit Delaygliedern versehen, die ein Anpassen des Timings bei Bussen wie z.B. schnellen Speichern ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Einige Pins übernehmen besondere Funktionen und sind somit vom Anwender nicht uneingeschränkt oder z.T. auch gar nicht nutzbar. Dazu zählen neben der [[JTAG]]-Schnittstelle z.&amp;amp;nbsp;B. die Pins zum Einlesen der Konfigurationsdaten. &lt;br /&gt;
&lt;br /&gt;
Ferner sind einige wenige Pins (2 - 8) zum Einspeisen des Taktes für das Design vorgesehen. Für schnelle Schaltungen sollten diese reservierten Pins benutzt werden. Sie enthalten kein Eingangs-FF und wirken über instanziierbare buffer direkt auf Taktnetze / PLLs. Bei leistungsfähigen grossen Applikationen mit mehreren Takten müssen diese genutzt werden, da nur eine begrenzte Zahl von DCMs zur Verfügung steht und benachbarte IO-Pins genutzt werden müssen. Für hohe Taktraten werden LVDS-eingänge verwendet.&lt;br /&gt;
&lt;br /&gt;
Das I/O Verhalten wird zusammen mit vielen anderen Parametern in einer Datei festgelegt (Xilinx *.ucf, Altera *.acf, Lattice *.lpf). Alternativ können diese auch als Syntheseoption im Kommentarfeld des [[Verilog]]/[[VHDL]] Codes mit angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die Hersteller bieten FPGAs mit gleicher Anzahl von Logikelementen in unterschiedlichen Gehäusen an. So kann der FPGA mit der passenden Anzahl von Pins eingesetzt werden. Das obere Ende markieren Chips mit über 1500 I/Os, die kleinsten bieten ca. 50 User-I/O. Oft werden nur [[IC-Geh%C3%A4useformen#BGA|BGA]] und [[IC-Geh%C3%A4useformen#QFP|QFP]] Gehäuse (bis ca. 240 Pins) angeboten.&lt;br /&gt;
&lt;br /&gt;
Umgekehert kann innerhalb einer Gehäusefamilie hochmigriert werden, d.h. bei gleichbleibendem pinout, kann ein komplexerer FPGA eingesetzt werden. Das Layout muss dann icht verändert werden, um eine Schaltung mit mehr Funktionen auszustatten.&lt;br /&gt;
&lt;br /&gt;
=== Komplexe Funktionsblöcke ===&lt;br /&gt;
&lt;br /&gt;
Neben den einfachen FlipFlops beinhalten FPGAs darüber hinaus komplexe Routing- und Speicherkonfigurationsoptionen innerhalb und außerhalb der logischen Elemente (LEs), die es gestatten, komplexe Schalt- und Rechenstrukturen aufzubauen. Für rechenintensive Designs, z.&amp;amp;nbsp;B. in der Signalverarbeitung, enthalten viele FPGAs &#039;&#039;&#039;Multiplizierer&#039;&#039;&#039; direkt auf dem Chip, die in einem einzigen Taktzyklus Multiplikationen durchführen können.&lt;br /&gt;
&lt;br /&gt;
Ferner haben FPGAs oft einen von den LEs getrennt verfügbaren &#039;&#039;&#039;RAM&#039;&#039;&#039;-Bereich integriert, der sich in vielfältiger Weise ansprechen lässt. So können damit Single- oder Dualport-RAMs mit variabler Bitbreite erzeugt werden. Üblich sind mehrere (4 - 30) kleinere Dualport [[Speicher#BRAM | RAM-Blöcke]] von 4 - 16 kbit. Einige Familien besitzen einen größeren internen RAM, andere spezielle FIFO-Blöcke.&lt;br /&gt;
&lt;br /&gt;
Zur Generierung spezieller Takte sind &#039;&#039;&#039;PLL&#039;&#039;&#039;s (Phase Locked Loop) auf dem FPGA integriert. Einige Hersteller setzen mit dem selben Ziel &#039;&#039;&#039;DLL&#039;&#039;&#039;s (Delay Locked Loop) ein. Mittels dieser Blöcke können aus einem Taktsignal weitere erzeugt werden. Typisch sind Taktverdopplung oder -vervielfachung. Ebenso kann der Takt geteilt werden oder ein Signal gleicher Frequenz, aber um eine halbe, viertel usw. Periode verschoben erzeugt werden. Typische Anwendungen sind die Ansteuerung von [[Speicher#DDR-RAM | DDR-RAMs]] oder die Kompensation von Laufzeitunterschieden zwischen Takt und mit diesem getakteten Steuersignalen. Meist sind 2 - 8 Taktnetzwerke und PLL/DLLs gleicher Anzahl integriert. Siehe auch [[Taktung FPGA/CPLD]].&lt;br /&gt;
&lt;br /&gt;
=== CPU im FPGA ===&lt;br /&gt;
&lt;br /&gt;
Programmierbare Prozessoren sind auch bei FPGA-Designs immer häufiger anzutreffen. CPUs sind zwar im Allgemeinen langsamer und weniger effizient, als eine vollständige Implementation aus Logik-Primitiven - aber bei komplexen Abläufen auch deutlich einfacher zu entwickeln. Insbesondere bei sequentiellen Aufgaben (Benutzerinterface, komplexe Steueraufgaben etc.) wird man gerne auf eine klassische CPU zurückgreifen. &lt;br /&gt;
&lt;br /&gt;
Manche FPGAs integrieren dazu einen oder mehrere Prozessorkerne (z. B. [[AVR]] bei Atmels FPSLIC oder PowerPC bei Xilinx&#039; Virtex) als &#039;&#039;HardCores&#039;&#039; auf einem IC.&lt;br /&gt;
&lt;br /&gt;
Auf der anderen Seite gibt es auch [[FPGA Soft Core | SoftCores]] (z. B. ARM-Cortex-M1 bei IGLOO-FPGA von [http://www.actel.com ACTEL]), Prozessorkerne die als Quelltext oder als vorsynthetisierte Netzliste vorliegen. In Abhängigkeit von den zur Verfügung stehenden Ressourcen können diese &#039;&#039;SoftCores&#039;&#039; beliebig instanziiert werden. Es gibt eine Vielzahl verschiedener &#039;&#039;SoftCores&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
Teilweise kompatibel zu etablierten Prozessorarchitekturen (MIPS, SPARC, AVR), zum Teil optimiert auf die FPGAs einzelner Hersteller. Auch auf vergleichsweise &lt;br /&gt;
kleinen aktuellen FPGAs kann man problemlos eine 32bit-RISC-CPU integrieren.&lt;br /&gt;
&lt;br /&gt;
Als Programmspeicher werden die FPGA-internen [[Speicher#BRAM | RAM-Blöcke]] oder externe [[Speicher]] (SDRAM, SRAM) genutzt. Für einige Prozessorkerne stehen Hochsprachen wie C, C++ etc. zur Verfügung, andere werden in Assembler programmiert.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeit ===&lt;br /&gt;
&lt;br /&gt;
Die maximale „Geschwindigkeit“ eines FPGAs ist von der verwendeten Halbleitertechnologie (Prozess, Strukturgrößen), der internen Schaltungstopologie (Komplexität der LEs), Vorhandensein von harten Strukturen und vor allem vom Design abhängig. Dabei sind der sogenannte Datendurchsatz und die rein maximale Systemtaktfrequenz zu unterscheiden. Die erreichbare Taktfrequenz lässt sich ohne detaillierte Kenntnis des Designs nicht abschätzen, möglich sind je nach »Speed Grade« des ICs typischerweise Taktfrequenzen von 300-600 MHz für die Schaltgeschwindigkeit der reinen Logikelemente. Je nach der Anzahl und Komplexität der pro Takt durchzuführenden Operationen ergeben sich dann reale Systemtaktfrequenzen von meist 10-100 MHz für global operierende Einheiten und bis zu 300 MHz für schnelle lokale Module. Maßgeblich ist in wieweit das Design auf Fläche bzw. Geschwindigkeit hin optimiert und vom Tool synthetisiert wurde: Durch das Einbringen von zusätzlichen Registerstufen lassen sich z.&amp;amp;nbsp;B. zeitkritische Pfade entschärfen (Pipelining), sodass die Frequenz des Chips angehoben werden kann und somit der effektive Datendurchsatz erhöht wird, mit dem Nachteil der gesteigerten Latenz durch das Mehr an Takten. Der Datendurchsatz lässt sich darüber hinaus durch die Nutzung paralleler Architekturen verbessern.&lt;br /&gt;
&lt;br /&gt;
Die Systemfrequenz kann-, muss aber nicht der Frequenz entsprechen, mit der Daten zyklisch eingetaktet und verarbeitet werden; zudem sind Schaltungsteile mit unterschiedlichen Taktfrequenzen zu unterscheiden: Mit einem Systemtakt von 20 MHz lassen sich z.&amp;amp;nbsp;B. 18-Bit AD-Wandler auslesen, die so z.&amp;amp;nbsp;B. alle 1 µs neue Daten liefern, die verarbeitet werden müssen. Bei der Nutzung von 5 solchen Wandlern, die sequentiell verarbeitet werden, lägen 5 MHz Datenfrequenz vor. Für andere Schaltungsteile, die z.&amp;amp;nbsp;B. asynchron an die Peripherie andocken, sowie reine »state machines« können Schaltungsteile auf der 2-4 fachen Frequenz betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Generell sind Fläche und Geschwindigkeit konkurrierende Größen, zwischen denen ein Optimum gefunden werden muss. Für die preiswerten FPGA-Serien wie Spartan (Xilinx) und Cyclone (Altera) sind aufgrund technologischer Randbedingungen etwa 10-30% weniger Taktgeschwindigkeit bei gleichem Design zu erwarten als bei den großen Brüdern der Virtex- (Xilinx) bzw. Stratix-Familie (Altera). Es muss mit mehr Verbrauch an Logikelementen und Taktzyklen gerechnet werden (weniger Routingreserven, geringere Zahl von LUT-Eingängen, langsamere Logikelemente). Dafür sind sie sehr preiswert.&lt;br /&gt;
&lt;br /&gt;
Funktionstechnisch identische Chips werden oft in zwei oder mehr Geschwindigkeitsklassen (speed grades) angeboten, die sich meist durch Bauteilselektion bei der Produktion ergeben. Grob kann man ca. 5%-10% höhere Taktung zwischen zwei speed grades erwarten.&lt;br /&gt;
&lt;br /&gt;
== Hersteller ==&lt;br /&gt;
&lt;br /&gt;
Die größten Hersteller von FPGAs sind [http://www.altera.com Altera] und [http://www.xilinx.com Xilinx]. Weitere Hersteller sind [http://www.latticesemi.com/ Lattice], [http://www.actel.com Actel] und [http://www.atmel.com Atmel].&lt;br /&gt;
&lt;br /&gt;
== Anwendung und Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Der Aufbau komplizierter, applikationsnaher Strukturen wird meist durch automatische Routing- und Synthesewerkzeuge erledigt, welche mit einer logischen, funktionellen Beschreibung der Architektur in einer Hardwarebeschreibungssprache wie z.&amp;amp;nbsp;B. VHDL &amp;quot;gefüttert&amp;quot; werden. Die Hardwarebeschreibung in [[VHDL]] gelingt ihrerseits z.&amp;amp;nbsp;B. mit VHDL-generierenden Werkzeugen, mittels derer zuvor Logikstrukturen, hardwarenahe Strukturen, Ablaufdiagramme und Zustandsautomaten formuliert wurden.&lt;br /&gt;
&lt;br /&gt;
Durch die Standardisierung der Architektur einerseits und die Entkoppplung von applikationsorientierter Beschreibung sowie Chip- und Hersteller-spezifischer Synthese andererseits, wird die Hardware quasi als Software gebaut. Dies wiederum schafft alle Optionen der Wiederverwendung und Austausch von &amp;quot;Hardwareteilen&amp;quot;. So stehen inzwischen komplett nutzbare Schaltungen wie serielle Bausteine, RAM-Controller und vieles mehr zur Verfügung - teilweis sogar in Form von Open Source Projekten.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsboards und Starterkits ==&lt;br /&gt;
=== Boards für Xilinx-FPGAs ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;sortable&amp;quot; id=&amp;quot;fpgaevalboards&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichn.&lt;br /&gt;
! Preis (&amp;amp;euro;)&lt;br /&gt;
! FPGA&lt;br /&gt;
! RAM (MByte)&lt;br /&gt;
! Flash (MByte)&lt;br /&gt;
! USB&lt;br /&gt;
! Ethernet&lt;br /&gt;
! RS-232&lt;br /&gt;
! µC&lt;br /&gt;
! Eingabe&lt;br /&gt;
! sonst.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.knjn.com/board_Xylo.html Xylo-L]&lt;br /&gt;
| 130&lt;br /&gt;
| XC3S500E&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2.0&lt;br /&gt;
| 10base-T&lt;br /&gt;
| -&lt;br /&gt;
| LPC213x&lt;br /&gt;
| -&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.xilinx.com/s3estarter Spartan3e Starter Kit]&lt;br /&gt;
| 180&lt;br /&gt;
| XC3S500E&lt;br /&gt;
| 64 MB DDR-SDRAM&lt;br /&gt;
| 16&lt;br /&gt;
| (JTAG)&lt;br /&gt;
| 10/100&lt;br /&gt;
| 2x&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 1 Drehgeber, 4 Schalter&lt;br /&gt;
| Coolrunner CPLD, LCD, 3-Bit VGA, PS/2&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&amp;amp;Nav2=Programmable&amp;amp;Prod=S3BOARD Digilent Spartan-3]&lt;br /&gt;
| 100&lt;br /&gt;
| XC3S200 XC3S400 XC3S1000&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 1x&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| VGA, PS/2, 7seg&lt;br /&gt;
|-&lt;br /&gt;
| [[Digilent Nexys]]&lt;br /&gt;
| 100&lt;br /&gt;
| XC3S200/400/1000&lt;br /&gt;
| 16&lt;br /&gt;
| 4&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| 7seg, Programmierung &amp;amp; Stromversorgung über USB&lt;br /&gt;
|-&lt;br /&gt;
| [[Digilent Nexys 2]]&lt;br /&gt;
| 121&lt;br /&gt;
| XC3S500E/1200E&lt;br /&gt;
| 16&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| 1x&lt;br /&gt;
| Cypress FX2 &lt;br /&gt;
| 4 Taster, 8 Schalter, 8 LEDs&lt;br /&gt;
| 4x7Seg, Programmierung &amp;amp; Stromversorgung über USB oder über Netzteil (5V-15V)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.uxibo.de Uxibo]&lt;br /&gt;
| 88&lt;br /&gt;
| XC2S200E&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 1.1&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4 Taster, 8 Schalter&lt;br /&gt;
| VGA I/O, Videomux, dual PS/2, 7seg, Buzzer, IOs auf Pinleisten, dual-channel FTDI2232C, 48 MHz + prog. Oszillator, Programmierung &amp;amp; Stromversorgung über USB&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.fpgaz.com/wiki/doku.php?id=fpgaz:usbp:hw FPGAz USBP]&lt;br /&gt;
| $135&lt;br /&gt;
| XC3S400&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Cypress FX2&lt;br /&gt;
| 2 Taster&lt;br /&gt;
| 8 LEDs, I2C-EEPROM&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cesys.com/fpga_produktmatrix.html USBS6] Cesys &lt;br /&gt;
| 399&lt;br /&gt;
| XC6SLX16&lt;br /&gt;
| 128&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| FX-2&lt;br /&gt;
| Drehschalter, Leds.&lt;br /&gt;
|115 I/O signale, einstellbarer IO Standard, zweiter USB Port (FT232), WIN 32&amp;amp;64 Bit und LINUX Treiber&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cesys.com/fpga/spartan/efm01_de.html EFM 01] Cesys &lt;br /&gt;
| 145&lt;br /&gt;
| XC3S500E&lt;br /&gt;
| -&lt;br /&gt;
| 4&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| FX-2&lt;br /&gt;
| -&lt;br /&gt;
| 28 x 44mm, 50 I/O auf 2.54mm Stiftleiste, WIN und LINUX Treiber&lt;br /&gt;
|-&lt;br /&gt;
| [http://shop.trenz-electronic.de/catalog/product_info.php?products_id=456 Avnet Spartan 3A Evaluation Kit]&lt;br /&gt;
| 50&lt;br /&gt;
| XC3S400A&lt;br /&gt;
| -&lt;br /&gt;
| 16&lt;br /&gt;
| 2.0&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| WIN und LINUX Treiber&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.ct-lab.de FPGA-Karte aus dem c´t-Lab]&lt;br /&gt;
| 92&lt;br /&gt;
| XC3S400&lt;br /&gt;
| -&lt;br /&gt;
| SD-Kartenslot (Bitstream-File wird über µC ins FPGA geladen, Dateiauswahl via Systembus oder Panel oder fest einstellbar)&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| via IFP-Karte und Systembus an µC&lt;br /&gt;
| ATmega644&lt;br /&gt;
| optionales Bedienpanel mit LCD-Display, Drehgeber und Taster&lt;br /&gt;
| Bestandteil des Laborsystems c´t-Lab der Zeitschrift c´t.&lt;br /&gt;
VGA-Buchse, SD-Kartenslot (u.a. auch zum Laden des FPGA). Preis für FPGA-Platine mit verlöteten SMD-Bauteilen und Teilesatz. Optionale Erweiterungskarten mit schnellen DACs, Eingangskomparator, SRAM, Echtzeituhr, PS/2, RS232 (am FPGA). Optionaler JTAG-Adapter. &lt;br /&gt;
http://www.ct-lab.de, http://www.segor.de, http://thoralt.ehecht.com/phpbb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Raggedstone 1 - Spartan-3 Development PCI-Karte ====&lt;br /&gt;
* Spartan-3 FPGA FG456-Package&lt;br /&gt;
* 32 bit, 33 MHz, 3.3/5V PCI interface&lt;br /&gt;
* 4Mbit Flash Memory&lt;br /&gt;
* 16KBit serielles EEprom&lt;br /&gt;
* 4 x 7 Segment Anzeigen LED, abnehmbar&lt;br /&gt;
* LM75 Temperatursensor&lt;br /&gt;
* viele DIL-Header für eigene Erweiterungen, verschiedene werden auch durch Hersteller angeboten&lt;br /&gt;
* 2 Drucktaster&lt;br /&gt;
* Mit dem PCI-Interface kann bei entsprechender Programmierung des FPGA auf den PCI-Bus eines Hostrechners zugegriffen werden, Beispieldesign unter http://projects.varxec.net/raggedstone1&lt;br /&gt;
* Webseite: http://www.enterpoint.co.uk/moelbryn/raggedstone1.html&lt;br /&gt;
* Preis mit XC3S400 ca. €165,- (inkl MwSt.)&lt;br /&gt;
* Preis mit XC3S1500 ca. €265,-  (inkl. MwSt.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== LiveDesign Evaluation Board von Altium ====&lt;br /&gt;
* Kompatibel mit den LiveDesign-fähigen Entwicklungstools von Altium&lt;br /&gt;
* Die Altium-Software nutzt direkt die Programmier-Software des jeweiligen FPGA-Herstellers&lt;br /&gt;
* Xilinx XC3S1000-4FG456C, wahlweise aber auch mit Altera EP1C12F324C8 (s.u.)&lt;br /&gt;
* Mit Flachbandkabel für PC-Verbindung (Druckerport) sowie weiteren Kabeln und Verbindern, USB-Dongle (braucht man für NB2 und NB3000) ebenso verfügbar&lt;br /&gt;
* Peripherie: LEDs, Dip-Schalter, 6-stellige Siebensegmentanzeige, Taster, Stereo-DAC, zwei 256K x 16 RAMs&lt;br /&gt;
* &#039;&#039;kein&#039;&#039; on-board Flash RAM für FPGA-Konfiguration, diese muss nach dem Einschalten neu geladen werden&lt;br /&gt;
* Ports: PS2-Maus &amp;amp; -Tastatur, RS232, VGA (512 Farben), 2x18 IO-Pins für allgemeine Zwecke &lt;br /&gt;
* Board NB1 (LiveDesign), nicht mehr neu erhältlich; manchmal beim großen Versteigerer zu haben für ca. 100 EUR&lt;br /&gt;
* Board NB2, immer noch aktuell, mehrere Erweiterungskarten verfügbar, Kosten ca. 1.800 EUR&lt;br /&gt;
* Board NB3000, sehr gut ausgestattetes, kompaktes Board, Kosten ca. 340 EUR ~ 400 EUR, je nach FPGA-Familie. Erhältlich mit Altera, Xilinx oder Lattice-Chip&lt;br /&gt;
* NB3000 enthält sog &amp;quot;SoftDesign&amp;quot; Lizenz für Altium, gültig 1 Jahr. Sehr große Software-Bibliothek, inkl. verschiedener 8Bit- und einem 32Bit-Softcore. Per JTAG auch eigene Boards programmierbar&lt;br /&gt;
&lt;br /&gt;
==== Trenz-Electronic ====&lt;br /&gt;
http://www.trenz-electronic.de/products.html&lt;br /&gt;
* Kleines FPGA Board mit ucLinux und Virtex-II PowerPC, optional: ucLinux und Microblaze Softprozessor im Spartan-3 FPGA&lt;br /&gt;
* Pal/Gal kompatible FPGA und CPLD Module&lt;br /&gt;
* Spartan-3 FPGA Mikromodul mit 200 bis 1000 Systemgattern&lt;br /&gt;
* Spartan-3A DSP Mikromodul mit bis zu 18000 / 34000 Systemgattern&lt;br /&gt;
* Spartan-6 DSP mit bis zu 34000 Gattern&lt;br /&gt;
&lt;br /&gt;
==== Simple-Solutions ====&lt;br /&gt;
http://www.simple-solutions.de/de/products/index.php&lt;br /&gt;
Mehrere Spartan3-FPGAs - Boards&lt;br /&gt;
&lt;br /&gt;
==== CESYS ====&lt;br /&gt;
http://www.cesys.com&lt;br /&gt;
&lt;br /&gt;
Cesys ist Entwickler und Hersteller von FPGA-boards mit Sitz in Deutschland.&lt;br /&gt;
&lt;br /&gt;
* Verschiedene FPGA boards mit USB, PCI und PCIe Schnittstellen im Lieferprogramm&lt;br /&gt;
* Je nach Ausführung mit Spartan-2/3/3E/6, Virtex2/2PRO/4&lt;br /&gt;
* verschiedene Speicherkonfigurationen (SO-DIMM, SRAM, SDRAM, DDR2)&lt;br /&gt;
* Auftragsentwicklungen nach Kundenwunsch möglich&lt;br /&gt;
&lt;br /&gt;
==== ZTEX ====&lt;br /&gt;
&lt;br /&gt;
http://www.ztex.de/&lt;br /&gt;
&lt;br /&gt;
ZTEX ist Entwickler und Hersteller von FPGA-boards mit Sitz in Deutschland.&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan 6 FPGA, High-Speed USB interface, Cypress CY7C68013A EZ-USB Microcontroller, 90 GPIO ports, 15 SIO ports, 64 MByte DDR SDRAM, microSD socket, EEPROM.&lt;br /&gt;
* Xilinx Spartan 3 XC3S400 FPGA, High-Speed (480 MBit/s) USB interface, Cypress CY7C68013A EZ-USB Microcontroller, 60 GPIO ports, 20 SIO ports, EEPROM und optionally mit Flash memory&lt;br /&gt;
* High-Speed (480 MBit/s) USB interface, Cypress CY7C68013A/14A EZ-USB Microcontroller, microSD socket mit bis zu 2GB Flash memory, 36 GPIO ports, 28 SIO ports, EEPROM und on-board Schaltregler&lt;br /&gt;
&lt;br /&gt;
* Open Source Firmware Kit zum Programmieren&lt;br /&gt;
&lt;br /&gt;
=== Boards für Altera-FPGAs ===&lt;br /&gt;
&lt;br /&gt;
==== Altera Cyclone II 2C20 ====&lt;br /&gt;
* Altera Cyclone II EP2C20F484C7N FPGA mit 20000 LEs&lt;br /&gt;
* USB-BlasterTM download cable (integriert)&lt;br /&gt;
* EPCS4 serial configuration Flash&lt;br /&gt;
* 8-Mbyte SDRAM, 512-Kb SRAM, 4-Mbyte flash &lt;br /&gt;
* externer SMA - Clock-Eingang&lt;br /&gt;
* 24-bit Audio coder/decoder (CODEC) &lt;br /&gt;
* 10 Schalter, 4 Druckknöpfe inkl Reset &lt;br /&gt;
* 4St. 7-Segmentanzeigen, 10 rote LEDs + 8 grüne LEDs&lt;br /&gt;
* VGA, RS-232, and PS/2 Stecker&lt;br /&gt;
* Zwei 40-pin expansion ports + SD/MMC socket&lt;br /&gt;
* USB-Kabel, externes Steckernetztteil, CD-Rom&lt;br /&gt;
* Reference designs&lt;br /&gt;
* Qartus II Web Edition + NIOS II Web Edition&lt;br /&gt;
* http://www.altera.com/products/devkits/altera/kit-cyc2-2C20N.html&lt;br /&gt;
* Listenpreis $150,-&lt;br /&gt;
&lt;br /&gt;
==== Hpe Mini AC II - Cyclone II board von Gleichmann Research ====&lt;br /&gt;
* Altera Cyclone II EP2C35 FPGA (speed grade 6)&lt;br /&gt;
* Mit reprogrammierbarem Flash zur automatischen FPGA-Konfiguration&lt;br /&gt;
* 25 pin SUB-D connector (parallel) für direktes FPGA-Programmieren&lt;br /&gt;
* RS232 (9 pin SUB-D) &lt;br /&gt;
* VGA (15 pin SUB-D) mit 64 möglichen Farben&lt;br /&gt;
* Ethernet 10/100 Mbit/s, full/half duplex&lt;br /&gt;
* 1 USB 2.0 compatible full-speed target connector&lt;br /&gt;
* 3 USB 2.0 compatible full-speed host connectors&lt;br /&gt;
* Santa Cruz connector mit 40 nutzbaren I/Os&lt;br /&gt;
* Audio interface (line-in and line-out) mit CODEC&lt;br /&gt;
* SODIMM144 Sockel für (SDRAM) 256MB&lt;br /&gt;
* SDRAM-Speichersockel mit nur 32-Bit angebunden, die Hälfte des Speichers bleibt nicht nutzbar&lt;br /&gt;
* 25 MHz oscillator&lt;br /&gt;
* Prototyping area, Lötfläche&lt;br /&gt;
* 8 LEDs, grün, blau, 3x4 key matrix, 4-bit DIP switch&lt;br /&gt;
* LCD connector, 2-character 7-segment display&lt;br /&gt;
* Single step Knopf und Reset Knopf&lt;br /&gt;
* Parallelportkabel für PC&lt;br /&gt;
* Beispieldesign, Testprogramme, Datenblätter&lt;br /&gt;
* LEON3-CPU Design inkl. Source Code, Quartus IDE, SnapGear Linux&lt;br /&gt;
* Nicht mehr im Programm - war ca 399,-&lt;br /&gt;
&lt;br /&gt;
==== Altera DE2 - Development and Education Board V2 ====&lt;br /&gt;
* Altera Cyclone II 2C35 FPGA mit 35000 LEs&lt;br /&gt;
* Altera Serial Configuration devices (EPCS16) für Cyclone II 2C35&lt;br /&gt;
* USB Blaster board zur Programmierung und User API&lt;br /&gt;
* 8 MB SDRAM, 4 MB Flash Memory, 512KB SRAM&lt;br /&gt;
* SD Card Sockel, RS-232, Ethernet, 10-bit VGA, 24-bit Audio CODEC&lt;br /&gt;
* TV Decoder (NTSC/PAL), IrDA, USB (Host + Slave)&lt;br /&gt;
* Viele Besipiel mit Source Code wie TV, SD Music Player)&lt;br /&gt;
* [http://www.fh-wedel.de/fileadmin/mitarbeiter/bos/files/VHDL/VhdlEinfuehrung.pdf Kleines aber nettes Tutorial zum Altera DE2 Dev. Board]&lt;br /&gt;
* Listenpreis US $495,-&lt;br /&gt;
&lt;br /&gt;
==== Sasco Holz PABLO ====&lt;br /&gt;
* Altera Cyclone II EP2C20F484C6N&lt;br /&gt;
* EPCS16SI16N serial configuration Flash&lt;br /&gt;
* 2x32 MByte mDDR-333 RAM (unabhängige Daten-/Adressbusse)&lt;br /&gt;
* externer SMA-Clock-Eingang&lt;br /&gt;
* 25 MHz Oszillator&lt;br /&gt;
* 3 Taster, kleiner Joystick, 4 LEDs&lt;br /&gt;
* AD7843 SPI touch controller&lt;br /&gt;
* RS-232&lt;br /&gt;
* 2x Santa Cruz connector&lt;br /&gt;
* 60-Pin TFT, 14-Pin GPIO Wannenstecker&lt;br /&gt;
* 10-Pin JTAG &amp;amp; 10-Pin Passiv Seriell Wannenstecker&lt;br /&gt;
* Netzteil, CD-ROM&lt;br /&gt;
* [http://web.archive.org/web/20080907191153/http://www.sascoholz.com/designsupport/solutions/pablo http://www.sascoholz.com/designsupport/solutions/pablo]&lt;br /&gt;
* kein Programmierkabel, kein Kaltgerätekabel&lt;br /&gt;
* Restmengen hin und wieder günstig beim großen E&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Altera DE2-115 - Development and Education Board V3 ====&lt;br /&gt;
* Altera Cyclone IV FPGA mit 115000 LEs&lt;br /&gt;
* Altera Serial Configuration device EPCS64&lt;br /&gt;
* USB Blaster zur Programmierung und für User API&lt;br /&gt;
* User-Applikations und Steuerungssoftware&lt;br /&gt;
* 128 MB SDRAM, 8 MB Flash Memory, 2 MB SRAM&lt;br /&gt;
* SD Card Sockel, RS-232, 2x GBit-Ethernet, &lt;br /&gt;
* 8-bit VGA, 24-bit Audio CODEC&lt;br /&gt;
* TV Decoder (NTSC/PAL), IrDA, USB (Host + Slave)&lt;br /&gt;
* 18 Schalter, 4 Drucktasten, PS2-Maus/Tastatur-Anschluss&lt;br /&gt;
* 27 LEDs, 16x2-LCD-Display, 8 7-Segment-Anzeigen&lt;br /&gt;
* IR-Fernsteuerung&lt;br /&gt;
* HSMC-Stecker&lt;br /&gt;
* Viele Beispiele mit Source Code wie TV, SD Music Player, Audiorecorder&lt;br /&gt;
* Listenpreis US $595,- (academic = $299,-)&lt;br /&gt;
&lt;br /&gt;
==== Cyclone III Embedded Development Kit ====&lt;br /&gt;
* Altera Cyclone III EP3C25 FPGA&lt;br /&gt;
* 640x480 LCD Display mit Touchscreen-Function&lt;br /&gt;
* MiniSD-Card Sockel&lt;br /&gt;
* Audio Interface ADC CODEC&lt;br /&gt;
* 10/100 Mbit Fast Ethernet Schnittstelle&lt;br /&gt;
* FPGA-Konfiguration über USB&lt;br /&gt;
* NIOS II EVAL Lizenz&lt;br /&gt;
* IP LIB Altera&lt;br /&gt;
* Listenpreis US $495,-  über Altera Webseite&lt;br /&gt;
* Bei EBV €349,- inkl. MwSt.&lt;br /&gt;
&lt;br /&gt;
==== DE0-Nano ====&lt;br /&gt;
* Cyclone IV EP4CE22F17C6N &lt;br /&gt;
* 32MB SDRAM&lt;br /&gt;
* 2Kb I2C-EEPROM &lt;br /&gt;
* 3-Achsen-Beschleunigungssensor ADXL345 (Analog Devices)&lt;br /&gt;
* AD-Wandler ADC128S022 (National Semiconductor)&lt;br /&gt;
* Zwei 40-Pin-GPIO-Header mit 72 verfügbaren IO-Pins&lt;br /&gt;
* On-Board-USB-Blaster zum Programmieren/Debuggen&lt;br /&gt;
* Herstellerpreis (www.terasic.com.tw): $79,- (für Studenten: $59,-)&lt;br /&gt;
* erhältlich bei Digikey&lt;br /&gt;
&lt;br /&gt;
=== Boards für Lattice-FPGAs ===&lt;br /&gt;
==== www.hardware-design.de ====&lt;br /&gt;
* bietet verschiedene einfache Boards mit Lattice-Bausteinen an&lt;br /&gt;
* FPGA-Board mit XP2-17/XP2-8/XP2-5 -&amp;gt; 113,- bis 101,- Euro&lt;br /&gt;
* CPLD-Boards u.a. mit MachXO640 -&amp;gt; 89,- Euro&lt;br /&gt;
&lt;br /&gt;
== Debugging-Hilfen ==&lt;br /&gt;
Gerade beim [[Debugging]] größerer FPGA-Designs ist es oft notwendig, auf interne Signale und Busse zuzugreifen, die aus routing- oder Platzgründen nicht an Pins des FPGAs gelegt - und mit konventionellen Analysatoren beobachtet werden können. Nebst den einschlägigen Tools der Hersteller, welche Signal probing über JTAG gestatten (z.&amp;amp;nbsp;B. ChipsScope und SignalTap), werden in FPGAs oft mehr oder weniger komplexe [[Logic Analyzer]] integriert, welche die internen Signale in vielfältiger Weise aufzeichnen. Diese werden in Block-RAMs oder FIFOs gespeichert und durch externe Master ausgelesen. Hier kommen auf der Platine befindliche MCUs oder fremd zugreifende FPGAs / CPUs in Betracht, welche über unterschiedliche Kommunikationsverbindungen (seriell, parallel, LVDS) angeschlossen sind. Dazu werden in die FPGAs entsprechende Cores und state machines instanziiert und mit Software auf PC-Seite ausgelesen.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
===Automatisch instanziierte Logic Analyzer ===&lt;br /&gt;
Praktisch alle FPGA-Hersteller bieten die Möglichkeit, mit einem internen Tool ein script zu erzeugen, welches der Synthese übergeben wird, welche dann anhand von Signallisten und diversen Randbedingungen einen LA automatisiert aufbaut und verdrahtet. SampleZeit und -Takt sind dabei genauso einstellbar, wie RAM-Tiefe und -Breite. Die so generierten Datenpakete können dann mittels JTAG ausgelesen werden. Im Continous-Betrieb können so sogar permanente Datenausgaben wie bei einem Oszilloskop vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
===Proprietärer serieller Logic Analyzer ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Möglichkeit ist die direkte Instanziierung eines Blockrams als FIFO mit &amp;quot;breitem&amp;quot; Busanschluss: Linksseitig besitzt das FIFO eine Breite von z.&amp;amp;nbsp;B. 256 Bit (Xilinx-Rams lassen sich ohne weitere Umbeschaltung über den Wizzard mit bis zu 1024 Bits deklarieren und nutzen). Rechtsseitig einen 16- oder 32 Bit breiten Busanschluss für einen Prozessor bzw Parallelinterface oder einen 1 Bit breiten Anschluss für ein serielles streaming interface. Mit einem FiFo-enable können die zu sampelnden Zeiten (Busphasen) festgelegt werden, z.&amp;amp;nbsp;B. anhand eines Kriteriums wie die Erfüllung einer bestimmten mathematischen Bedingung, die man in VHDL formuliert, oder es wird einfach ein Trigger gesetzt. Solange das FiFo nicht voll ist, kann geschrieben werden, was durch die interne FiFo-Verwaltung selbst bereits komplett geregelt wird.&lt;br /&gt;
&lt;br /&gt;
Beim einfachen seriellen Logic Analyzer benötigt man nur noch einen kleinen Core, der permanent das FiFo liest, und den seriellen Overhead (Startbit, Stoppbit, Parity und gfs CRC) hinzufügt. Mit einem einfach Pegelwandler kann so ein PC direkt angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
Auch denkbar ist die Anbindung an ein fremdes FPGA-board mit viel Speicher über (LV-)DS-Kommunikation. In komplexeren Systemen wird ein CAN- oder USB-Core eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Wenn mittels des Kriteriums nur ganz bestimmte kritische Phasen herausgesampelt werden (z.&amp;amp;nbsp;B. das Auftauchen eines bestimmten Rechenfehlers im FPGA) und so das Datenaufkommen je Zeiteinheit über längere Zeit betrachtet eher gering ist, kann bei geeignetem Datendurchsatz in Echtzeit dauerhaft mitprotokolliert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BusProbe, der Debugging Core von abaxor engineering  ===&lt;br /&gt;
Mit der BusProbe kann der Entwickler den Signalfluss im FPGA-Design auch über einen längeren Zeitraum überwachen und am PC aufzeichnen. Der Core verarbeitet an jedem Eingang einen kompletten Bus. &lt;br /&gt;
&lt;br /&gt;
Die Daten werden gemultiplext zum PC geschickt und dort per Software demultiplext. Im PC erfolgt auch die Auswertung mit beliebigen Analyse-Tools.&lt;br /&gt;
&lt;br /&gt;
Gegenüber dem Betriebssystem verhält sich die BusProbe wie eine Festplatte, von der die Daten mit gewöhnlichen Zugriffen gelesen werden können.&lt;br /&gt;
&lt;br /&gt;
* Streaming der Daten zum PC mit mehr als 20 MByte/s&lt;br /&gt;
* keine Treiber im PC da Nutzung von Standardschnittstellen (USB oder IDE)&lt;br /&gt;
* Hot-Plugging&lt;br /&gt;
* Visualisierung mit beliebigen Programmen&lt;br /&gt;
* geringer Logikaufwand&lt;br /&gt;
&lt;br /&gt;
[http://www.abaxor.de/produkte.html abaxor.de-Webseite]&lt;br /&gt;
&lt;br /&gt;
=== open source Logikanalysator von sump.org ===&lt;br /&gt;
Ein einfacher, übersichtlicher Logikanalysator findet sich auf sump.org. Er liegt im Quelltext vor wird mit ins Design einsynthetisiert. Als Speicher dient wahlweise SRAM oder internes RAM. Es können 32 Kanäle mit 100 MHz (oder weniger) gesampelt werden. Die Bediensoftware läuft platformunabhängig unter Java und benötigt eine serielle Schnittstelle (auch über USB-seriell Wandler) zum Core.&lt;br /&gt;
&lt;br /&gt;
[http://de.sump.org/projects/analyzer/ sump.org-Webseite]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Hardwarebeschreibungssprachen]]&lt;br /&gt;
* [[Reset für FPGA/CPLD]]&lt;br /&gt;
* [[Taktung FPGA/CPLD]]&lt;br /&gt;
* Projekt [[Audio-DSP mit Spartan 3-FPGA]]&lt;br /&gt;
* Projekt [[FPGA Lab]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA4Fun] - FPGA-Projekte, größtenteils mit Altera und Verilog&lt;br /&gt;
* [http://video.google.com/videoplay?docid=-4969729965240981475 Ein Vortrag, auf Englisch: General Purpose, Low Power Supercomputing Using Reconfiguration Logic]&lt;br /&gt;
* http://www.opencores.org - FPGA-Projekte, Opensource, jeder kann seine Eigenen einstellen und an anderen mitarbeiten. U.a. gibt es verschiedene CPUs für FPGAs.&lt;br /&gt;
* [http://members.optushome.com.au/jekent/FPGA.htm John&#039;s FPGA Page]&lt;br /&gt;
* [http://www.embedded.com/columns/whatsnew/197003073 More about designing with embedded FPGAs] by Bernard Cole, Embedded.com&lt;br /&gt;
* [http://chaosradio.ccc.de/cre117.html Chaosradio Express - FPGA]&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co| ]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62468</id>
		<title>Filter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62468"/>
		<updated>2011-12-16T12:12:23Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Als Filter bezeichnet man in der Elektronik eine Schaltung, die die Frequenzanteile eines Signals unterschiedlich stark abschwächt oder betont. Im Bereich der Signalverarbeitung mit Software werden Filter mathematisch nachgebildet.&lt;br /&gt;
&lt;br /&gt;
=== Tiefpass ===&lt;br /&gt;
&lt;br /&gt;
Ein TP filtert Frequenzen oberhalb der Grenzfrequenz weg. Der einfachste passive Tiefpass besteht aus einer R/C-Kombination.&lt;br /&gt;
&lt;br /&gt;
         R&lt;br /&gt;
        ___&lt;br /&gt;
 o-----|___|----+----o&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               ---&lt;br /&gt;
               --- C&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               GND&lt;br /&gt;
&lt;br /&gt;
==== Grenzfrequenz ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_g = \frac{1}{2 \pi \cdot R \cdot C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Grenzfrequenz &amp;lt;math&amp;gt;f_g&amp;lt;/math&amp;gt; besteht zwischen Eingangssignal und Ausgangssignal eine Phasenverschiebung von 45&amp;amp;deg;.&lt;br /&gt;
&lt;br /&gt;
=== Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Ein HP filtert Frequenzen unterhalb seiner Grenzfrequenz weg, d.h. er lässt Frequenzen oberhalb passieren.&lt;br /&gt;
&lt;br /&gt;
=== Bandpass ===&lt;br /&gt;
&lt;br /&gt;
Ein BP lässt sich als Kombination von HP und TP auffassen. Er lässt Frequenzen zwischen zwei Grenzwerten durch.&lt;br /&gt;
&lt;br /&gt;
=== Notch-Filter ===&lt;br /&gt;
Das notch Filter nimmt eine bestimmte Frequenz aus dem Spektrum heraus.&lt;br /&gt;
&lt;br /&gt;
== Realisierung ==&lt;br /&gt;
&lt;br /&gt;
=== Analog ===&lt;br /&gt;
&lt;br /&gt;
Analoge Filter werden aus elektronischen oder mechanischen Bauteilen aufgebaut. In der Elektronik dienen sie der analogen Signalbearbeitung, in der Mechanik der Beeinflussung von Schwingungen. Beispielsweise werden durch Verkettung von schwingenden Feder-Masse-Systemen akustische Dämpfer ausgebildet.&lt;br /&gt;
&lt;br /&gt;
Analoge Filter haben bis auf eine systembedingte Anstiegszeit keine Reaktionsverzögerung bzw Latenz.&lt;br /&gt;
&lt;br /&gt;
=== Digital ===&lt;br /&gt;
Hier unterscheiden wir im Wesentlichen zwischen IIR- und FIR-Filtern. Der Algorithmus und der Rechenaufwand ist - wie die Effizienz - sehr verschieden. Speziell beim IIR muss man aufpassen, dass die Filterstufen nicht übersteuern, da IIR-Filter grundsätzlich instabil sein können.&lt;br /&gt;
&lt;br /&gt;
Digitale Filter haben neben einer Anstiegszeit eine rechenzeitbedingte Latenz.&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Digitalfilter ====&lt;br /&gt;
Ein digitales Filter besteht aus einem Speicher, in den nacheinander die einzelnen Daten eines Datenstromes hineingeladen und mit Koeffizienten multipliziert werden. Die Summe über einen definierten Bereich, der Zahl der sog. Taps, ist der Filterwert, der gfs noch durch die Zahl der Taps dividiert wird. Die Zahl der Taps ist massgeblich für die Güte und den Frequenzgang des Filters.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten rühren aus der Überlagerung mit Schwingungen genau der Frequenzen, die man herausselektieren möchte. Im einfachsten Fall multipliziert man einen eingehenden Datenstrom mit einer COS-Schwingung (im komplexen Fall auch mit der Sinus-Schwingung) und erhält eine Resonanz: Frequenzen im Datenstrom, die genau der Filterfrequenz entsprechen, werden logischerweise komplett durchgelassen. Frequenzen links und rechts davon mit zunehmender Abweichung der Filterfrequenz immer schlechter. Durch Überlagerung mehrerer solcher Frequenzen erhält man eine Addiotion der COS-Funktionen und immer mehr Frequenzen werden durch das Filter durchgelassen. Mathematisch kann man dies allgemein formulieren und z.B. für alle Frequenzen abwärts gegen Null integrieren, wodurch man einen Tiefpass erhält.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten sind selsbt überlagerbar, d.h. wenn man von einem Koeffizientensatz eines Tiefpasses, der auf 100kHz ausgelegt wurde, einen TP-Koeffizientensatz, welcher auf 1kHz ausgelegt wurde, abzieht, erhält man automatisch ein Bandpassfilter 1kHz-100kHz.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
&lt;br /&gt;
Zuerst berechnen wir die Filterkoeffizienten mithilfe folgender Daten:&lt;br /&gt;
&lt;br /&gt;
# Filterart&lt;br /&gt;
# Ordnung&lt;br /&gt;
# Sample-Frequenz&lt;br /&gt;
# Grenzfrequenz.&lt;br /&gt;
&lt;br /&gt;
Für die &amp;quot;analogen Koeffizienten&amp;quot; findet man z.&amp;amp;nbsp;B. im Tietze-Schenk  Tabellen (nach Art und Ordnung sortiert). Diese rechnet man in &amp;quot;digitale Koeffizienten&amp;quot; um (Verhältnis Sample-Frequenz / Grenzfrequenz geht mit ein). Die Eingangsdaten werden mit diesen Koeffizienten im eigentlichen Filteralgorithmus verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Gleich mal ein Beispiel: krit.Filter, 2.Ordnung, Samplefreq 100Hz, Grenzfreq 2Hz (Verhältnis 50:1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float afc[] = {&lt;br /&gt;
 /* analoge Filterkoeff.                                          Art     Ordnung */&lt;br /&gt;
    1.287188506, 0.414213562, 0.0,                             /* Krit.   2.      */&lt;br /&gt;
    0.869958884, 0.189207115, 0.0,                             /* Krit.   4.      */&lt;br /&gt;
    0.699891558, 0.122462048, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    0.601690062, 0.090507733, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    1.3617,      0.6180,      0.0,                             /* Bessel  2.      */&lt;br /&gt;
    1.3397,      0.4889, 0.7743, 0.3890, 0.0,                  /* Bessel  4.      */&lt;br /&gt;
    1.2217,      0.3887, 0.9686, 0.3505, 0.5131, 0.2756, 0.0,  /* Bessel  6.      */&lt;br /&gt;
    0.0&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 AFC: A0= 0.870000   A1= 0.189200&lt;br /&gt;
 DFC: C1=-1.494553   C0= 0.558423  D0= 0.015967   D1= 0.031934  D2= 0.015967&lt;br /&gt;
 (das sind die gesuchten fünf Werte)&lt;br /&gt;
 &lt;br /&gt;
 DFC: 0x5fa7  0x8ef4  0x0416  0x82d  0x0416 (skaliert mit -16384 bzw. +65536)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für höhere Ordnungen speisen wir das Ergebnis wiederholt (Ordnung / 2 mal) durch den Filter, allerdings (außer beim krit. Filter) jede Stufe mit anderen Koeffizienten.&lt;br /&gt;
&lt;br /&gt;
==== Fensterung ====&lt;br /&gt;
Da die einkommenden Daten nicht immer ganzzahlig in die Tap-Zahl sowie die einzelnen selekttierten Frequenzen passen, ergeben sich Verzerrungen, die man lindern kann, wenn man den Datenstrom mit einer [[Fensterfunktion]] weich ein- und aublendet. Beispiele dafür sind die COS-basierten Funktionen &amp;quot;Hamming&amp;quot;, &amp;quot;von Hann&amp;quot; und &amp;quot;Blackman-Harris&amp;quot; sowie das weit gebräuchliche Kaiser-Fenster, das auf Besselfunktionen beruht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== geeignete Literatur ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.digitalfilter.com www.digitalfilter.com]&lt;br /&gt;
&lt;br /&gt;
Dough Coulter: Digital Audio Processing&lt;br /&gt;
&lt;br /&gt;
Tietze / Schenk: Schaltungstechnik&lt;br /&gt;
&lt;br /&gt;
Fortsetzung / Erweiterung folgt...&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Entfernen von Störsignalen aus einem Nutzsignal (z.&amp;amp;nbsp;B. bei einem Funkempfänger)&lt;br /&gt;
* Unterdrückung eines Wechselpannungsanteils&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62467</id>
		<title>Filter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62467"/>
		<updated>2011-12-16T12:06:19Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Aufbau der Digitalfilter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Als Filter bezeichnet man in der Elektronik eine Schaltung, die die Frequenzanteile eines Signals unterschiedlich stark abschwächt oder betont. Im Bereich der Signalverarbeitung mit Software werden Filter mathematisch nachgebildet.&lt;br /&gt;
&lt;br /&gt;
=== Tiefpass ===&lt;br /&gt;
&lt;br /&gt;
Ein TP filtert Frequenzen oberhalb der Grenzfrequenz weg. Der einfachste passive Tiefpass besteht aus einer R/C-Kombination.&lt;br /&gt;
&lt;br /&gt;
         R&lt;br /&gt;
        ___&lt;br /&gt;
 o-----|___|----+----o&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               ---&lt;br /&gt;
               --- C&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               GND&lt;br /&gt;
&lt;br /&gt;
==== Grenzfrequenz ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_g = \frac{1}{2 \pi \cdot R \cdot C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Grenzfrequenz &amp;lt;math&amp;gt;f_g&amp;lt;/math&amp;gt; besteht zwischen Eingangssignal und Ausgangssignal eine Phasenverschiebung von 45&amp;amp;deg;.&lt;br /&gt;
&lt;br /&gt;
=== Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Ein HP filtert Frequenzen unterhalb seiner Grenzfrequenz weg, d.h. er lässt Frequenzen oberhalb passieren.&lt;br /&gt;
&lt;br /&gt;
=== Bandpass ===&lt;br /&gt;
&lt;br /&gt;
Ein BP lässt sich als Kombination von HP und TP auffassen. Er lässt Frequenzen zwischen zwei Grenzwerten durch.&lt;br /&gt;
&lt;br /&gt;
=== Notch-Filter ===&lt;br /&gt;
Das notch Filter nimmt eine bestimmte Frequenz aus dem Spektrum heraus.&lt;br /&gt;
&lt;br /&gt;
== Realisierung ==&lt;br /&gt;
&lt;br /&gt;
=== Analog ===&lt;br /&gt;
&lt;br /&gt;
Analoge Filter werden aus elektronischen oder mechanischen Bauteilen aufgebaut. In der Elektronik dienen sie der analogen Signalbearbeitung, in der Mechanik der Beeinflussung von Schwingungen. Beispielsweise werden durch Verkettung von schwingenden Feder-Masse-Systemen akustische Dämpfer ausgebildet.&lt;br /&gt;
&lt;br /&gt;
Analoge Filter haben bis auf eine systembedingte Anstiegszeit keine Reaktionsverzögerung bzw Latenz.&lt;br /&gt;
&lt;br /&gt;
=== Digital ===&lt;br /&gt;
Hier unterscheiden wir im Wesentlichen zwischen IIR- und FIR-Filtern. Der Algorithmus und der Rechenaufwand ist - wie die Effizienz - sehr verschieden. Speziell beim IIR muss man aufpassen, dass die Filterstufen nicht übersteuern, da IIR-Filter grundsätzlich instabil sein können.&lt;br /&gt;
&lt;br /&gt;
Digitale Filter haben neben einer Anstiegszeit eine rechenzeitbedingte Latenz.&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Digitalfilter ====&lt;br /&gt;
Ein digitales Filter besteht aus einem Speicher, in den nacheinander die einzelnen Daten eines Datenstromes hineingeladen und mit Koeffizienten multipliziert werden. Die Summe über einen definierten Bereich, der Zahl der sog. Taps, ist der Filterwert, der gfs noch durch die Zahl der Taps dividiert wird. Die Zahl der Taps ist massgeblich für die Güte und den Frequenzgang des Filters.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten rühren aus der Überlagerung mit Schwingungen genau der Frequenzen, die man herausselektieren möchte. Im einfachsten Fall multipliziert man einen eingehenden Datenstrom mit einer COS-Schwingung (im komplexen Fall auch mit der Sinus-Schwingung) und erhält eine Resonanz: Frequenzen im Datenstrom, die genau der Filterfrequenz entsprechen, werden logischerweise komplett durchgelassen. Frequenzen links und rechts davon mit zunehmender Abweichung der Filterfrequenz immer schlechter. Durch Überlagerung mehrerer solcher Frequenzen erhält man eine Addiotion der COS-Funktionen und immer mehr Frequenzen werden durch das Filter durchgelassen. Mathematisch kann man dies allgemein formulieren und z.B. für alle Frequenzen abwärts gegen Null integrieren, wodurch man einen Tiefpass erhält.&lt;br /&gt;
&lt;br /&gt;
Die Filterkoeffizienten sind selsbt überlagerbar, d.h. wenn man von einem Koeffizientensatz eines Tiefpasses, der auf 100kHz ausgelegt wurde, einen TP-Koeffizientensatz, welcher auf 1kHz ausgelegt wurde, abzieht, erhält man automatisch ein Bandpassfilter 1kHz-100kHz.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
&lt;br /&gt;
Zuerst berechnen wir die Filterkoeffizienten mithilfe folgender Daten:&lt;br /&gt;
&lt;br /&gt;
# Filterart&lt;br /&gt;
# Ordnung&lt;br /&gt;
# Sample-Frequenz&lt;br /&gt;
# Grenzfrequenz.&lt;br /&gt;
&lt;br /&gt;
Für die &amp;quot;analogen Koeffizienten&amp;quot; findet man z.&amp;amp;nbsp;B. im Tietze-Schenk  Tabellen (nach Art und Ordnung sortiert). Diese rechnet man in &amp;quot;digitale Koeffizienten&amp;quot; um (Verhältnis Sample-Frequenz / Grenzfrequenz geht mit ein). Die Eingangsdaten werden mit diesen Koeffizienten im eigentlichen Filteralgorithmus verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Gleich mal ein Beispiel: krit.Filter, 2.Ordnung, Samplefreq 100Hz, Grenzfreq 2Hz (Verhältnis 50:1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float afc[] = {&lt;br /&gt;
 /* analoge Filterkoeff.                                          Art     Ordnung */&lt;br /&gt;
    1.287188506, 0.414213562, 0.0,                             /* Krit.   2.      */&lt;br /&gt;
    0.869958884, 0.189207115, 0.0,                             /* Krit.   4.      */&lt;br /&gt;
    0.699891558, 0.122462048, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    0.601690062, 0.090507733, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    1.3617,      0.6180,      0.0,                             /* Bessel  2.      */&lt;br /&gt;
    1.3397,      0.4889, 0.7743, 0.3890, 0.0,                  /* Bessel  4.      */&lt;br /&gt;
    1.2217,      0.3887, 0.9686, 0.3505, 0.5131, 0.2756, 0.0,  /* Bessel  6.      */&lt;br /&gt;
    0.0&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 AFC: A0= 0.870000   A1= 0.189200&lt;br /&gt;
 DFC: C1=-1.494553   C0= 0.558423  D0= 0.015967   D1= 0.031934  D2= 0.015967&lt;br /&gt;
 (das sind die gesuchten fünf Werte)&lt;br /&gt;
 &lt;br /&gt;
 DFC: 0x5fa7  0x8ef4  0x0416  0x82d  0x0416 (skaliert mit -16384 bzw. +65536)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für höhere Ordnungen speisen wir das Ergebnis wiederholt (Ordnung / 2 mal) durch den Filter, allerdings (außer beim krit. Filter) jede Stufe mit anderen Koeffizienten.&lt;br /&gt;
&lt;br /&gt;
geeignete Literatur:&lt;br /&gt;
&lt;br /&gt;
[http://www.digitalfilter.com www.digitalfilter.com]&lt;br /&gt;
&lt;br /&gt;
Dough Coulter: Digital Audio Processing&lt;br /&gt;
&lt;br /&gt;
Tietze / Schenk: Schaltungstechnik&lt;br /&gt;
&lt;br /&gt;
Fortsetzung / Erweiterung folgt...&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Entfernen von Störsignalen aus einem Nutzsignal (z.&amp;amp;nbsp;B. bei einem Funkempfänger)&lt;br /&gt;
* Unterdrückung eines Wechselpannungsanteils&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62465</id>
		<title>Filter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Filter&amp;diff=62465"/>
		<updated>2011-12-16T11:57:54Z</updated>

		<summary type="html">&lt;p&gt;212.184.213.120: /* Digital */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Als Filter bezeichnet man in der Elektronik eine Schaltung, die die Frequenzanteile eines Signals unterschiedlich stark abschwächt oder betont. Im Bereich der Signalverarbeitung mit Software werden Filter mathematisch nachgebildet.&lt;br /&gt;
&lt;br /&gt;
=== Tiefpass ===&lt;br /&gt;
&lt;br /&gt;
Ein TP filtert Frequenzen oberhalb der Grenzfrequenz weg. Der einfachste passive Tiefpass besteht aus einer R/C-Kombination.&lt;br /&gt;
&lt;br /&gt;
         R&lt;br /&gt;
        ___&lt;br /&gt;
 o-----|___|----+----o&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               ---&lt;br /&gt;
               --- C&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
                |&lt;br /&gt;
               GND&lt;br /&gt;
&lt;br /&gt;
==== Grenzfrequenz ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_g = \frac{1}{2 \pi \cdot R \cdot C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Grenzfrequenz &amp;lt;math&amp;gt;f_g&amp;lt;/math&amp;gt; besteht zwischen Eingangssignal und Ausgangssignal eine Phasenverschiebung von 45&amp;amp;deg;.&lt;br /&gt;
&lt;br /&gt;
=== Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Ein HP filtert Frequenzen unterhalb seiner Grenzfrequenz weg, d.h. er lässt Frequenzen oberhalb passieren.&lt;br /&gt;
&lt;br /&gt;
=== Bandpass ===&lt;br /&gt;
&lt;br /&gt;
Ein BP lässt sich als Kombination von HP und TP auffassen. Er lässt Frequenzen zwischen zwei Grenzwerten durch.&lt;br /&gt;
&lt;br /&gt;
=== Notch-Filter ===&lt;br /&gt;
Das notch Filter nimmt eine bestimmte Frequenz aus dem Spektrum heraus.&lt;br /&gt;
&lt;br /&gt;
== Realisierung ==&lt;br /&gt;
&lt;br /&gt;
=== Analog ===&lt;br /&gt;
&lt;br /&gt;
Analoge Filter werden aus elektronischen oder mechanischen Bauteilen aufgebaut. In der Elektronik dienen sie der analogen Signalbearbeitung, in der Mechanik der Beeinflussung von Schwingungen. Beispielsweise werden durch Verkettung von schwingenden Feder-Masse-Systemen akustische Dämpfer ausgebildet.&lt;br /&gt;
&lt;br /&gt;
Analoge Filter haben bis auf eine systembedingte Anstiegszeit keine Reaktionsverzögerung bzw Latenz.&lt;br /&gt;
&lt;br /&gt;
=== Digital ===&lt;br /&gt;
Hier unterscheiden wir im Wesentlichen zwischen IIR- und FIR-Filtern. Der Algorithmus und der Rechenaufwand ist - wie die Effizienz - sehr verschieden. Speziell beim IIR muss man aufpassen, dass die Filterstufen nicht übersteuern, da IIR-Filter grundsätzlich instabil sein können.&lt;br /&gt;
&lt;br /&gt;
Digitale Filter haben neben einer Anstiegszeit eine rechenzeitbedingte Latenz.&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Digitalfilter ====&lt;br /&gt;
Ein digitales Filter besteht aus einem Speicher, in den nacheinander die einzelnen Daten eines Datenstromes hineingeladen und mit Koeffizienten multipliziert werden. Die Summe über einen definierten Bereich, der Zahl der sog. Taps, ist der Filterwert, der gfs noch durch die Zahl der Taps dividiert wird. Die Zahl der Taps ist massgeblich für die Güte und den Frequenzgang des Filters.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
&lt;br /&gt;
Zuerst berechnen wir die Filterkoeffizienten mithilfe folgender Daten:&lt;br /&gt;
&lt;br /&gt;
# Filterart&lt;br /&gt;
# Ordnung&lt;br /&gt;
# Sample-Frequenz&lt;br /&gt;
# Grenzfrequenz.&lt;br /&gt;
&lt;br /&gt;
Für die &amp;quot;analogen Koeffizienten&amp;quot; findet man z.&amp;amp;nbsp;B. im Tietze-Schenk  Tabellen (nach Art und Ordnung sortiert). Diese rechnet man in &amp;quot;digitale Koeffizienten&amp;quot; um (Verhältnis Sample-Frequenz / Grenzfrequenz geht mit ein). Die Eingangsdaten werden mit diesen Koeffizienten im eigentlichen Filteralgorithmus verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Gleich mal ein Beispiel: krit.Filter, 2.Ordnung, Samplefreq 100Hz, Grenzfreq 2Hz (Verhältnis 50:1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float afc[] = {&lt;br /&gt;
 /* analoge Filterkoeff.                                          Art     Ordnung */&lt;br /&gt;
    1.287188506, 0.414213562, 0.0,                             /* Krit.   2.      */&lt;br /&gt;
    0.869958884, 0.189207115, 0.0,                             /* Krit.   4.      */&lt;br /&gt;
    0.699891558, 0.122462048, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    0.601690062, 0.090507733, 0.0,                             /* Krit.   6.      */&lt;br /&gt;
    1.3617,      0.6180,      0.0,                             /* Bessel  2.      */&lt;br /&gt;
    1.3397,      0.4889, 0.7743, 0.3890, 0.0,                  /* Bessel  4.      */&lt;br /&gt;
    1.2217,      0.3887, 0.9686, 0.3505, 0.5131, 0.2756, 0.0,  /* Bessel  6.      */&lt;br /&gt;
    0.0&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 AFC: A0= 0.870000   A1= 0.189200&lt;br /&gt;
 DFC: C1=-1.494553   C0= 0.558423  D0= 0.015967   D1= 0.031934  D2= 0.015967&lt;br /&gt;
 (das sind die gesuchten fünf Werte)&lt;br /&gt;
 &lt;br /&gt;
 DFC: 0x5fa7  0x8ef4  0x0416  0x82d  0x0416 (skaliert mit -16384 bzw. +65536)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für höhere Ordnungen speisen wir das Ergebnis wiederholt (Ordnung / 2 mal) durch den Filter, allerdings (außer beim krit. Filter) jede Stufe mit anderen Koeffizienten.&lt;br /&gt;
&lt;br /&gt;
geeignete Literatur:&lt;br /&gt;
&lt;br /&gt;
[http://www.digitalfilter.com www.digitalfilter.com]&lt;br /&gt;
&lt;br /&gt;
Dough Coulter: Digital Audio Processing&lt;br /&gt;
&lt;br /&gt;
Tietze / Schenk: Schaltungstechnik&lt;br /&gt;
&lt;br /&gt;
Fortsetzung / Erweiterung folgt...&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Entfernen von Störsignalen aus einem Nutzsignal (z.&amp;amp;nbsp;B. bei einem Funkempfänger)&lt;br /&gt;
* Unterdrückung eines Wechselpannungsanteils&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;/div&gt;</summary>
		<author><name>212.184.213.120</name></author>
	</entry>
</feed>