Karstens-Kreativ-Keller Karstens-Kreativ-Keller
  • Microchip PIC
  • Lösungen und Projekte
  • Modellbahn

PIC-Brenner8 von sprut

Beschreibung des PIC-Brenner8 und der Ansteuerungssoftware.

PIC-Brenner8

PIC-Brenner8 von sprut

sprut hatte 2018 den Support für den von ihm entwickelten Brenner8 eingestellt und sämtliche Infos von seinen Seiten genommen. Einige Jahre danach hatte ich mir wieder ein kleines Projekt vorgenommen und mit „Entsetzen“ feststellen müssen, dass sprut diesen Brenner nicht mehr unterstützt. Die von ihm bereitgestellte Ansteuerungssoftware usburn war nicht als 64bit-Programm verfügbar, auch gab es kleinere Probleme bei der USB-Ansteuerung des Brenner8 unter Linux. Auf meine E-Mails im Sommer 2025 reagierte sprut nicht mehr.

Weiterlesen: PIC-Brenner8

Ansteuerprogramm USBurnCPP

PIC-Brenner8 von sprut

Damit man ein selbst geschriebenes Programm in einen PIC brennen kann, benötigt man einen Brenner und eine Software, die diesen Brenner steuert. sprut hatte dafür eine recht komfortable Windowssoftware in Delphi geschrieben. Die entsprechenden Quellen hat er nicht veröffentlicht. Für Linux schrieb er ein Kommandozeilentool „usburn“ mit entsprechenden Quellen, die er auch veröffentlichte. Dieses in C geschriebene Programm bildete die Grundlage für das hier vorgestellte USBurnCPP.

Als ich mit der Portierung begann, war ich noch in der Annahme, die Portierung in wenigen Wochen abzuschließen. Es hat doch etwas länger gedauert, insbesondere weil ich die Quellen von sprut nicht vorbehaltlos übernehmen und ein paar moderne Bibliotheken einbauen wollte. Da ich den kompletten Code auch veröffentlichen wollte, hatte ich auch den Anspruch einen „sauberen“ Code zu schreiben. Meine letzte (professionelle) C++ Programmierung liegt mehr als 25 Jahre zurück und somit ist auch meine C++ Erfahrung zu relativieren. Erfahrene C++ Programmierer werden einige Stellen im Code oder auch die Struktur zurecht kritisieren können. Gern nehme ich diese konstruktive Kritik entgegen.

Weiterlesen: Ansteuerprogramm USBurnCPP

Beschreibung der Schalteroptionen für USBurnCPP

PIC-Brenner8 von sprut

USBurnCPP ist ein Kommandozeilenprogramm, das durch Kommandozeilenoptionen (mit Parametern) gesteuert wird. Die vom sprut-Tool verwendeten Schalter unterscheiden sich von den Schaltern des USBurnCPP zum Teil. Die Anzahl der Optionen habe ich verringert, da ich spezifische Optionen kombinieren konnte. Die Reihenfolge bei der Angabe der Schalter ist nicht wichtig und kann beliebig gewählt werden. Genauso ist es unwichtig, ob optionale Parameter hinter dem Schalter mit oder ohne einem Leerzeichen angegeben werden.

USBurnCPP versucht den PIC im Brenner8 über eine Chip-ID zu identifizieren. Das gelingt nicht immer. Viele PICs der 12-Bit Family haben keine Chip-ID und benötigen daher die Angabe des PIC-Typen über den Schalter -P. Des weiteren gibt es PICs, die die gleiche Chip-ID besitzen (PIC16F616 und PIC18F2550). Hier ist zur Unterscheidung die Core-Family (Schalter -F) oder der PIC-Typ (Schalter -P) anzugeben.

Weiterlesen: Beschreibung der Schalteroptionen für USBurnCPP

Kalibrierung des RC-Oszillators und der Bandgap-Referenzspannungsquelle

PIC-Brenner8 von sprut

Kalibrierung des RC-Oszillators

Die internen Oszillatoren haben eine relativ große Toleranz für die Frequenz und damit auch für den daraus resultierenden Takt. Wenn der PIC mit anderen Komponenten Takt-genau kommunizieren muss, dann führt diese große Toleranz zu Kommunikationsproblemen. Einige PICs haben deshalb einen Kalibrierwert (OSCCAL) für den internen Oszillator, der diese Toleranz verringert. Dieser OSCCAL-Wert  wird während des Fertigungsprozess von Microchip bestimmt und in die letzte Speicherstelle des Programm-Speichers einprogrammiert. 

USBurnCPP liest diesen Wert vor einem Programmieren oder Löschen aus und kopiert diesen nach dem Programmieren oder Löschen wieder in den Programmspeicher zurück. Sollte dieser jedoch verloren gehen, oder möchte man diesen Wert bewusst verändern, dann kann man den OSCCAL-Wert mit der Option -L mit dem gewünschten Wert ersetzen. Dieses Setzen kann auch vorteilhaft sein, wenn man den PIC dauerhaft bei ungewöhnlichen Temperaturen oder mit kleinen Betriebsspannungen betreibt, da dann die Werkskalibrierung nicht unbedingt die gewünschten 4 MHz ergibt. Wer als Bastler einen OSCCAL-Chip öfter mal mit einem neuen Projekt brennt, tut gut daran, den individuellen OSCCAL-Wert des Chips auf dessen Unterseite mit spitzem Bleistift zu notieren.

Weiterlesen: Kalibrierung des RC-Oszillators und der Bandgap-Referenzspannungsquelle

Copyright

Copyright © 2026 Karstens-Kreativ-Keller. Alle Rechte vorbehalten.
Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software.

Datenschutz und Impressum

  • Impressum
  • Datenschutzbestimmungen
  • Microchip PIC
  • Lösungen und Projekte
  • Modellbahn