Programátor procesorů PIC

   Programátor je určen pro procesory PIC od firmy MICROCHIP. Zapojení programátoru je převzato z původního zapojení David Tait, které vzniklo v roce 1996 a je v různých úpravách uveřejněné na internetu. Připojuje se na paralelní port počítače PC přes prodlužovací kabel a napájí se z externího zdroje napětí. Programátor používám od roku 2000 a za celou dobu nebyly žádné problémy, pouze s nástupem nových procesorů bylo potřeba doplnit elektrické schéma o konektor ICSP (In-Circuit Serial Programming) pro sériové programování osazených procesorů v desce. Doplněna je také univerzální patice pro snadné programování různých typů procesorů ze schématu programátora P16pro40, které je na stránce Bojan Dobaj.

   Na ovládání programátoru, který je zde popsán, můžeme použít více ovládacích programů. Například Bojan Dobaj - P16pro, Johann Aichinger - ProPic2, Nigel Goodwins - WinPicProg, Wolfgang Buescher - Win Pic programmer, Sprunt - PBrenner a Bonny Gijzen - IC-Prog. Uvedené programy umí programovat různé procesory PIC16Fxxx nebo PIC18Fxxx. Musíme se sami podívat jaký typ procesoru budeme programovat a jaký program nám bude vyhovovat. Nastavení programů pro tento programátor je uvedeno na konci článku a další informace se můžeme přečíst na stránce programátory.

   Programátor, který používám je zobrazen na následujícím obrázku. Na levém obrázku je použita patice s nulovou silou ZIF (Zero Insert Force) na pravém obrázku je použita patice obyčejná, která také neničí tolik vývody procesoru.

Programátor s paticí ZIF Programátor s paticí DIL

Foto programátoru

Foto programátoru

Foto programátoru Foto programátoru

Popis zapojení:
   Napájení zajištuje nestabilizovaný sítový adaptér 12V/0,2A, který dává naprázdno minimálně 17V. Při menším napětí nebude zajíštěno dostatečné programovací napětí +13V. Adaptéry mají různě zapojený souosý konektor proto je napětí přivedeno na usměrnovací můstek, který je možné nahradit jen jednou diodou 1N4007. Katodu diody zapojíme na filtrační kondenzátor. Následují dva stabilizátory na snížení napětí na +5V pro napájení a +13V pro programování. Napětí je dále přivedeno přes spínací tranzistory, které jsou ovládány z počítače na programovací patici a konektor ICSP. Přepínač XJ1 nastavíme do polohy 1-2, kdy je napájecí napětí +5V pro procesor spínané z počítače přes tranzistor. Poloha 2-3 slouží trvalému napájení +5V pro procesor.

Typ procesoru Vývod LVP
  PIC16F627, 628 RB4
  PIC16F87, 88 RB3
  PIC16F87x RB3
  PIC18Fxxx RB5
   Pro procesory, které jsou uvedeny v následující tabulce musí být zajišteno během programování připojení vývodu LVP (Low Voltage Programming) na zem pomocí pulldown odporu (cca 1K - 10K). Odpory jsou doplněny k vývodům na patici. Přepínač XJ2 v poloze 1-2 je pro programování procesoru PIC16F87x, kdy je zakončen vývod RB3 odporem na zem. V poloze 1-3 programuje procesory které mají 8-vývodů např. PIC12F629. Pro procesory s 18-ti vývody je nastavení přepínače do libovolné polohy. Zapojení je doplněno o dvě červené LED diody signalizující napětí +13V na procesoru. Diody se rozsvítí podle typu programovaného procesoru.

ICSP kabel

ICSP kabel

24CXX    Programátor je doplněn o ICSP konektor ve dvou provedeních. První je 5-ti vývodový plochý konektor a druhý je dvouřadý 2x3 vývody pro konektor PFL na plochý kabel. Pro připojení na programátor si vyrobíme propojovací kabel, který musí být co nejkratší. Vyzkoušená délka je 20 až 30cm. Do konektoru PFL06 zařízneme 30cm kabelu BELDEN (šedý-počítačový) nebo do plochého konektoru zaletujeme kabel. Pomocí konektoru ICSP je také možné programovat sériové paměti EEPROM typu 24Cxx s programem Bonny Gijzen (IC-Prog). Paměti se zasouvají do externí patice připojené na ICSP konektor (vývod 1, 2, 3, 4 na zem, vývod 5 data, vývod 6 clock a vývod 8 na +5V).

Schéma

Pozice procesorů

Rozložení součástek

Plošný spoj pro výrobu fotocestou má rozměr 60,96mm x 119,38mm a rozlišení 600 DPI (105Kb).

Osazení desky a mechanické sestavení:
   Do plošného spoje se nejdříve osadí propojky ze strany součástek označené červeně, pak součástky menší jako odpory, kondenzátory, tranzistory a nakonec největší (patice ZIF). Pokud budeme osazovat patice obyčejné tak je potřeba upravit patici o velikosti 40 vývodů. Odřízneme jednu stranu s 20 vývody, očistíme a osadíme na levou stranu. Na pravou stranu osadíme patice 2x10 vývodů orientované výřezem nahoru. Osazený plošný spoj je určen do krabičky U-KP24.

Rozpiska součástek

 pořadí    ks    označení           typ
________________________________________________________________

    1       1    D1                 B380C1000DIL (227-011, usměrnovací můstek)
    2       1    NL1                78L05    (330-011, stabilizátor)
    3       1    NL2                78L08    (330-013, stabilizátor)
    4       1    U1                 74LS06 (74LS07 jiné nastavení programu)
    5       3    VT1,VT2,VT3        BC556B   (210-036, tranzistor)
    6       2    VD1,VD2            BAT42    (223-039, schottky dioda)
    8       1    HL1                LED dioda zelená
    9       1    HL2                LED dioda žluta
   10       2    HL3,HL4            LED dioda rudá
   11       2    R1,R11             470R     0,25W
   12       9    R2,R3,R4,R5,R6,    4K7      0,25W
                 R7,R8,R9,R10
   13       1    R12                2K7      0,25W
   14       2    R14,R15            1K0      0,25W
   15       3    R16,R17,R18        10K      0,25W
   16       2    C1,C2              100n/50V
   17       1    C3                 470u/25V (radiální)
   18       2    C5,C6              10u/16V  (radiální)
   19       1    C4                 330p     (!!! neosazovat !!!)
   20       1    J1                 K375A    (806-049, napájecí konektor 2,1)
   21       1    J2                 konektor (801-017, CANON25 do plošného spoje - kolíky)
   22       1    XJ1,XJ2,ICSP       S1G20    (832-017, lámací lišta - kolíky)
   23       1    ICSP (1x5pin)      S1G20S   (832-090, lámací lišta - kolíky)
   24       1                       JUMP-SW  (832-012, zkratovací propojka - jumper)
   25       1                       SOKL14   (823-001, patice obyčejná)
   26       2                       SOKL20 * (823-004, patice obyčejná)
   27       1                       SOKL40 * (823-009, patice obyčejná)
   28       1                       ZIF40  * (825-012, patice s nulovou silou)
   29       1                       U-KP24   (622-425, krabička o rozměru 28x68x129mm)
   30       1                       sítový adaptér (751-345, 12V/200mA - nestabilizovaný)
   31       1                       Prodlužovací kabel paralelního portu 1,5m

   * Použijte patici 1ks ZIF40 nebo 2ks SOKL20 a 1ks SOKL40 (nutno upravit).
V závorkách jsou kody součástek obchodu GMe.

Krabičku U-KP24 je také možné koupit u firmy Krabičky - Antonín Anatasovský.

čára

Obrázek

Napájení programátoru z USB konektoru počítače:
   Pokud nemáme k dispozici sítový adaptér, tak si vyrobíme měnič pro napájení programátoru. USB rozhraní má na krajních vývodech konektoru napětí 5V / 500mA, které nám postačí pro napájení měniče. Měnič přemění napětí 5V na 20V pro napájení programátoru. Sestavený měnič připojíme do volného konektoru USB v počítači. Pokud měnič pracuje a má výstupní napětí, rozsvítí se zelená dioda LED.

Osadíme součástky na plošný spoj a přiletujeme vstupní a výstupní vodiče. Polarita vodičů do USB konektoru je zobrazena na obrázku. Do horní části krabičky vyvrtáme otvor pro LED diodu o průměru 3mm. Do obou boků vyvrtáme otvory pro vstupní a výstupní vodiče. Nyní vložíme plošný spoj do krabičky. Spodní díl krabičky se nedá připevnit šroubkem a tak dno trochu namažeme lepidlem. Nedávat hodně lepidla jinak se do krabičky nedostaneme bez porušení okrajů!

Schéma

Rozpiska součástek

 pořadí    ks    označení           typ
________________________________________________________________

    1       1    U1                 MC34063  (330-104)
    2       1    VD1                1N5819   (223-001)
    3       1    HL1                LED dioda zelená 3mm (2mA)
    4       1    R1                 0,5R (2x1R 0,25W)
    5       1    R2                 15K      0,25W
    6       1    R3                 1K0      0,25W
    7       1    R4                 3K3      0,25W
    8       1    R5                 180R     0,25W
    9       1    C1                 220u/16V (radiální)
   10       1    C2                 100n/50V
   11       1    C3                 1n0 /50V
   12       1    C4                 470u/25V (radiální)
   13       1    L1                 cívka 220uH (330uH) 09P-331K (611-055)
   14       1                       U-KM1    (622-738, krabička o rozměru 43x32x22mm)
   15       1                       konektor (832-174, USB-AZ)
   16       1                       konektor (806-016, napájecí konektor SCP-2009B, průměr 2,1)
   17       1                       kabel    (651-228, např. RG-ALARM 04C)

Cena součástek je asi 75,- Kč (výpočet ceny k 4/2006).

V závorkách jsou kody součástek obchodu GMe.

Krabičku U-KM1 je také možné koupit u firmy Krabičky - Antonín Anatasovský.

Konektor USB

Plošný spoj Obrázek

Plošný spoj pro výrobu fotocestou má rozměr 38,1mm x 27,94mm a rozlišení 600 DPI (31Kb).

čára

Popis a nastavení ovládacího programu WinPicProg.

   Pro začátek jsem vybral program od Nigel Goodwin's u kterého popíšu nastavení a používání. Na stránkách autora je ke stažení program WinPicProg verze 1.91 určený pro Windows 95/98, ME, 2000 a NT. Programuje procesory PIC: 12C508/509, 12F629/675, 12C671/672, 16C505, 16C84, 16F83, 16F84, 16F627, 16F628, 16F873, 16F874, 16F876 a 16F877. Tato nabídka procesorů nám pro začátek bude stačit. Pokud potřebujeme naprogramovat jiný procesor, musíme se podívat po jiném programu nebo programátoru.

   Stáhneme si program WinPicProg a nainstalujeme. Dále je potřeba nainstalovat ovladač portu PC DLPortIO.DLL, který se do windows 98 jenom nakopíruje do adresáře Windows/System/. Windows XP potřebují tento ovladač nainstalovat. Stáhneme si Port I/O Driver (1,7Mb) nebo Port I/O Driver (1,7Mb) a nainstalujeme. Programátor připojíme k počítači PC pomocí prodlužovacího kabelu paralelního portu o délce cca 1,5m. Kabel má na obou koncích konektor canon 25 (na jedné straně jsou kolíky a na druhé dutinky). Do programátoru připojíme napájecí adaptér a rozsvítí se zelená LED dioda. Spustíme program WinPicProg.

Options Nastavení programátoru.
V horní lište vybereme položku Options kde jsou další položky.

  • Find Port - Najde programátor na paralelním LPT portu.
  • Hardware - Nastavení programátoru.
  • Auto-Detect - Automaticky hledá programátor.
  • Auto-verify - Po naprogramování se provede verifikace
  • Auto-update - ?
  • 640x480 - Přizpůsobení programu pro jiné rozlišení monitoru.

  •    Po zvolení položky Hardware se zobrazí následující obrázek Hardware Settings. V horní liště vybereme Programmer Type a pokud máme v programátoru osazen obvod 74LS06 tak nastavíme P16PRO40-7406. Dále nastavíme připojení k PC na paralelní port. Port LPT1 má adresu 378 a port LPT2 má adresu 278. Hodnoty v okénku Prog Delay a Vpp Delay nebudeme měnit. Pokud by programátor při programování zlobil tak hodnotu zvětšíme (asi na 15).

    Hardware settings

    Kontrola programátoru.
       Ve spodní části obrázku pod každým sloupečkem jsou tlačítka On a Off nebo High a Low. Stisk tlačítka změní popis a vyzkouší jednotlivá programovací napětí pro procesor.

  • Vdd - napájecí napětí +5V pro procesor. Při On svítí žlutá LED dioda a je napětí na patici pinu č. 3, 25 a 32.
  • Vpp - programovací napětí +13V pro procesor. Při On svítí spodní červená LED dioda a je napětí na patici pinu č. 6 a 15.
  • Vpp40 - programovací napětí +13V pro procesor. Při On svítí horní červená LED dioda a je napětí na patici pinu č. 1.
  • Output - data pro procesor. Při High (ve sloupci Input se mění popis tlačítka High/Low) je napětí +5V na patici pinu č. 24, 37, 40.
  • Clock - clock pro procesor. Při High je napětí +5V na patici pinu č. 23, 36, 39 (pin č. 36 podle nastavení jumpru XJ2).
  • Po ukončení testování programátoru nastavíme tlačítka tak, aby na nich bylo napsáno Off nebo Low a LED diody byly zhasnuty kromě zelené LED.

    File Programování procesoru.
       V následujícím obrázku uprostřed vybereme typ procesoru Processor, který budeme programovat. Vybráním procesoru se zobrazí počet pojistek Fuses a možnosti oscilátoru Oscillator. Vybereme soubor a načteme ho do Bufferu pro nahrání do procesoru. V menu vybereme File, potom Open (nebo stisk na žlutou ikonu pod Edit) a najdeme umístění souboru v počítači. Načtení souboru potvrdíme otevřít. Nyní máme načtený soubor v Bufferu a je zobrazen na obrazovce. Pokud je v načteném souboru uloženo nastavení pojistek a obsah paměti EEPROM (některé procesory pamět EEPROM nemají) tak není potřeba nic nastavovat a program je připraven pro nahrání do procesoru. Jinak se nastaví pojistky Fuses.

    WinPicProg

    Zápis programu do procesoru:
    Máme nastavený typ procesoru, načtený soubor v Bufferu a nastavené pojistky. Vložíme procesor do patice programátoru a stiskneme Write PIC. Programování je v běhu a čekáme než se procesor naprogramuje. V dolní části je zobrazen průběh programování a informace o výsledku programování. Pokud nebyla žádná chyba vypíše se čas programovaní. Procesor vyjmeme z patice a vyzkoušíme v zařízení.

    Kontrola procesoru:
    Verify provede kontrolu obsahu procesoru s načteným souborem v Bufferu. Pokud je při programování procesoru nastavena volba Auto-Verify (automatická verifikace), není již potřeba provádět kontrolu. Pokud je procesor chráněn proti čtení (ochrana se zapíná při programování procesoru v pojistkách) není možné provádět dodatečnou verifikaci.

    Čtení programu z procesoru:
    Nastavíme typ procesoru. Vložíme procesor do patice programátoru a stiskneme Read PIC. Provede se načtení programu z procesoru pokud není procesor chráněn proti čtení (ochrana se zapíná při programování procesoru v pojistkách). Načtený program je možné uložit File / Save As.

    Mazání procesoru:
    Nastavíme typ procesoru. Vložíme procesor do patice programátoru a stiskneme Erase. Provede se smazání procesoru.

    Popis záložek:
    Buffer - Zobrazý obsah bufferu paměti pro program a data. Po stisknutí levého tlačíta na myši mužeme obsah paměti editovat.
    HEX file - Načtený soubor se zobrazí v HEX formátu.
    Source code - Pokud máme načtený soubor a stisneme tlačítko Disassemble, přeložíme program do zdrojového kodu.


    Nastavení ovládacího programu WinPic programmer - Wolfgang Buescher.

    Popis:
    Provedeme nastavení programu při použití obvodu 74LS06 dle následujícího obrázku. Připojíme programátor na paralelní port počítače a zapneme napájení. Vybereme port LPT1 nebo LPT2 a napíšeme adresu portu (378 pro LPT1 nebo 278 pro LPT2). Nastavíme typ rozhraní: Vlastní na LPT portu, definovaný souborem a provedeme výběr souboru: Bojan Dobaj Intf P16PRO.ini (procesory v pouzdru DIL8, 14 a 18 vývodů) nebo Bojan Dobaj Intf P16PRO40.ini (procesory v pouzdru DIL28 a 40 vývodů), který potvrdíme tlačítkem otevřít. Nyní stiskneme tlačítko inicializace. Pokud je správné propojení a nastavení programu, zobrazí se Inicializace PIC-Programátoru: Hotovo.

    Nastaveni programatoru


    Nastavení ovládacího programu PBrenner - Sprunt.

    Popis:
    Provedeme nastavení programu při použití obvodu 74LS06 dle následujícího obrázku.

    Nastaveni programatoru


    Nastavení ovládacího programu IC-PROG - Bonny Gijzen.

    Popis:
    Provedeme nastavení programu při použití obvodu 74LS06 dle následujícího obrázku. Nastavíme v Settings/Hardware (nebo F3) TAIT Serial Programmer, ports na LPT1 nebo LPT2 a nastavit v Communication inverzi signálu (Data Out, Data In, Clock).

    Nastaveni programatoru


    Dotazy a připomínky k této konstrukci posílejte na autora: Jaroslav Strolený.

    čára

    Návrat domů

    Poslední změna: 4.3.2010
    Copyright DOVEDA BOYS © 1998 - 2010