Aplikace PicDev Procesor PIC16F84 Překladač PicDev Stavebnice P84

Mikroprocesorová jednotka P84-CPU
Copyright (c) 2000 Ing. Miroslav Němeček
Gemtree Software, s.r.o.
www.gemtree.cz


Charakteristika
Mikroprocesorová jednotka P84-CPU je hlavním modulem stavebnice P84. Srdcem modulu je jednočipový mikrořadič (neboli procesor) PIC16F84 nebo pinově kompatibilní (PIC16F83, PIC16C84, PIC16F627, PIC16F628). Nejdůležitějšími charakterovými rysy modulu jsou: nízká cena, snadná obsluha, všestrannost. Modul umožňuje snadné a rychlé programování procesoru "na dálku" bez nutnosti manipulace s modulem. Počet přeprogramování je prakticky neomezen. Modul je po naprogramování schopen ihned pracovat s periferií, která je k němu připojena pomocí univerzálního konektoru CANNON DB-15. Snadná a rychlá je i výměna periferie. Modul může být napájen z externího zdroje stejnosměrného či střídavého napětí 9 V (možný rozsah 4.5 až 20 V), při použití periferií s malým odběrem proudu postačí interní napájení přímo z portu počítače COM. Pro všechny tyto své vlastnosti je modul velmi vhodný jak pro školy k výuce a v laboratorních cvičeních, tak i pro amatéry k seznámení se s technikou jednočipových počítačů. Dobře využitelný je i k profesionálnímu použití při vývoji jednočipových aplikací.


Schéma
Napájení procesorové jednotky i periferií je zajištěno stabilizátorem IC1 (L7805). Napájecí proud je do stabilizátoru přiváděn buď z externího zdroje přes diodový můstek D1D4 nebo z COM portu počítače diodou D5. Kondenzátory C2 a C3 jsou blokovací. Při malých odběrech proudu periferiemi (řádově jednotky mA) lze vystačit s napájením z COM portu počítače. Při větších odběrech proudu může být jednotka napájena z externího zdroje stejnosměrného nebo střídavého napětí 9 V. Většina procesorů pracuje dobře ještě při napájecím napěti asi 4.5V (na procesoru je kolem 2.2V). Horní hranice napájecího napětí je asi 20V. Bude-li použito vyšší napětí než 9V, je potřeba zkontrolovat, zda při větších odběrech proudu periferiemi nedochází k přehřívání stabilizátoru. Procesorovou jednotku je možné napájet též z konektoru portů, např. má-li některá periferní jednotka vlastní napájení.

Proud z výstupních portů procesoru je omezen odpory R10R22. K výstupním portům je možné přímo připojit svítivé diody LED (bez nutnosti používat omezovací odpory) a to jak proti napětí +5V, tak i proti zemi (port A4 pouze proti +5V). Porty B6 a B7 jsou současně využívány jako programovací vstupy procesoru. Během programování by neměly být zatíženy zátěží menší než 100 kiloohmů. Periferie zatěžující tyto signály by měly být během programování odpojovány.

Signál DTR z konektoru COMx aktivuje mód programování procesoru. Spolu se signálem RTS určují 3 stavy procesoru: RESET (oba signály jsou vypnuty), běžný provoz (DTR je vypnut, RTS zapnut) a programování (DTR i RTS jsou zapnuty). Odpor R3 zajišťuje běžný provoz procesoru v případě, že modul je odpojen od počítače. Signálem TxD jsou během programování zapisována data do procesoru. Od signálu jsou přes kondenzátor C7 odvozovány hodinové impulsy. Tranzistory T2 a T3 zajišťují převod výstupního signálu z procesoru na úrovně RS-232. Při normálním provozu je možné pomocí signálů TxD, RxD a RB7 komunikovat mezi procesorem a počítačem v poloduplexním režimu. Upozornění: Modul nelze používat s COM porty, jejichž výstupní napětí je menší než 11.5 V (některé notebooky používají 9V nebo i méně).


Plošný spoj
Na dalším obrázku vidíte zmenšený obraz plošného spoje. Plošný spoj s plným rozlišením je dostupný
zde na tomto odkazu (formát BMP, sbaleno ZIP na 35 KB) nebo kliknete-li na obrázek (formát GIF). Plošný spoj je možné vytisknout s rozlišením 600 DPI na inkoustové nebo laserové tiskárně na průhlednou fólii a použít jako fotopředlohu pro osvícení desky s fotocitlivou vrstvou (horským sluncem 8 minut ze vzdálenosti 30 cm, vyvolání 1% roztokem hydroxidu draselného KOH - "louh draselný", leptání v roztoku chloridu železitého - "zahlubovač na měď").

Všechny díry vyvrtejte nejdříve vrtákem 0.8 mm. Poté převrtejte díry s větším průměrem podle následujícího obrázku. Po vyvrtání děr začistěte otřepy děr větším vrtákem (lehkým otáčením v ruce). Ořežte lupénkovou pilkou spoj na správnou velikost a okraje zarovnejte pilníkem. Omyjte z desky fotocitlivou vrstvu (lihem nebo benzinem), měděné plochy očistěte měkkou gumou a nalakujte plošný spoj pájecím lakem (roztok kalafuny v lihu).


Osazení
K osazení desky potřebujete tyto součástky a konstrukční prvky:

1 x stabilizátor 7805 (pozitivní, pouzdro TO220)
1 x procesor PIC16F84-04/P (nebo PIC16F628-04/P)
1 x krystal 4MHz nízký U4
4 x dioda 1N4007
5 x dioda 1N4148
1 x LED dioda L934LSRD
2 x tranzistor BC548
1 x tranzistor BC558
1 x elektrolytický kondenzátor 100µF/25V
2 x keramický kondenzátor 100nF (rozteč 5 mm)
2 x keramický kondenzátor 560pF (rozteč 5 mm)
2 x keramický kondenzátor 22pF (rozteč 5 mm)
1 x svitkový kondenzátor 1 nF (typ TC351)
13 x odpor 330
1 x odpor 2k7
1 x odpor 5k6
1 x odpor 6k8
2 x odpor 10k
3 x odpor 22k
2 x odpor 56k
1 x odpor 150k
1 x odpor 470k
1 x patice 18 DIL (standardní)
1 x konektor CANNON 9 pinů zásuvka 90 (do plošného spoje)
1 x konektor CANNON 15 pinů zásuvka 90 (do plošného spoje)
1 x napájecí konektor 2.1 mm vidlice do plošného spoje K375A (NAZ2.1 V P)
1 x chladič DO2 (13x19x9 23K/W TO-220)
1 x šroubek M3x8
1 x matka M3
2 x podložka M3
1 x krabička U-SEB4 (dvoudílná plastová, vnější rozměry 90 x 60 x 27)

Osazování začněte konektory. Nejchoulostivější součástkou je napájecí konektor. Jeho vývody jsou poniklované a je proto nutno k pájení použít přípravek k pájení niklu nebo kontakty před pájením obrousit a pocínovat. Pozor - konektor je z lehce tavitelné umělé hmoty a je proto nutno pájet krátce. Jako další osaďte konektory CANNON. Důkladně je zamáčkněte do spoje a přiletujte nejdříve zemnící vodiče a až potom všechny ostatní piny. Dále připevněte stabilizátor s chladičem, před montáží pocínujte plošný spoj v okolí díry pro šroubek jako dosedací místo podložky pod matkou. Nyní můžete osazovat ostatní součástky. Pozor na správnou polaritu elektrolytického kondenzátoru (kladný pól má delší vodič a jeho záporný pól je na pouzdru označen proužkem) a diod (katoda je označena proužkem na pouzdru). Při montáži tranzistorů použijte orientaci podle obrázku. LED diodu ponechejte asi 10 mm nad povrchem spoje. Anoda LED diody (kladný pól) je označena delším vývodem. Pro procesor osaďte pouze patici, samotný procesor vložte do patice až po kompletním osazení celé jednotky. Pozor na správnou orientaci patice i procesoru (značka je na straně vývodů 1 a 18). U součástek, u kterých nezáleží na orientaci, dodržujte orientaci tak, aby jejich popisy byly čitelné při pohledu zdola nebo zleva. Odpory při osazování kontrolujte ohmetrem. Barevné proužky nemusí být dobře rozpoznatelné a mohlo by tak dojít snadno k záměně odporů. Nebezpečí záměny hrozí především u odporů 5k6 a 56k. Krystalu ponechejte delší vývody a pájejte jej krátce, při přehřátí by mohlo dojít k jeho poškození.

Tabulka barevného značení odporů:

barva 1. číslice 2. číslice 3. číslice počet nul
  černá 0 0 0 0 (x 1)
  hnědá 1 1 1 1 (x 10)
  červená 2 2 2 2 (x 100)
  oranžová 3 3 3 3 (x 1k)
  žlutá 4 4 4 4 (x 10k)
  zelená 5 5 5 5 (x 100k)
  modrá 6 6 6 6 (x 1M)
  fialová 7 7 7 7 (x 10M)
  šedá 8 8 8 8 (x 100M)
  bílá 9 9 9 9 (x 1G)


Oživení
Jednotku není potřeba nijak nastavovat a měla by při správném osazení pracovat na první zapojení. Připojte k jednotce univerzální periferní modul
P84-UNI nebo připojte LED diodu mezi vývody A0 (katoda) a +5V (anoda) konektoru portů. Jednotku připojte prodlužovacím kabelem CANNON 9 pinů (tzv. pin-to-pin) k portu COM počítače a spusťte program PICDEV. Kabel musí propojovat všech použitých 7 signálů (pozor - na rozdíl od komunikačních kabelů se v prodlužovacím kabelu žádné signály nekříží), při vlastní výrobě postačí kabel pro 5 signálů, signály DSR+RxD a CTS+TxD je možné propojit v konektoru u počítače. Při zapnutí automatické detekce by měla být jednotka nalezena na některém z portů, po otevření a odeslání demonstračního programu "DEMO.ASM" by se měla LED dioda rozblikat.

  config WDT ; je zapnut časovač WDT
  clrw   ; W <- 0
  tris 5 ; nastavení portu A jako výstup
  tris 6 ; nastavení portu B jako výstup
  movlw 8+2 ; předdělička k WDT, dělicí poměr 1/4
  option   ; nastavení registru OPTION
Loop sleep   ; čekání na impuls WDT
  incf 5,1 ; inkrementace portu A
  decf 6,1 ; dekrementace portu B
  goto Loop ; další čekání

V případě problémů zkontrolujte ještě jednou součástky a pájená místa (zda není zkrat mezi sousedními pájecími body; plošný spoj nejdříve omyjte lihem). Dále zkuste postupovat podle následujících bodů.

Port není automaticky detekován:
Automatická detekce probíhá na základě propojení signálů TxD a CTS. Zkontrolujte, zda propojovací kabel opravdu přenáší oba signály (či zda jsou signály propojeny, jedná-li se o kabel vlastní výroby). Při hledání závady můžete využít program TERMINAL. Zvolte požadovaný port a nejmenší přenosovou rychlost (110 Baud). Náhodně tiskněte různé klávesy nebo podržte některou znakovou klávesu (pro rychlé generování znaků), kontrolka CTS by měla poblikávat. Důvodem potíží může být také časové zatížení počítače jinými programy (ukončete všechny ostatní aplikace). Někdy může být port nepřístupný po použití jiným programem - zkuste resetovat počítač.

Při programování hlášeno "Chyba verifikace zapisovaných dat"
Jako první krok při problémech by mělo být ukončení všech ostatních spuštěných aplikací. Program PicDev zkuste ukončit a spustit znovu (při svém spuštění detekuje rychlost počítače, vlivem náhodných dějů v počítači by mohla být detekce provedena mylně). Účinné může být též resetování počítače.

Programovaná data jsou během programování průběžně kontrolována. K tomu slouží přepínač "Verifikace", který je vhodné ponechat trvale zapnutý. Při hlášení chyby verifikace zkuste programovat s vypnutou verifikací. Rozeběhne-li se program v procesoru správně, je zřejmé, že je problém pouze ve zpětné kontrole dat. Spusťte program TERMINAL, nastavte správný port, nejmenší přenosovou rychlost (110 Baud) a zapněte signál RTS. Držíte-li některou znakovou klávesu, musí kontrolka DSR poblikávat stejně jako CTS. Není-li tomu tak, zkuste nejdříve v jednotce propojit signály DSR+CTS (RxD+TxD), čímž ověříte, zda není problém v kabelu. Dále zkontrolujte voltmetrem napětí signálu RTS (mělo by být alespoň +11.5V) a pokračujte kontrolou tranzistorů T2 a T3. Přitom je vhodné vyjmout procesor z objímky, mohl by blokovat signál RB7.

Problikává-li kontrolka DSR shodně s CTS (a i při vyšší přenosové rychlosti se zapisované znaky přenáší správně zpět, tj. znaky se zdvojují), zkontrolujte napětí na vývodu 4 procesoru v závislosti na signálech RTS a DTR (opět s pomocí programu TERMINAL). Je-li signál DTR zapnut, musí být na vývodu 11 až 12V. Je-li napětí menší než 11 V, jedná se o port neumožňující programování (některé notebooky). Je-li RTS zapnut a DTR vypnut, musí být na vývodu 4 napětí 4 až 6 V. Při nízkém napětí zkuste použít externí zdroj. Jsou-li oba signály vypnuté, musí být na vývodu 4 asi -0.5V. Zkontrolujte též napětí na procesoru (mezi vývody 5 a 14), které by mělo být 4 až 6 V a nemělo by pod dolní hranici klesat ani během pokusu o programování.

Při dalším hledání závady vyjměte procesor z patice a proměřte v patici ohmetrem vývody RB6 a RB7, zda nejsou zkratovány či přerušeny. Proměřte součástky v obvodu generování hodinových impulsů (R8, R9, D7, D8, ...). Zdá-li se být vše v pořádku, mohlo by se jednat o mimotolerantní hodnoty součástek. Nahraďte odpor R8 odporovým trimrem o rozsahu několik desítek kiloohmů. Zkusmo nastavujte různé hodnoty odporu a zkoušejte funkci. Nedaří-li se problém vyřešit ani tímto způsobem, zkuste ještě použít jiný procesor. Nakonec bude nutno použít osciloskop. Spusťte programování s vypnutou verifikací a zkontrolujte osciloskopem na procesoru stabilitu napájení (vývod 14), propojení se zemí (vývod 5), napěťové úrovně na vývodu 4 (+11.5V=programování, +5V=provoz, -0.5V=reset), impulsy na vývodu 12 (nepravidelné obdélníky se šířkou 8 a 17 us) a impulsy na vývodu 13 (exponenciální impulsy s prudkou náběžnou hranou na +4 V a poklesem na +0.8V po dobu 12 us).

Po naprogramování demonstrační program v procesoru neběží
Zkontrolujte správnost nastavení typu procesoru. Zkontrolujte, zda programujete se zapnutou verifikací. Program ještě můžete ověřit zpětným načtením z procesoru. Zkontrolujte zvolený typ oscilátoru, pro P84-CPU to musí být krystal XT. Zkontrolujte připojenou testovací LED uzemněním vývodu A0 před odpor 330 ohmů. Svítí-li, zkontrolujte napětí signálu A0 postupně až k procesoru (zda není přerušen plošný spoj). Je-li na vývodu 17 procesoru +5V, procesor skutečně nepracuje. Změřte napětí na jeho vývodech 14 (napájení) a 4 (reset), která mají obě být +5V. Na vývodu 5 (zem) musí být 0 V. Je-li vše v pořádku, nepracuje oscilátor. Zkontrolujte připojení krystalu a kondenzátorů C5 a C6, zda není někde zkrat, přerušení či zda jsou použité správné součástky (např. namísto 22p je 22n).


Konstrukce
Po oživení jednotky přichází na řadu kompletování. Omyjte lihem z plošného spoje zbytky kalafuny a pájecího laku a znovu spoj nalakujte pájecím lakem. Použijte krabičku s typovým označením U-SEB4. Deska jednotky bude v krabičce uchycena položením do otvorů pro konektory. Po kratších stranách vyřízněte otvory pro konektory CANNON. Otvory nařežte po stranách lupénkovou pilkou, vyštípněte je kleštěmi, zbytek odřízněte nožem a nakonec zarovnejte pilníkem. Podobně vyřízněte i otvor pro napájecí konektor. Deska musí jít vložit do otvorů tak, že horní okraje všech konektorů jsou v rovině s horním okrajem krabičky. Ve víčku krabičky vyvrtejte otvor pro LED diodu a odřízněte nožem osazení víčka v místech konektorů tak, aby bylo možné víčko na krabičku dobře položit.


Přeji mnoho radosti a potěšení z Vašeho výtvoru

Ing. Miroslav Němeček

domovská stránka: www.gemtree.cz