Ähem, ich möchte mich nicht zu weit aus dem Fenster lehnen, aber:Man kann diesen Trick auch mit herkömmlichen Siliziumdioden realisieren.
Die Flußspannung einer Silizium-Diode und der Basis-Emitter-Diode eines Silizium-Transistors sind etwa gleich groß (ca. 650mV). Zusammen mit der Kollektor-Emitter-Restspannung (typ. 200mV) sind vom Emitter aus also etwa 850mV zum Durchschalten der Si-Diode fällig, die von der parallel liegenden BE-Diode aber auf 650mV begrenzt werden -> der Transistor ist immer noch im übersättigten Schaltbetrieb, durch die Si-Diode fließt kein Strom ab!!
Der Trick besteht darin, daß die Kollektor-Emitter-Restspannung (auch Sättigungsspannung genannt) plus Flußspannung der Diode kleiner sind als die Flußspannung der Basis-Emitter-Diode. Oder etwas mathematischer:
U_F_Diode < U_BE - U_CE_SAT
Wenn also überhaupt, dann mit einer Germanium-Diode (z.B. AA119), die haben nur etwa 300mV. Aber das habe ich noch nie getestet. Ich nehme immer BAT46 für so Aktionen. Da der Transistor hier Großsignalverstärkung macht, wird er das nicht bis zur Transitfrequenz von 300MHz tun. Dein Signal wird schon bei etlichen MHz nicht mehr rechteckförmig sein.
Deinem Posting entnehme ich, daß Du bereits eine Platine hast und daher große Änderungen der Schaltung nicht wünschenswert sind. Falls es aber mit den Transistoren nicht zufriedenstellend läuft, versuche mal speziell für solche Zwecke gebaute ICs. Da wäre zum Beispiel der MAX3372 und Co von MAXIM. Das Stichwort zur Suche ist "level shifter".
Generell mußt Du bei der SPI aufpassen, denn Du bekommst zwischen Takt und Empfangsdaten eine Verzögerung (2*propagation delay der level shifter) und der Datenempfang funktioniert nicht sondern ist um ein Bit verzögert! Okay bei 8MHz Takt für den AVR und maximal 4MHz an der SPI ist das noch nicht relevant. Wenn der AVR eh "nur" mit 8MHz arbeiten soll, dann kannst Du doch gleich alles auf 3.3V laufen lassen? Spart die lästigen Pegelkonverter. MAX233 macht da zwar nicht mit, aber MAX3232 oder MAX3222 zum Beispiel.
Lesezeichen