<?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=89.51.127.74</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=89.51.127.74"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/89.51.127.74"/>
	<updated>2026-04-10T14:42:06Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Pegelwandler&amp;diff=22368</id>
		<title>Pegelwandler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Pegelwandler&amp;diff=22368"/>
		<updated>2007-06-30T15:06:31Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: /* UNIDIREKTIONAL, STEP-UP: 5V -&amp;gt; 12V, 15V, ... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vorwort =&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel ist stark in Arbeit.&lt;br /&gt;
Derzeitiger Status: Materialsammlung. &lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-1-375051.html &amp;quot;Stein des Anstosses&amp;quot;]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/list-1-1.html?filter=pegelwand*+levelsh*&amp;amp;x=0&amp;amp;y=0 Suche in den Forenartikel]&lt;br /&gt;
&lt;br /&gt;
Technische Ergänzungen, Übersetzungen und Kommentare z.B. auf der Diskussionsseite oder in obigem Thread sind herzlich willkommen!&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
&lt;br /&gt;
Pegelwandeln bzw. &#039;&#039;&#039;Levelshiften&#039;&#039;&#039; wird oft notwendig, wenn Systeme mit unterschiedlicher Ausgangs- und Eingangsspannungen (z.B. Versorgungs- oder Logikspannungen) miteinander verbunden werden sollen. &lt;br /&gt;
&lt;br /&gt;
Das vielleicht bekannteste Beispiel ist die Umsetzung von 0V/5V [[TTL]] Logikpegeln auf die -12V/12V Pegel einer seriellen Schnittstelle. &lt;br /&gt;
&lt;br /&gt;
Die Problematiken beim Pegelwandeln können sein:&lt;br /&gt;
&lt;br /&gt;
# Überlastung einer oder beider Seiten&lt;br /&gt;
# Inkompatible Logikpegel und daraus resultierende Nichtfunktion der Schaltung (siehe auch http://www.interfacebus.com/Design_Translation.html)&lt;br /&gt;
# Verzögerungen durch die Pegelwandlung und daraus resultierende Maximalfrequenzen beim Einsatz (Stichwort &#039;&#039;propagation delays&#039;&#039; bei 74.... ICs, max. Baudrate bei TTL-RS232 Wandlung mit Transistoren)&lt;br /&gt;
&lt;br /&gt;
= Überlastung =&lt;br /&gt;
&lt;br /&gt;
Das Erzeugen von verschiedenen Versorgungsspannungen ist ziemlich einfach, aber man muss sicher gehen daß man die Signalleitungen zwischen den Bauteilen überprüft. Wenn ein 5V Bauteil ein Signal an ein 3V Bauteil schickt kann das 3V Bauteil beschädigt werden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;5V tolerante&amp;quot; Eingänge ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;5 Volt tolerant&amp;lt;/i&amp;gt; bedeutet, daß 3 Volt Bausteine ohne Probleme von einem 5 Volt Baustein angesteuert werden können.&lt;br /&gt;
&lt;br /&gt;
Viele Bauteile die auf 3V arbeiten verfügen über 5V tolerante Eingänge. Man sollte aber grundsätzlich im Datenblatt darüber nachlesen, bevor die Schaltung aufgebaut wird. Sind sie es nicht, so ist ein &amp;lt;b&amp;gt;Level Shifter&amp;lt;/b&amp;gt; auf den Verbindungsleitungen zwischen den Bauteilen notwendig. Ein &amp;lt;b&amp;gt;Level shifter&amp;lt;/b&amp;gt; kann eine einfache Zener-Diode mit einem Widerstand sein, es kann aber auch ein eigens dafür vorgesehener IC sein. Sind die Signalwege bidirektional, so wird man meist die Lösung mit einem eigenen IC bevorzugen.&lt;br /&gt;
&lt;br /&gt;
[[AVR]]s sind generell nicht 5V tolerant, wenn sie mit 3.3V betrieben werden. Die absolute obere Grenze liegt bei Vcc + 0.5V. Zu finden in den elektrischen Spezifikationen im Datenblatt.&lt;br /&gt;
&lt;br /&gt;
Ob ein Bauteil 5V-tolerant ist und unter welchen Betriebsbedingungen das gilt steht im Datenblatt des betreffenden Bauteils vom betreffenden Hersteller. Wenn es auf diese Eigenschaft ankommt, lieber genau bei Lieferanten nachsehen, von welchem Hersteller die Bauteile kommen.&lt;br /&gt;
&lt;br /&gt;
Vorsicht bei:&lt;br /&gt;
&lt;br /&gt;
* 74LVXxxx (245, 244, 240 ...) an Vcc=3,3V.&amp;lt;br&amp;gt;&amp;lt;font color=FF0000&amp;gt;Achtung&amp;lt;/font&amp;gt;: Nicht alle 74LVX sind für 5V -&amp;gt; 3,3V geeignet, da jeder Hersteller die ICs anders baut! &lt;br /&gt;
* 74LCX125. Kritik: Funktioniert nicht. Wir haben das letzte Woche in einer anderen Diskussion behandelt. Die LCX Serie behauptet 5V tolerant zu sein, aber die Ausgänge halten nur 5V aus wenn sie deaktiviert sind, sonst gilt max. Spannug am Pin VCC+0,5V.&lt;br /&gt;
(Anmerkung des Übersetzers FalkB: Ist das aber nicht vollkommen normal? Denn dann würden ja Ausgänge gegeneinander treiben, und das ist sowiso nicht gut)&lt;br /&gt;
&lt;br /&gt;
== Clamping / Protection Diodes ==&lt;br /&gt;
&lt;br /&gt;
Schnittstellen zwischen verschiedenen Logikpegeln sind generell keine gute Idee, aber ich habe in der Vergangenheit herausgefunden daß das gut funktioniert. Manchmal reicht es den Stromfluss zu begrenzen. Z.B. wenn ein AVR mit 3,3V läuft und der Eingangswiderstand hoch ist (z.B. &amp;lt;math&amp;gt;1k\Omega&amp;lt;/math&amp;gt;), dann wird die Spannung durch die &#039;&#039;&#039;Schutzdioden&#039;&#039;&#039; des AVRs begrenzt. Die Differenzspannung über dem Widerstand vom 5V Ausgang zum 3,3V Eingang des AVR ist 5-3,3-0,6 = 1.1V. Der Widerstand würde den Strom hierbei auf 1,1mA begrenzen. Die Schutzdiode würde 0,6mW an Leistung umsetzen, was für sie kein Problem darstellt.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil ist, daß die 5V Seite Versorgungsstom an die 3,3V Seite liefern muss wenn die 3,3V Versorgungsspannung später oder langsamer eingeschaltet wird. Das Gleiche gilt auch umgekehrt. Das ist aber kein Problem wenn garantiert werden kann, daß beide Versorgungsspannungen gleichzeitig hochfahren.&lt;br /&gt;
&lt;br /&gt;
Ausserdem erhöht der Widerstand die Anstiegszeit des Signals am Eingang des AVR.&lt;br /&gt;
Wenn beispielsweise die Eingangskapazität 10pF beträgt egibt das eine Anstiegszeit von ~15ns (??? Rechenfehler im engischen Original).&lt;br /&gt;
&lt;br /&gt;
Ich glaube nicht, daß das ein Problem ist, aber wenn die Eingangskapazit viel grösser ist muss die Anstiegszeit geprüft werden, ob sie noch die Spezifikationen des Gesamtsystems erfüllt.&lt;br /&gt;
&lt;br /&gt;
Das Hinzufügen einer Diode ist keine gute Idee, denn wenn der 5V Eingang auf LOW geht verhindert die Diode daß der Eingang auf 0V entladen wird, der Eingang würde nun praktisch in der Luft hängen (floaten).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Die Schutzdioden eines Baustein schützen diesen zwar vor Defekt, garantieren aber nicht die korrekte Funktion. Mindestens für manche Logikreihen (Philips 74HC) ist dokumentiert, dass bei einer leitenden Schutzdiode aufgrund parasitärer Transistoren eine Verbindung zu Nachbarpins entstehen kann, die zu Fehlern in der Funktion des Bausteins führen kann. Quelle: http://www.standardics.philips.com/support/documents/logic/pdf/user.guide.hcmos.pdf.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;Was spricht gegen einen 74HC125 ??&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der 74HC125 hat am Eingang eine Diode nach VCC. Das heisst, dass bei Eingangspannungen oberhalb VCC+Flussspannung(Diode) ein Strom vom Eingang nach VCC fliesst. Beim 74HC4050 oder 74HC4049(invertierend) fehlt diese Diode und es ist noch ein zusätzlicher Vorwiderstand vorhanden. Diese Typen sind speziell für die Pegelumsetzung ausgelegt. Abgesehen davon hat ein 74HC4050 6 Gatter und der 74HC125 nur 4. http://www.mikrocontroller.net/forum/read-1-200178.html&lt;br /&gt;
&lt;br /&gt;
Bei fehlender Strombegrenzung in der Input-Leitung z.B. durch einen Serienwiderstand kann sich der Baustein über vorhandene Schutzdioden stark aufheizen, weil durch die Überspanung ein parasitärer Thyristor gezündet wird (&#039;&#039;latch-up&#039;&#039;) und letztendlich auch zerstört werden. Ein IC mit Latchup kann nur durch Abschalten der Versorgungsspannung wieder in den Normalzustand gebracht werden (wenn er nicht vorher thermisch geschädigt wird)&lt;br /&gt;
&lt;br /&gt;
== Schutz durch MOSFETs ==&lt;br /&gt;
&lt;br /&gt;
Philips AN97055 - Bidirectional level-shifter for I2C-Bus and other systems. MOSFETs: you could use 2 BJT (for instance UMC5N)&lt;br /&gt;
&lt;br /&gt;
Siehe auch&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/attachment.php/256452/levelshifter.pdf&lt;br /&gt;
* http://www.semiconductors.philips.com/acrobat_download/literature/9398/39340011.pdf&lt;br /&gt;
* http://www.mikrocontroller.net/forum/read-1-234277.html#new&lt;br /&gt;
* http://www.semiconductors.philips.com/acrobat/literature/9398/39340011.pdf&lt;br /&gt;
&lt;br /&gt;
= Kompatibilität von Logikpegeln =&lt;br /&gt;
&lt;br /&gt;
Siehe auch http://www.interfacebus.com/Design_Translation.html&lt;br /&gt;
&lt;br /&gt;
Verschiedene Mikroprozessoren haben eigene elektrische Kenndaten für HIGH und LOW Pegel, die abhängig von der Versorgungsspannung sind z.B. der [[R8C]]:&lt;br /&gt;
* HIGH grösser 0.8 * Vcc&lt;br /&gt;
* LOW kleiner 0.2 * Vcc&lt;br /&gt;
&lt;br /&gt;
Compare output levels to input levels both ways. If this is for a hobby project, just measure the voltage levels, if it is for a product you want to create and sell, you better get the specifications of the output and input levels. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Praktische Beispiele =&lt;br /&gt;
&lt;br /&gt;
== UNIDIREKTIONAL, STEP-UP: 3.3V -&amp;gt; 5V ==&lt;br /&gt;
&lt;br /&gt;
3.3V Pegel werden bei TTL kompatiblen Eingängen richtig erkannt. Es ist kein Levelshifter erforderlich.&lt;br /&gt;
&lt;br /&gt;
3.6V Ausgang nach 5V TTL Eingang geht am billigsten direkt.&lt;br /&gt;
&lt;br /&gt;
3.3 open collector to 5 volt input: same, just add a pullup. &lt;br /&gt;
&lt;br /&gt;
Most 5 Volt Circuits can cope with 3.3 Volt CMOS Signal, which has around the same levels as normal 5 Volt TTL Outputs. If you really want to shift 3 Volt CMOS to 5 Volt CMOS, use a TTL level compatible CMOS gate, like AHCT, with 5 Volt supply&lt;br /&gt;
&lt;br /&gt;
If you want to connect a 3.3 Volt device to a 5 Volt TTL/CMOS Bus, use a passive busswitch, like the  SN74CBTD3861. &lt;br /&gt;
&lt;br /&gt;
Or you could use a comparator (LM339/393) in non-inverting circuit. &lt;br /&gt;
&lt;br /&gt;
Fairchild LVX00DS: The LVX00 contains four 2-input NAND gates. The inputs tolerate voltages up to 7V allowing the interface of 5V systems to 3V systems.&lt;br /&gt;
&lt;br /&gt;
TI 74LVC32DS: Inputs can be driven from either 3.3-V or 5-V devices. This feature allows the use of these devices as translators in a mixed 3.3V/5V system environment.&lt;br /&gt;
&lt;br /&gt;
74LVC07: http://rocky.digikey.com/WebLib/Texas%20Instruments/Web%20data/SN74LVC07A.pdf&lt;br /&gt;
&lt;br /&gt;
3.3 to 5 volt ttl level or 74hct serieas cmos: just connect, levels are ok.  This will not work for 74hc or cd40xx parts (at least not reliably). &lt;br /&gt;
&lt;br /&gt;
74ACTxx has an input switching threshold of 1.4 volts and provides rail-to-rail, 0.0V to 5.0V outputs.  So does 74HCTxx. Digi-Key sells the &#039;00 (inverting) and &#039;08 (noninverting) devices among many other type numbers. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bauteile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 74HCTxxx (245, 244, 240 ...)&lt;br /&gt;
* 74HCT125&lt;br /&gt;
* SN74LVC07AD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I want to connect a GPS Smart antenna SAM LS from u-blox, to the UART of an atmega128 running under 5V. Unfortunately the GPS runs in 3V and has 3V compatible IOs. I set up a 3V regulator already for the power supply. Can someone explain how to build a level shifter from 3V to 5V with a transistor ? &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* The TX signal from the u-blox can go right into the input of the atmega, since everything above 2.5V is seen as &#039;1&#039;. The signal from the atmega to the u-blox can be brought down to 3V by a voltage divider with two resistors: 12k and 18k. I&#039;ve used this in a commercial product and it runs just fine. (Kritik: Doesn&#039;t the Mega need 0.6*VCC as Vih(min) , the datasheet says so. 0.6 x 5V = 3V)&lt;br /&gt;
* When I run into problems of that sort, I usually use one of the buffer/drivers with 5V tolerant I/O. Something like a 74LCX245 would work. You can also use something like a N7SCZ125,  which is a single buffer in a SOT23-5 package. You use 3.3V to power the buffer, but its inputs and outputs can be connected to 5V chips. (That&#039;s probably correct. When I was  connecting 3V and 5V systems, I was connecting a 5V ADC to a 3V SPI serial port.  The clock and data were running at 2MHz, and I had to use the tri-state feature to allow the SPI bus to be used for other peripherals.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
What is the best design for this level shifter ? 3v logic to cmos logic powered at Vcc = 3v or 5v selected on the fly &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
                                          | &lt;br /&gt;
                            +-------------+-----+ &lt;br /&gt;
                            |                   | &lt;br /&gt;
 +----------+       +-------+-+         +-------+---------+ &lt;br /&gt;
 | 3v       |       | level   |         | cmos device     | &lt;br /&gt;
 | cmos     +----&amp;gt;--+ shifter +----&amp;gt;----+ used at 3 or 5v | &lt;br /&gt;
 | logic    |       |    ?    |         | (HC MOS)        | &lt;br /&gt;
 +----------+       +---------+         +-----------------+ &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Vcc on the right side is selected on the fly &lt;br /&gt;
* the logic on the right side is pure CMOS level (not TTL or HCT !) &lt;br /&gt;
* four lines to translate &lt;br /&gt;
* F &amp;lt; 5MHZ &lt;br /&gt;
* no duty cycle modification &lt;br /&gt;
* very low power at 0 frequency (&amp;lt;100µA when stop at low or high level) &lt;br /&gt;
* low cost ! &lt;br /&gt;
&lt;br /&gt;
please, other solution than : &lt;br /&gt;
* open drain translator (power hungry or duty cycle modification) &lt;br /&gt;
* 74LVXC3245  8-bit dual supply configurable voltage transceiver (too large and expensive) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* I&#039;m sorry if I&#039;ve misunderstood your requirement Alain, but I assume that you have 4 signals coming from a 3V CMOS logic device that need to be interfaced to either a 3V or 5V cmos circuit, and you don&#039;t know in advance what the voltage will be. You only need to buffer the two circuits, so the simplest solution might be to use a bus driver type device, or even a bus latch, such as the 74573. The 74573 is like the 74373, except the pins are arranged more logically, inputs on one side, outputs on the other, in sequence, making it easier to interface to. The AHCT version, ie the 74AHCT573 is a CMOS device, and I have used it down to 2.5 volts and up to 6 volts, without problems. I have used it to interface a battery powered circuit, running from a pair of lithium cells, ranging between  2.5 and 6 volts, to a constant 5V logic system without any long term problems. That circuit was in a vehicle, so was a little noise prone, especially at low battery levels, so you will need pull ups on the input to the &#039;573. This would probably work with any AHCT device that was non-inverting. I didn&#039;t run at your higher frequencies, so I would test that first. &lt;br /&gt;
* ok, i think too that AHCT (or HCT) devices are a possible good solution for this problem, but they are not specified and guaranteed for use at 3v ! and the problem with AHC or HC devices (specified at 3 and 5v) is that their Vih level at Vcc=5v (0.7*vcc=3.5v)  is higher than the Voh of 3,3v device. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I have a 5V part that receives 3 lines of relatively high-speed serial data from a 3.3V part. The input threshold of the 5V part is a little high to reliably get all the data correctly. Does anyone know of a quick and cheap solution to this problem? I have considered using a 5V buffer (74xx125 or 74xx244) and use the 3.3V part outputs, but I don&#039;t know of the logic family that will accept that value reliably. Can anyone reference me to a level shifter of some sort? Note: I have a 3.3 to 5v level shifter circuit using a transistor, but don&#039;t want to dump all the power. Can any of the CBT (Crossbar Technology) be used to level shift up? &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* You can use Quality Semiconductor QuickSwitches to do this level shifting. There are others out there with similar products such as IDT and Pericom. &lt;br /&gt;
* 74HCTxx and 74ACTxx standard logic gates both have VIH of 2.0V or greater running off a 5V supply. They make decent cheap 3V-&amp;gt;5V translators when working with 5V CMOS level input ICs.   A number of companies also make Bus Switches (3384 something) that have prop delays in the 100&#039;s of pSec. &lt;br /&gt;
* Check 74lvcxxx or 74lvtxxx(faster) family - from Philips and Texas Instr. Both are 3V supplied, 5V input tolerant, also these are two direction level shifters (ie 74lvc4245). &lt;br /&gt;
* Toshiba (and probably a lot more manufacturers) have a version of the `244 that accepts dual power feed (ie: +5 and +3.3) and does the level shifting internally. I used it on a couple of projects before and it worked fine. &lt;br /&gt;
* What is this 3.3V part that doesn&#039;t output high enough level??  If your 5V part has TTL-input voltages, it should be FINE.  Maybe the 5V part has CMOS levels. Depending on the IOL of the 3.3V part, try a 600 to 2200 ohm pullup from each output to 3.3V (not 5, you might get latchup).  This should pull the output level higher and give you more margin. &lt;br /&gt;
* http://www.national.com/pf/74/74LVX4245.html &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UNIDIREKTIONAL, STEP-UP: 5V -&amp;gt; 9V ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I had a 5v logic output but needed a 9v swing, without inverting the sense. After thinking a few minutes, I implemented what seems like an ideal solution. I&#039;m just  surprised not to have ever seen this simple idea: Use the logic output to pull down the emitter of an NPN transister. Take the base via a resister to the logic supply. The collector pulls down. This is just a simple common-base amplifier, but I haven&#039;t seen it done before. Comments? &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* The first thing that needs to be said about your circuit is that because your transistor is becoming saturated and you are terminating it in a 9V load, you must put a diode clamp from the emittor to logic Vcc unless your logic output is rated for 9V. &lt;br /&gt;
* Yes- this is done, and you can make things lightning fast by going to a complementary drive where one output drives the base through a current limiting resistor and the other complementary output drives the emitter. A Schottky clamp from B-C also helps immensely. Short of this you could also tie the base to a resistor divider from Vcc to GND at the 2.5V tap. This would also provide good switching performance without the diode clamp in many cases. These are probably inapplicable to your situation. As for the level shift as it applies to your circuit- you have converted a 0-5V drive into a 0-9V, so it is really an amplification by 1.8 with a level shift of the mean by 2V. (Kritik: As for the bi-polar swings for the base bias, the decreased switching times derive from the properties of RC time constant circuits. In general, the voltage as a function of time developed across the capacitance isVc(t)=Va+Vbexp(-t/(RC)). The bi-polar drive does have the disadvantage at turn-on in that there is a small delay in charging the reverse biased  depletion region capacitance of the B-E junction- but this is small compared to the time spent charging the diffusion capacitance. The big advantage comes at turn-off- which is always the largest delay. The unipolar drive is asymptotic to 0V and the bi-polar goes to -2.5V or -5V. With turn-off occurring at about +0.4V - this translates into a much faster switch.)&lt;br /&gt;
&lt;br /&gt;
Thanks for the useful information. That gives me a model for understanding the high-speed behaviour. Do the depletion and diffusion capacitances normally figure in a transistor data sheet (else how is the info represented)? &lt;br /&gt;
&lt;br /&gt;
Yes. The depletion capacitance will be specified as Cibo, or small-signal input capacitance. The diffusion capacitance must be derived, as it is a function of collector current. The formula is Cd=1/(2*pi*Ft*rd). Here Ft is current gain bandwidth product , rd is the diffusion resistance which is 25mV/ Ic. Ft is specified in the data sheet. Cd can vary widely as the transistor is switching from off to a large load value- so it is difficult to know which value to use. A fair approximation is to assume that Cd remains constant at a value of Cd= sqrt(Cd(10)*Cd(90)). Here Cd(10) is the value of Cd at 10% Ic,max and Cd(90) is the value at 90% of Ic,max. &lt;br /&gt;
&lt;br /&gt;
So if I understand you rightly, before the transistor can turn fully off, it must source current from the logic output to charge the diffusion capacitance from Vce(sat) to 9v-Vcc, and that can cause &#039;&#039;&#039;latch-up&#039;&#039;&#039; or something nasty in a CMOS output (which the diode avoids)? &lt;br /&gt;
&lt;br /&gt;
The diffusion capacitance is one component of base-emitter junction capacitance. On turn off, it must be discharged from the on-value of 0.7V to 0V. When your logic output goes high - here is what happens. The logic pulldown will turn off very quickly which cuts off the current through the transistor. The transistor is saturated so that even though the current has been cut off, it is still a low resistance from C-E capable of supplying current. This resistance may be on the order of 100 milliohms. So until the transistor base charge is removed [ by discharging the diffusion capacitance ] , the logic output will be presented with a series combination of this low C-E resistance and the load resistance to 9 Volts. Because the current has been cut-off by the logic pulldown, there is no voltage drop ( I x R ) from C-E or across the load- this means the entire 9 Volts must be dropped across the logic output. So you can see that a clamp from the logic output to Vcc will prevent this from happening. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UNIDIREKTIONAL, STEP-UP: 5V -&amp;gt; 12V, 15V, ... ==&lt;br /&gt;
&lt;br /&gt;
You need a TTL/RS232 interface circuit (e.g. MAX232). You could also try any TTL or CMOS inverter lying around, but insert a resistor (a few k should be enough) between the PC and the inverter to limit current through any clamping diodes (if the inverter doesn&#039;t have this it might fry, too).&lt;br /&gt;
&lt;br /&gt;
In the case of interfacing 5V TTL to 12V or 15V CD4000 logic, that&#039;s a little trickier.  Here&#039;s what I have used: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
                              ------------o--------- +12V or whatever &lt;br /&gt;
                              |           | &lt;br /&gt;
                              /           / &lt;br /&gt;
                              \10k        \ 10k &lt;br /&gt;
                              /           / &lt;br /&gt;
              E        C      |           | &lt;br /&gt;
    In &amp;gt;------\        /------------------o---------&amp;gt; Out &lt;br /&gt;
               \      /       | &lt;br /&gt;
      any NPN  ________       | &lt;br /&gt;
                   | B        | &lt;br /&gt;
                   |----------o &lt;br /&gt;
                              | &lt;br /&gt;
                              / &lt;br /&gt;
                              \ 2.2k &lt;br /&gt;
                              / &lt;br /&gt;
                              | &lt;br /&gt;
                       -------o------- GND &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The idea is simple:  when IN is TTL high, the transistor is OFF and the output is also logic HI.  When IN is 0V, the transistor is fully ON and the output is real close to 0V for a logic LO. An added advantage is the noise immunity is much greater than just driving a base directly; there your noise immunity is just Vbe (0.6V) _and_ your logic gets inverted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pegelwandler mit Transistor&#039;&#039;&#039; (http://www.elektronik-kompendium.de/sites/praxis/bausatz_pegelwandler-mit-transistoren.htm)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
Ich habe folgendes Problem und suche eine Schaltungsvorschlag. Als Eingangssignal habe ich 0V bzw. 5V. Der Ausgang sollte 0V bzw. 12V sein. Einzige Bedingung: 0V bzw. 12V sollten einen möglichst kleinen Innenwiderstand habe, weil ich die Werte des Pull-Ups bzw. Pull-Downs des auswertenden Geräts auf der Ausgangsseite nicht kenne. Also hilfts leider nicht, einen Transistor zu nehmen und den Ausgang mit Widerstand gegen 12V zu legen. Irgendwelche Ideen? &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* wenns nicht zu schnell ist, MOSFET-Treiber z.B. UCC27325 und deren Verwandte &lt;br /&gt;
* CD40109. Gäbs auch bei Reichelt. &lt;br /&gt;
* 4104 ist mein Liebling. (&amp;quot;VDDI must always be less than or equal to VDDO even during power turn-on and turn-off.&amp;quot; =&amp;gt; Kann man ja eine Diode von 5V nach 12V spendieren um das sicherzustellen. Gegenenfalls Schottky SB120, obwohls 1N4001 auch tun wird.)&lt;br /&gt;
* MAX232, der braucht nur 5V Versorgungsspannung. Allerdings ist der Ausgangswiderstand relativ hoch (ca. 300Ohm) und man kann nur ca. 5mA Ausgangstrom liefern. Die Ausgangsspannung beträgt max. 10V.&lt;br /&gt;
&lt;br /&gt;
== UNIDIREKTIONAL, STEP-DOWN: 5V -&amp;gt; 3.3V ==&lt;br /&gt;
&lt;br /&gt;
if you need fast transfer you will need a level shifter like a 74LVC245 who is supply at 3V and have 5v input tolerent.&lt;br /&gt;
&lt;br /&gt;
For the way 5 Volt CMOS to 3 Volt CMOS, look for 3 Volt Gates with 5 Volt tolerant inputs, like AHC. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bauteile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 74LVC245A (&#039;A&#039; ist wichtig, I/Os 5V-tolerant, bei Reichelt erhältlich)&lt;br /&gt;
* 74LVC245DW &lt;br /&gt;
* 74LVT245 &lt;br /&gt;
* 74LVXxxx (245, 244, 240 ...) an Vcc=3,3V. Achtung: Nicht alle 74LVX sind für 5V -&amp;gt; 3,3V geeignet, da jeder Hersteller die ICs anders baut!&lt;br /&gt;
** 74LVX04 &lt;br /&gt;
** 74LVX244 (Fairchild)&lt;br /&gt;
** 74LVX245 (nicht von Reichelt, nicht 5V tolerant). &lt;br /&gt;
* 74HC4050 (bis 15V)&lt;br /&gt;
* MAX3373/MAX3375&lt;br /&gt;
* NC7SZ08 oder andere aus derselben Serie. CMOS-Logik mit 5V-toleranten Eingängen, recht flott und braucht dank SOT-23 auch wenig Platz auf dem Print&lt;br /&gt;
&lt;br /&gt;
=== Spannungsteiler ===&lt;br /&gt;
&lt;br /&gt;
5v open collector to 3.3 volt input:  just add a pullup resistor. &lt;br /&gt;
&lt;br /&gt;
5 volt ttl/cmos to 3.3 input: wont work unless input specified to work if driven overvoltage.  Maybe using a 2-10k series resistor to limit current would work in most other cases. &lt;br /&gt;
&lt;br /&gt;
Spannungsteiler mit 680 Ohm und 1kOhm.&lt;br /&gt;
&lt;br /&gt;
Believe the values were 2k from the 5v out put to the 3.3 input and 10k from 3.3v input to ground. The resistor network plus the parasite capacitance form a low pass filter, which will limit the speed. The value of the capacitance depends on the particular layout you are using. If you have a scope, look at the waveform and see how far the signal is from a square wave.&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;autre sens( du 5 vers le 3.3), bien souvent une diode sur la ligne de connection connectée au 3.3V avec une resistance serie et le tour est joué ( il me semblent meme que ces diodes sont integrées dans les entrées CMOS ( systeme anti-latchup). Donc une resistance de 2.2K ou 4.7K entre la sortie 5V et l&#039;entrée 3.3V doit suffire: courant largement inferieur au miliampere. Mais tout depend de la vitesse de transmission sur ces lignes. Ces bidouilles ne marcheront pas a 1GHz, mais a 100KHz cela doit fonctionner.&lt;br /&gt;
&lt;br /&gt;
== BIDIREKTIONAL: 5V &amp;lt;-&amp;gt; 3.3V ==&lt;br /&gt;
&lt;br /&gt;
For bidirectional busses, there are devices to with two supplies, however ther need additional direction signals and need some conditions when switched on, or there is a chance that they will latch. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bauteile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* SN74CB3T3306 &lt;br /&gt;
* MAX1741 &lt;br /&gt;
* MAX3378E &lt;br /&gt;
* 74AHC126 s.u.&lt;br /&gt;
* ST2378 (bei CSD erhältlich, 3.5 eur, leider TSSOP)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bidirectional mit 74AHC126&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is a very nice way to level shift your 3.3v &amp;lt;-&amp;gt; 5v system. Take a 74AHC126. Tie VDD = 3.3V, gnd = gnd. Now the following pins should be connected:&lt;br /&gt;
&lt;br /&gt;
* PIN 1 = TIE VCC3.3&lt;br /&gt;
* PIN 2 = I/O line w/pullups @5v&lt;br /&gt;
* PIN 3 = whatever the I/O line is at a 3.3v level (this is input to your avr)&lt;br /&gt;
&lt;br /&gt;
The above demonstrates a shift from 5v downto 3.3 going into pin 2 and out pin 3. Now we will add the &#039;bidirectional&#039; part.&lt;br /&gt;
&lt;br /&gt;
* PIN 4 = AVR I/O @ 3.3v&lt;br /&gt;
* PIN 5 = TIE to GND&lt;br /&gt;
* PIN 6 = CONNECT TO PIN 2&lt;br /&gt;
&lt;br /&gt;
You have just created a level-shifted bidirection io line using a 126 driver. If you switch the driver to the 125, a 0 = 0 and a 1 = 1, else the way I did it, a 1 = 0 and a 0 = 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
Je recherche un circuit intégré qui s&#039;alimenterait en 5V capable de &lt;br /&gt;
convertir des signaux logiques 0/5V en 0/3.3V et inversement. Un peu comme &lt;br /&gt;
un MAX232 converti du 0/5V en -10V/+10V. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
Il existe des circuits translateurs de tension (level shifter) comme le 4504 TTL vers Cmos ou Cmos vers Cmos. Le 4504 possède une double alim (Vcc et VDD) en fonction des 2 tensions; j&#039;en ai utilisé pour interfacer du 5 vers du 12 par ex.  Mais c&#039;est un &amp;quot;low to high voltage&amp;quot; ca ne convient pas à ton cas. Peut être faire une recherche avec &amp;quot;level shifter TTL&amp;quot; Il y a aussi le 4049 (6 inverseurs) ou 4050 (6 non inverseurs) qui peut recevoir plus en entrée que son alim (Vin can exceed VDD) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
En fait, c&#039;est pour des signaux de communication Rx-Tx entre un système fonctionnent en 5V et un autre en 3V3. Il faut donc 2 &amp;quot;convertisseurs&amp;quot; indépendants, un qui converti le Tx 0-3V3 pour attaquer le Rx 0-5V et un qui converti le Tx 0-5V pour attaquer le Rx 3V3. Certains systèmes 3V3 ont leurs entrées compatibles 0-5V, mais c&#039;est pas le cas pour celui que j&#039;utlise. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
Je pensais avoir trouvé une piste chez TI avec le SN74LVC4245A. Il comporte 8 &amp;quot;convertisseurs&amp;quot; 0-5V  &amp;lt;---&amp;gt;  0-3V3 alors que 2 me suffiraient (donc un peu trop gros), et  le plus génant, c&#039;est que les 8 sont dépendants. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I am working on a design that will connect the I/O ports of a microcontroller operating from a 3.3 Volt supply to peripheral boards operating from a 5 Volt supply. I need a translator device that will convert the signals from 3.3 Volt to 5 Volts and vice versa. I/O port pins may be input or output at any time under software control so the translator has to operate bidirectionally. Propagation delay is not critical. &lt;br /&gt;
&lt;br /&gt;
In other words, when a port pin is Output, &lt;br /&gt;
* a logic low on the 3.3 Volt side ( 0 volts or close ) should be seen as logic low on the 5 Volt side ( 0 volts or close ) &lt;br /&gt;
* a logic high on the 3.3 Volt side ( 3.3 volts or close ) should be seen as logic high on the 5 Volt side ( 5 Volts or close ) &lt;br /&gt;
&lt;br /&gt;
When a port pin is Input, &lt;br /&gt;
* a logic low on the 5 Volt side ( 0 volts or close ) should be seen as logic low on the 3.3 Volt side ( 0 volts or close ) &lt;br /&gt;
* a logic high on the 5 Volt side ( 5 volts or close ) should be seen as logic high on the 3.3 Volt side ( 3.3 Volts or close ) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* 74LVC4245 &lt;br /&gt;
* 74LCX logic will run from 3.3V and tolerate 5V inputs. (As will some other logic families). The outputs will drive 5V logic inputs. Pericom makes lots of logic level translators with common logic functions and pinouts. &lt;br /&gt;
* This is normally done using a quickswitch type part.  See the application notes from IDT or Pericom. &lt;br /&gt;
* Maybe IDTs QS316245 might do it. http://www.idt.com/docs/QS316245_DS_2110.pdf Pin compatible with many of those 2x8 bit level shifters around, but without the limitation of sets of 8 with directional inputs, which means thar you can have like 5 lines one way, and 11 lines the other way. Or perhaps be placed on a bidirectional bus without the need of decoding the bus direction. Or even have like 3.3V logic on one side and either 3.3V or 5.0V on the other side (PCCard application). &lt;br /&gt;
* What you need is a bidirectional level shifter. Have a look at: http://www.telos.de/audrii/default_e.htm for an available device or look at http://www.semiconductors.philips.com/buses/i2c/facts/#levelshifting to read more about it. The level shifter does not really depend on i2c logic - it could be well used for other buses. &lt;br /&gt;
* Spannungsteiler s.u.&lt;br /&gt;
&lt;br /&gt;
== UNIDIREKTIONAL: 5V -&amp;gt; 3.3V / Spannungsteiler ==&lt;br /&gt;
&lt;br /&gt;
Zu allererst sollte man sicher gehen, daß das 3.3V Bauteil nicht 5V tolerant ist. Falls es das sein sollte, dan stehen die Chancen gut, daß keine weitere Aktion nötig ist und man ist fertig.&lt;br /&gt;
&lt;br /&gt;
Danach sollte man abklären ob tatsächlich ein 5V Pegel am 5V Bauteil notwendig ist, um dort zuverlässig als logische &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; erkannt zu werden. Oft genügt der von einem 3.3V Bauteil gelieferte Spannungswert um dies zu erreichen. Ist dies der Fall, so genügt oft der folgende einfache [[Spannungsteiler]], um den 5V Ausgang an die 3.3V anzupassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
3.3V Eingang  100 Ohm   5V Ausgang&lt;br /&gt;
              +----+ &lt;br /&gt;
 O---------*--|    |-------O &lt;br /&gt;
           |  +----+ &lt;br /&gt;
          +-+ &lt;br /&gt;
          | | &lt;br /&gt;
          | | &lt;br /&gt;
          | | 200 Ohm &lt;br /&gt;
          | | &lt;br /&gt;
          +-+ &lt;br /&gt;
           | &lt;br /&gt;
           | &lt;br /&gt;
          -+- GND &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kritiken zum Spannungsteiler:===&lt;br /&gt;
&lt;br /&gt;
* If what you are connecting to has input protection diodes you can just use a single series resistor (rather than a divider) =&amp;gt; Kritik: Shouldn&#039;t you be concerned about where the 5V is going to go after passing thru the protection diode?  IOW, won&#039;t he be risking damage to the 3.3V chip by pushing the Vdd to nearly 5V?  I suppose a ~3.3V Zener might help to route the extra voltage to ground. =&amp;gt; Yes, the 3.3V regulator probably won&#039;t *sink* current. Also, some of the current won&#039;t come out of the Vdd pin, it will spill around to other inputs and such like, increasing current consumption and perhaps leakage into ADC pins on the same port etc. etc. Bad juju, mon.&lt;br /&gt;
* Has nobody noticed that this *alleged* interface circuit is drawing 16 mA from the output pin high condition? (=&amp;gt; Yes, I&#039;ve just noticed that. I&#039;ve wanted to use small and simple values to make my point clear but you are right, a 1k/2k divider would be much better especially if both sides are CMOS.) If the 5v side is driving high, and the 3v side is driving low, all those gates have to supply or sink 50 mA.  Per circuit. (Now, this is not a protection circuit. If you drive two outputs against one another (**) that&#039;s bad in all digital logic and should be avoided. But 16mA/pin is still too high for most applications.) (**) Software on the microcontroller changes a given port pin from input to output ( or from output to input ) at any time so the input/output configuration of pins is not known at design time. An example is the level shifting of I2C bus. Based on my research and the replies to this group, this may be solved by special level shifting IC&#039;s from Philips, Pericom or Texas Instruments. &lt;br /&gt;
&lt;br /&gt;
I have a question about the 100ohm/200ohm voltage divider too.  It looks ok as far as dropping the 5V down, but what about the 5V inputs?  Won&#039;t the divider also lower the 3.3V drive down to 2.2V?  If so, that would seem to really be expecting allot from the TTL inputs. =&amp;gt; No. For the 5V input (having an input resistance, let&#039;s say 100k) the circuit would look like this: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
3.3V Eingang  100 Ohm       5V Ausgang&lt;br /&gt;
              +----+ &lt;br /&gt;
 O---------*--|    |-------O---+---O A &lt;br /&gt;
           |  +----+           | &lt;br /&gt;
          +-+                 +-+     &lt;br /&gt;
          | |                 | |     &lt;br /&gt;
          | |                 | |     &lt;br /&gt;
          | | 200 Ohm         | | 100k &lt;br /&gt;
          | |                 | |     &lt;br /&gt;
          +-+                 +-+     &lt;br /&gt;
           |                   |       &lt;br /&gt;
           |                   |       &lt;br /&gt;
          -+- GND             -+- GND &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You see, that point A will have a voltage of 100k/(100+100k) * 3.3V = 3.296V. The 200 ohm resistor in this case will only increase the current load on the (3.3V) output which will be around 15mA. If that&#039;s too much, you can use a 1k/2k resistor of course, modern CMOS circuits has an input resistance of much higher than 100k.&lt;br /&gt;
&lt;br /&gt;
== Mit galvanischer Trennung ==&lt;br /&gt;
&lt;br /&gt;
* Optokoppler (&#039;&#039;Optocoupler&#039;&#039;)&lt;br /&gt;
* GMR-Koppler von der Firma NVE &lt;br /&gt;
* iCoupler Technologie von der Firma Analog Devices&lt;br /&gt;
&lt;br /&gt;
Lit.: &#039;&#039;Galvanische Trennung: Optokoppler, GMR-Koppler oder iCoupler?&#039;&#039;, Siegfried W. Best, Redaktion elektronik industrie, [http://www.elektronik-industrie.de/ei/11,2003/article/2f0082f824c.html elektronik industrie 11-2003, S. 22ff.] &lt;br /&gt;
&lt;br /&gt;
== Mit 3.6V 5V schalten ==&lt;br /&gt;
&lt;br /&gt;
Aus dem Forum:&lt;br /&gt;
http://www.mikrocontroller.net/attachment.php/256096/Level+shifter.JPG&lt;br /&gt;
&lt;br /&gt;
Beschränkungen:&lt;br /&gt;
* ggf. Platzbedarf&lt;br /&gt;
* Geschwindigkeit. Die Schaltung geht bis 4Mhz d.h. maximale SPI Geschwindigkeit. Danach wird&#039;s kritisch.&lt;br /&gt;
&lt;br /&gt;
Willste Absichern, schaltest du noch ein Latch dazwischen, z.B. 74LVX573. Bidirektional (z.B. für Datenbus) geht mit 74LVX245, beide Bausteine gibts bei Reichelt für ca. 0.45 Euro, billiger gehts kaum.&lt;br /&gt;
&lt;br /&gt;
If the function of level-shifter you wanted is for bus interface or buffer purpose only, you may find one solution from IDT semicondictor. They have a IC family for interface devices and logic you can find their related data sheet form http://www.idt.com/ &lt;br /&gt;
&lt;br /&gt;
== Einfaches RS232-Interface ==&lt;br /&gt;
&lt;br /&gt;
Erfolgreicher Einsatz bis 19200 Baud und bis zu 10 m Leitungslänge (Quelle: http://www.henrik-reimers.de):&lt;br /&gt;
http://www.henrik-reimers.de/control/rs232interface.gif&lt;br /&gt;
&lt;br /&gt;
Beschränkungen:&lt;br /&gt;
&lt;br /&gt;
* ggf. Platzbedarf&lt;br /&gt;
* Geschwindigkeit s.o.&lt;br /&gt;
&lt;br /&gt;
Beispiel: http://www.hagtech.com/pdf/translator.pdf&lt;br /&gt;
&lt;br /&gt;
== [[I2C]]-Bus: gemeinsam 3.3V und 5V ==&lt;br /&gt;
&lt;br /&gt;
[[MSP430]] an 3,3V/5V: http://www-s.ti.com/sc/psheets/slaa148/slaa148.pdf&lt;br /&gt;
&lt;br /&gt;
Philips PCA9515 I2C buffer with level shifting capability. The PCA9515 is an I2C bus repeater that isolates I2C busses of different voltages. It is available at DigiKey.&lt;br /&gt;
&lt;br /&gt;
Philips AN97055 Bi-directional level shifter for I²C-bus and other systems. &lt;br /&gt;
http://www.standardics.philips.com/support/documents/i2c/pdf/an97055.pdf&lt;br /&gt;
&lt;br /&gt;
Before selecting a Philips I2C chip, be sure you can get one, and that you use the package you can actually get. Sadly, the majority of them appear to be unobtanium. It is worth considering if a bus buffer is actually needed. If you have true I2C chips on 5V (eg PCF8574) then the input levels are schmitt trigger cmos levels. You will need to shift the 3V3 level up to 5V. If however you are using SMBUS chips (eg ADT7461, Silabs 8051), then the input thresholds are basically TTL absolute voltages. You will not need to level shift at all. A new bus buffer/level shifter chip is IES501 see www.bus-buffer.com &lt;br /&gt;
&lt;br /&gt;
It&#039;s a very simple and good 5V to 3.3 V I2C voltage translator. http://www.edn.com/article/CA193193.html Open the PDF document and read the article named &amp;quot;Two-transistor circuit replaces IC&amp;quot;, then you will see the schematics inside the text. For your purpose you can just connect enable directly to 3.3V (not 5V)so it&#039;s always enabled. The enable pin is only used to make it hot-swappable, but I don&#039;t think you need this feature. Remember you need such a circuit at both the SCL and the SDA line.&lt;br /&gt;
&lt;br /&gt;
More simple solution with only one MOSFET and two pull-up resistors at each line, but maybe it will be cheaper with two bipolar transistors than one MOSFET.&lt;br /&gt;
&lt;br /&gt;
* http://www.semiconductors.philips.com/markets/mms/protocols/i2c/facts/#levelshifting&lt;br /&gt;
* http://www.semiconductors.philips.com/acrobat_download/literature/9398/39340011.pdf&lt;br /&gt;
&lt;br /&gt;
== Auswählbare Pegel ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I have a logic signal (only one channel) with 1.8V, 2.5V or 3.3V CMOS level (target depend) und I have to translate this signal to 5V CMOS, only in this direction. Clock speed is up to 8MHz. I have power supplies for 5V and for the source level (1.8V, 2.5V or 3.3V). Using a common comparator (e.g. LM311) is not possible, because the comparator (V- = 0, V+ = 5V) input voltage range starts over 1V, this is too high. My solution is to use a high-speed OPV with R2R input, e.g. National LMH6645. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* You could try using an ultra-low input threshold N channel enhancement mode FET with a 1k pullup to 5V - a BSH103 might do the job (gate threshold of around 0.4V). &lt;br /&gt;
* I have also used a 74ACT04 to do this same thing. typical threshold is 1.5 vdc with Vcc at 5 volts.  1.8v is below &lt;br /&gt;
the abslute max Vih spec of 2 volts but I have never found this not to work even over -40 to 85 C. &lt;br /&gt;
* Why not just use a high speed single-supply comparator? Seems like a TL712 would work. http://www-s.ti.com/sc/ds/tl712.pdf   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage&#039;&#039;&#039;&lt;br /&gt;
I&#039;m looking for an IC that provides power and level shifting from 3V3 to 1V8, 3V0 or 5V0, selectable on-the-fly. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten&#039;&#039;&#039;&lt;br /&gt;
One such IC is the Linear LTC1555L-1.8 (http://www.linear.com/prod/datasheet.html?datasheet=130). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
If you only have one or two lines to shift, the LM393 comparator is a versatile option. It&#039;s open collector, so you can pull up the output to whatever VCC you&#039;re using, and you can set the switching threshold anywhere you like. Here&#039;s a schematic. R1, R2 and R3 set the switching thresholds - in this example, the 5V side is set at 2.1V and the 3.3V side at 1.6V. The comparator VCC goes to the highest voltage. I use a similar circuit frequently to interface 12V signals with 5V AVRs, with the comparator VCC connected to 12V.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten&lt;br /&gt;
LM393 is a dual comparator, but if you need more the LM339 has four, and if space is limited the TL311 is a single in a tiny SOT-23 package. Any number of comparators can share the same R1-R2-R3 bias chain. If you need to invert any of the signals, just swap the + and - inputs. It can handle signals up to about 1MHz.&lt;br /&gt;
&lt;br /&gt;
== AVR &amp;lt;-&amp;gt; FPGA ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I am interfacing an FPGA, AT90S2313-4Mhz MCU, and an MMC card and need some voltage translation. The AVR is being used as a communication bridge between the FPGA (RS232 UART @ 115200 baud) and the MMC card (SPI). The AVR will be run at 3.3v and clocked at 3.6864 MHz to allow for correct baud rate. This works well since the MMC card requires 3.3v. Unfortunately the FPGA I have is a Xilinx XC5202, 5v outputs in CMOS mode. The AT90S2313-4 will be able to accept the 5v input from the FPGA without issue. I do however, need to setup the voltage from the AT to the FPGA 3.3v -&amp;gt; 5v. I was considering a few methods, but wanted to get some input before I made a decision.&lt;br /&gt;
# Use a MAX3001E http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3672 octal level translator with operating range from 1.2v to 5.5v. This would be perfect for my application however, I don&#039;t know if I want to solder such a small a surface mount IC as I&#039;m not very good at it!&lt;br /&gt;
# Use an LM393 comparator in DIP8 package. I only need to level shift two signals (TxD and CTS) so the dual comparator should be enough. I haven&#039;t designed a circuit using it, but it would only take a second.&lt;br /&gt;
# Use a coupld transistors. I only need 11.5k baud and dual transistor setup should be good to 300khz or so. something like this http://www.hagtech.com/pdf/translator.pdf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* I&#039;ve used the 74LVC4245AD for that. It is a bidirectional 8-bit wide levelshifter.&lt;br /&gt;
* http://www.myplace.nu/level_conv.gif (Quelle: http://www.myplace.nu)&lt;br /&gt;
* If its just the AVR outputs that needs to be xlated to 5v , then use a normal 74HCTxxx chip connected to 5V. They need 2v for &amp;quot;Vih&amp;quot; (thats ok for a 3v3 AVR output) , and delivers around Vcc-0.2v (~4.8v).&lt;br /&gt;
* This application note from Maxim may also be of use to you: http://www.maxim-ic.com/appnotes.cfm/appnote_number/1159&lt;br /&gt;
&lt;br /&gt;
== AVR &amp;lt;-&amp;gt; [[MMC]] ==&lt;br /&gt;
&lt;br /&gt;
This guy did interface a 5v AVR to a MMC here , maybe thats the way to go.&lt;br /&gt;
http://www.microsyl.com/ledsign/ledsign.html&lt;br /&gt;
Schematic: http://www.microsyl.com/ledsign/ledsign1.pdf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
Conveniently enough, I&#039;ve just been looking for a level translator from a 5V uC to the 3.3V for SD/MMC cards as well. I&#039;ve decided on the MAX3378E because of its availability in small packages, bi-directional translation (with no DIR pin), and not having excessive I/O pins (4 bit) as I don&#039;t need many for SPI.&lt;br /&gt;
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1159&lt;br /&gt;
&lt;br /&gt;
MAX3392E:&lt;br /&gt;
MMC atmega 128.jpg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
you can also use 74LVC245&lt;br /&gt;
&lt;br /&gt;
== AVR &amp;lt;-&amp;gt; Dataflash ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I&#039;ve hooked up an Atmel Dataflash chip (AT45DB642) to a &#039;mega128. The AVR is on a +5V supply and the dataflash is on a +3.3V supply. RDY/nBUSY is pulled up to +5V via a 2K7 resistor.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten&#039;&#039;&#039;&lt;br /&gt;
* Level-shifter is not necessary. Use a single 330 ohm resistor in between SO &amp;amp; MISO. (Kritik: The input threshold of the microcontroller for it to see a logic &#039;high&#039; is only 1 or 2 mV lower than the minimum logic &#039;high&#039; produced by the dataflash which is a bit too close for me to be comfortable with. Whilst simply connecting through a 330R resistor might be adiquate for a development board, it would not be good enough for the particular application I am working on as this product has to cope with a wide operating temperature and will be installed in remote locations, therefore needing to be reliable as possible.) MISO must tre-stated all time. 2nd page of this: http://www.vfx.hu/proj/avrpac/ktdlog.pdf&lt;br /&gt;
* write protect to 3v, reset to gnd, serial to 3v, RDY/nBUSY pullup to 3v&lt;br /&gt;
* Options include raising the dataflash by 0.6 V using a diode drop to ground to raise it&#039;s logic levels to low=0.6 and high=3.5+0.6 = 4.2 volts. Just tie a series diode to the gnd pin of the dataflash then to circuit ground. This was enough to be reliable but might not meet military or medical standards.&lt;br /&gt;
&lt;br /&gt;
== AVR &amp;lt;-&amp;gt; FIFO ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I want to connect my Mega128 i/o pins directly to a FIFO. This FIFO will only accept 3.3V and it is not 5V tolerant. Is there a way to configure the Mega128 to use 3.3V on the I/O pins? If not, is there some kind of buffer that I can put between the chips to convert the voltages. I have to go both ways. I have to drive the FIFO (whgich takes 3.3V) and I have to receive signals from the FIFO to the Mega128 (which needs about 4.2V).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten&#039;&#039;&#039;&lt;br /&gt;
74LCX125. Kritik: Won&#039;t work, We looked at this last week in another thread. The LCX series claims to be 5V tolerant, but the outputs can only stand 5V when they&#039;re DISABLED, otherwise it&#039;s (VCC+0.5).&lt;br /&gt;
&lt;br /&gt;
== µC &amp;lt;-&amp;gt; Parallelport ([[ISP]]-Dongle, [[JTAG]] Wiggler, ...) ==&lt;br /&gt;
&lt;br /&gt;
I think that is the circuit I worked from when I needed another programming dongle, and yes it works at 3.3V as long as you make sure you use a 74HC244, and not an 74LS244. So I suppose the HC is effectivly also being a level shifter between AVR @ 3.3V and parallel port @ 5V.&lt;br /&gt;
&lt;br /&gt;
Siehe auch:&lt;br /&gt;
&lt;br /&gt;
* [http://www.epanorama.net/circuits/parallel_output.html Parallel port interfacing made easy: Simple circuits and programs to show how to use PC parallel port output capabilities]&lt;br /&gt;
&lt;br /&gt;
== Exoten ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I require a level shifter circuit of shift CMOS 0/5V to new levels. the circuits must function at approx 350kHz. the requirements are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      input    output &lt;br /&gt;
low   0V       -10 to -8.5V &lt;br /&gt;
high  5V       1.5 to 2V &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I also need another that will shift: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      input    output &lt;br /&gt;
low   0V       -8 to -6 V &lt;br /&gt;
high  5V       2.5 to 4V &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt; input          output                 ** Use a PNP, base biased to 2 diode &lt;br /&gt;
&amp;gt;&amp;gt; low  0v       -10 to -8.5V            ** drops above ground, collecter   &lt;br /&gt;
&amp;gt;&amp;gt; high 5V        1.5 to 2V              ** pulled down to -10, emitter driven &lt;br /&gt;
&amp;gt;&amp;gt;                                       ** via 1Kohm by +5v. Make collector &lt;br /&gt;
                                         ** pulldown 10Kohm. Try Baker clamp &lt;br /&gt;
                                         ** to minimize saturation delays.   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A general topology that I have found quite useful for this sort of job is... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
        ,------, &lt;br /&gt;
        |       \      -------- &lt;br /&gt;
 -------| GATE  |-----|   R1   |--------+------------ OUT &lt;br /&gt;
        |       /      --------         | &lt;br /&gt;
        &#039;------&#039;                        | &lt;br /&gt;
                                        | &lt;br /&gt;
                                       ( )  CURRENT SINK &lt;br /&gt;
                                       ( ) &lt;br /&gt;
                                        | &lt;br /&gt;
                                        | &lt;br /&gt;
                                      -VOLTS &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically, you set the current sink and R1 (taking account of load current) to give the voltage offset you want but your voltage delta is still 5V. It would need some gain scaling to get the voltage ranges you need and one thing to watch for is the IOH max of the GATE (e.g. F series TTL is very poor - 1mA max). The current sink could be a vanilla transistor type, you might have to do something smart at 350kHz but I doubt it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
Does anyone know of a reasonably priced chip I can use to directly switch 12 - 15 VDC?  2 MA per line is enough. It would be driven from an 8-bit port at CMOS 5V levels but must switch a higher voltage. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* LM311&lt;br /&gt;
* How about some of those nifty &amp;quot;digital transistors&amp;quot; with built-in bias resistors, assuming your loads are not inductive in nature. You get two channels per tiny SMT package, and generally good for 40 or 50V. Or use one of the ubiquitous darlington arrays in DIP or SOIC. &lt;br /&gt;
* 74(LS)07 will do. 6 Inverters with OC-outputs driving up to 30V. The chip was used in the old days to drive FD-(Shugart)-Busses, but is still available. HC version will /not/ do. Curiously, Farnell doesn&#039;t stock the LS parts but do stock the Philips N74F06N inverter as well as the N74F07N - sadly this is a 12V output part. The Philips web-site refers to the N74F06A and N74F07A which can do 30V, but I don&#039;t know anybody who stocks them. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039;&lt;br /&gt;
I&#039;m curently working on a project that requires a logic level shift &lt;br /&gt;
and am looking for suggestions.  The logic level coming into my &lt;br /&gt;
circuit is 0V to -1V signal and I am wanting to convert it to TTL &lt;br /&gt;
levels.  The problems I have are these: &lt;br /&gt;
&lt;br /&gt;
# The input signal has almost no driving (or sinking) capabilities. &lt;br /&gt;
# No negative supply voltage can be used. &lt;br /&gt;
# The input signal has a pulse width &amp;lt; 10nS. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antworten:&#039;&#039;&#039;&lt;br /&gt;
* How about a capacitor from source to the inverting input of a Burr-Brown OPA655? The OPA655 is a wideband (400MHz unity gain bandwidth, 240MHz gain-bandwidth product) FET input op amp, with an input impedance of 1.2pF||10**12 ohm. It should give you enough output to drive a fast comparator. &lt;br /&gt;
* Or you could use an N-channel dual FET (Siliconix U404?) to buffer the capacitatively coupled signal, and drive the comparator from drains or the sources, depending on which seems easier. &lt;br /&gt;
* A matched P-channel FET might allow you to make a direct-coupled buffer, but I&#039;ve yet to see a small signal P-channel dual.&lt;br /&gt;
&lt;br /&gt;
= Bauteile =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;74ALVC16245&#039;&#039; - &#039;&#039;16bit dual supply translating transceiver&#039;&#039;. Eine Seite von 1.5V bis 3.6V, die andere von&lt;br /&gt;
1.5 bis 5.5V.&lt;br /&gt;
* &#039;&#039;&#039;74LVX573&#039;&#039;&#039; (unidirektional, Latch)&lt;br /&gt;
* &#039;&#039;&#039;74LVX245&#039;&#039;&#039; (bidirektional)&lt;br /&gt;
* &#039;&#039;&#039;74LVX125&#039;&#039;&#039; - &#039;&#039;Low Voltage Quad Buffer with 3-STATE Outputs&#039;&#039;. http://www.fairchildsemi.com/pf/74/74LVX125.html&lt;br /&gt;
* &#039;&#039;&#039;SN74LVC2T45&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;SN74LVC8T245&#039;&#039;&#039; - &#039;&#039;8-Bit Dual-Supply Bus Transceiver with Configurable Voltage Translation and Three-State Outputs&#039;&#039;. http://focus.ti.com/docs/prod/folders/print/sn74lvc8t245.html&lt;br /&gt;
* &#039;&#039;&#039;74LCX244MSA&#039;&#039;&#039; from Fairchild.&lt;br /&gt;
* &#039;&#039;&#039;MAX3377&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
* Gaurang Kavaiya, [http://www.edn.com/contents/images/6335309.pdf Don’t pay for level translators in systems using multiple power-supply voltages], EDN, MAY 25, 2006, 81-86 (PDF)&lt;br /&gt;
* http://www.elektronik-kompendium.de/public/schaerer/scf3_lc.htm&lt;br /&gt;
* http://www.prog-link.com/dcf77/dcf77-17.html&lt;br /&gt;
* http://elektronik.kai-uwe-schmidt.de/index.php?page=mp3_blueschaltung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PROM&amp;diff=22367</id>
		<title>PROM</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PROM&amp;diff=22367"/>
		<updated>2007-06-30T15:00:01Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#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&lt;br /&gt;
&lt;br /&gt;
Ein beliebig oft lesbarer Speicher, den man einmalig Programmieren kann.&lt;br /&gt;
Die interne Struktur besteht aus Leiterbahnen auf dem Chip, die beim Programmieren &amp;quot;durchgebrannt&amp;quot; werden und danach eine der [[Diodenmatrix]] ähnliche Verschaltung bilden. Im Englischen wird dieser Speicher auch als OTP bezeichnet (&amp;lt;B&amp;gt;O&amp;lt;/B&amp;gt;ne &amp;lt;B&amp;gt;T&amp;lt;/B&amp;gt;ime &amp;lt;B&amp;gt;P&amp;lt;/B&amp;gt;rogrammable, Nur einmal programmierbar).&lt;br /&gt;
&lt;br /&gt;
Heute nur noch sehr selten anzutreffen. Bausteine die durch ihre einmalige Programmierung ein Prom vermuten lassen wie die [[PIC|Pic-Controller]] benutzen meist die [[EPROM|Eprom-Technik]] bei der einfach das Quarzglasfenster zum Löschen weggelassen wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Leiterbahnbreite&amp;diff=22366</id>
		<title>Leiterbahnbreite</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Leiterbahnbreite&amp;diff=22366"/>
		<updated>2007-06-30T14:56:21Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier wird die Strombelastbarkeit einer Leiterbahn in Abhängigkeit von der Breite (in mil) und der zulässigen Erwärmung dargestellt. Die Angaben gelten für eine Leiterbahndicke von 70µm (2 ounce). Für übliches FR4 mit 35µm können die Werte nicht einfach halbiert werden, man nutzt besser die Tabellen in den verlinkten Dokumenten.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!zulässige Erwärmung&lt;br /&gt;
|0.5A&lt;br /&gt;
|1.0A&lt;br /&gt;
|2.0A&lt;br /&gt;
|5.0A&lt;br /&gt;
|10.0A&lt;br /&gt;
|20.0A&lt;br /&gt;
|-&lt;br /&gt;
|10°&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|20&lt;br /&gt;
|70&lt;br /&gt;
|170&lt;br /&gt;
|425&lt;br /&gt;
|-&lt;br /&gt;
|30°	&lt;br /&gt;
|2	&lt;br /&gt;
|4	&lt;br /&gt;
|10	&lt;br /&gt;
|30	&lt;br /&gt;
|80	&lt;br /&gt;
|200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Zusammenhang zwischen dem Abstand der Leitungen und der Spannung ist 5V/mil angegeben. Dabei ist zu beachten, das für Netzspannung weitere Sicherheitsabstände einzuhalten sind.&lt;br /&gt;
&lt;br /&gt;
Quelle: Art Of Electronics, 2. Ausgabe, Seite 841&lt;br /&gt;
&lt;br /&gt;
siehe auch: [[Eagle_im_Hobbybereich#Empfehlungen_fuer_Leiterbahnen_im_Hobbybereich | Empfehlung für Leiterbahnbreiten im Hobbybereich]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
http://www.andus.de/Aktuelles/ANDUS_ManuskriptFED2004.PDF&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
http://www.pcb-pool.com/download/spezifikation/deu_Strombelastbarkeit.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Leiterbahnbreite&amp;diff=22365</id>
		<title>Leiterbahnbreite</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Leiterbahnbreite&amp;diff=22365"/>
		<updated>2007-06-30T14:53:54Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier wird die Strombelastbarkeit einer Leiterbahn in Abhängigkeit von der Breite (in mil) und der zulässigen Erwärmung dargestellt. Die Angaben gelten für eine Leiterbahndicke von 70µm (2 ounce). Für übliches FR4 mit 35µm müssen die Werte umgerechnet werden.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!zulässige Erwärmung&lt;br /&gt;
|0.5A&lt;br /&gt;
|1.0A&lt;br /&gt;
|2.0A&lt;br /&gt;
|5.0A&lt;br /&gt;
|10.0A&lt;br /&gt;
|20.0A&lt;br /&gt;
|-&lt;br /&gt;
|10°&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|20&lt;br /&gt;
|70&lt;br /&gt;
|170&lt;br /&gt;
|425&lt;br /&gt;
|-&lt;br /&gt;
|30°	&lt;br /&gt;
|2	&lt;br /&gt;
|4	&lt;br /&gt;
|10	&lt;br /&gt;
|30	&lt;br /&gt;
|80	&lt;br /&gt;
|200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Zusammenhang zwischen dem Abstand der Leitungen und der Spannung ist 5V/mil angegeben. Dabei ist zu beachten, das für Netzspannung weitere Sicherheitsabstände einzuhalten sind.&lt;br /&gt;
&lt;br /&gt;
Quelle: Art Of Electronics, 2. Ausgabe, Seite 841&lt;br /&gt;
&lt;br /&gt;
siehe auch: [[Eagle_im_Hobbybereich#Empfehlungen_fuer_Leiterbahnen_im_Hobbybereich | Empfehlung für Leiterbahnbreiten im Hobbybereich]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
http://www.andus.de/Aktuelles/ANDUS_ManuskriptFED2004.PDF&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
http://www.pcb-pool.com/download/spezifikation/deu_Strombelastbarkeit.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mehrere_Layouts_auf_einer_Seite_ausdrucken&amp;diff=22364</id>
		<title>Mehrere Layouts auf einer Seite ausdrucken</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mehrere_Layouts_auf_einer_Seite_ausdrucken&amp;diff=22364"/>
		<updated>2007-06-30T14:49:56Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Platinen]]&lt;br /&gt;
&lt;br /&gt;
Im Forum wird oft gefragt wie man am einfachsten mehrere Layouts auf eine Seite druckt. Das ist nicht ganz so einfach wie man sich das erhofft.&lt;br /&gt;
&lt;br /&gt;
Der beste Weg ist meiner Meinung nach, das Layout in ein Vektorformat zu konvertieren und dann in einem Programm die einzelnen Platinen aneinanderzufügen wie man möchte. Als Programm hierfür drängt sich [http://www.inkscape.org Inkscape] auf, da es auf so ziemlich jeder Plattform verfügbar und recht einfach bedienbar ist.&lt;br /&gt;
&lt;br /&gt;
Alles Weitere ist nun aber plattformabhängig.&lt;br /&gt;
&lt;br /&gt;
= Linux/MacOS-X/Unix-Like =&lt;br /&gt;
Die ganzen netten Unix-like Betriebssysteme bieten wie üblich unzählige Möglichkeiten für dieses Problem:&lt;br /&gt;
&lt;br /&gt;
== pstoedit ==&lt;br /&gt;
[http://www.gnu.org/software/plotutils/ plotutils] kompilieren (aufpassen das &#039;libplotter&#039; auch kompiliert wird!)&lt;br /&gt;
&lt;br /&gt;
[http://www.pstoedit.net/pstoedit pstoedit] kompilieren (braucht die libplotter für svg files)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pstoedit -f plot-svg &amp;lt;ps oder pdf-Datei&amp;gt; &amp;lt;svg-Datei&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ImageMagick ==&lt;br /&gt;
&lt;br /&gt;
[http://www.imagemagick.org ImageMagick] kann alles in alles verwandeln... also auch PS in SVG :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
convert &amp;lt;ps-Datei&amp;gt; &amp;lt;svg-Datei&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für speziellere Angaben bitte in das Handbuch schauen!&lt;br /&gt;
&lt;br /&gt;
== Grafik ==&lt;br /&gt;
Eagle z.B. bietet die Möglichkeit das Layout als &#039;PNG&#039; zu exportieren. Dieses kann Inkscape auch verarbeiten. Aber Achtung: Skalieren von Pixel-Grafiken macht das ganze unscharf, pixelig und ungenau! Also sollte man im Eagle mit möglichst hoher Auflösung exportieren (600 oder 1200 dpi) und dann drucken ohne nochmals zu skalieren. Im Paintshop muss man dann beim Ausdrucken die Masse der Zeichnung genau angeben, damit sie in der richtigen Grösse gedruckt wird. Wenn meine Schaltung z.B. 1000 Pixel breit ist, dann sind das bei 600 DPI gleich 4,323 cm.&lt;br /&gt;
Die Umrechung von Pixel über DPI in cm ist allgemein&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Abmessung [cm] = \frac{Pixel \cdot 2,54}{DPI}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
Windows Benutzer stehen hier schon vor ein paar Problemen...&lt;br /&gt;
PDFs oder PS-Files müssten per Ghostscript o.ä. erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
Die einfache &#039;pstoedit&#039;-Variante geht hier nicht, so dass ImageMagick aushelfen muss.&lt;br /&gt;
&lt;br /&gt;
Die Bild-Export-Import-Variante sollte auch hier funktionieren. Das geht sogar ohne Erzeugen einer PNG Datei. Im Eagle einfach das Layout in das Clipboard kopieren und im Paintshop einfügen und dort vervielfältigen.&lt;br /&gt;
&lt;br /&gt;
= Tricks =&lt;br /&gt;
&lt;br /&gt;
Recht einfach gelingen genaue Skalierungen wenn man bei der Eagle-Freeware eine Seite der halben Euro-Platine mit einer netten Linie versieht oder einfach den Dimension-Layer für den Druck zusätzlich auswählt, sofern er nicht stört. &#039;pstoedit&#039; findet dann eine bounding-box die man einfach skalieren kann.&lt;br /&gt;
&lt;br /&gt;
Man beachte noch, dass Fußzeilen ausgeschaltet werden sollten. Sie stören nur beim Anordnen!&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mehrere_Layouts_auf_einer_Seite_ausdrucken&amp;diff=22363</id>
		<title>Mehrere Layouts auf einer Seite ausdrucken</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mehrere_Layouts_auf_einer_Seite_ausdrucken&amp;diff=22363"/>
		<updated>2007-06-30T14:48:06Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: /* Grafik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Platinen]]&lt;br /&gt;
&lt;br /&gt;
Im Forum wird oft gefragt wie man am einfachsten mehrere Layouts auf eine Seite druckt. Das ist nicht ganz so einfach wie man sich das erhofft.&lt;br /&gt;
&lt;br /&gt;
Der beste Weg ist meiner Meinung nach, das Layout in ein Vektorformat zu konvertieren und dann in einem Programm die einzelnen Platinen aneinanderzufügen wie man möchte. Als Programm hierfür drängt sich [http://www.inkscape.org Inkscape] auf, da es auf so ziemlich jeder Plattform verfügbar und recht einfach bedienbar ist.&lt;br /&gt;
&lt;br /&gt;
Alles Weitere ist nun aber plattformabhängig.&lt;br /&gt;
&lt;br /&gt;
= Linux/MacOS-X/Unix-Like =&lt;br /&gt;
Die ganzen netten Unix-like Betriebssysteme bieten wie üblich unzählige Möglichkeiten für dieses Problem:&lt;br /&gt;
&lt;br /&gt;
== pstoedit ==&lt;br /&gt;
[http://www.gnu.org/software/plotutils/ plotutils] kompilieren (aufpassen das &#039;libplotter&#039; auch kompiliert wird!)&lt;br /&gt;
&lt;br /&gt;
[http://www.pstoedit.net/pstoedit pstoedit] kompilieren (braucht die libplotter für svg files)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pstoedit -f plot-svg &amp;lt;ps oder pdf-Datei&amp;gt; &amp;lt;svg-Datei&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ImageMagick ==&lt;br /&gt;
&lt;br /&gt;
[http://www.imagemagick.org ImageMagick] kann alles in alles verwandeln... also auch PS in SVG :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
convert &amp;lt;ps-Datei&amp;gt; &amp;lt;svg-Datei&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für speziellere Angaben bitte in das Handbuch schauen!&lt;br /&gt;
&lt;br /&gt;
== Grafik ==&lt;br /&gt;
Eagle z.B. bietet die Möglichkeit das Layout als &#039;PNG&#039; zu exportieren. Dieses kann Inkscape auch verarbeiten. Aber Achtung: Skalieren von Pixel-Grafiken macht das ganze unscharf, pixelig und ungenau! Also sollte man im Eagle mit möglichst hoher Auflösung exportieren (600 oder 1200 dpi) und dann drucken ohne nochmals zu skalieren. Im Paintshop muss man dann beim Ausdrucken die Masse der Zeichnung genau angeben, damit sie in der richtigen Grösse gedruckt wird. Wenn meine Schaltung z.B. 1000 Pixel breit ist, dann sind das bei 600 DPI gleich 4,323 cm.&lt;br /&gt;
Die Umrechung von Pixel über DPI in cm ist allgemein&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Abmessung [cm] = \frac{Pixel \cdot 2,54}{DPI}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
Windows Benutzer stehen hier schon vor ein paar Problemen...&lt;br /&gt;
PDFs oder PS-Files müssten per Ghostscript o.ä. erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
Die einfache &#039;pstoedit&#039;-Variante geht hier nicht, so dass ImageMagick aushelfen muss.&lt;br /&gt;
&lt;br /&gt;
Die Bild-Export-Import-Variante sollte auch hier funktionieren.&lt;br /&gt;
&lt;br /&gt;
= Tricks =&lt;br /&gt;
&lt;br /&gt;
Recht einfach gelingen genaue Skalierungen wenn man bei der Eagle-Freeware eine Seite der halben Euro-Platine mit einer netten Linie versieht oder einfach den Dimension-Layer für den Druck zusätzlich auswählt, sofern er nicht stört. &#039;pstoedit&#039; findet dann eine bounding-box die man einfach skalieren kann.&lt;br /&gt;
&lt;br /&gt;
Man beachte noch, dass Fußzeilen ausgeschaltet werden sollten. Sie stören nur beim Anordnen!&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LED-Matrix&amp;diff=22361</id>
		<title>LED-Matrix</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LED-Matrix&amp;diff=22361"/>
		<updated>2007-06-30T14:32:40Z</updated>

		<summary type="html">&lt;p&gt;89.51.127.74: /* Ansteuerung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
Matrix: Rechteckige Anordnung mit Zeilen und Spalten.&lt;br /&gt;
In der Mathematik : [http://de.wikipedia.org/wiki/Matrix Matrix] (Wikipedia)&lt;br /&gt;
&lt;br /&gt;
=Aufbau=&lt;br /&gt;
In einer LED-Matrix sind jeweils die Kathoden und Anoden in Zeilen bzw. Spalten verbunden. Der Vorteil besteht darin, dass weniger Kontakte nach außen geführt und angesteuert werden müssen, ebenso sinkt der Verdrahtungsaufwand im Modul bzw. auf der Platine. Die Ansteuerung erfolgt dabei im sogenannten Multiplexbetrieb. Prinzipiell kann man sowohl die Zeilen als auch die Spalten multiplexen. Die nachfolgende Beschreibung bezieht sich auf das Multiplexen von Spalten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:LEDmatrix_5x7.png|thumb|200px|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Multiplexbetrieb=&lt;br /&gt;
&lt;br /&gt;
[http://de.wikipedia.org/wiki/Multiplex Multiplex(Wikipedia)]&lt;br /&gt;
&lt;br /&gt;
[[Bild:LEDmatrix_timing.png|thumb|350px|right]]&lt;br /&gt;
&lt;br /&gt;
Der Trick einer LED-Matrix besteht darin, dass jeweils immer nur eine Spalte wirklich leuchtet. Die anderen sind ausgeschaltet. Wird nun in schneller Folge jede Spalte einmal angeschaltet, so entsteht auf grund der Trägheit des menschlichen Auges ein scheinbar vollständiges Bild, bei dem alle LEDs gleichzeitig leuchten können. Wird dieser Zyklus schnell genug durchlaufen ist das Bild flimmerfrei, was praktisch ab ca. 100Hz erreicht wird. In Ausnahmefällen kann jedoch eine bewegte LED-Matrix auch bei höheren Multiplexfrequenzen als flimmernd erscheinen (z.B. LED-Bremsleuchten).&lt;br /&gt;
&lt;br /&gt;
Durch Einsatz der Multiplexverfahrens können mit relativ wenigen Ansteuerbauteilen (IO-Pins, Transistoren, Stromquellen) sehr viele LEDs gesteuert werden. Während bei direkter Ansteuerung für jede LED ein IO-Pin sowie eine Stromquelle bzw. Vorwiderstand benötig wird,  so ist in einer quadratischen LED-Matrix der Aufwand für die Bauteile nur&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Anzahl der Bauteile = \sqrt{Anzahl der LEDs}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border =&amp;quot;2&amp;quot;&lt;br /&gt;
!LEDs  ||  IOs  ||  Vorwiderstände &lt;br /&gt;
|-&lt;br /&gt;
|16    ||    8  ||      4      &lt;br /&gt;
|-&lt;br /&gt;
|64    ||   16  ||      8     &lt;br /&gt;
|-&lt;br /&gt;
|1024  ||   64  ||     32     &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Ansteuerung=&lt;br /&gt;
&lt;br /&gt;
Der verringerte Aufwand an Bauteilen kommt jedoch nicht ohne Nachteile. Da jede Spalte in einer Matrix mit N Spalten immer nur für 1/N der Zeit für einen vollen Bildaufbau aktiv ist, muss in dieser Zeit die gleiche Lichtmenge (=Energie) abgegeben werden, damit die genauso hell erscheint, wie wenn sie konstant mit Strom versorgt wird. Dazu muss der N-fache Strom fliessen. Demensprechend müssen die Vorwiderstände bzw. Stromquellen dimensioniert sein. Doch das führt zu zwei Problemen.&lt;br /&gt;
&lt;br /&gt;
1) Der Pulsstrom durch eine LED kann nicht beliebig gesteigert werden. Genaue Angaben dazu gibt es im Datenblatt. Als grobe Abschätzung kann man sagen, dass die meisten LEDs bis etwa 1:16 gemuxt werden können, darüberhinaus werden die Pulsströme zu hoch (20mA Gleichstrom = 320 mA Pulsstrom!)&lt;br /&gt;
&lt;br /&gt;
2) Die hohen Pulsströme verkraften die LEDs wirklich nur ganz kurz, sie brauchen die Ausschaltzeit um wieder abzukühlen! D.H. Die Ansteuerung des Multiplex darf NIE stehen bleiben, sonst brennen die LEDs durch! Für die Testphase der Matrix sowie Softwareentwicklung sollte man deshalb die Ströme stark veringern, die LEDs sind dann zwar wesenlich dunkler, überleben aber einen Softwareabsturz der Steuerung. Wenn am Ende alles getestet ist und man sich sicher ist daß die Steuerung funktioniert kann man den Strom der Matrix wieder auf das volle Nivau erhöhen. Um ganz sicher zu gehen kann man einen Watchdog mit minimaler Laufzeit verwenden, um im Fehlerfall die Stromversorgung bzw. Ansteuewrung der LEDs abzuschalten.&lt;br /&gt;
&lt;br /&gt;
Um die Helligkeit der LEDs im Multiplexbetrieb voll zu nutzen muss meistens ein höherer Strom geschaltet werden, als Mikrocontroller es können.&lt;br /&gt;
Eine [[LED]] muss aufgrund ihrer Kennlinie an einer Stromquelle betrieben werden. Im einfachsten Fall ist das ein in Reihe geschalteter Widerstand an einer Spannungsquelle.&lt;br /&gt;
&lt;br /&gt;
==Direkt==&lt;br /&gt;
In einigen Projekten im Internet sieht man LED-Matritzen direkt per Mikrocontroller angesteuert, ohne Transistoren. Das geht praktisch nur mit Low-Current Bauteilen, sonst sind die LEDs auf Grund des geringen Stroms zu dunkel.&lt;br /&gt;
&lt;br /&gt;
== Transistoren/Treiber==&lt;br /&gt;
Das ist der Normalfall. Man kann diskrete Transitoren (z.B. BC846, BC337) oder Arrays (z.B. ULN2803) benutzen. Bei grossen Anzeigen mit vielen LEDs werden die Pulsströme bisweilen schon recht hoch. Hier wird man dann mehr auf MOSFETs zurück greifen (bei Strömen über 1A).&lt;br /&gt;
&lt;br /&gt;
==Schieberegister==&lt;br /&gt;
Ein Schieberegister ist im Prinzip ein Seriell-Parallel-Wandler.&lt;br /&gt;
Das hat mit Multiplexbetrieb eigenlich nichts direkt zu tun, es ist vielmehr eine Erweiterung der IO-Pins.&lt;br /&gt;
&lt;br /&gt;
[[Porterweiterung_mit_SPI]]&lt;br /&gt;
&lt;br /&gt;
Eine praktische Umsetzung kann man hier sehen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:LED_Matrix_8x5.png|thumb|left|300px]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dimmen==&lt;br /&gt;
&lt;br /&gt;
Multiplexen kann auch mit [[PWM]] kombiniert werden. Dabei ist die Multiplexzeit einer Spalte gleich der PWM-Periodendauer. Allerdings kann hier der Rechenaufwand für die CPU schon recht hoch werden, da die meisten Mikrocontroller nicht so viele PWM-Kanäle in Hardware zur Verfügung stellen und die PWM in Software nachgebildet werden muss.&lt;br /&gt;
&lt;br /&gt;
Falls die Multiplexzeit klein genug gewählt wird, kann man in Grenzen auch per gezieltem Ein- und Abschalten in Grenzen eine Dimmfunktion erreichen. Um hier allerdings noch flimmerfreie Ergebnisse zu erzielen, sollte die Multiplexfrequenz mit den geplanten Dimmstufen multipliziert werden (bspw. 16 Dimmstufen bei 100 Hz Multiplexfrequenz = 1600 Hz angepasste Multiplexfrequenz), was die Rechenzeit wieder rum schnell in die Höhe treiben kann. Dimmen selbst erreicht man dann mit entsprechend angepassten Schaltzeiten (bspw. 25% Helligkeit = 4x LED an, 12x LED aus bei insgesamt 16 Dimmstufen, dann von vorne).&lt;br /&gt;
&lt;br /&gt;
==Spezielle ICs==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|ULN2803                   || 8fach NPN-Transisorarray&lt;br /&gt;
|-&lt;br /&gt;
|TLC5921                  || 16 Bit-Schieberegister plus Latch mit |Konstantstromsenken, max. 80mA pro Ausgang&lt;br /&gt;
|-&lt;br /&gt;
|IRF7403                  || 2fach P-Kanal MOSFET, 3A, SO-8 Gehäuse&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Weiterhin gibts bei [http://www.maxim-ic.com Maxim] zahllose ICs für alle möglichen LED Ansteuerungen.&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=led+matrix&amp;amp;forums%5B%5D=1&amp;amp;forums%5B%5D=2&amp;amp;forums%5B%5D=4&amp;amp;forums%5B%5D=6 Beiträge zum Thema LED-Matrix im Forum]&lt;br /&gt;
* http://home.wanadoo.nl/electro1/avr/dotmatrix.htm&lt;br /&gt;
* http://www.braindrum.de/tools/leddotmatrix/leddotmatrix.htm&lt;/div&gt;</summary>
		<author><name>89.51.127.74</name></author>
	</entry>
</feed>