AVR JTAG ICE (Programozó, emulátor) 1. Rövid leírás Atmel JTAG ICE egyszerűsített változata, amely azonban teljeskörűen együttműködik az AVR Studioval. Segítségével programozható és "In-Circuit" "emulálható" az összes JTAG-képes Atmel AVR mikrokontroller. A JTAG-ről bővebb információ ügyében a legegyszerűbb az interneten körülnézni. 2. A JTAG ICE felépítése A JTAG ICE "lelke" egy ATMEGA163 (vagy ATMEGA16: bizonyos kötöttségekkel rendelkezik), amely összeköttetést létesít MAX232A szintillesztőn és soros porton keresztül az AVR Studioval (vagy egyéb JTAG szoftverrel) illetve a cél IC JTAG portjával. Az egyszerűség miatt a programozó nem rendelkezik külön tápellátással, azt a cél-készülékből nyeri. A csomagban megtalálható az eredeti (ATMEL) készülék kapcsolási rajza, melyben található még egy ISP programozó IC (AT90S1200), tápegység, portvédelmek, stb. 3. A JTAG ICE beüzemelése, első lépések Sajnos az ATMEGA163 felprogramozásához szükségünk lesz egy - már meglevő, vagy kölcsönkért - programozó eszközre (pl. ISP). Kétféle módszer közül választhatunk: a) Az eredeti doksi szerint az ATMEGA163-ba beprogramozzuk a bootloader programot a 0x1C00 vektortól kezdve (0x3800 bájt-cím), a fuse biteket beállítjuk, hogy a 0x1C00 boot résztől induljon a proci, behelyezzük a JTAG ICE panelbe, adunk neki tápot, és a soros portot összekötjük valamelyik PC soros porttal. Elindítjuk az AVR Studio 4-et, azon belül az AVRPROG programot. Kiválasztjuk a "Program Files\Atmel\AVR Tools\JTAGICE\Upgrade.ebn" fájlt, és a "Flash" opciót, majd elindítjuk. Ez - ha mindent jól csináltunk -, felprogramozza az ATMEGA163-at a legújabb firmware-el. Ezután az ATMEGA163-at visszarakjuk/kötjük a meglévő (ISP) programozóra, és visszaállítjuk a fuse biteket, hogy a 0x0000 címről induljon a proci, majd behelyezzük a kész nyákba és kész. b) A meglévő ISP programozóval felprogramozzuk az ATMEGA163-at a csomagban található AVR_JTAG.hex fájllal, mely tartalmazza a boot loader részen kívül az AVR Studio 4.07 Build 240-ben található HW:0xC0 SW major:0x78 SW minor:0x00 firmware-t is. A felprogramozott proci fuse bitjeit beállítjuk 0x0000 reset vektorra (azt hiszem ez az alap beállítás), majd behelyezzük a JTAG ICE nyákba. A fenti két pont valamelyikének végrehajtása után kössük össze a JTAG ICE-t a PC soros portjával és a cél-eszköz kontrollerének JTAG portjával, kapcsoljuk be a cél-eszközt (zöld LED világít). Indítsuk el az AVR Studio-t, azon belül a "STK500/AVRISP/JTAG ICE" menüpontot. Ha minden OK (piros LED villog), a megjelenő "JTAG ICE" nevű ablak alsó részén olvashatjuk az örömhírt: "Detecting.. JTAG ICE found on COM1:" "Getting revisions.. HW: 0xc0, SW Major: 0x78, SW Minor: 0x00 .. OK" A "Device" mezőben állítsuk be a cél-eszközben található proci típusát, váltsunk át az "Advanced" fülre és bökjük meg a "Read Signature" gombot. Ha minden OK, a gomb mellett található mezőben megjelenik a cél-IC azonosítója, és alatta az újabb örömhír: "Signature matches selected device.". Innentől kezdve használhatjuk a JTAG ICE programozónkat. 4. A csomagban található Könyvtárak, fájlok leírása: [Boot Roms] : a programozó procijának boot loader programjai (eredeti leírásból) - bootice.bas : ATMEGA163 boot loader BASIC forráskódja - bootice_rom.hex : ATMEGA163 boot loader lefordított gépi kód - bootice16.bas : ATMEGA16 boot loader BASIC forráskódja - bootice16_rom.hex : ATMEGA16 boot loader lefordított gépi kód [Original Doc] : az eredeti leírás html formátumban (ebből készült a kapcs. rajz) [PCB] : kapcs. rajzok, nyáktervek [Gerber] : Gerber fájlok (Protel DXP-ből) - AVR_JTAG.apr : apertúra fájl - AVR_JTAG.gbl : Bottom Layer - AVR_JTAG.gbo : Bottom OverLay (pozíciószita) - AVR_JTAG.gbs : Bottom Solder Mask (lőttstop) - AVR_JTAG.gtl : Top Layer (alkatrész oldal) - AVR_JTAG.gto : Top OverLay (pozíciószita) - AVR_JTAG.gts : Top Solder Mask (lőttstop) - AVR_JTAG.txt : Fúrófájl [Orcad] : Orcad fájlok - AVR_JTAG_Orcad.SCH : Kapcs. rajz (PROTEL DXP-ből exportálva) [Protel DXP] : Az eredeti terv Protel DXP-ben - AVR_JTAG.PcbDoc : nyák terv (PCB 5.0 bináris formátum) - AVR_JTAG_ASCII.PcbDoc : nyák terv (ASCII formátum) - AVR_JTAG_Kézi_fúrás.PcbDoc: nyák terv kézi fúráshoz, saját nyák gyártásához (20 mil-es furatok, nagyobbított pad-ek) - AVR_JTAG.PcbLib : alkatrész könyvtár a nyákból - AVR_JTAG_Kézi_fúrás.PcbLib: alkatrész könyvtár a nyákból (kézi fúráshoz) - AVR_JTAG.PrjPcb : A project - AVR_JTAG.SchDoc : kapcs. rajz (SCH 5.0 bináris formátum) - AVR_JTAG_ASCII.SchDoc : kapcs. rajz (SCH 5.0 ASCII formátum) - AVR_JTAG.SchLib : alkatrész könyvtár a kapcs. rajzból [Protel Old] : régebbi Protel fájl formátumok (Protel DXP-ből exportálva) - AVR_JTAG_PCB_BIN3.LIB : nyák alkatrész könyvtár (PCB 3.0 bináris formátum) - AVR_JTAG_PCB_BIN4.LIB : nyák alkatrész könyvtár (PCB 4.0 bináris formátum) - AVR_JTAG_SCH_BIN4.LIB : kapcs. rajz alkatrész könyvtár (SCH 4.0 bináris formátum, ill. "Library Editor Binary File Version 1.2 - 2.0") - AVR_JTAG.net : net-lista - AVR_JTAG_BIN3.PCB : nyák terv (PCB 3.0 bináris formátum) - AVR_JTAG_PROTEL_ASCII_2_8.PCB : nyák terv (PCB 2.8 ASCIIformátum) - AVR_JTAG_BIN4.SCH : kapcs. rajz (SCH 4.0 bináris formátum, ill. "Schematic Capture Binary File Version 1.2 - 2.0") - AVR_JTAG_schematic.gif: kapcs. rajz GIF formátumban - AVR_JTAG_BOM.txt : alkatrész lista TXT formátumban (RET kódokkal) - AVR_JTAG_BOM.xls : alkatrész lista XLS formátumban (RET kódokkal) - AVR_JTAG.hex : a felprogramozott ATMEGA163 teljes tartalma (boot+firmware) - AVR_JTAG_1.jpg: a demódarab képe (a nyomógomb utólagos módosítás, nincs rá szükség) - AVR_JTAG_2.jpg: a demódarab összekötve az STK500+501-el - jtag_schem_full.pdf : az eredeti JTAG ICE kapcs. rajza - miez.txt : ez a leírás