Hallo zusammen, mein Kumpel hat eine alte NC Drehbank gekauft. Alles relativ altes Zeug, THT Bauteile, alles verteilt auf mehrere Platinen, Flachbandkabel als Verbinder. Auf einer Platine werkelt ein PIC (genaue Bezeichnung bekomm ich erst noch), der vergisst nach dem Abschalten der Spannung via Hauptschalter immer einige Werte, die normalerweise auch über die "spannungslose Zeit" hinweg gespeichert bleiben sollten. Meine Vermutung: Die Werte werden ins EEPROM geschrieben, welches aber seine Zyklen mittlerweile erreicht hat und daher etwas "vergesslich" ist. Die Idee: Den PIC auslesen, die SW auf einen neuen brennen und einbauen. Unklar: Ich komme aus der AVR Welt und bin mit PICs wenig vertrauet: Wenn die Lock Bits gesetzt sind und ich auslesen will, gibt es dann nur einen Abbruch und der Code bleibt wie er ist oder wird beim Ausleseversuch der Code komplett gelöscht? Wenn beides möglich ist, kann ich wenigstens vorab rausbekommen ob die Lock Bits gesetzt sind? Danke!
Keine Panik, dem Pic passiert nichts.
Die MPLABX IPE löscht beim Auslesen grundsätzlich nichts. Zur Ursache: Wenn der PIC in der Typenbezeichnung ein C hat (z.B. PIC16C54), dann ist das ein EPROM-basierter Chip. Den kann man dann genau einmal programmieren, und wenn der kein Keramikgehäuse mit Fenster hat (wie ein EPROM), dann kannst Du den auch nicht mehr löschen. Und die üblichen PicKits und Brenner können die Teile auch nicht programmieren oder auslesen. Diese Teile haben kein EEPROM eingebaut. PICs mit F in der Bezeichnung sind flash-basiert. Die lassen sich wie gewohnt per ICSP programmieren, auslesen und löschen. Nicht alle haben ein EEPROM. Deswegen solltest Du auch noch nach einem 8-pin Chip schauen mit der Nummer 24xx, 25xx oder 93xx. Das wäre dann ein externes EEPROM. Oder nach einer Batterie für ein externes RAM - das wurde früher, bevor es EEPROMs gab, auch häufig gemacht. So, bevor Du jetzt nicht die Nummer des PICs und ggf weiterer 8-Pinner rausrückst, ist das hier alles nur Raterei. fchk
Frank K. schrieb: > Wenn der PIC in der Typenbezeichnung ein C hat (z.B. PIC16C54), dann ist > das ein EPROM-basierter Chip. Den kann man dann genau einmal > programmieren, Ausnahme ist der PIC16C84.
Welche PIC? Sonst wenn der CP gesetzt ist, wird das mit dem auslesen nix. Da kommt dann nur Müll raus. Ohne CP, einfach auslesen und happy sein.
Erstmal danke für eure Antworten, dass klingt erstmal beruhigend. Ich will nur vermeiden das ich eventuell den Speicher platt mache und dann stehen wir blöd da. Frank K. schrieb: > So, bevor Du jetzt nicht die Nummer des PICs und ggf weiterer 8-Pinner > rausrückst, ist das hier alles nur Raterei. Es gibt keine externen EEPROMs, lediglich einen ULN2803, ein Widerstandsnetzwerk, einen 4-fach OPV und einen paar Transistoren. Alles recht unspektakulär. Die Maschine ist noch auf der Reise, sobald sie steht kann ich die Info liefern. Was wäre denn eine günstiges Programmiergerät für die PIC Serien? Gibts es da "das Programmiergerät" wie z.B. bei STM den ST-Link? Bei STM gibts den "CUBE Programmer", eine kleine Software die nur zum auslesen und beschreiben der Chips dient. Gibts sowas bei Mikrochip auch oder muss ich zwangsläufig die komplette IDE installieren?
Paul B. schrieb: > muss ich zwangsläufig die komplette > IDE installieren? Du kannst eine ältere Version nehmen, die ist nicht so aufgebläht.
H. H. schrieb: > Paul B. schrieb: >> Was wäre denn eine günstiges Programmiergerät für die PIC Serien? > > PICkit3 Oder der K150. Bei dem aber prüfen ob die Software auch unter 64Bit-Windows läuft.
Auch etliche "Allesprogrammiergeräte", wie z.B. der GALEP 4, die manchmal für kleines Geld angeboten werden, können PICs auslesen (wenn sie nicht geschützt sind) und neu beschreiben. Du hast dann zwar keine Unterstützung der Entwicklungssoftware des Chipherstellers, aber wenn du nur brennen willst, ist das völlig ausreichend. Nur mußt du im Vorfeld Eigenheiten und Befindlichkeiten des Programmers und seiner Software in Erfahrung bringen. Teils haben derartige Programmiergeräte einen Parallelportanschluss, laufen nur unter Windows XP usw. Aber wenn man noch einen Rechner hat, der die Voraussetzungen dafür erfüllt, warum nicht? Wenn man diesen Rechner nichts ins Internet lässt, sondern nur per Datenträger zum Brennen verwendet, ist das Riskiko sehr überschaubar.
Paul B. schrieb: > Auf einer Platine werkelt ein PIC (genaue Bezeichnung bekomm ich erst > noch), der vergisst nach dem Abschalten der Spannung via Hauptschalter > immer einige Werte, die normalerweise auch über die "spannungslose Zeit" > hinweg gespeichert bleiben sollten. Und du bist sicher, dass die Werte nicht in einem batteriegestützten SRAM, z.B. auch in einer RTC, aufbewahrt werden?
Paul B. schrieb: > Was wäre denn eine günstiges Programmiergerät für die PIC Serien? Gibts > es da "das Programmiergerät" wie z.B. bei STM den ST-Link? Ja. Vorausgesetzt es ist kein UART-PIC mit EPROM, sondern einer mit Flash, dann entweder einen PICKIT3-Nachbau vom Chinesen (die Originale werden seit 5-6 Jahren nicht mehr hergestellt), ein PICKIT4 (wird auch nicht mehr hergestellt) oder ein PICKIT5 (die aktuelle Version). Der Snap funktioniert bei Dir nicht, weil Dein PIC 9, 12 oder mehr V an MCLR beim Programmieren haben will, und das kann der Snap nicht liefern. Der PICKIT5 geht auch mit AVRs und Atmel/Microchip ARMs, d.h. der kann so ziemlich alles programmieren, was Microchip aktuell so im Programm hat (Ausnahme 8051-basierte Chips). > Bei STM gibts den "CUBE Programmer", eine kleine Software die nur zum > auslesen und beschreiben der Chips dient. > Gibts sowas bei Mikrochip auch oder muss ich zwangsläufig die komplette > IDE installieren? Das nennt sich bei Microchip IPE (Integrated Programming Environment). Das andere ist die IDE (Integrated Development Environment). Beim Installieren vom MPLABX wirst Du gefragt, was Du installieren willst. fchk
Frank K. schrieb: > Das nennt sich bei Microchip IPE (Integrated Programming Environment). > Das andere ist die IDE (Integrated Development Environment). Beim > Installieren vom MPLABX wirst Du gefragt, was Du installieren willst. Nur so als Nebeninfo: Das Programm ist als Installer gepflegte 880MB groß und bläst sich bei der Installation auf so 6 oder 7 GB auf. Und ja, ich hab auch nur den IPE für den PicKit 5 "installiert". Vermutlich fehlen mir nur die Icons im Startmenü, bei der Größe. Wahnsinn. Vollkommen bekloppt. Und das nur um den Pickit5 in den Standalonemodus zu bringen, d.h. der programmiert die Hexdatei auf der Speicherkarte ohne PC, nur mit Tastendruck. Das funktioniert im Gegensatz zu der IPE-Software und der Bluetooth-Verbindung zur Android-App zumindest bei mir einwandfrei, aber bis man das eingestellt hat hat man schon so ein oder zweiundzwanzig Abstürze hinter sich, und die App macht genau gar nichts außer das Gerät zu finden, einmal. Danach nicht mehr, und machen kann man auch nix damit. PC ist Windows 11, relativ frisch installiert, Android ein 11er.
Eine weitere Möglichkeit für die Vergesslichkeit: Manchmal wird die Betriebsspannung vor dem Spannungsregler überwacht. Beginnt diese abzusinken, werden die Werte in den EEPROM gespeichert. Dazu bracht der PIC einige Millisekunden. Lässt die Kapazität der Siebelkos durch Alterung nach, sinkt die Spannung zu schnell, so dass dem PIC nicht ausreichend Zeit bleibt, die Werte zu speichern. Bernd
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.