Programování procesoru pomocí ICSP (In-Circuit Serial Programming)

20. 3. 2001

   Tento způsob nám umožnuje programování procesoru, který je zapájen nebo osazen v desce plošných spojů. Procesoru v pouzdře DIL šetříme vývody, které se častým zandaváním ničí a nezdržujeme se vyndaváním a zandaváním procesoru z patice. Procesor v SMD pouzdře je zapotřebí naprogramovat před osazením. Změna programu je proto dost problematická. Výhody při používání ICSP programování jsou tedy zřejmé. Aby se mohlo ICSP používat, musí zapojení výrobku splňovat následující podmínky. Popis je v dokumentu microchipu TB016.

  • Blokovací kondenzátor mezi Vcc (+5V) a GND by neměl být větší než 100uF. Odběr proudu ostatních obvodů zapojených na desce plošných spojů při programování by neměl přesáhnout 10mA (podle typu programátoru).
  • Vývod MCLR/VPP nesmí být připojen přímo na Vcc (+5V) procesoru ale musí být oddělen od Vcc napětí odporem cca. 1K a diodou, aby se nedostalo během programování programovací napětí Vpp (+13V) do napájecího napětí procesoru Vcc a aby nebyla ovlivněna náběžná hrana a napětová úroveň Vpp.
  • Vývody RB6 (clock) a RB7 (data) musí být během programování odděleny od ostatních obvodů výrobku nebo mohou být použity jako vstupy.
  • Musí být zajištěno, aby na vývodu "Low Voltage Programming" byla během programování úroveň log.0 pomocí resistoru pulldown (cca 10K). Umístění tohoto vývodu pro různé procesory PIC je v následující tabulce:
Typ procesoru Vývod LVP
PIC16F627, 628 RB4
PIC16F87, 88 RB3
PIC16F87x RB3
PIC18Fxxx RB5


   Na desku s procesorem přidáme 5-ti vývodový konektor a provedeme úpravu v zapojení podle obrázků. Přidáme ochranou diodu mezi vývod MCLR a +5V (aby se nedostalo programovací napětí +13V do napájení +5V). Programování se provádí přes 5-ti špičkový konektor, na kterém jsou vyvedeny všechny potřebné signály (+5V, zem, Vpp, RB6 a RB7). V obvodu zapojíme vývody MCLR, RB3 (jen u PIC16F87x a PIC16F62x), RB6 a RB7 tak, aby nepřekáželi v programování. Odpory 330R neosadíme pokud je dobře navrženo zapojení a další připojené součástky nám nebudou ovlivňovat PIC při programování. Napájecí napětí +5 voltů můžeme použít z programátoru pokud nebude programátor přetížen. Programátor není konstruován pro nápájení externích obvodů u procesoru. Pokud je odběr větší, musíme použít k napájení procesoru vlastní zdroj a přerušíme +5V v propojovacím kabelu.

Pro připojení k programátoru vyrobíme propojovací kabel, délku uděláme co nejkratší. Vyzkoušená délka je 20 až 30cm.

ICSP kabel.jpg

icsp PIC16F8x

icsp PIC16F87x