<?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=87.178.119.98</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=87.178.119.98"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/87.178.119.98"/>
	<updated>2026-04-10T21:36:59Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2S&amp;diff=93801</id>
		<title>I2S</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2S&amp;diff=93801"/>
		<updated>2016-08-28T20:11:23Z</updated>

		<summary type="html">&lt;p&gt;87.178.119.98: i2s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I²S (Inter-IC Sound) ist eine von Philips entworfene Schnittstelle zum Austausch von Stereo-Audio-Daten zwischen ICs (DSPs, ADCs/DACs, Codecs).&lt;br /&gt;
&lt;br /&gt;
== Schnittstelle ==&lt;br /&gt;
Folgende Leitungen kommen zum Einsatz:&lt;br /&gt;
# Takt (Clock, BCK, SCK)&lt;br /&gt;
# Wortauswahl (Word Select (WS), LRCK)&lt;br /&gt;
# eine oder mehrere Datenleitungen in eine oder in entgegengesetzte Richtungen (Data Out, DOUT, Data In, DIN, SD) - ursprünglich nur eine Leitung&lt;br /&gt;
&lt;br /&gt;
Die Leitung Wortauswahl ist für die Zuordnung von Daten zum linken und rechten Audio-Kanal zuständig. Der Takt, der vom Master-Gerät geliefert werden muss, ist dann für die Übernahme der Daten an DIN und für die Ausgabe der Daten an DOUT zuständig. Die Datenbits sind bei originalem I²S gegenüber der WS Leitung um einen Takt verschoben. Andere serielle Audioschnittstellen machen dies nicht.&lt;br /&gt;
&lt;br /&gt;
Verwandt ist diese Schnittstelle mit SPI. Hierbei gibt es allerdings zwei Einschränkungen: Die Bitbreiten der Worte für den linken und rechten Kanal unterscheiden sich von den unterstützten 8-Bit von SPI. Hier müssen also zwei 8-Bit Wörter eingelesen bzw. ausgegeben werden, um 16-Bit Sampling-Rate zu unterstützen. Die zweite Einschränkung ist die Bereitstellung des Wortauswahlleitung, da diese im SPI-Protokoll nicht vorhanden ist. Je nach eingesetzem Controller sind unterschiedliche Lösungen möglich, z.&amp;amp;nbsp;B. Erzeugung mit Hilfe von PWM.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die [[AT91SAM]]-Controller von Atmel und viele DSPs haben ein serielles Interface, das für I2S geeignet ist (SSC, Synchronous Serial Controller). Ein Beispiel findet man in dem Projekt [[ARM MP3/AAC Player]].&lt;br /&gt;
&lt;br /&gt;
Um mehr als 2 Kanäle zu übertragen, ist z.&amp;amp;nbsp;B. [[TDM]] entwickelt worden.&lt;br /&gt;
&lt;br /&gt;
[[Category:Datenübertragung]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>87.178.119.98</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=USB&amp;diff=93800</id>
		<title>USB</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=USB&amp;diff=93800"/>
		<updated>2016-08-28T19:56:22Z</updated>

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

		<summary type="html">&lt;p&gt;87.178.119.98: links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MIDI (&#039;&#039;&#039;M&#039;&#039;&#039;usical &#039;&#039;&#039;I&#039;&#039;&#039;nstruments &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;I&#039;&#039;&#039;nterface) ist ein Protokoll zum Übertragen von Steuerbefehlen zwischen elektronischen Musikinstrumenten wie Keyboards, Synthesizern, Samplern etc. und auch dem PC.&lt;br /&gt;
&lt;br /&gt;
Das Protokoll ist von der verwendeteten physikalischen Verbindung abhängig. In der ursprünglichen Version werden die Daten [[seriell]] mit 31250 [[Baud]] über eine Stromschleife mit 5&amp;amp;nbsp;mA übertragen. Zur Vermeidung von Masseschleifen ist die Empfängerseite durch einen Hochgeschwindigkeits-[[Optokoppler]] (z.B. H11L1, 6N138) galvanisch vom Sender getrennt.&lt;br /&gt;
Das Protokoll kann damit von allen gängigen [[UART]]s generiert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware-Spezifikation ist frei verfügbar&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;&amp;gt;[https://www.midi.org/specifications/item/midi-din-electrical-specification MIDI DIN Electrical Specification]&amp;lt;/ref&amp;gt;; die eigentliche MIDI-Spezifikation inzwischen auch&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/the-midi-1-0-specification The Complete MIDI 1.0 Detailed Specification]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Stecker ===&lt;br /&gt;
MIDI benutzt fünfpolige DIN-Stecker, bei denen allerdings nur drei Pins belegt sind. Pins 4 und 5 übertragen das Signal, als Hin- und Rückleitung der Stromschleife; Pin 2 dient nur zur Abschirmung des Kabels.&lt;br /&gt;
&lt;br /&gt;
=== Beschaltung ===&lt;br /&gt;
Im Ruhezustand ist Pin 5 beim Sender offen, was als logisch &amp;quot;1&amp;quot; gilt; zur Erzeugung einer logischen &amp;quot;0&amp;quot; muss er Pin 5 auf Masse schalten:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Sender.svg]]&lt;br /&gt;
&lt;br /&gt;
Die Widerstände begrenzen den Strom, sowohl für den normalen Betrieb, als auch im Falle eines Kurzschlusses (in diesem Fall muss R2 gut 100 mA vertragen). Wenn nur eine 5V-Spannungsversorgung zur Verfügung steht, müssen R1 und R2 durch jeweils 220 Ω ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der TXD-Pin des Mikrocontrollers nicht als Open-Drain konfiguriert werden kann, müssen die I/O-Spannung des Mikrocontrollers und die Versorgungsspannung an R2 übereinstimmen. Wenn der TXD-Pin die gut 5 mA Strom nicht verträgt, muss das Signal durch einen Puffer (z.B. (SN)74LVC1G07/NL17SZ07/TC7SZ07) zwischen TXD und R1 verstärkt werden.&lt;br /&gt;
&lt;br /&gt;
Der Empfänger muss den Strom, der zwischen Pins 4 und 5 fließt, auswerten.&lt;br /&gt;
Zur Vermeidung eine Masseschleife darf Pin 2 nicht direkt mit der Masse des&lt;br /&gt;
Empfängers verbunden werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Empfänger.svg]]&lt;br /&gt;
&lt;br /&gt;
VCC ist 3,3 V oder 5 V.&lt;br /&gt;
R1 dient zur Strombegrenzung.&lt;br /&gt;
D1 schützt die LED des Optokopplers vor einer zu hohen Rückwärtsspannung.&lt;br /&gt;
&lt;br /&gt;
Andere häufig verwendete Optokoppler sind 6N137 oder 6N138, die allerdings eine&lt;br /&gt;
Versorgungsspannung von 5 V voraussetzen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Empfänger-6N137.svg]] [[Bild:MIDI-Empfänger-6N138.svg]] &lt;br /&gt;
&lt;br /&gt;
Zur Verbesserung der EMI/EMC-Eigenschaften kann es notwendig sein, zusätzliche&lt;br /&gt;
Kondensatoren und Filter einzusetzen.&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme==&lt;br /&gt;
MIDI wurde ursprünglich im Jahre 1982 von der Firma Roland eingeführt und ist aus heutiger Sicht veraltet. Das damals definierte Protokoll wurde für Einzelstimmengeräte erdacht und gestattet lediglich 7-Bit-Controllerwerte, wodurch Lautstärke und Stimmformung nur sehr grob eingestellt- und nicht ohne hörbare Stufen verändert (&amp;quot;gefaded&amp;quot;) werden können.&lt;br /&gt;
&lt;br /&gt;
Um dem abzuhelfen, wurden inzwischen für die meisten Controller Erweiterungen auf 14 Bits&lt;br /&gt;
eingeführt.&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2 Control Change Messages]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.midi.org/downloads?task=callelement&amp;amp;format=raw&amp;amp;item_id=113&amp;amp;element=f85c494b-2b32-4109-b8c1-083cca2b7db6&amp;amp;method=download High Resolution Velocity Prefix] (PDF)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was die Übertragungsgeschwindigkeit anbetrifft, sind die ca. 30 kHz der physikalischen Schnittstelle aber nach wie vor nicht geeignet, um viele Kanäle zu bedienen und mehrere gleichzeitige&lt;br /&gt;
Ereignisse, wie einen beidhändigen Akkordanschlag angemessen zu beschreiben:&lt;br /&gt;
Ein MIDI-Ergeinis benötigt mindestens 2 Bytes (bei kombinierten&lt;br /&gt;
Controllerwerten 6) wodurch 8 Finger auch ohne irgendwelche zusätzlichen&lt;br /&gt;
Controllerwerte bereits 16 MIDI Bytes erzeugen, was zu einer ungewollten Latenz&lt;br /&gt;
von 8ms für den letzen Wert gegenüber dem ersten führt. Durch die verschieden&lt;br /&gt;
langen Nachrichten kann es daher zu unmusikalischem,&lt;br /&gt;
unvorhersehbaren [[Jitter]] kommen. Komplexere Lautstärkemdulationen mit quasianalogen&lt;br /&gt;
MIDI-Gebern, wie bei der MIDI-Gitarre und MIDI-Flöte (&amp;quot;breath controller&amp;quot;) sind&lt;br /&gt;
damit im Zusammenhang mit realer MIDI-Hardware nur sehr eingeschränkt verwendbar.&lt;br /&gt;
&lt;br /&gt;
Auch das USB-Protokoll, welches immer häufiger zur Anwendung kommt, bietet zwar eine mehr als ausreichende Bandbreite, jedoch wird dies von nur wenigen Klangerzeugern unterstützt. Lediglich Softwaresampler und andere PC-basierte Systeme wie SW-Synthesizer sind damit zu steuern. Hierbei wirkt sich aber die PC-typische Latenz des Betriebssystems sehr negativ aus. Ein tatsächlicher Echtzeitbetrieb ist mit keinem derzeit auf dem Markt verfügbaren Gerät möglich.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
Statt des MIDI-Transports über die klassische serielle Verbindung, sind heute höhere Bandbreiten möglich, z.B. durch MIDI über USB oder Ethernet. Transportmethoden wie Parallelport (EPP) oder S/PDIF wurden ebenfalls realisiert, konnten sich aber aufgrund mangelnder Kompatibilität nicht durchsetzen bzw sind technisch überholt oder werden nur in Nischen oder Sonderanwendungen verwendet. Bei Geräten, die normalerweise nicht live eingesetzt werden, sondern an einen PC angeschlossen werden, hat sich MIDI über die USB-Schnittstelle durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über USB ===&lt;br /&gt;
USB erlaubt höhere Bandbreiten, bei SuperSpeed bis zu 5 GBit/s. Die meisten derzeitigen MIDI-Geräte arbeiten aber noch mit Full Speed (12 MBit/s) oder High Speed (480 MBit/s). In der Praxis ist die Geschwindigkeit durch den Mikrocontroller und dessen Software im Endgerät sowie der PC-Infrastruktur begrenzt; üblich sind ca. 100 kBit/s.&lt;br /&gt;
&lt;br /&gt;
Das USB-MIDI-Protokoll&amp;lt;ref&amp;gt;[http://www.usb.org/developers/docs/devclass_docs/midi10.pdf USB MIDI Devices 1.0] (PDF)&amp;lt;/ref&amp;gt;&lt;br /&gt;
ist mit dem &#039;normalen&#039; USB-Serial-Protokoll (CDC) nicht kompatibel; deshalb&lt;br /&gt;
ist es nicht möglich, USB-seriell-Konverter-Chips unverändert und ohne&lt;br /&gt;
zusätzliche Treiber für MIDI zu verwenden.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über FireWire ===&lt;br /&gt;
Von Yamaha und anderen Herstellern wurde 1999 das sogenannte Music-LAN definiert, welches auf FireWire basiert und vergleichsweise hohe Bandbreiten zugelassen hätte. Einige Teile des Protokolls wurden veröffenlicht und standardisiert&amp;lt;ref&amp;gt;[https://webstore.iec.ch/publication/6069 Consumer audio/video equipment - Digital interface - Part 6: Audio and music data transmission protocol]&amp;lt;/ref&amp;gt;, vollständige Interoperabilität ist damit aber nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Da keine Möglichkeit zum Aushandeln einer höheren Geschwindigkeit definiert ist, ist die Bandbreite auf die normalen 3125 Bytes/s begrenzt&amp;lt;ref&amp;gt;[http://www.midi.org/techspecs/rp27v10spec(1394).pdf MIDI Media Adaptation Layer for IEEE-1394] (PDF)&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über Ethernet/WLAN: RTP-MIDI ===&lt;br /&gt;
Das Real-time Transport Protocol, das auf normalen UDP-Paketen basiert,&lt;br /&gt;
hat auch die Möglichkeit, MIDI zu übertragen&amp;lt;ref&amp;gt;[http://www.midi.org/aboutmidi/rtpmidi.php About RTP-MIDI]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://tools.ietf.org/html/rfc6295 RFC 6295: RTP Payload Format for MIDI]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über Ethernet: AVB ===&lt;br /&gt;
IEEE-1722 (Audio/Video Bridging) definiert ein Protokoll zur Übertragung&lt;br /&gt;
von Multimedia-Information. Dabei ist es notwendig, dass alle beteiligten&lt;br /&gt;
Netzwerk-Karten und Switches/Router AVB in Hardware unterstützen.&lt;br /&gt;
&lt;br /&gt;
AVB verwendet die gleichen Datenformate wie FireWire und hat die gleichen&lt;br /&gt;
Einschränkungen.&lt;br /&gt;
&lt;br /&gt;
=== Serial wire MIDI ===&lt;br /&gt;
Mit Aufkommen der PCs gab es mehrere Versuche, die COM-Schnittstelle für schnellere MIDI-Kommunikation zu nutzen. Mitte der 90er waren PC-UARTs mit typisch 115k verfügbar. Diese wurden von Anwendern mittels proprietärer Software genutzt oder von Herstellern in einzelne Geräte integriert. Sehr bekannt sind die z.T. heute noch existierenden &amp;quot;TO HOST&amp;quot; Interfaces, die meist über MINI-DIN-Stecker erreichbar waren. Die Kommunikation erfolgte über einen eigenen Treiber.&lt;br /&gt;
&lt;br /&gt;
=== Parallel-Port-MIDI ===&lt;br /&gt;
Ein Abkömmling des seriellen MIDIs sind Parallelportanwendungen, die aber nur bei einzelnen Geräten üblich waren. Oft wurden Mehrfach-MIDI-Controller mit einem Parallelport-Anschluss versehen, um die Datenrate für gleich mehrere MIDI-Geräte (in der Regel 8, seltener 16) bereitstellen zu können. Die ersten Geräte von M-Audio, MIDI-MAN und MOTU arbeiten auf diese Weise. Obwohl die Bandbreite praktisch verzehnfacht wurde, blieb es nur bei der Nutzung zwischen PCs und herstellerspezifischen Geräten. Die Protokolle sind meist nicht kompatibel.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over S/PDIF ===&lt;br /&gt;
Von unterschiedlichen Seiten wurde probiert, die limitierte Entfernung von MIDI-Verbindungen (meist 5m und weniger) durch Übersetzung auf alternative Protokolle zu vergrößern und die Verbindung auch störstabiler zu bekommen. Unter anderem wurde MIDI 2000 vorgeschlagen, welches das MIDI-Protokoll erweitert und in einen Stereo-[[S/PDIF]]-Datenstrom übersetzt und damit die Bandbreite praktisch um den Faktor 100 anhebt. Zum damaligen Zeitpunkt um die Jahrtausendwende waren bereits etliche Studiogeräte und Klangerzeuger mit S/PDIF ausgerüstet - auch Soundkarten mit S/PDIF-Ausgang waren verfügbar. Es blieb jedoch letztlich bei proprietären Applikationen, da sich von der PC-Seite her, [[USB]] 1.0 begann, durchzusetzen. Lediglich eine Firma weltweit bietet mit dem Gerät ES-4 einen S/PDIF-basierten MIDI-Übertragungsweg an.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over Audio ===&lt;br /&gt;
Um die limitierte Bandbreite bei MIDI zu überwinden, wurde schon in den 80ern vorgeschlagen, den MIDI-Datenstrom über Audiokanäle zu senden, um die dort vorhandene Infrastruktur für das Senden und Speichern zu nutzen. Da die MIDI-Bandbreite jedoch wegen der ca. 30kHz rund 100kHz beträgt, müssten 4 Audiokanäle belegt werden, was zum damaligen Zeitpunkt wegen der kaum verbreiteten 4-Kanal / bzw. Surround-Technik nicht für die Breite Masse der Nutzer einsetzbar war. Vereinzelt gelang es, ähnlich wie bei der Datasette im Computerbereich eine Speicherung vorzunehmen, indem eine erhöhte Bandbreite des Signals zusammen mit einer Kompression benutzt wurde. Später wurde Ähnliches mit den 48kHz-Digital-DAT-Recordern probiert, konnte sich aber nicht durchsetzen, weil die meisten Musiker noch analog aufzeichneten.&lt;br /&gt;
&lt;br /&gt;
=== Sonstige ===&lt;br /&gt;
Für Sonderapplikationen gibt es eine Spezifikation für das Senden von MIDI über AES3 oder MADI.&lt;br /&gt;
&lt;br /&gt;
=== MIDI HD ===&lt;br /&gt;
Seit 2005 berät sich das MIDI-Komitee über einen offiziellen Nachfolger der MIDI-Spezifikation&amp;lt;ref&amp;gt;[http://www.midi.org/aboutus/news/hd.php MIDI Manufacturers Investigate HD Protocol]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
=== Artikel auf Mikrocontroller  ===&lt;br /&gt;
* [[Midi Rekorder mit MMC/SD-Karte]]&lt;br /&gt;
&lt;br /&gt;
=== Beiträge auf Mikrocontroller ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/48542 &amp;quot;Mr. MIDI&amp;quot; Player]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/102924 Schaltplan MIDI Controller]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/34376 Audio Projekt mit Spartan]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/223125 Midi Protokoll]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/240302 USB zu MIDI]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/191137 Effektgerät für Gitarre]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/140347 Midi mit Arduino]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/248226 DIY USB-MIDI interface]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/280923 ZEL MIDI Compiler]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/281154 Drum Computer]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/154781 USB MIDI IF]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/14798 MIDI mit AVR]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/326905 MIDI over WIFI]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320743 MIDI Platinenselbstbau]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/295657 Eigenbau MIDI Controller]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/323354 MIDI mit BASCOM und AVR]&lt;br /&gt;
&lt;br /&gt;
== externe Links ins Web ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Musical_Instrument_Digital_Interface MIDI in der Wikipedia]&lt;br /&gt;
* [http://www.midibox.org MIDI DIY Hardware mit Forum über MIDI mit vielen Projekten] &lt;br /&gt;
* [http://michd.me/blog/yearproject-fpga-midi-synth FPGA Midi Project Nexys]&lt;br /&gt;
* [http://papilio.gadgetfactory.net/index.php?n=Papilio.MIDIAudioWing steckbarer Midi und Audio Adapter]&lt;br /&gt;
* [http://synthesia.sourceforge.net/hardware.html Open Source Audio Hardware]&lt;br /&gt;
* [http://www.96khz.org/htm/midiviaspdif.htm 96kHz Audio DSP - high speed MIDI over S/PDIF]&lt;br /&gt;
* [http://www.edn.com/electronics-products/other/4312744/FPGA-evaluation-boards-come-with-design-software FPGa Evalboard mit Audio MIDI IO]&lt;br /&gt;
* [http://blog.makezine.com/2010/08/11/milkymist-interactive-vj-station/ Audio MIDI DSP Plattform]&lt;br /&gt;
* [http://www.indiamart.com/prayog-labs-limited/products.html Triple MIDI IF Adapter]&lt;br /&gt;
* [http://www.linux-community.de/Internal/Nachrichten/Video-Jockey-System-mit-offener-Hard-und-Software AV Controller System]&lt;br /&gt;
* [https://www.sparkfun.com/products/9595 MIDI shield Adapter]&lt;br /&gt;
* [http://www.ucapps.de/ uCApps.de - viele DIY MIDI Projekte]&lt;br /&gt;
* [http://truechiptilldeath.com/blog/2009/04/16/fpga-arcade-board/ FPGA Arcade Board]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Audio]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>87.178.119.98</name></author>
	</entry>
</feed>