Forum: Mikrocontroller und Digitale Elektronik Wie verbindet man am besten 5V PICs mit 3V PICs?


von Bernd (Gast)


Lesenswert?

Hallo,

was ist der beste Weg, einen PIC18 der mit 5V betrieben wird mit einem 
PIC 18J/24/33 mit 3V oder 3,3V zu verbinden? (Datenübertragung in beide 
Richtungen!)

Möglichkeiten:
1. einfach I/Os verbinden, und darauf hoffen, dass die ESD Schutzdioden 
der 3V PICs die Spannung des 5V PICs herunterziehen? Was ist mit den 
Analogeingängen? Wird über die ESD Schutzdioden möglicherweise die 
Betriebsspannung der 3V Seite hochgezogen?
2. Mehrere Dioden in Reihe an den 5V PIC anschließen, so dass die 
gesamte Schwellenspannung ca. 3,3V beträgt (z.B. 5x 1N4148), um so die 
5V auf einen akzeptablen Level zu bringen?
3. Pull-Up Widerstände an 3V oder 3,3V hängen, und auf der 5V Seite nur 
zwischen Low und High-Impedance hin- und herschalten.
Schön wäre es allerdings, wenn die Leitungen im unbenutzen Zustand sehr 
hochohmig wären, was mit PullUp Widerständen leider nicht der Fall ist.
Gibt es vielleicht noch andere Möglichkeiten?

Können die 3V PICs eigentlich zerstört werden, wenn man 5V als 
Betriebsspannung anlegt?

Der 5V PIC soll eigentlich nur an die Programmierleitungen angeschlossen 
werden, damit er die 3V Typen programmieren kann. Daher sollte die 
Lösung aus Sicht der 3V Typen hochohmig wirken.

Weiß jemand eine gut Lösung.

Danke,
Bernd

von Willi W. (williwacker)


Lesenswert?

Warum schaust Du nicht einfach ins Datenblatt Deiner PICs. Da steht ganz 
bestimmt drin, ob so ein 3V-PIC bei 5V kaputt geht. Und welche Spannung 
die Ausgänge liefern (3V) und ob das dem 5Volter reicht. Ich finde es 
ok, dem einen oder anderen einen Tipp zu geben, ich habe auch schon 
einige gute Tipps bekommen. Aber der Blick ins Datenblatt sollte einer 
Anfrage im Forum vorrausgehen. Ok ist es dann wieder, wenn Du z.B. 
fragst: "Was bedeutet die Angabe xy im Datenblatt".

Ciao
Willi Wacker

von Peter Maier (Gast)


Lesenswert?

Hi,

schau mal ins WiKi, bzw. nutze die Suche. Wenn es was langsames sein 
soll, geht es auf alle Fälle mit Transistoren, ansonsten: 74LVX 125 D 
(Reichelt) läuft bei mir jetzt mit 0,5MBaud problemlos.

von Bernd (Gast)


Lesenswert?

Hi,

ins Datenblatt geschaut habe ich bereits, aber da steht nicht das, was 
ich gerne gelesen hätte. Laut Datenblatt vertragen die Pins maximal 
Betriebsspannung (VDD 3,3V). Ob die Chip hingegen schaden nehmen, wenn 
man es übertreibt, steht da so direkt nicht drin. Auch habe ich da zum 
Thema ESD-Schutzdioden nichts gefunden. Die meißten MCUs haben 
allerdings welche. Und da stellt sich dann die Frage, kann man diese 
dazu misbrauchen, um die 5V entsprechend in die Knie zu zwingen, so dass 
die Spannung wieder im grünen Bereich liegt?
Habe ich bei anderen MCUs bereits erfolgreich betrieben, aber die 
Betriebsspannung der Zielschaltung (es geht hier um einen Programmer) 
ist dabei etwas angestiegen.

Vor allem suche ich eine einfache Lösung, die man zum beispiel direkt in 
das Programmierkabel einlöten kann, wenn nötig.

@DPeter Maier: Datenrate liegt bei 5MBit/s.

Danke,
Bernd

von Dieter Werner (Gast)


Lesenswert?

In welches Datenblatt hast du geschaut?

Für die PIC24H und J gilt folgendes:

10.2 Open-Drain Configuration
In addition to the PORT, LAT and TRIS registers for
data control, each port pin can also be individually
configured for either digital or open-drain output. This is
controlled by the Open-Drain Control register, ODCx,
associated with each port. Setting any of the bits configures
the corresponding pin to act as an open-drain
output.
The open-drain feature allows the generation of
outputs higher than VDD (e.g., 5V) on any desired digital
only pins by using external pull-up resistors. (The
open-drain I/O feature is not supported on pins that
have analog functionality multiplexed on the pin.) The
maximum open-drain voltage allowed is the same as
the maximum VIH specification. The open-drain output
feature is supported for both port pin and peripheral
configurations

Als Eingang sind alle "digital only" Pins auch 5V kompatibel.

von Bernd (Gast)


Lesenswert?

Da ich die PIC24/dsPIC33 programmieren will, habe ich keinen Einfluss 
auf irgendwelche Einstellungen seitens dieser MCUs. Hier gilt, was im 
Programmiermodus von Microchip vorgesehen ist.

Also mir geht es um die PGC und PGD 1-3 Pins, von denen zumindes 4 auch 
als ANx Pins (AD-Wandler) konfigurierbar sind, also nicht 
"digital-only".

Foglich gehe ich jetzt mal davon aus, dass die PGCx/PGDx Pins nicht 5V 
kompatibel sind, oder irre ich mich da?

von Tobias A. (inselaffe)


Lesenswert?

schlag mich tot, aber

2 widerstände pro leitung?

Ich versuch mich mal an ASCII Zeichnen (deckung)


5V output/ input  -----|
                       |
                       R1
                       |
                       |--- 3.3 V output / input
                       |
                       R2
                       |
                       |
                     MASSE

Wennn 5V als output geschaltet ist dann wirs auf 3.3 runtergeteilt so 
das das 3.3. V IC nicht stirbt.
Wenn 3.3 V IC output schaltet "sieht" es einen Pulldown (R2) und nen 
Serienwiderstand (R1) was kein problem sein sollte so lange er klein 
gegenüber dem eingangswiderstand des 5V ICs ist.

Geht aber alles nur wenn das 5V teil 3.3 V als high erkennt.

Tobi

von Bernd (Gast)


Lesenswert?

High-Pegel wird ab 2V erkannt.
Der Strom an Eingängen wird mit ca. 1µA angegeben.

Es stellt sich jedoch die Frage, ob hohe Widerstände geeignet sind.
Denn die Grenzfrequenz liegt bei
=1/(2*PI()*100 kOhm * 100pF) = 16 kHz
Ich brauche aber 5MHz. Und da bereits bei der Grenzfrequenz die Spannung 
nurnoch 0.7 beträgt, ist es etwas problematisch.

Ich werde mir mal weitere Gedanken machen.

Danke an alle,
Bernd

von Tobias A. (inselaffe)


Lesenswert?

nimm 1 k oder so was in der Grössenordnung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.