331 |
miho |
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
225 |
miho |
2 |
<html> |
|
|
3 |
<head> |
|
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
|
5 |
<title> PICICD01B </title> |
|
|
6 |
<meta name="keywords" content="stavebnice MLAB in circuit debugger icd debugger MICROCHIP PIC"> |
|
|
7 |
<meta name="description" content="Projekt MLAB, ICD Debugger pro proceosry PIC"> |
|
|
8 |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
|
|
9 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
381 |
miho |
10 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> |
225 |
miho |
11 |
<link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> |
|
|
12 |
<script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> |
|
|
13 |
<!-- AUTOINCLUDE END --> |
|
|
14 |
</head> |
|
|
15 |
|
|
|
16 |
<body lang="cs"> |
|
|
17 |
|
|
|
18 |
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
|
|
19 |
<!-- ============== HLAVICKA ============== --> |
|
|
20 |
<div class="Header"> |
|
|
21 |
<script type="text/javascript"> |
|
|
22 |
<!-- |
|
|
23 |
SetRelativePath("../../../../../"); |
|
|
24 |
DrawHeader(); |
|
|
25 |
// --> |
|
|
26 |
</script> |
|
|
27 |
<noscript> |
|
|
28 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
|
29 |
</noscript> |
|
|
30 |
</div> |
|
|
31 |
<!-- AUTOINCLUDE END --> |
|
|
32 |
|
|
|
33 |
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
|
|
34 |
<!-- ============== MENU ============== --> |
|
|
35 |
<div class="Menu"> |
|
|
36 |
<script type="text/javascript"> |
|
|
37 |
<!-- |
|
|
38 |
SetRelativePath("../../../../../"); |
|
|
39 |
DrawMenu(); |
|
|
40 |
// --> |
|
|
41 |
</script> |
|
|
42 |
<noscript> |
|
|
43 |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
|
|
44 |
</noscript> |
|
|
45 |
</div> |
|
|
46 |
<!-- AUTOINCLUDE END --> |
|
|
47 |
|
|
|
48 |
<!-- ============== TEXT ============== --> |
|
|
49 |
<div class="Text"> |
|
|
50 |
<p class="Title"> |
|
|
51 |
<span lang="en">In Circuit Debugger</span> pro procesory PIC |
|
|
52 |
</p> |
|
|
53 |
<p class=Autor> |
|
|
54 |
Milan Horkel |
|
|
55 |
</p> |
|
|
56 |
<p class="Subtitle"> |
|
|
57 |
Modul PICICD je jednoduchý programátor a ICD pro procesory PIC firmy |
|
|
58 |
MICROCHIP. Modul je kompatibilní s MPLAB™ ICD firmy MICROCHIP a je jej |
|
|
59 |
také možno použít s překladačem PCW firmy CCS. Umožňuje programování |
|
|
60 |
zapájených procesorů PIC, krokování programů, nastavování BreakPointu a |
|
|
61 |
čtení a zápis z a do vnitřních pamětí laděného procesoru PIC. |
|
|
62 |
</p> |
|
|
63 |
<p class="Subtitle"> |
|
|
64 |
<img width="410" height="308" src="Pictures/image001.jpg" |
|
|
65 |
alt="Pohled na debugger"> |
|
|
66 |
</p> |
|
|
67 |
<p> |
|
|
68 |
<a href="../PICICD01B.cs.pdf"><img class="NoBorder" |
|
|
69 |
src="../../../../../Web/PIC/FileIco_PDF.ico" |
|
|
70 |
alt="Acrobat"> PDF verze</a> |
|
|
71 |
</p> |
|
|
72 |
|
|
|
73 |
<h1> Technické údaje </h1> |
|
|
74 |
|
|
|
75 |
<table> |
|
|
76 |
<tr> |
|
|
77 |
<th> Parametr </th> |
|
|
78 |
<th> Hodnota </th> |
|
|
79 |
<th> Poznámka </th> |
|
|
80 |
</tr> |
|
|
81 |
<tr> |
|
|
82 |
<td> Napájení </td> |
|
|
83 |
<td> 2.0 až 5.5V </td> |
|
|
84 |
<td> Napájí se z cílového systému </td> |
|
|
85 |
</tr> |
|
|
86 |
<tr> |
|
|
87 |
<td> Spotřeba </td> |
|
|
88 |
<td> Max. cca50mA </td> |
|
|
89 |
<td> </td> |
|
|
90 |
</tr> |
|
|
91 |
<tr> |
|
|
92 |
<td> Interface </td> |
|
|
93 |
<td> RS232 (9600Bd až 115200Bd) </td> |
|
|
94 |
<td> Kabel 1:1 DB9 (prodlužovací) </td> |
|
|
95 |
</tr> |
|
|
96 |
<tr> |
|
|
97 |
<td> Kompatibilita </td> |
|
|
98 |
<td> MPLAB™ ICD </td> |
|
|
99 |
<td> MPLAB 5.x (řada PIC16F)<br> |
|
|
100 |
CCS PCW 3.x (řada PIC16F a PIC18F) </td> |
|
|
101 |
</tr> |
|
|
102 |
<tr> |
|
|
103 |
<td> Rozměry </td> |
|
|
104 |
<td> 65x50x20mm </td> |
|
|
105 |
<td> Výška nad nosnou deskou </td> |
|
|
106 |
</tr> |
|
|
107 |
</table> |
|
|
108 |
|
|
|
109 |
<h1> Popis konstrukce </h1> |
|
|
110 |
|
|
|
111 |
<h2> Úvodem </h2> |
|
|
112 |
|
|
|
113 |
<p> |
|
|
114 |
Konstrukce modulu přímo vychází z MPLAB™ ICD firmy MICROCHIP tak, jak |
|
|
115 |
je popsán v dokumentu DS51184 a s dodatkem v dokumentu ETN#21. Podle |
|
|
116 |
informací nalezených na WWW má původní konstrukce potíže s generováním |
|
|
117 |
programovacího napětí, proto byla tato část modifikována tak, aby bylo |
|
|
118 |
zajištěno správné programovací napětí v plném rozmezí dovolených |
|
|
119 |
napájecích napětí modulu. |
|
|
120 |
</p> |
|
|
121 |
|
|
|
122 |
<h2> Zapojení modulu </h2> |
|
|
123 |
|
|
|
124 |
<p> |
|
|
125 |
Modul ICD je napájen z cílového systému (prostřednictvím ISP |
|
|
126 |
konektoru). Napájecí napětí může být v rozsahu 2V až 5V. Pokud nemá |
|
|
127 |
cílové zařízení vlastní zdroj, je možné napájení přivádět |
|
|
128 |
prostřednictvím konektoru J4. Programovací napětí (cca. 12.7V) si ICD |
|
|
129 |
vyrábí sám pomocí měniče. |
|
|
130 |
</p> |
|
|
131 |
|
|
|
132 |
<p> |
|
|
133 |
Základem ICD je procesor U1 PIC16LF876, který komunikuje s počítačem PC |
|
|
134 |
prostřednictvím sériové linky a řídí obvody pro programování procesorů |
|
|
135 |
prostřednictvím ISP konektoru. Samotný procesor se poprvé programuje |
|
|
136 |
prostřednictvím jeho ISP konektoru J3, další přeprogramování si již |
|
|
137 |
procesor provádí sám. Může se ale stát, že uživatel nahraje do |
|
|
138 |
procesoru nesprávný firmware a pak je třeba použít opět vnějšího |
|
|
139 |
programátoru na přeprogramování. |
|
|
140 |
</p> |
|
|
141 |
|
|
|
142 |
<p> |
|
|
143 |
<img width="560" height="440" src="Pictures/image002.gif" |
|
|
144 |
alt="Zapojení procesorové části"> |
|
|
145 |
</p> |
|
|
146 |
|
|
|
147 |
<p> |
|
|
148 |
Komunikace s počítačem PC zajišťuje obvod U2 MAX232, který převádí |
|
|
149 |
napěťové úrovně mezi TTL a RS232. Pokud se provozuje ICD s napájecím |
|
|
150 |
napětím menším než asi 4V je třeba ověřit maximální komunikační |
|
|
151 |
rychlost, která ještě bude správně pracovat. Za příznivých podmínek |
|
|
152 |
může fungovat rychlost 115200Bd i při napájecím napětí 2V. |
|
|
153 |
</p> |
|
|
154 |
|
|
|
155 |
<p> |
|
|
156 |
<img width="474" height="435" src="Pictures/image003.gif" |
|
|
157 |
alt="Zapojení převodníku RS232"> |
|
|
158 |
</p> |
|
|
159 |
|
|
|
160 |
<p> |
|
|
161 |
Cílové zařízení se připojuje prostřednictvím ISP konektoru J2. Pokud se |
|
|
162 |
použije funkce monitoru použije se i vývod označený PGM, jinak může |
|
|
163 |
zůstat volný. ICD je obvykle napájen z cílového systému prostřednictvím |
|
|
164 |
programovacího konektoru. Zenerova dioda D10 je ochrana před přepětím a |
|
|
165 |
přepólováním. |
|
|
166 |
</p> |
|
|
167 |
|
|
|
168 |
<p> |
|
|
169 |
Zelená LED dioda D8 slouží současně jako indikační a jako zdroj |
|
|
170 |
referenčního napětí pro hrubé měření napájecího napětí. Přesnost je |
|
|
171 |
pochybná ale programové vybavení s tímto řešením počítá. |
|
|
172 |
</p> |
|
|
173 |
|
|
|
174 |
<p> |
|
|
175 |
Zdroj programovacího napětí získává napětí v měniči s tranzistorem Q1, |
|
|
176 |
který je řízen z PWM výstupu procesoru U1. Obvod měniče byl |
|
|
177 |
<i>modifikován</i> tak, aby poskytoval stabilní napětí +16V na vstupu |
|
|
178 |
stabilizátoru U3 v plném rozmezí napájení ICD. Byla zmenšena indukčnost |
|
|
179 |
cívky L1 čímž byl zvýšen výkon měniče. Byla doplněna zpětná vazba |
|
|
180 |
Zenerovou diodou D4/D3 mezi kolektor a bázi tranzistoru, tím je omezeno |
|
|
181 |
generované napětí měniče právě na +16V. <i>Dále byla změněna vazba báze |
|
|
182 |
tranzistoru Q1 s procesorem na střídavou vazbu aby nemohlo dojít k |
|
|
183 |
fatálnímu stavu zaseknutí procesoru U1 v okamžiku, kdy je na PWM |
|
|
184 |
výstupu stav H (pak by byl Q1 sepnutý a zkratoval by napájení a |
|
|
185 |
procesor by nebyl schopen provést RESET a mohl by Q1 nebo L1 |
|
|
186 |
shořet).</i> |
|
|
187 |
</p> |
|
|
188 |
|
|
|
189 |
<p> |
|
|
190 |
Za měničem následuje standardní lineární stabilizátor s U3 podepřený |
|
|
191 |
diodou D7 tak, aby výsledné napětí za stabilizátorem bylo cca. +12.7V. |
|
|
192 |
</p> |
|
|
193 |
|
|
|
194 |
<p> |
|
|
195 |
<img width="378" height="370" src="Pictures/image004.gif" |
|
|
196 |
alt="Zapojení ISP konetoru"> |
|
|
197 |
<img width="188" height="216" src="Pictures/image005.gif" |
|
|
198 |
alt="Zdroj Vref"> |
|
|
199 |
<img width="622" height="276" src="Pictures/image006.gif" |
|
|
200 |
alt="Zdroj Vpp"> |
|
|
201 |
</p> |
|
|
202 |
|
|
|
203 |
<p> |
|
|
204 |
Posledním obvodem je obvod pro spínání programovacího napětí a aktivaci |
|
|
205 |
signálu RESET. Tranzistory Q2 a Q3 spínají VPP (cca. +12.7V) a |
|
|
206 |
tranzistor Q4 aktivuje RESET. Odpory R18 a R21 jsou ochranné, odpor R22 |
|
|
207 |
a dioda D9 zajišťují stav H na vývodu #MCLR cílového systému. |
|
|
208 |
</p> |
|
|
209 |
|
|
|
210 |
<p> |
|
|
211 |
Odporový dělič R23/R24 slouží k měření (kontrole) velikost napětí VPP. |
|
|
212 |
</p> |
|
|
213 |
|
|
|
214 |
<p> |
|
|
215 |
Odporový dělič R25/R26 slouží k měření napájecího napětí. |
|
|
216 |
</p> |
|
|
217 |
|
|
|
218 |
<p> |
|
|
219 |
<img width="608" height="406" src="Pictures/image007.gif" |
|
|
220 |
alt="Zapojení spínače Vpp"> |
|
|
221 |
</p> |
|
|
222 |
|
|
|
223 |
<h2> Mechanická konstrukce </h2> |
|
|
224 |
|
|
|
225 |
<p> |
|
|
226 |
Modul je proveden standardním způsobem. V rozích má šrouby a sloupky |
|
|
227 |
pro připevnění na nosnou desku. |
|
|
228 |
</p> |
|
|
229 |
|
|
|
230 |
<p> |
|
|
231 |
<img width="478" height="379" src="Pictures/image008.jpg" |
|
|
232 |
alt="Detailní pohled"> |
|
|
233 |
</p> |
|
|
234 |
|
|
|
235 |
<h1> Osazení a oživení </h1> |
|
|
236 |
|
|
|
237 |
<h2> Osazení </h2> |
|
|
238 |
|
|
|
239 |
<p> |
|
|
240 |
Zkontrolujte zejména orientaci U1. |
|
|
241 |
</p> |
|
|
242 |
|
|
|
243 |
<p> |
|
|
244 |
<img width="402" height="302" src="Pictures/image009.jpg" |
|
|
245 |
alt="Osazení, strana součástí"> |
|
|
246 |
<img width="387" height="321" src="Pictures/image010.jpg" |
|
|
247 |
alt="Osazení, strana spojů"> |
|
|
248 |
</p> |
|
|
249 |
|
|
|
250 |
<table class="Soupiska"> |
|
|
251 |
<tr> |
|
|
252 |
<th> Reference </th> |
|
|
253 |
<th> Hodnota </th> |
|
|
254 |
</tr> |
|
|
255 |
<tr> |
|
|
256 |
<th colspan="2"> Odpory SMD </th> |
|
|
257 |
</tr> |
|
|
258 |
<tr> |
|
|
259 |
<td> R18 </td> |
|
|
260 |
<td> 33 </td> |
|
|
261 |
</tr> |
|
|
262 |
<tr> |
|
|
263 |
<td> R2, R3, R4, R5, R6, R7, R8, R12, R21 </td> |
|
|
264 |
<td> 100 </td> |
|
|
265 |
</tr> |
|
|
266 |
<tr> |
|
|
267 |
<td> R13, R28, R30, R32 </td> |
|
|
268 |
<td> 330 </td> |
|
|
269 |
</tr> |
|
|
270 |
<tr> |
|
|
271 |
<td> R9, R10, R23 </td> |
|
|
272 |
<td> 1k </td> |
|
|
273 |
</tr> |
|
|
274 |
<tr> |
|
|
275 |
<td> R22, R25 </td> |
|
|
276 |
<td> 4k7 </td> |
|
|
277 |
</tr> |
|
|
278 |
<tr> |
|
|
279 |
<td> R11, R14,R15, R16, R17, R19, R20, R24, R26, R27, R29, R31 </td> |
|
|
280 |
<td> 10k </td> |
|
|
281 |
</tr> |
|
|
282 |
<tr> |
|
|
283 |
<td> R1 </td> |
|
|
284 |
<td> 22K </td> |
|
|
285 |
</tr> |
|
|
286 |
<tr> |
|
|
287 |
<th colspan="2"> Kondenzátory keramické SMD </th> |
|
|
288 |
</tr> |
|
|
289 |
<tr> |
|
|
290 |
<td> C2, C3 </td> |
|
|
291 |
<td> 22pF </td> |
|
|
292 |
</tr> |
|
|
293 |
<tr> |
|
|
294 |
<td> C1, C4, C5, C6, C7, C8, C9, C10, C12, C13 </td> |
|
|
295 |
<td> 100nF </td> |
|
|
296 |
</tr> |
|
|
297 |
<tr> |
|
|
298 |
<th colspan="2"> Kondenzátory elektrolytické drátové </th> |
|
|
299 |
</tr> |
|
|
300 |
<tr> |
|
|
301 |
<td> C11, C14 </td> |
|
|
302 |
<td> 47uF/25V </td> |
|
|
303 |
</tr> |
|
|
304 |
<tr> |
|
|
305 |
<th colspan="2"> Tlumivky axiální </th> |
|
|
306 |
</tr> |
|
|
307 |
<tr> |
|
|
308 |
<td> L1 </td> |
|
|
309 |
<td> 330uH </td> |
|
|
310 |
</tr> |
|
|
311 |
<tr> |
|
|
312 |
<th colspan="2"> Krystaly </th> |
|
|
313 |
</tr> |
|
|
314 |
<tr> |
|
|
315 |
<td> X1 </td> |
|
|
316 |
<td> 3.6864MHz </td> |
|
|
317 |
</tr> |
|
|
318 |
<tr> |
|
|
319 |
<th colspan="2"> Diody SMD </th> |
|
|
320 |
</tr> |
|
|
321 |
<tr> |
|
|
322 |
<td> D1, D2, D4, D6, D7, D9 </td> |
|
|
323 |
<td> 1N4148SMD </td> |
|
|
324 |
</tr> |
|
|
325 |
<tr> |
|
|
326 |
<td> D5 </td> |
|
|
327 |
<td> BAT48SMD </td> |
|
|
328 |
</tr> |
|
|
329 |
<tr> |
|
|
330 |
<td> D10 </td> |
|
|
331 |
<td> BZV55C5.6SMD </td> |
|
|
332 |
</tr> |
|
|
333 |
<tr> |
|
|
334 |
<td> D3 </td> |
|
|
335 |
<td> BZV55C16SMD </td> |
|
|
336 |
</tr> |
|
|
337 |
<tr> |
|
|
338 |
<th colspan="2"> Diody LED </th> |
|
|
339 |
</tr> |
|
|
340 |
<tr> |
|
|
341 |
<td> D8 </td> |
|
|
342 |
<td> LED3mm zelená </td> |
|
|
343 |
</tr> |
|
|
344 |
<tr> |
|
|
345 |
<th colspan="2"> Tranzistory SMD </th> |
|
|
346 |
</tr> |
|
|
347 |
<tr> |
|
|
348 |
<td> Q1, Q2, Q4 </td> |
|
|
349 |
<td> BC817-25SMD </td> |
|
|
350 |
</tr> |
|
|
351 |
<tr> |
|
|
352 |
<td> Q3 </td> |
|
|
353 |
<td> BC807-25SMD </td> |
|
|
354 |
</tr> |
|
|
355 |
<tr> |
|
|
356 |
<th colspan="2"> Integrované obvody </th> |
|
|
357 |
</tr> |
|
|
358 |
<tr> |
|
|
359 |
<td> U1 </td> |
|
|
360 |
<td> PIC16LF876-04/SO </td> |
|
|
361 |
</tr> |
|
|
362 |
<tr> |
|
|
363 |
<td> U2 </td> |
|
|
364 |
<td> MAX232SMD </td> |
|
|
365 |
</tr> |
|
|
366 |
<tr> |
|
|
367 |
<td> U3 </td> |
|
|
368 |
<td> LM78L12M_SO8 </td> |
|
|
369 |
</tr> |
|
|
370 |
<tr> |
|
|
371 |
<th colspan="2"> Mechanické součástky </th> |
|
|
372 |
</tr> |
|
|
373 |
<tr> |
|
|
374 |
<td> J1 </td> |
|
|
375 |
<td> RS232DB9M </td> |
|
|
376 |
</tr> |
|
|
377 |
<tr> |
|
|
378 |
<td> J2, J3 </td> |
|
|
379 |
<td> JUMP 8 </td> |
|
|
380 |
</tr> |
|
|
381 |
<tr> |
|
|
382 |
<td> J4 </td> |
|
|
383 |
<td> JUMP 2x3 </td> |
|
|
384 |
</tr> |
|
|
385 |
</table> |
|
|
386 |
|
|
|
387 |
<h2> Oživení </h2> |
|
|
388 |
|
|
|
389 |
<p> |
|
|
390 |
Do procesoru U1 je třeba naprogramovat firmware. Vhodnými kandidáty |
|
|
391 |
jsou firmwary jednak firmy MICROCHIP (z balíku MPLAB verze 5.x) a dále |
|
|
392 |
firmwary firmy CCS (z balíku překladače PCW nebo ICS). Je třeba dát |
|
|
393 |
pozor na to, který firmware použít. Tento hardware je kompatibilní s |
|
|
394 |
ICD firmy MICROCHIP a má procesor PIC16LF876 a krystal 3.6864MHz. |
|
|
395 |
</p> |
|
|
396 |
|
|
|
397 |
<p> |
|
|
398 |
Kabel RS232 je zapojen 1:1 (tedy odpovídající si piny jsou spojeny, |
|
|
399 |
jedná se o prodlužovací kabel). Zařízení je také možno připojit přímo |
|
|
400 |
na USB-RS232 adaptér. |
|
|
401 |
</p> |
|
|
402 |
|
|
|
403 |
<p> |
|
|
404 |
<img width="429" height="188" src="Pictures/image011.jpg" |
|
|
405 |
alt="Provedení propojovacího kabelu"> |
|
|
406 |
</p> |
|
|
407 |
|
|
|
408 |
<h3> Oživení pro MPLAB firmy MICROCHIP </h3> |
|
|
409 |
|
|
|
410 |
<p> |
|
|
411 |
Do procesoru U1 se externím programátorem naprogramuje firmware ze |
|
|
412 |
souboru MPL876.HEX z instalačního adresáře balíku MICROCHIP MPLAB verze |
|
|
413 |
5.x. Firmware umožňuje komunikaci jen rychlostí 19200Bd a 57600Bd. |
|
|
414 |
</p> |
|
|
415 |
|
|
|
416 |
<p> |
|
|
417 |
Pokud je v ICD firmware pro PCW může se též použít program ICD do firmy |
|
|
418 |
CCS (není pak potřeba použít externí programátor). |
|
|
419 |
</p> |
|
|
420 |
|
|
|
421 |
<h3> Oživení pro PCW firmy CCS </h3> |
|
|
422 |
|
|
|
423 |
<p> |
|
|
424 |
Nejsnazší je naprogramovat do U1 externím programátorem zavaděč, který |
|
|
425 |
se nachází v instalačním adresáři překladače PCW (stačí i demoverze) v |
|
|
426 |
souboru BOOLOAD.HEX. Pak je již ICD funkční a při prvním použití v |
|
|
427 |
programu PCW nám program nabídne provedení aktualizace firmwaru. K |
|
|
428 |
aktualizaci již není potřeba externí programátor. Místo zavaděče může |
|
|
429 |
být naprogramován i firmware pro MPLAB. |
|
|
430 |
</p> |
|
|
431 |
|
|
|
432 |
<p> |
|
|
433 |
Pokud nám program PCW nenabídne aktualizaci firmwaru, lze aktualizaci |
|
|
434 |
provést také samostatným programem pro ovládání ICD, který se jmenuje |
|
|
435 |
ICD a lze jej volně stáhnout ze stránek firmy CCS. |
|
|
436 |
</p> |
|
|
437 |
|
|
|
438 |
<p> |
|
|
439 |
Při aktualizaci firmwaru vybereme variantu MICROCHIP MPLAB ICD a |
|
|
440 |
variantu firmwaru pro programování požadované řady procesorů PIC |
|
|
441 |
(PIC16F a PIC18F mají samostatné varianty firmwaru). |
|
|
442 |
</p> |
|
|
443 |
|
|
|
444 |
<p> |
|
|
445 |
V případě potřeby je možné nahrát do ICD firmware pro MPLAB™ ICD |
|
|
446 |
(soubor MPL876.HEX z instalačního adresáře balíku MPLAB verze 5.x). |
|
|
447 |
</p> |
|
|
448 |
|
|
|
449 |
<p> |
|
|
450 |
Pokud do ICD nahrajeme chybnou verzi firmwaru (například firmware pro |
|
|
451 |
jinou frekvenci krystalu) nezbývá než opět použít externí programátor a |
|
|
452 |
přehrát firmware U1 z vnějšku. |
|
|
453 |
</p> |
|
|
454 |
|
|
|
455 |
<p> |
|
|
456 |
Po výměně krystalu je možné použít i firmware pro kmitočet 20MHz ale |
|
|
457 |
pak ICD nebude pracovat při sníženém napájecím napětí. V takovém |
|
|
458 |
případě nahráváme firmware pro ICD-S pro 20MHz a ICD nebude možné |
|
|
459 |
použít s programem MPLAB. |
|
|
460 |
</p> |
|
|
461 |
|
|
|
462 |
<h3> Kontrola </h3> |
|
|
463 |
|
|
|
464 |
<p> |
|
|
465 |
Po naprogramování firmwaru je vhodné zkontrolovat funkčnost ICD s |
|
|
466 |
reálným procesorem a zkusit krokovat jednoduchou aplikaci v cílovém |
|
|
467 |
procesoru. V programu MPLAB je vhodné rovněž zkontrolovat, zda ICD |
|
|
468 |
správně reportuje velikost napájecího a programovacího napětí. |
|
|
469 |
</p> |
|
|
470 |
|
|
|
471 |
<p> |
|
|
472 |
Závěrem je vhodné zkontrolovat, zda měnič vyrábí správné programovací |
|
|
473 |
napětí. Kontroluje se napětí na vodiči +16V zda má +16V (vývod 8 |
|
|
474 |
stabilizátoru U3). Toto napětí se negeneruje trvale ale generuje se |
|
|
475 |
například během programování. |
|
|
476 |
</p> |
|
|
477 |
|
|
|
478 |
<h1> Programové vybavení </h1> |
|
|
479 |
|
|
|
480 |
<p> |
|
|
481 |
Programové vybavení za nás napsaly firmy MICROCHIP a CCS. |
|
|
482 |
</p> |
|
|
483 |
|
|
|
484 |
<h2> Balík MPLAB firmy MICROCHIP </h2> |
|
|
485 |
|
|
|
486 |
<p> |
|
|
487 |
<a href="http://www.microchip.com/">http://www.microchip.com</a> |
|
|
488 |
</p> |
|
|
489 |
|
|
|
490 |
<p> |
|
|
491 |
Firma MICROCHIP dodává ucelený programový balík MPLAB pro práci s |
|
|
492 |
procesory PIC. Jedná se o integrované prostředí, překladač assembleru, |
|
|
493 |
simulátor procesorů PIC a ovládání několika druhů programátorů a HW |
|
|
494 |
debuggerů. Zde popisovaný ICD je podporovaný pouze ve starší verzi |
|
|
495 |
MPLAB 5.x. MPLAB je zdarma ke stažení ze stránek výrobce a z mnoha |
|
|
496 |
dalších míst. |
|
|
497 |
</p> |
|
|
498 |
|
|
|
499 |
<p> |
|
|
500 |
Aby ICD fungoval s programem MPLAB musí do něho být nahrán firmware pro |
|
|
501 |
MPLAB, který je v souboru MPL876.HEX. |
|
|
502 |
</p> |
|
|
503 |
|
|
|
504 |
<h2> Balík PCW firmy CCS </h2> |
|
|
505 |
|
|
|
506 |
<p> |
|
|
507 |
<a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a> |
|
|
508 |
</p> |
|
|
509 |
|
|
|
510 |
<p> |
|
|
511 |
Firma CCS dodává komerční balík PCW, který obsahuje překladač jazyka C |
|
|
512 |
pro procesory PIC, integrované prostředí (Windows nebo Linux) a přímo |
|
|
513 |
podporuje ladění programů prostřednictvím několika druhů ICD. Od balíku |
|
|
514 |
PCW je možné si stáhnout demoverzi na vyzkoušení, která je zdarma a |
|
|
515 |
podporuje jen několik procesorů PIC s omezením délky přeloženého |
|
|
516 |
programu. Jinak je demoverze plně funkční a funguje v ní i práce s ICD. |
|
|
517 |
</p> |
|
|
518 |
|
|
|
519 |
<p> |
|
|
520 |
Poměr cena/výkon ostré verze překladače je velmi příznivá, protože |
|
|
521 |
tvůrci prostředí odvedli velký kus práce zejména na podprogramech pro |
|
|
522 |
ovládání periferií procesorů PIC. Kvalita generovaného kódu není sice |
|
|
523 |
oslnivá (překladač samotný stojí cca 100$) ale využití paměti RAM je |
|
|
524 |
vynikající. To co by se programovalo v assembleru hodiny se zde |
|
|
525 |
programuje minuty až desítky minut. |
|
|
526 |
</p> |
|
|
527 |
|
|
|
528 |
<p> |
|
|
529 |
Kromě integrovaného prostředí je možné ještě stáhnout program ICD, |
|
|
530 |
který slouží pouze pro ovládání ICD a jeho aktualizaci (výměna |
|
|
531 |
firmwaru, test komunikace a podobně). |
|
|
532 |
</p> |
|
|
533 |
|
|
|
534 |
<p> |
|
|
535 |
Hardwarová podpora ICD procesorů PIC16F je popsána v dokumentu |
|
|
536 |
MICROCHIP DS51241. U starších procesorů bez této podpory lze ICD použít |
|
|
537 |
pouze pro programování jejich obsahu ale ne pro krokování běhu |
|
|
538 |
programu. Podpora ICD je k dispozici u všech novějších procesorů PIC. |
|
|
539 |
</p> |
|
|
540 |
|
|
|
541 |
<p> |
|
|
542 |
HW podpora ICD zahrnuje hardware, který umožňuje provádět tyto ladící |
|
|
543 |
zásahy: |
|
|
544 |
</p> |
|
|
545 |
|
|
|
546 |
<ul> |
|
|
547 |
<li>Krokovat program po instrukcích </li> |
|
|
548 |
<li>Spustit program s nastavenou jednou zarážkou (BreakPoint registr je jen 1) </li> |
|
|
549 |
<li>Zastavit běžící program </li> |
|
|
550 |
</ul> |
|
|
551 |
|
|
|
552 |
<p> |
|
|
553 |
Vše ostatní již zajišťuje kousek programu, který se musí přidat k |
|
|
554 |
cílové aplikaci (zabere pár buněk paměti RAM, řádově dvě stovky |
|
|
555 |
instrukcí a jednu úroveň zásobníku). Přidání tohoto obslužného programu |
|
|
556 |
do aplikace zajišťuje překladač sám jakmile zvolíme ladění pomocí ICD. |
|
|
557 |
Na první adrese programu musí být instrukce NOP. |
|
|
558 |
</p> |
|
|
559 |
|
|
|
560 |
<p> |
|
|
561 |
Aby ICD fungoval, musí v něm být nahraný firmware. Ovládací programy |
|
|
562 |
firmy CCS dovedou komunikovat jak s původním firmwarem pro MPLAB firmy |
|
|
563 |
MICROCHIP tak i s firmwary pro PCW firmy CCS. Pokud program zjistí, že |
|
|
564 |
firmware není správný (různé řady cílových procesorů vyžadují různé |
|
|
565 |
firmwary v ICD) provede jeho aktualizaci. |
|
|
566 |
</p> |
|
|
567 |
|
|
|
568 |
</div> |
|
|
569 |
|
|
|
570 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
|
|
571 |
<!-- ============== PATIČKA ============== --> |
|
|
572 |
<div class="Footer"> |
|
|
573 |
<script type="text/javascript"> |
|
|
574 |
<!-- |
|
|
575 |
SetRelativePath("../../../../../"); |
|
|
576 |
DrawFooter(); |
|
|
577 |
// --> |
|
|
578 |
</script> |
|
|
579 |
<noscript> |
|
|
580 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
|
581 |
</noscript> |
|
|
582 |
</div> |
|
|
583 |
<!-- AUTOINCLUDE END --> |
|
|
584 |
|
|
|
585 |
</body> |
|
|
586 |
</html> |