Programmieren eines eingelöteten SO-IC ’s

Begonnen von picass, 05.03.2021, 19:11:42 CET

Vorheriges Thema - Nächstes Thema

picass

Da mein Projekt ,,Rollladensteuerung" noch vor dem Start der Programmierung steht, ist sicher davon auszugehen, dass auch nach dem Einlöten des PIC18F14K22 in SO-Version Änderungsbedarf für das Programm besteht. Dazu stellen sich im Moment schon Fragen. Die Programmierung soll via PICkit 3 und dieses kleine Board mit dem ewig langen Namen "..low demo..." erfolgen. In dessen Sockel, in dem normalerweise dieser PIC sitzt, soll ein Adapter gestöpselt werden, von dem aus mit kurzem 5-pol-Kabel auf die Platine mit dem eingelöteten PIC verlängert werden soll. Die Hardware ist fast klar, aber.....

Der Anleitung für das PICkit 3 ist zu entnehmen, dass für den Vorgang der Programmierung auch an der Platine dieses Kits, in welcher normalerweise der PIC sitzt, eine externe Betriebssystemspannung – hier 5 Volt anliegen soll. Die Versorgung über den PICkit3- Programmieradapter wäre nicht ausreichend. Ist ja kein Prob, aber.... Aber wenn der PIC bereits programmiert war und er bekommt seine Betriebsspannung, dann ist er ja arbeitswillig und – fähig, der arbeitet also ggf. sein vorher verabreichtes Prog ab.
Frage 1:  Stört das nicht? Kann da quasi im laufenden Betrieb ein neues Programm drauf geschoben werden?

Dieser PIC hat abgesehen von Plus und GND für die Programmierung 3 benötigte Anschlüsse und einen weiteren, irgendwie auch tangierten Anschluss. Mit Letzterem meine ich bei diesem PIC den Port C Pin RC3. Der hat im Programmiervorgang die Bezeichnung ,,PGM", was für Single-Supply Programming mode entry (ICSP) steht. Und ,,enabeld by LVP Configuration bit; all other pin functions disabled."(Auszug aus Datenblatt)

Ganz perfekt war meine Belegung der Ports nicht, auch dieser Pin ist bis jetzt als Output-Pin für eine Aktion vorgesehen. Mir ist nicht klar, inwieweit das nun beim Programmieren stören könnte. Wenn dieser Pin vom normalen Programm als output vorgesehen ist und im Normalfall ausgeschaltet, also nahe GND-Potential hat, und während seiner Programmabarbeitung plötzlich in den Programmiermodus geschaltet wird....
dann Frage 2:  Kann es da zu Störungen bei der Programmierung kommen?

Mit Aufwand und viel Gefummel mit Fädeldraht wäre es möglich, diesen Port-Pin frei zu schaufeln und die bislang vorgesehene Output-Funktion auf einen Nachbarpin zu legen. Aber dieses Gefummel bei ca. 20 Platinen....... Wenn es also ohne gehen sollte, wäre das schon prima.
Grüße, picass

vloki

#1
Hi,
warum meinst du, dass du den Umweg über das LPC-Demo Board gehen musst?
Warum das 5-pol Kabel nicht direkt auf das PICkit, oder bzw. warum ist auf deiner Platine nicht einfach eine Stiftleiste, auf die man das PICkit ohne Kabelgefrickel (oder einem einfachen wenige Zentimeter langen Kabel) anstecken kann?

LVP kannst du erst mal ignorieren. Ich schließe den eigentlich nie an.

Grüße,
    Volker
MPLABX  XC8  KiCAD

picass

#2
Warum ich das so anschließen wollte? Dafür gibts gleich mehrere Gründe:
Zum einen Unsicherheit, solche Programmierung eines eingelöteten µC's hatte ich noch nie ausgeführt. Dann schaue mal auf das Bild, welches aus der Anleitung für das PICkit 3 stammt: welchen Aufwand die fürs Debuggen treiben: erst ein kleiner Pin-Adapter, dann ein RJ11-Adapter, dann ein solches Kabel, dann ein ICD-Header, und den dann  in das Board mit dem langen Namen (BmlN). Aber der Gedanke, das Ganze abzukürzen und ohne  BmlN direkt vom PICkit3-Programmer mittels kurzem Kabel auf die Platine, kam mir mittlerweile auch. Werde ich auch mal ausprobieren. Da muss dann allerdings wohl noch ein 10kO-Widerstand zwischen Prog-Spannung und Plus nachgerüstet werden.

Der dritte und wichtigste Grund: Es gibt ja die Möglichkeit, mit niedrigerer Spannung zu programmieren – ab 1,8 Volt. Dafür wird dann der PGM-Pin RC3 gebraucht. Aber inzwischen ist mir aufgefallen, dass genau die Leitung zu diesem Pin auf der Platine des BmlN gar nicht durch verbunden ist, die ist not connected. Also wird die für Normal-Versionen des PICs, die mit üblichen 5 Volt bedient werden, wohl auch gar nicht gebraucht werden. Diese Einsicht ist mir allerdings nicht gleich geläufig gewesen. Hatte halt irgendwo irgendwas als gelesen in Erinnerung, was mich verunsichert hatte.

Auf zwei von drei benötigten Platinen sitzen PICs drauf. Auf einer dieser beiden ist auch ein solcher Prog-Anschluss in Form einer 5-pol-Stiftleiste vorhanden. Auf der zweiten allerdings nicht, da gibt es nur Lötstützpunkte. Der Platz auf dieser kreisrunden Platine reichte nicht, zudem wollte ich nach vielem Gestrampel mit immer neuen Layout-Versionen irgendwann mal abschließen und nicht schon wieder alles über den berühmten Haufen werfen. Das Umprogrammieren wird ja wohl hoffentlich auch nur im Anlaufstadium und dann auch nur auf zwei oder drei verwendeten Platinen fällig. Die werden dann halt belötet. Die Vorstellung davon belastet mich noch nicht, bislang freue ich mich immer, wenn ich den Lötkolben endlich wieder anschmeißen kann.
Grüße, picass

picass

Viele Wege führen sowohl nach Rom, als auch zum Programmieren von SO-ICs. An einer Platine hatte ich einen Prog-Sockel aus Stiftleisten nachträglich fest angelötet und den PICkit3-Programmer direkt aufgesteckt. Bei einer anderen Platine reichte dafür der Platz nicht, aber ca. 8-Zentimeter-lange Kabelstückchen zur nachgerüsteten Stiftleiste gingen auch: in allen Fällen hat das Programmieren funktioniert. Ging einfacher, als ich befürchtet hatte. Es steht noch der Massentest in dem selbsterstellten Prog-Adapter aus, demnächst......
Grüße, picass

Schnellantwort

Achtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Wenn Sie nicht absolut sicher sind, dass Sie hier antworten möchten, starten Sie ein neues Thema.

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau