🇬🇧

PIC16F145x-Urlader - mehr als nur das!

Die Mikrocontroller PIC16F1454, PIC16F1455 und PIC16F1459 sind gerade fĂŒr Bastler Ă€ußerst interessante Chips, da es diese sehr preiswert im Durchsteck-GehĂ€use zu kaufen gibt und diese einen quarzlosen USB-Full-Speed-Devicecontroller enthalten. Mit gerade mal 2 externen Kondensatoren kann damit ein USB-Seriell-Konverter USB-standardkonform realisiert werden. Mit 8 KWort Flash kann man auch komlexere Aufgaben in C ausprogrammieren. FĂŒr 14-Bit-Core-PICs bieten diese Chips ziemlich umfangreiche Peripherie, etwa einen 16-Bit-Zeitgeber, serielle Schnittstellen (UART, SPI und IÂČC) sowie (nicht beim '1454) einen 10-Bit-A/D-Wandler. Außerdem einen asynchronen Quarzoszillator, gemacht fĂŒr autonome Datenlogger. Wie bei allen vierstelligen PICs mit 14-Bit-Core gibt es (endlich!) eine lineare RAM-Adressierung, die die jeweils 80 RAM-Bytes in jeder einzelnen Bank ab der Adresse 0x2000 spiegelt. Und auch der Flash-Speicher ist ohne goto-Gewurstel ansprechbar und ab Adresse 0x8000 eingeblendet. (D.h. nur die Low-Bytes.)

Der Pferdefuß mit diesem Chips ist nur, dass diese nicht mit einem USB-Urlader ausgeliefert werden, sodass deren Erstkontakt mit einem Programmierinterface erfolgen muss, etwa dem PICKIT2 oder einer einfachen Bastelschaltung am Parallelport.

Deshalb gibt es im Web eine Reihe USB-Urlader, mit eher mauer FunktionalitĂ€t und mieser KomatibilitĂ€t, oftmals viel zu groß. Die IdealgrĂ¶ĂŸe des Urladers fĂŒr diese Chips ist 512 Programmworte, weil diese GrĂ¶ĂŸe via Konfigurationsbits gesondert vor Überschreiben abgesichert werden kann. USB bekommt man da nur mit Assembler­programmierung hinein, bei Verzicht auf Interrupts sogar bequem.

Der ĂŒbrig bleibende Platz in der Firmware dient schließlich dazu, einfache Aufgaben der Labormesstechnik ganz ohne eigene Firmware lösen zu können, wie das Einlesen eines Analogwertes oder die Steuerung einer digitalen Leitung. Damit erleichtert sich der Einstieg in diese Mikrocontroller ungemein: Kein Assembler, kein C-Compiler wird benötigt, um Portpins analog oder digital abzufragen oder zu setzen.

Der Einsatz eines USB-Urladers macht das Programmieren rasend schnell! Die 8 KWort sind innerhalb von 1,3 s gelöscht und neu beschrieben. Die Gesamtzeit setzt sich aus 1,1 s Flash-Zeit und 0,2 s Datentransferzeit zusammen.

Eingesetzt wird bei mir ein solcher Mikrocontroller in folgenden Projekten: