<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title> PICPGR3_WindowsXP </title>
    <meta name="keywords" content="MICROCHIP PIC programátor Windows XP">
    <meta name="description" content="Programátor PICPGR3 pod Windows XP s použitím programu WinPic">
    <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
    <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
    <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
    <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
    <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
    <!-- AUTOINCLUDE END -->
  </head>

  <body lang="cs">

    <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== HLAVICKA ============== -->
    <div class="Header">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawHeader();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

    <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== MENU ============== -->
    <div class="Menu">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawMenu();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

    <!-- ============== TEXT ============== -->
    <div class="Text">
    
      <p class="Title">
        Programátor PICPGR3 pod Windows&nbsp;XP
      </p>
      
      <p class=Autor>
        Martin Kákona, Petr Borsodi, Milan Horkel
      </p>
      
      <p class="Subtitle">
        Programátor PICPGR3 je možné úspěšně použít i s&nbsp;ovládacím
        programem WinPic pod operačním systémem Windows&nbsp;XP. Zde je návod,
        jak toho dosáhnout.
      </p>

      <p class="Subtitle">
        <img width="389" height="284" src="PICPGR3_WindowsXP_files/Program.jpg"
        alt="Obrázek programu">
        &nbsp;&nbsp;&nbsp;
        <img width="312" height="284" src="PICPGR3_WindowsXP_files/Programmer.jpg"
        alt="Obrázek programátoru">
      </p>

      <p>
        <a href="../PICPGR3_WindowsXP.cs.pdf"><img class="NoBorder"
           src="../../../../../Web/PIC/FileIco_PDF.ico"
           alt="Acrobat">&nbsp;PDF verze</a>
      </p>

      <h1> WinPic </h1>
      
      <p>
        WinPic je volný program pro ovládání programátoru pro procesory PIC pod
        operační systém Windows&nbsp;XP.
      </p>
      
      <h2> Úvodem </h2>
      
      <p>
        Protože původní program je napsaný pro systém DOS a program přímo
        ovládá LPT port počítače, nelze jej jen tak spustit pod systémem
        Windows&nbsp;XP (nebo Windows&nbsp;2000 či Windows&nbsp;NT). Aplikace
        nesmějí sahat přímo na porty počítače. To operační systém nevidí rád
        (systému DOS to bylo jedno).
      </p>
      
      <p>
        První nápad byl spustit nějaký odemykač portů. Tedy program, který
        řekne operačnímu systému, že aplikace může sahat na LPT port přímo.
        Bohužel LPT port je určený pro připojení tiskárny, a tak se k&nbsp;němu
        operační systém i chová. Zkrátka, podle toho, jakou máte konfiguraci HW
        a SW, jaké máte drivery a podobně, to buď programuje nebo ne. Většinou
        ne. Důvodem je to, že se emulátor systému DOS snaží přímé přístupy na
        LPT port protlačit driverem tiskárny systému Windows. Kombinací je
        mnoho a většina z&nbsp;nich nefunguje. Tudy cesta nevede.
      </p>
      
      <p>
        Protože však existuje pěkný ovládací program pro ovládání programátorů
        pod Windows&nbsp;XP a umožňuje konfiguraci vlastního programátoru,
        doplnili jsme konfigurační soubor pro programátor PICPGR3. Odpadlo nám
        tak nemalé břímě v&nbsp;podobě údržby programu (nové typy procesorů) a
        můžeme programovat i procesory, které jsme dříve nepodporovali (řada
        PIC18F a dsPIC).
      </p>
      
      <h2> Instalace programu WinPic </h2>
      
      <p>
        Budeme potřebovat tyto soubory:
      </p>
      
      <ul>
        <li>
          Instalační program WinPicSetup.exe z&nbsp;adresy<br>
          <a href="http://www.mlab.cz/Downloads/Software/WinPic/WinPicSetup.exe">http://www.mlab.cz/Downloads/Software/WinPic/WinPicSetup.exe</a><br>
          nebo aktuální verzi z&nbsp;webu autora<br>
          <a href="http://freenet-homepage.de/dl4yhf/winpicpr.html">http://freenet-homepage.de/dl4yhf/winpicpr.html</a>
        </li>
        <li>
          Konfigurační program s&nbsp;definicí programátoru PICPGR3<br>
          <a href="http://www.mlab.cz/Downloads/Software/WinPic/MLAB-PICPGR3.ini">http://www.mlab.cz/Downloads/Software/WinPic/MLAB-PICPGR3.ini</a>
        </li>
      </ul>
      
      <p>
        Při instalaci postupujeme v&nbsp;těchto krocích:
      </p>
      
      <ul>
        <li>
          Nainstalujeme obvyklým způsobem WinPic (spustíme WinPicSetup.exe)
        </li>
        <li>
          Nakopírujeme MLAB-PICPGR3.ini do C:\Program Files\WinPic\interfaces
        </li>
        <li>
          Připojíme programátor PICPGR3 na LPT port počítače
        </li>
        <li>
          Spustíme program WinPic pod účtem administrátora (spustit jako …)
        </li>
        <li>
          V&nbsp;položce „Options“ nastavíme způsob zpřístupnění portů
          <p>
            <img width="500" height="366" src="PICPGR3_WindowsXP_files/WinPic_Options.png"
            alt="Volba Options">
          </p>
        </li>
        <li>
          Někdy funguje PortTalk, někdy SMPORT. PortTalk by měl fungovat o něco
          rychleji. Pro rozfungování driveru PortTalk je potřeba spustit
          <samp>porttalk.reg</samp>
          soubor z&nbsp;adresáře, kam je nainstalovaný WinPic a zkopírovat driver
          <samp>porttalk.sys</samp>
          do adresáře
          <samp>C:\WINDOWS\system32\drivers</samp>.
          Škoda, že to instalační program nedělá sám.
        </li>
        <li>
          V&nbsp;položce „Interface“ nastavíme typ programátoru a způsob komunikace
          <p>
            <img width="500" height="366" src="PICPGR3_WindowsXP_files/WinPic_Interface_Type.png"
            alt="Volba Interaface">
          </p>
        </li>
        <li>
          Zadáváme jméno portu (obvykle LPT1) nebo adresu portu (obvyklé hodnoty
          jsou 3BC, 378, 278). Zde je třeba trochu laborovat. Adresa portu se dá
          zjistit <i>„Tento počítač / Spravovat / Správce zařízení / Porty /
          Port ECP tiskárny / Vlastnosti / Prostředky“</i> a předpokládá se, že
          port je v&nbsp;BIOSu nastaven na režim <i>ECP</i>.
        </li>
        <li>
          Jednoduché ověření funkčnosti se provede stiskem tlačítka „Initialize“.
          Červená LED na programátoru by měla krátce bliknout a neměla by nastat
          chyba.
        </li>
        <li>
          Jen připomínám, že program musí být spouštěn pod účtem administrátora,
          aby dostal přístup k&nbsp;portům. Při změně nastavení je potřeba
          program ukončit a znovu spustit. Ve volbě „Messages“ pak nalezneme
          případné chyby.
        </li>
        <li>
          Ve volbě „Interface“ jsou testovací tlačítka, pomocí kterých je možné
          ověřit, že programátor funguje. Při zkoušení nezapomeňte zaškrtnout
          položku „Connect target“. Úplný postup ověření funkčnosti nového
          programátoru je uveden v&nbsp;další části textu.
        </li>
        <li>
          Ve volbě „Device, Config“ nastavíme používaný procesor a můžeme zkusit
          nahrát obsah.
          <p>
            <img width="500" height="462" src="PICPGR3_WindowsXP_files/WinPic_Device_Config.png"
            alt="Volba Device Config">
          </p>
        </li>
        <li>
          Současně s&nbsp;typem procesoru je možné nastavit přepínače
          (konfigurační slovo) procesoru, pokud není nastavení součástí programu
          (v HEX souboru).
        </li>
        <li>
          Dobrou volbou je zkusit modifikovat obsah datové paměti (EEPROM) a
          zkusit naprogramovat a přečíst. Součástí programátoru je jednoduchý
          editor obsahu.
        </li>
        <li>
          Program spustíme zapnutím napájení šoupacím přepínačem na programátoru.
          Rozsvítí se červená LED.
        </li>
      </ul>
      
      <h2> Ověření funkčnosti PICPGR3 </h2>
      
      <p>
        Když postavíte nový programátor, je vhodné jej ověřit. Potřebujete na
        to tyto věci:
      </p>
      
      <ul>
        <li>
          Programátor PICPGR3 (a zdroj 15V pro programátor a kabel k&nbsp;LPT
          portu)
        </li>
        <li>
          Multimetr (voltmetr)
        </li>
        <li>
          Rezistor s&nbsp;hodnotou cca 1KΩ pro testování, zda jsou budiče
          odpojené
        </li>
      </ul>
      
      <p>
        Ve volbě „Interface“ programu WinPic, v&nbsp;levé části, postupně
        aktivujeme volby a měříme odezvu programátoru. Procesor PIC zatím
        nepřipojujeme. Šoupací vypínač je ve stavu vypnuto (tedy směrem
        k&nbsp;červené LED).
      </p>
      
      <p>
        <img width="500" height="366" src="PICPGR3_WindowsXP_files/WinPic_Interface_Test.png"
        alt="Volba Interface">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <img width="100" height="138" src="PICPGR3_WindowsXP_files/ISP_Connector.png"
        alt="ISP COnnector">
      </p>

      <p>
        Aktivní výstupní signály by i po připojení testovacího rezistoru na zem
        či na 5Vměly mít platnou hodnotu. Napěťové hodnoty jsou orientační.
        Napětí&nbsp; +5V je dispozici na konektoru J3, pin 3 (označen MODE 1),
        zem na konektoru J3, pin 1 (označen MODE 0).
      </p>
      
      <table>
        <tr>
          <th> Zvolené volby </th>
          <th> Význam </th>
          <th> Měření </th>
        </tr>
        <tr>
          <td> Vše vypnuté </td>
          <td> Vypnuto </td>
          <td>
              VDD &rarr; 0V<br>
              MCLR#/VPP &rarr; 0V<br>
              PGC &rarr; 3.6V (měkké, stav odpojeno)<br>
              PGD &rarr; 3.6V (měkké, stav odpojeno)
          </td>
        </tr>
        <tr>
          <td>
              Connect Target<br>
              Vdd on/off
          </td>
          <td>
              Zapnutí napájení
          </td>
          <td>
              Svítí červená LED
              <br>
              VDD &rarr; cca&nbsp;5V<br>
              MCLR#/VPP &rarr; 3&nbsp;až&nbsp;5V
          </td>
        </tr>
        <tr>
          <td>
              Connect Target<br>
              Vdd on/off<br>
              Vpp
          </td>
          <td>
              Zapnutí programovacího napětí (vyžaduje zapnutí napájení)
          </td>
          <td>
              MCLR#/VPP &rarr; cca&nbsp;12-13V
          </td>
        </tr>
        <tr>
          <td>
              Connect Target<br>
              Pull MCLR low
          </td>
          <td>
              Reset
          </td>
          <td>
              MCLR#/VPP &rarr; 0&nbsp;až&nbsp;0.5V
          </td>
        </tr>
        <tr>
          <td>
              Connect Target<br>
              Clock Enable<br>
              Clock (on/off)
          </td>
          <td>
              Hodiny
          </td>
          <td>
              PGC &rarr; H (3&nbsp;až&nbsp;4V)<br>
              PGC &rarr; L (0&nbsp;až&nbsp;0.5V)
          </td>
        </tr>
        <tr>
          <td>
              Connect Target<br>
              Data Enable<br>
              Data (on/off)
          </td>
          <td>
              Data tam
          </td>
          <td>
              Hýbe se stav Data In
              <br>
              PGD &rarr; H (3&nbsp;až&nbsp;4V)<br>
              PGD &rarr; L (0&nbsp;až&nbsp;0.5V)
          </td>
        </tr>
      </table>
      
      <h2> Naroubování WinPic do překladače PICC </h2>
      
      <p>
        Programátor umožňuje spouštění z&nbsp;příkazové řádky. Překladač
        umožňuje nakonfigurovat použití vlastního programátoru. Parametry
        nastavíme podle obrázku, cestu upravíme dle umístění souborů na
        počítači.
      </p>
      
      <p>
        <img width="700" height="310" src="PICPGR3_WindowsXP_files/CCS_C_Tools.png"
        alt="Nastavení v programu CCS PCW">
      </p>

      <p>
        Abyste to nemuseli psát, zde je připraveno typické nastavení, račte si
        vykousnout:
      </p>
      
      <p>
        <samp>"C:\Program Files\WinPic\WinPic.exe" "%H" /nodelay /p /q</samp>
      </p>

    </div>

    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== PATIČKA ============== -->
    <div class="Footer">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawFooter();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

  </body>
</html>