USB Programmer

Last modified by Christian B. on 2023/02/07 22:27

USB_programmer 002_v2.jpg

Features

  • Zum Programmieren von LPC Controllern
  • 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: http://www.ftdichip.com/Drivers/VCP.htm
  • 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

icon_eagle_22.png Schaltplan und icon_board_22.png Board, Version 3.7

icon_eagle_22.png Schaltplan und icon_board_22.png Board, Version 3.6

icon_shop_22.png Reichelt Warenkorb mit Quarzoption für Version 3.7

icon_shop_22.png Reichelt Warenkorb mit Quarzoption für Version 3.6

Bilder

Selfbus USB Programmer v3.7 - DIL LPC922

USB Programmer v3.7 TOP - nur für LPC, nicht für ARM-Programmierung bestückt
DSC00626.jpg
USB Programmer v3.7 BOTTOM - nur für LPC, nicht für ARM-Programmierung bestückt