Der Programmer (kurz: Progger) wird benötigt, um die Firmware, also die Software des Gerätes, via USB auf den µC zu schreiben. 
Eine Anleitung zum Flashvorgang findet ihr unter Flashen der Module und Controller (Firmware programmieren).

Der Progger ist primär für reine Anwender / User gedacht. Wer mit dem Gedanken spielt selbst in der Software Hand anzulegen, sollte sich den SBDAP - Selfbus Debug Adapter ansehen. 

Doku zur Version 4.x
Doku zur Version 3.7


Selfbus Programmer v4.x

Die Version 4.0 des Proggers bietet im Vergleich zur Version 3.7 keine zusätzlichen Funktionen. Vielmehr ist sie das Resultat aus der Fokussierung auf den ARM, da der LPC922 inzwischen (Stand Mitte 2021) wirklich nicht mehr beziehbar scheint. 

Features

  • verwendbar zum Programmieren von LPC111x Controllern - Pinleiste entspricht der für den Selfbus LPC1115
  • USB-A Anschluss: wird direkt am Rechner (oder eine USB Verlängerung) angeschlossen
  • keine Fremdspannung nötig: Versorgung des Proggers und des zu flashenden Controllers über den USB Anschluss 
  • sehr kompakte Bauweise: passt in ein USB-Stick-Gehäuse

Gehäuse

Perfekt passend: auf AliE suchen nach "enclosure USB 53*24*14mm" oder "USB charger project case 53*24*14mm". Die von Vange passen sicher. Die von Szomk sehen identisch aus, sind aber teurer. 

Links

  Warenkorb: https://www.reichelt.de/my/2112218 
Es ist eine gerade 2,00mm Stiftleiste enthalten, da es bei Reichelt keinen abgewinkelten in RM2,00 gibt.  

  https://github.com/selfbus/hardware-merged/tree/main/misc/usb_isp_programmer 
Schaltplan, Board, Bestückungsplan findet man in den jeweiligen Release-Verzeichnissen.
Vorsicht: im Hauptverzeichnis befindet sich die aktuelle Arbeitsversion ohne Versionsnummer! Diese ist in der Regel als nicht stabil zu betrachten.

Fotos

Betrieb

  • Verbunden mit dem USB-Port leuchtet die LED2 dauerhaft (Power-LED).
  • Beim Anstecken des Controllers an das USB Kabel sollten LED1 und LED2 ein paar mal kurz aufleuchten, dann erlöschen.
  • LED1 (RX) und LED3 (TX) blinken bei Aktivität am jeweiligen RX- bzw. TX-Pin.
  • Der Chip sollte sich als virtueller COM-Port am Rechner anmelden. Passende Treiber sind in der Regel schon beim Betriebssystem dabei.

Aufbau / Bestückung

  • erst alle SMD-Komponenten inklusive FT232RL bestücken
  • dann USB Stecker und den gewinkelten 2x5 pol Pin-Header (RM2,00mm)
  • wenn man am Kabel die Zugentlastung abbricht, passt der Stecker des Kabels mit ins Gehäuse, so dass nur das Kabel aus dem Gehäuse kommt
  • eigentlich sollte die Seite mit dem USB A Stecker auf den zwei Abstandshaltern im Gehäuse liegen, ein kleiner Entwurfsfehler beim PCB-Design führt dazu, dass man die Platine aber nur anders herum ins Gehäuse bekommt (ein klein wenig drücken und sie sitzt dann perfekt eingezwängt zwischen den Verbindungen in der Mitte und dem Ende des Gehäuses

iBom: https://selfbus.org/wiki/images/iboms/usb_isp_programmer_v4.0.1.html

 


Selfbus Programmer v3.7

Features

  • Zum Programmieren von LPC Controllern (LPC922 und LPC111x)
  • USB Anschluss, keine Fremdspannung nötig
  • Kompakte Bauweise
  • Programmieren über ISP oder LPC-Sockel
  • LPC-Sockel abtrennbar

Beschreibung

Um die Mikrokontroller der  Serie P89LPC9XX programmieren zu können braucht man nur einen einfachen seriellen Programmer. Damit dieser an einem USB Anschluß betrieben werden kann, haben wir uns für den Treiberchip FT232RL entscheiden.

Für die korrekte wiederholte Funktionsweise des Bootloaders ist eine Anschaltung an der Handshake Leitung erforderlich.

Wenn der Programmer nur als ISP Programmer verwendet wird, dann kann man den Teil mit dem LPC-Sockel an den beiden Pinheads zwischen SV1 und SV2 abtrennen. Wenn man an den einen Pinhead eine abgewinkelte Pfostenleiste lötet und an den anderen Pinhead eine abgewinkelte Buchsenleiste, dann kann man die abgetrennte Platine weiterhin bei Bedarf verwenden.

Zur Programmierung der LPCs verwendet man zum Beispiel Flash Magic - das gibt es kostenlos. Zur Programmierung der LPCs mit Flash Magic gibt es eine kleine Anleitung hier im Wiki: LPC programmieren mit Flash Magic.

Laut VDE darf ein SELV Stromkreis (EIB/KNX) nicht galvanisch mit einem PLV (PC) Stromkreis verbunden werden. Die Trennung muss so ausgestaltet sein, als würde sie zwischen BUS und 230V trennen.

Der hier vorgestellte Programmer trennt diesen nicht galvanisch, stellt aber eine eigene Versorgung zum Programmieren bereit. Heißt: Man darf ihn zum Programmieren hernehmen solange der BUS nicht angeschlossen ist. Als Gateway scheidet er allerdings nach VDE aus.

Tipps zum Aufbau

  • Am Besten zuerst mit dem FT232 beginnen, danach alle Kondensatoren und die USB-Buchse
  • Jetzt kann ein erster Test am USB-Anschluss erfolgen, über C1 sollten ca. 5V und an den Pins 7 und 14 von IC2 ca. 3,3V messbar sein
  • Der Chip sollte sich als virtueller COM-Port am Rechner anmelden. Den evtl. erforderlichen passenden Treiber gibt es hier: https://ftdichip.com/drivers/vcp-drivers/
  • Nun die restlichen Bauelemente bestücken
  • Soll die Platine in das Reichelt „Strapubox“ Gehäuse eingebaut werden:
    • Abstande LED-Oberkante - Platine: 17mm, Pappstreifen mit 13mm zwischen den Beinchen.
    • Stiftleiste - Platine: 23mm
  •  Für den LPC-Sockel 4 Standard IC-Fassungen ineinander stecken und mit etwas Sekundenkleber fixieren
  •  Aus der oberen Fassung können alle nicht benötigten Kontakte entfernt werden, dann lässt sich der LPC leichter stecken und ziehen
  •  Der Programmer kann mit einem Quarz oder einem Quarzoszillator versehen werden
  •  Zum Quarz gehören die Kondensatoren C6 und C7
  •  Der Oszillator wird so aufgelötet, das Pin 1 (abgeschrägte Kante) auf das Pad bei Pin 14 des LPC-Sockel zeigt
  •  Der ARM_JTAG Teil (ab Version 3.7) ist für den ARM Prozessor vorgesehen und kann weggelassen werden, wenn er nicht benötigt wird

Die Durchbrüche sind nicht mit eingezeichnet, das geht besser wenn man das Eagle .brd nochmal mit allen Layern ausdruckt und die Aussparungen damit anbringt. Die Ränder des Gehäuses sind auf dem Board mit eingezeichnet (Layer48 Document), sodass man das gut ausrichten kann.

Hinweise zum Betrieb

  • Wie oben schon erwähnt: Der Chip sollte sich als virtueller COM-Port am Rechner anmelden. Passende Treiber sind in der Regel schon beim Betriebssystem dabei.
  • Die grüne LED sollte dauerhaft leuchten, wenn der Programmer am USB angesteckt ist
  • Beim Anstecken des Controllers an das USB Kabel sollte die rote LED ein paar mal aufleuchten, dann erlöschen
  • Während des Programmmiervorganges leuchtet die rote LED dauerhaft
  • Details, wie die Prozessoren programmiert werden, findet man unter LPC programmieren mit Flash Magic

Downloads

 Schaltplan und  Board, Version 3.7

 Schaltplan und  Board, Version 3.6

 Reichelt Warenkorb mit Quarzoption für Version 3.7

 Reichelt Warenkorb mit Quarzoption für Version 3.6