Hallo, ich habe mir überlegt (mit hilfe von Google ) die Programmierschaltung für meinen PIC18f46j11 wie im Anhang dargestellt auszuführen. Ich denke das sollte ja funktionieren. Das Problem das ich jetzt habe ist das ich den MCLR mit dem Ausgang eines auf der Platine verbauten IC's ebenfalls auf LOW ziehen möchte (der IC hat LOW auf seinem Ausgang wenn er in einen Fehlerhaften zustand geht. In dem Fall möchte ich den µC ebenfalls reseten). Der IC hat leider keinen open-collector Ausgang sondern einen open-drain Ausgang mit 40k internen Pull-up Widerstand. Mir ist jetzt leider überhaupt nicht klar wie ich das ganze realisieren könnte, so das ich gleichzeitig Programmieren und trotzdem den IC an MCLR anschließen kann. Einen 0 Ohm Widerstand einzubauen um beim Programmieren den IC wegzuschalten wäre ja eine Möglichkeit denke ich mir. Nur halt sehr fehleranfällig fals ich mal vergesse den bei Neuprogrammieren auszulöten. Besten Dank LG Johannes
Hallo, open drain ist so änlich wie open collector. Eignetlich könnte man die direkt zusammenhängen, wenn das PICkit nicht wäre. Das wird nämlich vermutlich auf den MLCR aktiv eine Spannung treiben. --> Programming specification genau lesen! Speziell was High Voltage Programming angeht. Ich bin mir nicht sicher, ob da nicht auch mal mehr als 3.3V daherkommen können. Wenn das PICkit nur 3V3 an MLCR ausgibt, kannst du den PIN von deinem IC über einen Serienwiderstand (z.B. 1k) kontaktieren. Der Serienwiderstand muss zwischen dem PICkit und dem IC sitzen, und den Strom begrenzen, wenn der IC "0" treibt und das PICkit 3,3V. Dein IC muss dann 3,3mA sinken können - steht im Datenblatt. Der 1k spielt Spannungteiler mit den Pullups. Weil der Unterschied groß genug ist (1k<>22k-->140mV, 1k<>40k-->70mV, jeweils + Sättigungsspannung des Reset"erzeugers"), ist das aber ok. Du kannst zur Sicherheit noch die Pegel im Datenblatt nachschauen (Minimum LOW Treshold oder so ähnlich). Kann dein IC keine 3.3mA Dauerstrom musst du mehr Widerstand nehmen und die Pegel nachrechnen. Zu nahe an die Treshold würde ich nicht gehen, dann wirds störanfällig.
Hallo, also zusammengefasst würde das wie im Anhang aussehen. Ich habe zusätlich die Diode am MCLR noch durch eine Schottky Diode erstetzt (hab ich noch irgendwo im Internet gelesen das das besser wäre. Wegen dem Strom bin ich mir nicht ganz sicher. Im Datenblatt (http://www.onsemi.com/pub_link/Collateral/NCN5120-D.PDF) auf Seite 8 steht für Outputs IOL = 4mA. Leider weiß ich nicht ob das der gesuchte maximale Strom ist. Jetzt sollte das ganze doch eigentlich wie folgt funktionieren: * Die Schaltung wird nicht aktiv versorgt aber das PICkit ist angeschlossen --> ich kann programmieren und debuggen (ohne Peripherie anzusprechen) da der PIC über +3.3V-PIC versorgt wird, der Rest aber über +3V3 und da kann aber wegen der rechten Diode kein Strom fließen. * Die Schaltung wird aktiv versorgt und PICkit ist angeschlossen --> ich kann programmieren und debuggen (mit Peripherie) wobei die Versorgung für die Peripherie von +3V3 und nicht vom PICkit kommt. Die Versorgung für den PIC kommt vom PICkit. Setzt die Peripherie den MCLR auf low wird das programmieren nicht mehr funktionieren wenn das PICkit nicht aktiv eine Spannung treibt. Falls doch sollte es schon gehen oder? * Die Schaltung wird aktiv versorgt und kein PICkit ist angeschlossen --> PIC und Peripherie werden über +3V3 versorgt und der normale Betrieb funktioniert. Liege ich mit meinen Deutungen richtig?
:
Bearbeitet durch User
Mach mal einen richtigen* Pull-Up ans MCLR und eine Diode in Richtung Deines IC, dass er den MCLR auf Low ziehen kann. (* richtig: 10-22k) Dann wird das auch was.
Hallo, leider versteh ich den letzten Post nicht. Es gibt doch einen Pull Up mit 22k an MCLR. Noch einer mehr? Das mit der Diode verstehe ich auch nicht. Die soll noch in Serie mit dem 1k Widerstand? Was genau bringt das? Wenn der IC durchschaltet und das PICkit aktiv treibt ändert sich nichts. Wenn der IC nicht durschaltet und das PICkit Low treibt dann sieht er halt nicht die Paralleschaltung aus 22k und 41k sondern nur die 22k, da sollte sich doch auch nicht sehr viel ändern oder? Kannst du mir das ev. etwas genauer erklären
Hallo, das passt schon so. Prüfe aber noch, ob dass das PICkit hier nicht mehr als 3V3 anlegt. Bei einem PIC bei mir (12F1840) habe ich das glaube ich einmal gesehen. @./. Was genau meinst du mit richtigem Pullup? Zum hochziehen des Signals hängen doch ohnehin schon 22k (Pullup) parallel mit 40k (im IC) = 14,7k drin? Wenn hier keine 5m Leitung dranhängen sollte das doch reichen? Den Zweck der Diode verstehe ich nicht. Da der IC Ausgang ein Open drain ist, kann er kaum Strom herausdrücken, nur die paar µA vom Pullup.
Hallo, zu den Angaben im Datenblatt: IL ist die Angabe für den max. Laststrom. Je nach PIN sind -4 oder -8mA erlaubt (- ist nur die Richtungsangabe). Die 3.3mA sind also auf alle Fälle in Ordnung. VOL Ist der Spannungsabfall am IC-Pin, durch den Strom in den PIN verursacht (400mA), das ist das garantierte Maximum der Spannung für einen LOW-Pegel, wenn du den angegebenen Strom hineinfließen lässt. VIL Ist die Treshold. Von 0 - 0,7V erkennt dein IC sicher logisch LOW. Übrigens hat dein Pullup nicht 40k, sondern 20-80k. Rechnen muss man immer mit dem ungünstigsten Wert, das wären 20k - passt aber auch.
Danke für die guten Hilfestellungen. Ich glaube ich habe jetzt Verstanden wie das ganze funktioniert. Eine letzte Frage habe ich aber noch. Ist für die beiden Dioden eine Schottky Diode vom Typ BAT54HT1G geignet. Habe von denen noch ein paar und würde die gleich verwenden. Für die Diode bei Vdd sollte in der Regel auch eine 1N4148 reichen oder?
Hallo, die Dioden passen schon. Stelle aber zu 100% sicher, dass du Low Voltage Programming verwendetst. Ansonsten legt dir das PICkit beim programmieren an diesen Pin eine Spannung >3,3v an und kann dir deinen IC zerstören. Siehe auch angehängtes Bild für MPLABX.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.