PDF verze
Transkript
MLAB PICICD01B In Circuit Debugger pro procesory PIC Milan Horkel Modul PICICD je jednoduchý programátor a ICD pro procesory PIC firmy MICROCHIP. Modul je kompatibilní s MPLAB™ ICD firmy MICROCHIP a je jej také možno použít s překladačem PCW firmy CCS. Umožňuje programování zapájených procesorů PIC, krokování programů, nastavování BreakPointu a čtení a zápis z a do vnitřních pamětí laděného procesoru PIC. 1. Technické údaje Parametr Hodnota Poznámka Napájení 2.0 až 5.5V Napájí se z cílového systému Spotřeba Max. cca50mA Interface RS232 (9600Bd až 115200Bd) Kabel 1:1 DB9 (prodlužovací) Kompatibilita MPLAB™ ICD MPLAB 5.x (řada PIC16F) CCS PCW 3.x (řada PIC16F a PIC18F) Rozměry 65x50x20mm Výška nad nosnou deskou PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 1 / 11 MLAB PICICD01B 2. Popis konstrukce 2.1. Úvodem Konstrukce modulu přímo vychází z MPLAB™ ICD firmy MICROCHIP tak, jak je popsán v dokumentu DS51184 a s dodatkem v dokumentu ETN#21. Podle informací nalezených na WWW má původní konstrukce potíže s generováním programovacího napětí, proto byla tato část modifikována tak, aby bylo zajištěno správné programovací napětí v plném rozmezí dovolených napájecích napětí modulu. 2.2. Zapojení modulu Modul ICD je napájen z cílového systému (prostřednictvím ISP konektoru). Napájecí napětí může být v rozsahu 2V až 5V. Pokud nemá cílové zařízení vlastní zdroj, je možné napájení přivádět prostřednictvím konektoru J4. Programovací napětí (cca. 12.7V) si ICD vyrábí sám pomocí měniče. Základem ICD je procesor U1 PIC16LF876, který komunikuje s počítačem PC prostřednictvím sériové linky a řídí obvody pro programování procesorů prostřednictvím ISP konektoru. Samotný procesor se poprvé programuje prostřednictvím jeho ISP konektoru J3, další přeprogramování si již procesor provádí sám. Může se ale stát, že uživatel nahraje do procesoru nesprávný firmware a pak je třeba použít opět vnějšího programátoru na přeprogramování. VDD VDD 2 C1 100nF 2 1 R1 22K RA0 RA1 RA2 RA3 VDD TEST VPP TEST PGC IN VREF IN RA5 PGD IN RC0 RC1 RC2 RC3 PGM VPP VPP PGC OUT ON GEN OUT 1 U1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 PIC MCLR#/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS# GND OSC1/CLKIN OSC2/CLKOUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL PGD/RB7 PGC/RB6 RB5 RB4 PGM/RB3 RB2 RB1 INT/RB0 VDD GND DT/RX/RC7 CK/TX/RC6 SDO/RC5 SDA/SDI/RC4 28 27 26 25 24 23 22 21 20 19 18 17 16 15 CTS RTS RB5 RB4 LED PGM OUT RB2 RB1 RX TX RC5 RC4 RESET PGD OUT 1 2 R4 100 1 2 1 C3 22pF R3 100 VDD 1 2 3 2 C2 22pF 2 R2 100 1 1 X1 3.6864MHz A B 2 PIC16LF876-04/SO 5 6 MCLR 8 ICD PROCESSOR PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz J3 PGC PGD VDD GND MCLR#/VPP PGM PIC_ISP_ICD PIC_ISP_ICD 2 / 11 MLAB PICICD01B Komunikace s počítačem PC zajišťuje obvod U2 MAX232, který převádí napěťové úrovně mezi TTL a RS232. Pokud se provozuje ICD s napájecím napětím menším než asi 4V je třeba ověřit maximální komunikační rychlost, která ještě bude správně pracovat. Za příznivých podmínek může fungovat rychlost 115200Bd i při napájecím napětí 2V. VDD 1 1 VCC U2 C5 C1+ 100nF 3 C6 2 1 100nF 5 11 10 12 9 2 2 C4 100nF C7 100nF 1 1 C8 100nF M- C2+ 6 2 REQUIRES RS232 CABLE 1:1 DB9F-DB9M 1 C2- R5 100 T1IN T2IN R1OUT R2OUT 15 RB5 TX RX RB4 4 M+ C1- GND 2 16 2 T1OUT T2OUT R1IN R2IN 14 7 13 8 1 2 R6 100 1 MAX232SMD 2 R7 100 1 2 R8 100 1 D2 1N4148SMD C 11 10 DB9F_90 R9 1k 1 2 C MCLR A 2 J1 1 6 2 7 3 8 4 9 5 D1 1N4148SMD A RS232 INTERFACE Cílové zařízení se připojuje prostřednictvím ISP konektoru J2. Pokud se použije funkce monitoru použije se i vývod označený PGM, jinak může zůstat volný. ICD je obvykle napájen z cílového systému prostřednictvím programovacího konektoru. Zenerova dioda D10 je ochrana před přepětím a přepólováním. Zelená LED dioda D8 slouží současně jako indikační a jako zdroj referenčního napětí pro hrubé měření napájecího napětí. Přesnost je pochybná ale programové vybavení s tímto řešením počítá. Zdroj programovacího napětí získává napětí v měniči s tranzistorem Q1, který je řízen z PWM výstupu procesoru U1. Obvod měniče byl modifikován tak, aby poskytoval stabilní napětí +16V na vstupu stabilizátoru U3 v plném rozmezí napájení ICD. Byla zmenšena indukčnost cívky L1 čímž byl zvýšen výkon měniče. Byla doplněna zpětná vazba Zenerovou diodou D4/D3 mezi kolektor a bázi tranzistoru, tím je omezeno generované napětí měniče právě na +16V. Dále byla změněna vazba báze tranzistoru Q1 s procesorem na střídavou vazbu aby nemohlo dojít k fatálnímu stavu zaseknutí procesoru U1 v okamžiku, kdy je na PWM výstupu stav H (pak by byl Q1 sepnutý a zkratoval by napájení a procesor by nebyl schopen provést RESET a mohl by Q1 nebo L1 shořet). Za měničem následuje standardní lineární stabilizátor s U3 podepřený diodou D7 tak, aby výsledné napětí za stabilizátorem bylo cca. +12.7V. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 3 / 11 MLAB PICICD01B VDD JUMP2X3 2 2 VDD 2 2 2 1 RC4 1 2 3 2 5 6 VPP 8 TARGET ISP R13 330 1 RB2 J2 2 PGC PGD VDD RA3 A R32 330 R12 100 D8 LED3mm GND MCLR#/VPP C 1 RA5 C R31 10k D10 BZV55C5.6SMD 2 1 RC3 C14 47uF/25V 1 R30 330 VDD C 1 RA2 R29 10k 2 4 6 A 1 RC0 R28 330 1 3 5 A 1 RB1 R27 10k VDD J4 PGM PIC_ISP_ICD PIC_ISP_ICD VREF SOURCE VDD 2 1 1 C10 100nF L1 100uH 1 +13V C13 100nF 2 1 C12 100nF 1 2 3 6 7 C C11 47uF/25V OUT GND GND GND GND IN 2 D5 BAT48SMD U3 LM78L12M_SO8 8 D7 1N4148SMD C A 1 R11 10k Q1 BC817-25SMD A 2 C 2 1 D6 1N4148SMD +16V C E 1 D3 BZV55C16SMD B 2 RC2 R10 1k C C9 100nF A A 2 D4 1N4148SMD CC A A POWER SOURCE Posledním obvodem je obvod pro spínání programovacího napětí a aktivaci signálu RESET. Tranzistory Q2 a Q3 spínají VPP (cca. +12.7V) a tranzistor Q4 aktivuje RESET. Odpory R18 a R21 jsou ochranné, odpor R22 a dioda D9 zajišťují stav H na vývodu #MCLR cílového systému. Odporový dělič R23/R24 slouží k měření (kontrole) velikost napětí VPP. Odporový dělič R25/R26 slouží k měření napájecího napětí. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 4 / 11 MLAB PICICD01B A VDD 1C D9 1N4148SMD 2 2 2 1 1 2 R26 10k 1 RA1 RA0 R20 10k Q4 BC817-25SMD R23 1k 1 1 1 VPP SWITCH R25 4k7 1 B 2 C 2 2 RC5 1 E R15 10k Q2 BC817-25SMD 2 B E 2 2 RC1 R19 10k C R14 10k R24 10k R21 100 1 R16 10k 1 VPP 2 2 1 R17 10k 1 B +13V R22 4k7 R18 33 2 Q3 BC807-25SMD E C RESET SWITCH TEST VOLTAGE 2.3. Mechanická konstrukce Modul je proveden standardním způsobem. V rozích má šrouby a sloupky pro připevnění na nosnou desku. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 5 / 11 MLAB PICICD01B 3. Osazení a oživení 3.1. Osazení Zkontrolujte zejména orientaci U1. Odpory SMD R18 33 R2, R3, R4, R5, R6, R7, R8, R12, R21 100 R13, R28, R30, R32 330 R9, R10, R23 1k R22, R25 4k7 R11, R14,R15, R16, R17, R19, R20, R24, R26, R27, R29, R31 10k R1 22K Kondenzátory keramické SMD C2, C3 22pF C1, C4, C5, C6, C7, C8, C9, C10, C12, C13 100nF Kondenzátory elektrolytické drátové C11, C14 47uF/25V Tlumivky axiální L1 330uH Krystaly X1 PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 3.6864MHz 6 / 11 MLAB PICICD01B Diody SMD D1, D2, D4, D6, D7, D9 1N4148SMD D5 BAT48SMD D10 BZV55C5.6SMD D3 BZV55C16SMD Diody LED D8 LED3mm zelená Tranzistory SMD Q1, Q2, Q4 BC817-25SMD Q3 BC807-25SMD Integrované obvody U1 PIC16LF876-04/SO U2 MAX232SMD U3 LM78L12M_SO8 Mechanické součástky J1 RS232DB9M J2, J3 JUMP 8 J4 JUMP 2x3 PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 7 / 11 PICICD01B MLAB 3.2. Oživení Do procesoru U1 je třeba naprogramovat firmware. Vhodnými kandidáty jsou firmwary jednak firmy MICROCHIP (z balíku MPLAB verze 5.x) a dále firmwary firmy CCS (z balíku překladače PCW nebo ICS). Je třeba dát pozor na to, který firmware použít. Tento hardware je kompatibilní s ICD firmy MICROCHIP a má procesor PIC16LF876 a krystal 3.6864MHz. Kabel RS232 je zapojen 1:1 (tedy odpovídající si piny jsou spojeny, jedná se o prodlužovací kabel). Zařízení je také možno připojit přímo na USB-RS232 adaptér. 3.2.1. Oživení pro MPLAB firmy MICROCHIP Do procesoru U1 se externím programátorem naprogramuje firmware ze souboru MPL876.HEX z instalačního adresáře balíku MICROCHIP MPLAB verze 5.x. Firmware umožňuje komunikaci jen rychlostí 19200Bd a 57600Bd. Pokud je v ICD firmware pro PCW může se též použít program ICD do firmy CCS (není pak potřeba použít externí programátor). 3.2.2. Oživení pro PCW firmy CCS Nejsnazší je naprogramovat do U1 externím programátorem zavaděč, který se nachází v instalačním adresáři překladače PCW (stačí i demoverze) v souboru BOOLOAD.HEX. Pak je již ICD funkční a při prvním použití v programu PCW nám program nabídne provedení aktualizace firmwaru. K aktualizaci již není potřeba externí programátor. Místo zavaděče může být naprogramován i firmware pro MPLAB. Pokud nám program PCW nenabídne aktualizaci firmwaru, lze aktualizaci provést také samostatným programem pro ovládání ICD, který se jmenuje ICD a lze jej volně stáhnout ze stránek firmy CCS. Při aktualizaci firmwaru vybereme variantu MICROCHIP MPLAB ICD a variantu firmwaru pro programování požadované řady procesorů PIC (PIC16F a PIC18F mají samostatné varianty firmwaru). V případě potřeby je možné nahrát do ICD firmware pro MPLAB™ ICD (soubor MPL876.HEX z instalačního adresáře balíku MPLAB verze 5.x). Pokud do ICD nahrajeme chybnou verzi firmwaru (například firmware pro jinou frekvenci krystalu) nezbývá než opět použít externí programátor a přehrát firmware U1 z vnějšku. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 8 / 11 PICICD01B MLAB Po výměně krystalu je možné použít i firmware pro kmitočet 20MHz ale pak ICD nebude pracovat při sníženém napájecím napětí. V takovém případě nahráváme firmware pro ICD-S pro 20MHz a ICD nebude možné použít s programem MPLAB. 3.2.3. Kontrola Po naprogramování firmwaru je vhodné zkontrolovat funkčnost ICD s reálným procesorem a zkusit krokovat jednoduchou aplikaci v cílovém procesoru. V programu MPLAB je vhodné rovněž zkontrolovat, zda ICD správně reportuje velikost napájecího a programovacího napětí. Závěrem je vhodné zkontrolovat, zda měnič vyrábí správné programovací napětí. Kontroluje se napětí na vodiči +16V zda má +16V (vývod 8 stabilizátoru U3). Toto napětí se negeneruje trvale ale generuje se například během programování. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 9 / 11 PICICD01B MLAB 4. Programové vybavení Programové vybavení za nás napsaly firmy MICROCHIP a CCS. 4.1. Balík MPLAB firmy MICROCHIP http://www.microchip.com Firma MICROCHIP dodává ucelený programový balík MPLAB pro práci s procesory PIC. Jedná se o integrované prostředí, překladač assembleru, simulátor procesorů PIC a ovládání několika druhů programátorů a HW debuggerů. Zde popisovaný ICD je podporovaný pouze ve starší verzi MPLAB 5.x. MPLAB je zdarma ke stažení ze stránek výrobce a z mnoha dalších míst. Aby ICD fungoval s programem MPLAB musí do něho být nahrán firmware pro MPLAB, který je v souboru MPL876.HEX. 4.2. Balík PCW firmy CCS http://www.ccsinfo.com Firma CCS dodává komerční balík PCW, který obsahuje překladač jazyka C pro procesory PIC, integrované prostředí (Windows nebo Linux) a přímo podporuje ladění programů prostřednictvím několika druhů ICD. Od balíku PCW je možné si stáhnout demoverzi na vyzkoušení, která je zdarma a podporuje jen několik procesorů PIC s omezením délky přeloženého programu. Jinak je demoverze plně funkční a funguje v ní i práce s ICD. Poměr cena/výkon ostré verze překladače je velmi příznivá, protože tvůrci prostředí odvedli velký kus práce zejména na podprogramech pro ovládání periferií procesorů PIC. Kvalita generovaného kódu není sice oslnivá (překladač samotný stojí cca 100$) ale využití paměti RAM je vynikající. To co by se programovalo v assembleru hodiny se zde programuje minuty až desítky minut. Kromě integrovaného prostředí je možné ještě stáhnout program ICD, který slouží pouze pro ovládání ICD a jeho aktualizaci (výměna firmwaru, test komunikace a podobně). Hardwarová podpora ICD procesorů PIC16F je popsána v dokumentu MICROCHIP DS51241. U starších procesorů bez této podpory lze ICD použít pouze pro programování jejich obsahu ale ne pro krokování běhu programu. Podpora ICD je k dispozici u všech novějších procesorů PIC. HW podpora ICD zahrnuje hardware, který umožňuje provádět tyto ladící zásahy: • Krokovat program po instrukcích • Spustit program s nastavenou jednou zarážkou (BreakPoint registr je jen 1) • Zastavit běžící program Vše ostatní již zajišťuje kousek programu, který se musí přidat k cílové aplikaci (zabere pár buněk paměti RAM, řádově dvě stovky instrukcí a jednu úroveň zásobníku). Přidání tohoto obslužného programu do aplikace zajišťuje překladač sám jakmile zvolíme ladění pomocí ICD. Na první adrese programu musí být instrukce NOP. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 10 / 11 PICICD01B MLAB Aby ICD fungoval, musí v něm být nahraný firmware. Ovládací programy firmy CCS dovedou komunikovat jak s původním firmwarem pro MPLAB firmy MICROCHIP tak i s firmwary pro PCW firmy CCS. Pokud program zjistí, že firmware není správný (různé řady cílových procesorů vyžadují různé firmwary v ICD) provede jeho aktualizaci. PICICD01B.doc / 2005-12-28 / miho / http://www.mlab.cz 11 / 11
Podobné dokumenty
PDF verze
2.2.1. Procesor a obvody jeho napájení
Srdcem zvonku je procesor U1. Časování je řízeno krystalem X1. Aby bylo možno procesor
naprogramovat přímo v zapojení, je zde programovací konektor J6, který ...
Převodníky linek
na vedení. V praxi však nejsou obvykle používány vysoké rychlosti přenosu (typické jsou 9.6 kBd
nebo 19.2 kBd) a ani vedení nebývají správně provedena. Zakončení pak ztrácí smysl a jen snižuje
úrov...
hf tramp cw qrp trx hf tramp
správnou funkci potřebuje, aby jeho vstup a především výstup byl zatížen reálnou impedancí
50 ohmů, pro kterou byl navržen, a to v širokém rozsahu kmitočtů. Tuto podmínku nám též pomáhá
splnit dipl...
Rádio NIVEA II
Vysílač máme hotový a můžeme se pustit do osazování obvodů přijímače. Osadíme
kondenzátor C11a indukčnost L3, která tvoří vstupní pásmovou propust. Dále pak omezovací
diody D3 a D4, které omezují p...
do vstupu PA 1kW - OK1AMF
pálenky) z předem vyleštěného Cu drátu průměru 2,5mm (drát průměru 3mm jsem neměl a v
Kovohutích Čelákovice byla nejslabší trubička prům. 4mm). Jednotlivé závity jsem roztáhl tak, aby
se při zavěše...
Modul pro práci s procesory ARM rady STM32
Modul pro práci s procesory ARM řady STM32
Jakub Kákona, Miroslav Janás, [email protected]
3. července 2013
Abstrakt
součástky
2N3904, 2N3906, 4069, 74ABT, 74ACT, 74ALB, 74ALVC, 74ALVT, 74AUC, 74AVC,
74C, 74HC, 74HC132, 74HC164, 74HCT, 74HCU, 74HLL, 74LCX, 74LV, 74LVC,
74LVQ, 74LVT, 74LVX, 7660, 7805, 7815, 78L05, 78T05, 7...
Elektronické hodiny - SPŠ sdělovací techniky
RA0/AN0
RA1/AN1
RA2/AN2/Vref
RA3/AN3/CMP1
RA4/TOCKI/CMP2
RA5/MCLR/THV
RA6/OSC2/_CLKOUT
RA7/OSC1/CLKIN
Osmibitové mikrořadiče Microchip
Do zásobníku je ukládán obsah čítače programu PC jako návratová adresa při instrukci call,
obsahem zásobníku je naplněn čítač programu při instrukcích return , retfie a retlw. Do
zásobníku je možno...