Korrigjimi në qark i AVR nëpërmjet JTAG ICE. Çfarë është një programues JTAG? Të gjithë programuesit USB të serisë universale ChipProg mbështesin programimin JTAG, së bashku me mbështetjen për një numër të madh protokollesh të tjera

2019-10-11 Data e përditësimit të fundit të programit: 2019-10-11

Janus me dy fytyra

Ne vendosëm ta quajmë këtë programues " Janusi".

Pse eshte ajo? Sepse në mitologjinë romake Janusi është me dy fytyra zot i dyerve, hyrjeve dhe daljeve, si dhe fillimeve dhe mbarimeve. Çfarë lidhje? Pse programuesi ynë ChipStar-Janus me dy fytyra?

Ja pse:

  • Në një dorë, ky programues është i thjeshtë. Shpërndarë si projekt falas, eshte e mundur lehtë për t'u bërë vetë.
  • Ne anen tjeter, është zhvilluar nga kompania për një kohë të gjatë të angazhuar profesionalisht zhvillimin dhe prodhimin e pajisjeve të ndryshme elektronike, duke përfshirë programuesit.
  • Në një dorë, ky programues është i thjeshtë, në shikim të parë nuk ka karakteristika shumë mbresëlënëse.
  • Ne anen tjeter, punon së bashku me program profesional(nga rruga, saktësisht njësoj si programuesit e tjerë profesionistë ChipStar).
  • Në një dorë, ne e ofrojmë këtë programues falas falas kuvendet.
  • Në një dorë, e shesim edhe ne forme te gatshme si produkt me buxhet te rregullt.
  • Në një dorë, një programues i bërë në shtëpi nuk mbulohet nga një garanci (që është e natyrshme).
  • Në një dorë, nëse keni mundur ta montoni, atëherë mund ta riparoni, dhe programuesi është aq i thjeshtë sa, në fakt, nuk ka asgjë për të thyer.
  • Në një dorë, është e thjeshtë në qark programues
  • Në një dorë, nëpërmjet përshtatësve të thjeshtë të zgjerimit ai mbështet programimin NAND FLASH dhe mikroqarqet e tjera janë tashmë "në prizë".

Pra, programuesi ChipStar-Janus për shumë specialistë mund të jetë një zgjidhje reale në një situatë ku programues të ndryshëm të thjeshtë ose amatorë nuk mjaftojnë më, dhe një programues më kompleks duket i tepërt ose nuk ka buxhet të mjaftueshëm për të.

Çfarë na shtyu të zhvillonim këtë programues.

Ka një larmi të madhe programuesish të thjeshtë të specializuar të përshtatshëm për i bërë vetë.

Ka shumë të lira Programuesit kinezë në formë të gatshme.

Janë jo pak zhvillimet amatore, shpesh me cilësi më të lartë se kjo e fundit.

Do të duket, cili është qëllimi i një zanati tjetër?

Për një kohë të gjatë ne kemi zhvilluar, prodhuar dhe mbështetur programues universalë, kryesisht për qëllime. Ne kemi përvojë të gjerë duke punuar me një shumëllojshmëri të gjerë të mikroqarqeve. Shpesh na kontaktojnë njerëz që tashmë kanë mbledhur, dhe shpeshherë kanë blerë, një nga “produktet” e lartpërmendura. Shpesh është e pamundur për specialistët tanë që të shikojnë dizajnet e qarkut, cilësinë e ndërtimit dhe, veçanërisht, softuerin e këtyre pajisjeve pa qeshur/lot/tmerr (nënvizoni sipas rastit). Është në rregull kur një programues kushton "tre kopekë", e blen, disa funksionojnë, disa jo, por paratë nuk janë shumë. Por shpesh raporti çmim/aftësi e pajisjeve të tilla na befason, për ta thënë butë. Unë dua të bërtas: nuk kushton aq shumë!

Përveç të gjitha sa më sipër, ekziston një kategori e veçantë programuesish të përshtatshme për vetë-prodhim - këta janë programues (më saktë, qarqe programues dhe softuer) të zhvilluar nga specialistë nga kompanitë që prodhojnë mikroqarqe (kryesisht mikrokontrolluesit). Programues të tillë janë projektuar mjaft profesionalisht, nuk ka "gabi" në hartimin e qarkut të tyre. Ata mbështesin të gjitha çipat e deklaruar. Por ka dy të meta "të vogla": lista e mikroqarqeve të programueshme është shumë e kufizuar (gjë që është mjaft e kuptueshme) dhe softueri është shumë spartan - nuk ka funksione të panevojshme, si rregull - vetëm fshij, shkruani, verifikoni. Shpesh edhe funksionon duke lexuar nuk ka mikroçip.

Pra, programues ChipStar-Janus në konfigurimin fillestar është një programues në qark. Në këtë mënyrë ai mbështet mikrokontrolluesit PIC Dhe AVR kompanitë Mikroçip, disa arkitektura të mikrokontrolluesve MCS51, mikrokontrollues nga kompania STMikroelektronikë dhe një numër të tjerash, si dhe çipa memorie serike me një ndërfaqe I2C(kryesisht episodi 24). Mund të lidhni adaptorë të thjeshtë me lidhësin e zgjerimit të programuesit dhe të filloni të programoni çipat e kujtesës "në prizë".

Tani programimi zbatohet "në prizë":

  1. EPROM) me ndërfaqe I2C(seri 24xx);
  2. çipat serial të memories flash (Serial FLASH) me ndërfaqe SPI (SPI Flash);
  3. çipat e memories serike (Serial EPROM) me ndërfaqe M.W. (seria 93xx);
  4. mikroqarqe NAND FLASH;

Programuesi dhe softueri mbështet teknologjinë e shtimit të pavarur të mikroqarqeve në tre klikime. Shtimi i mikroqarqeve është zbatuar deri më tani NAND Dhe I2C. Në të ardhmen shumë të afërt është planifikuar të zbatohet kjo teknologji për çipat MW ( seria 93xx) Dhe AVR. Kështu, ju merrni jo vetëm një programues, por mjet i fuqishëm për punë të pavarur.

Tre mënyra për të marrë një programues ChipStar-Janus

Metoda 1:
Montoni plotësisht vetë programuesin

Metoda është e përshtatshme për ata që kanë kohë, përvojë dhe dëshirë, por burime të kufizuara financiare. Ose thjesht kurioz.

Algoritmi i veprimeve:

Metoda e dytë:
Mblidhni vetë programuesin duke blerë një tabelë të gatshme të qarkut të printuar dhe një mikrokontrollues firmware

Metoda është e ngjashme me atë të mëparshme, vetëm ju do të shpëtoni nga operacionet më të vështira: bërja e pllakave të qarkut të printuar dhe ndezja e firmware-it të mikrokontrolluesit pa programues.

Algoritmi i veprimeve:

  1. Lexoni kushtet e përdorimit për programuesin e montuar vetë.
  2. Lexoni udhëzimet për montimin e programuesit.
  3. Shkarkoni dokumentacionin e plotë për programuesin.
  4. Blini një komplet montimi (pllakë qarku të printuar të gatshëm dhe mikrokontrollues me firmware tashmë të regjistruar).
  5. Blini pajisjet e nevojshme për të montuar programuesin sipas

Ka shumë qarqe programues mikrokontrollues të disponueshëm në internet. Unë paraqes një version të një programuesi universal USB në qark me aftësi korrigjimi, të cilin e përdor. Ju mund ta montoni këtë programues me duart tuaja.

Baza e programuesit është çipi FT2232D. Është një konvertues USB në dy porte UART. E veçanta është se kanali "i sipërm" A mund të funksionojë në mënyrat JTAG, SPI dhe I 2 C, i cili kërkohet për programimin e mikrokontrolluesve, çipave të ndryshëm të memories, etj.

Zhvillimi i këtij programuesi USB kryhet në një kompjuter duke përdorur bibliotekat nga FTDI Chip.

Pajisja mundësohet nga ndërfaqja USB. Nëse montohet saktë, qarku nuk ka nevojë të konfigurohet. Funksionimi i pajisjes varet nga aftësia e zhvilluesit të softuerit. Rezistencat R8, R9, R12, R13, R14, R15, R16 kufizojnë rrymën nëse lidhen gabimisht me pajisjen, në përputhje me rrethanat, terminalet e pajisjes së programueshme nuk duhet të lidhen me elementë të tjerë në qark ose të kenë tërheqje të tilla; që nuk do të shtrembëronte logjikën logjike gjatë formimit të niveleve të ndarësve të tensionit. Çipi U1 përdoret për të ruajtur cilësimet e përdoruesit.

Kunjat U2 (kanali A):
24 - ADBUS0 – dalje - në modalitetin JTAG TCK, në modalitetin SPI SK;
23 - ADBUS1 – dalje - në modalitetin JTAG TDI, në modalitetin SPI DO;
22 - ADBUS2 – hyrje - në modalitetin JTAG TDO, në modalitetin SPI DI;
21 - ADBUS3 – dalje - në modalitetin JTAG TMS, në modalitetin SPI si sinjal ndihmës (CS);
20 - ADBUS4 – në hyrje/dalje të modalitetit JTAG, dalje ndihmëse në modalitetin SPI. Ky pin përdoret për të dhënë një sinjal RESET te mikrokontrolluesi;
15 - AСBUS0 – hyrje/dalje e programueshme lirisht në të gjitha mënyrat (përdoret opsionalisht për të furnizuar me energji pajisjen e programueshme);
13 - AСBUS1 – hyrje/dalje e programueshme lirisht në të gjitha mënyrat.

Në parim, këto përfundime janë shumëfunksionale. Sjellja e tyre përcaktohet nga mënyra e zgjedhur kur hapet porti.

Kanali B përdoret për të korrigjuar gabimet e pajisjes së programueshme. Për ta bërë këtë, ju duhet vetëm të keni një portë UART të papërdorur në mikrokontrollues. Tjetra është një çështje e teknologjisë. Në programin e mikrokontrolluesit, ne përdorim funksionin e prodhimit të formatuar printf() në vendet e duhura.

40 -BDBUS0 – dalje - në modalitetin UART TXD;
39 -BDBUS1 – hyrje - në modalitetin UART RXD;
28 - BСBUS2 - dalje - në modalitetin UART Treguesi LED (ndizet kur transmeton të dhëna përmes USB);
27 - BСBUS3 - dalja - Treguesi LED në modalitetin UART (ndizet kur merr të dhëna përmes USB).

Më poshtë është bordi i qarkut të programuesit

Sot, ky programues universal mbështet mikrokontrolluesit AVR nëpërmjet ndërfaqeve JTAG dhe SPI. Për më tepër, shpejtësia e firmuerit Atmega64 përmes JTAG nuk është më shumë se 5 sekonda, përmes SPI jo më shumë se 8 sekonda. Në parim, mund të ndezni çdo mikrokontrollues për të cilin zbatohet specifikimi për programuesin. Aktualisht, për shembull, zhvillimi është duke u zhvilluar për të mbështetur mikrokontrolluesit NEC.

Formulari i punës është i ndarë në dy pjesë: në të majtë janë tabelat për të punuar me FLASH (lart) dhe EEPROM (poshtë), këtu mund të hapni skedarë ose të shkarkoni firmware nga mikrokontrolluesi, të bëni verifikimin, të modifikoni përmbajtjen e qelizave të memories; në të djathtë është një fushë teksti për korrigjimin e gabimeve, të dhënat nga kanali B shfaqen këtu, gjithashtu mund të futni tekst atje që do të dërgohet në port (funksionalisht ky është një analog i HyperTerminal). Zhvillimi kryhet në platformën Visual C# për Windows. Është gjithashtu e mundur të zhvillohet në gjuhë të tjera. Programuesi mund të punojë edhe nën Linux.

Librat e përdorur:
1. A.V. Evstigneev "Mikrokontrolluesit AVR të familjeve Tiny dhe Mega nga ATMEL", M. Shtëpia botuese "Dodeka-XXI", 2005.
2. Future Technology Devices International Ltd. "FT2232D USB e dyfishtë UART/FIFO I.C." Fleta e të dhënave, 2006.
3. Future Technology Devices International Ltd. “Udhëzuesi i programuesit D2XX për zhvillimin e aplikacioneve softuerike”, Dokument, 2009.
4. Future Technology Devices International Ltd. "Udhëzues programues për FTCJTAG DLL me shpejtësi të lartë", Shënim i aplikacionit AN_110, 2009.
5. Future Technology Devices International Ltd. "Udhëzues programues për FTCSPI DLL me shpejtësi të lartë", Shënim i aplikacionit AN_111, 2009.
6. Andrew Troelsen “C# dhe platforma .NET” M., S-P. Peter, 2007.

Mund të shkarkoni burimet e softuerit dhe bordin e qarkut të printuar në formatin e mëposhtëm

Borisov Alexey () Syzran, rajoni i Samara.

Lista e radioelementeve

Emërtimi Lloji Emërtimi sasi shënimDyqanblloku im i shënimeve
U1 ÇipAT93C46D-8S1 Në bllokun e shënimeve
U2 ÇipFT2232D1 Në bllokun e shënimeve
VT1 Transistor MOSFET

BSS84

1 Në bllokun e shënimeve
C1 Kondensator0,01 µF1 Në bllokun e shënimeve
C2, C3 Kondensator27 pF2 Në bllokun e shënimeve
C4, C5, C7, C9, C10 Kondensator0,1 µF5 Në bllokun e shënimeve
C6 Kondensator0,033 µF1 Në bllokun e shënimeve
C8 Kondensator elektrolitik10 µF1 Në bllokun e shënimeve
R1 Rezistencë

2.2 kOhm

1 0,05 W Në bllokun e shënimeve
R2 Rezistencë

10 kOhm

1 0,05 W Në bllokun e shënimeve
R3, R4 Rezistencë

27 Ohm

2 0,05 W Në bllokun e shënimeve
R5 Rezistencë

470 Ohm

1 0,05 W Në bllokun e shënimeve
R6, R7 Rezistencë

1.5 kOhm

2 0,05 W Në bllokun e shënimeve
R8-R16 Rezistencë

Kohët e fundit, mikrokontrolluesit ARM janë bërë të përhapur si midis zhvilluesve profesionistë ashtu edhe midis inxhinierëve fillestarë të elektronikës. Zhvillimet nga NXP janë shumë të njohura. Kjo kompani prodhon një gamë të madhe produktesh - nga të lira dhe me fuqi të ulët deri te performanca e lartë, ndërfaqe mbështetëse si USB dhe Ethernet.

Do të doja të sjell në vëmendjen e lexuesve zhvillimin tim, të cilin unë personalisht e përdor, ndoshta, më shpesh. Ky është një programues i thjeshtë në qark që mund ta bëni lehtësisht me duart tuaja. Programuesi është krijuar për programimin e mikrokontrolluesve ARM të përdorur gjerësisht nga seritë NXP, LPC2xxx. Këta janë mikrokontrollues me bërthama ARM7, Cortex-M0 dhe Cortex-M3. Përveç kësaj, mund të përdoret për të programuar mikrokontrollues të lirë 8-bit nga seria LPC9xx, me përjashtim të atyre më të thjeshtë nga seria LPC901.
Një listë më e detajuar mund të gjendet këtu.
www.ru.nxp.com/products/microcontrollers
Programuesi lidhet me një port USB dhe nuk kërkon energji shtesë. Është montuar në vetëm dy mikroqarqe dhe një transistor.
Pajisja mund të përdoret jo vetëm për programimin e një bordi me një mikrokontrollues, por edhe për të komunikuar me të nëpërmjet një porti serik të emuluar.

Oriz. 1. Skema e qarkut elektrik, pjesa e parë.

Programuesi është montuar në bazë të një mikroqarku nga FTDI - FT232RL
www.ftdichip.com/Products/ICs/FT232R.htm
Për programim të suksesshëm, mos harroni të shkarkoni dhe instaloni drejtuesin e çipit që është i përshtatshëm për sistemin operativ që po përdorni.
E gjeni këtu:
www.ftdichip.com/FTDrivers.htm
Filtri L1 mund të zëvendësohet me një rezistencë me një rezistencë prej 10 ... 22 Ohms.
LED-et VD1, VD3, rezistencat R3, R4 mund të përjashtohen nëse nuk kërkohet treguesi i transmetimit dhe marrjes së paketave të të dhënave përmes USB.


Oriz. 2. Diagrami i qarkut elektrik, pjesa e dytë.

Për programimin e mikrokontrolluesve të serisë LPC2000, përdoret lidhësi X3, për programimin LPC900 X1.


Oriz. 3. Diagrami i qarkut elektrik, pjesa e dytë vetëm për programimin e mikrokontrolluesve të serisë LPC2000.

Mikrokontrolluesit e serisë LPC900 nuk përdoren shpesh nëse ju duhet vetëm të programoni ARM-të LPC2000, pjesa e dytë e qarkut mund të thjeshtohet shumë. Një pjesë e thjeshtuar është paraqitur në Figurën 3.


Fig.4. Diagrami i instalimit.


Fig.5. Pamja e programuesit.
Si LED-të SMD ashtu edhe ato të daljes mund të përdoren si LED.
Pothuajse çdo transistor me përçueshmëri të drejtpërdrejtë, i përshtatshëm për pinout, do të jetë i përshtatshëm si një tranzistor.

Një listë e pjesëve të përdorura, një diagram dhe gjurmët e tabelës në formatin PCAD 2006 gjenden në arkivin e bashkangjitur.
docs.google.com/open?id=0B8EEcNDjnzhhUUZJbjc2cEx3NHM
Programimi mund të bëhet duke përdorur programin falas Flash Magic
www.flashmagictool.com
Unë do t'ju tregoj më shumë për lidhjen e mikrokontrolluesve të ndryshëm me programuesin dhe procesin e programimit në qark në

Mikrokontrolluesit ATmega mund të ndahen në dy kategori: ata që programohen vetëm nëpërmjet ISP-së (bus i MISO, MOSI, tela SCK + kontrolli i rivendosjes) dhe ata që kanë përveç kësaj një ndërfaqe JTAG.

Nga grupi i kontrollorëve "të dashur" Arduino, ATmega i përket kategorisë së parë 8 ATmega 168 ATmega 328 P. Por në kategorinë e dytë ka edhe një shembull: ATmega2560, e përdorur në Arduino/Freeduino MEGA 2560.

JTAG- ky është një mekanizëm që ju lejon të kontrolloni automatikisht cilësinë e instalimit të bordeve të qarkut të printuar: nëse diçka është e shkurtuar ose, anasjelltas, e bashkuar dobët. Një gjë shumë e dobishme në shkallë industriale, veçanërisht kur çipat nga kompani të ndryshme bashkëjetojnë “lumturisht” në një tabelë (standard IEEE 1149.1, mbi të cilin bazohet JTAG, është i hapur). Është edhe më logjike që shumë prodhues të çipave kanë shtuar aftësinë për të programuar dhe korrigjuar çipat e tyre përmes të njëjtit JTAG.

Pse mund të nevojitet JTAG në jetën e përditshme?

Një pajisje e markës nga ATMEL kushton shumë (dhe unë tashmë e bleva atë, pas kësaj kishte mbetur zero shumë negative parash):

Çfarë duhet bërë? Unë kam thënë tashmë se standardi është i hapur dhe procesi i programimit nëpërmjet JTAG është i dokumentuar mirë - thjesht hapni çdo fletë të dhënash për një mikrokontrollues ATMEL me një ndërfaqe JTAG.

Nga rruga, një herë e një kohë, në agimin e shfaqjes së mikrokontrolluesve nga ATMEL, një kompani konkurrente Microchip ngacmoi ATMEL, çmontoi në mënyrë demonstrative një lloj pajisje instrumentale për zhvilluesin e programeve të mikrokontrolluesve ATMEL dhe demonstroi se ishte montuar në mikrokontrolluesit e prodhimi i tij - domethënë në PIC. Sidoqoftë, kjo ishte një kohë tepër e gjatë më parë, bota është krejtësisht ndryshe tani (c).

Ka shumë opsione në internet për kopjet e bëra vetë të markës AVR JTAG ICE. Një nga këto të thjeshtuara deri në turp të plotë mund të gjendet, për shembull,. Cila është gjëja më qesharake - punon, megjithëse përbëhet praktikisht nga një MK: ATmega16. Programuesi origjinal përdor një çip që është plotësisht i pajtueshëm me ATmega16, i cili bën të mundur ngarkimin e firmuerit të pronarit në një programues shtëpiak (megjithatë, nuk ka gjasa të shfaqen të reja, pasi AVR JTAG ICE është ndërprerë).

Së pari ju duhet të merrni komponentin kryesor - mikrokontrolluesin ATmega16-16PU dhe kuarc 7,3728 MHz, më pas montoni një qark minimal për programim në një tabelë buke:

Skema - klasike, kërkohet për të ekzekutuar ATmega. Më lejoni t'ju kujtoj se çfarë bëhet zakonisht në këtë rast:

  • lidhni fuqinë - të gjitha GND dhe VCC (zakonisht të paktën dy kunja GND);
  • vendosni një kondensator 100 nF (ose 0,1 µF - cilido që preferoni) ndërmjet GND dhe VCC, më afër këmbëve ATmega;
  • lidhni kuarcin midis XTAL1 dhe XTAL2 dhe lidhni ato përmes dy identike kondensatori në tokë (gama e vlerave tregohet në dokumentacion, nuk është e nevojshme të përdoret 22 pF, është e mundur, për shembull, 33 pF);
  • tërhiqni linjën e rivendosjes në VCC përmes një rezistence 10 mijë dhe varni kondensatorin 100 nF në tokë për të siguruar një vonesë të lehtë në linjën e rivendosjes pas vendosjes së energjisë.
Do të duket diçka si kjo (gjithçka përshtatet në mënyrë të sigurt në një dërrasë buke 300+100):

Ne e lidhim qarkun përmes një prizë ISP me programuesin dhe e fuqizojmë atë prej tij, më pas ndezim firmuerin dhe vendosim pjesët e siguresave:

avrdude -C avrdude.conf -c usbasp -p m16 -U hfuse:w:0x1f:m -U lfuse:w:0xcf:m

avrdude -C avrdude.conf -c usbasp -p m16 -U flash:w:miniICE.hex

Nëse operacioni ishte i suksesshëm, gjysma e betejës është bërë. Ju mundeni me kujdes fshij Lidhësin ISP dhe konvertoni qarkun në formën e mëposhtme:

Në paraqitjen duket kështu:

Ju ndoshta keni vënë re që në qark kam përdorur një çip porti serik USB - FT232RL. Kjo është shumë më e përshtatshme se një port COM për shumë arsye. Por ju nuk mund të lidhni një SSOP në një tabelë, kështu që unë përdor një përshtatës të bërë vetë:

Në versionin klasik, ka pak më shumë linja JTAG sesa në diagram:

Sinjalet e detyrueshme janë TCK, TDO, TDI dhe TMS (ora, prodhimi i të dhënave, futja e të dhënave dhe kontrolli i modalitetit të testimit).

NSRST dhe NTRST janë rivendosur kontrollin në autobusin JTAG. Në rastin tonë, ato nuk kërkohen, pasi rivendosja e MC mund të inicohet nga një sekuencë komandimi në linjat e sinjaleve të detyrueshme.

Tani le të shohim ushqimin. Është e dëshirueshme që programuesi në qark të fuqizohet nga qarku që programohet. Kjo zgjidh menjëherë problemin e lidhjes së niveleve të qarkut të programueshëm dhe programuesit. Nga ana tjetër, nëse programuesi ka një konvertues të nivelit të sinjalit, diferenca midis VCC-së së programuesit dhe objektivit nuk është më problem (duke mos llogaritur ndërlikimin e qarkut të programuesit).

Nga linja e detyrueshme VTref Pajisja duhet të furnizohet me energji elektrike. Në teori, ai është i nevojshëm nga çipi i konvertuesit të nivelit të mësipërm, brenda programuesit. Por nëse JTAG ICE planifikon të fuqizohet nga objektivi, atëherë linja Vsupply. Për thjeshtësi, ato mund të kombinohen, por kjo nuk është e nevojshme.

Në varësi të pozicionit të kërcyesit SV2 në qarkun ATmega16, ai do të mundësohet ose nga USB ose nga objektivi. Unë isha shumë dembel për të instaluar një kërcyes ndërrues në tabelën e bukës, sepse supozohej të fuqizohej vetëm nga objektivi. Por përpara se ta ndizja, e kontrollova tre herë atë Fuqia USB nuk furnizohet . Për besueshmëri, në tabelën USB-TTL Bluza e furnizimit me energji elektrike është hapur. Kontakti i radhës M8RX lidhet me këmbën MK RX, M8TX- nga TX.

Ne lidhemi me programuesin përmes AVR Studio, dhe nëse gjithçka është e lidhur siç duhet, atëherë mund të lexojmë nënshkrimin dhe firmuerin.

(Pajisja në të djathtë do ta shikoj patjetër më vonë, tani për tani mund të përsëris vetëm se ka një ATmega128 brenda)

Disavantazhi i vetëm i klonit AVR JTAG ICE është lista relativisht e vogël e MK-ve të mbështetura:

  • ATmega128
  • ATmega128A
  • ATmega16
  • ATmega162
  • ATmega165
  • ATmega169
  • ATmega16A
  • ATmega32
  • ATmega323
  • ATmega32A
  • ATmega64
  • ATmega64A
Ata gjithashtu thonë se AT90CAN128 mbështetet, por nuk ka asnjë mënyrë për ta kontrolluar këtë :(

Gjeta një foto në arkivin tim që tregonte procesin e prodhimit të programuesit JTAG që më duhej për të ringjallur akorduesin satelitor. Tani pak më shumë detaje se çfarë lloj "bishë" është JTAG:

JTAG(shkurt për anglisht) Grupi i Veprimit për Testimin e Përbashkët; shqiptuar "jay-tag") është emri i grupit të punës për zhvillimin e standardit IEEE 1149 Më vonë, kjo shkurtim u lidh fort me ndërfaqen e specializuar të harduerit të zhvilluar nga ky grup bazuar në standardin IEEE 1149.1. Emri zyrtar i standardit Arkitektura standarde e hyrjes në test dhe Porta dhe Skanimi i Kufijve. Ndërfaqja është projektuar për të lidhur qarqe komplekse dixhitale ose pajisje të nivelit PCB me pajisjet standarde të testimit dhe korrigjimit. Për të interesuarit, shikoni artikullin e plotë në Wikipedia.

Tani le t'i kthehemi biznesit, miqtë e mi më dhanë një sintonizues satelitor, Globo më i zakonshëm dhe më i thjeshtë në një procesor Ali M3329B. Me simptoma të tilla, nuk u ndez fare, në fillim fajësova furnizimin me energji elektrike, por pasi kontrollova të gjitha tensionet me një multimetër, doli që gjithçka ishte në rregull me furnizimin me energji elektrike. Pasi studiova disa artikuj të ndryshëm për riparimin e këtyre marrësve, arrita në përfundimin se, duke gjykuar nga simptomat, firmware-i humbi plotësisht dhe mund të restaurohet duke e ndezur atë përmes një programuesi JTAG. Kishte gjithashtu mendimin se ishte djegur plotësisht dhe nuk mund të restaurohej, por gjithsesi preferova të besoja se firmware përmes JTAG do të ndihmonte.

Për prodhimin zgjodha këtë skemë:

Fuqia furnizohet në qark nga marrësi me të cilin është lidhur. Nuk ka nevojë të përdorni një furnizim të jashtëm me energji elektrike për qarkun për dy arsye. Së pari, konsumi aktual është shumë i vogël dhe nuk krijon ngarkesë shtesë në furnizimin me energji të marrësit, dhe së dyti, furnizimi me energji elektrike nga i njëjti burim si procesori me memorie flash përmirëson përputhjen e niveleve logjike.

74HC244 nuk është një tampon invertues. Çipi përmban dy buferë të pavarur me katër bit. Çdo bufer ka sinjalin e vet të aktivizimit të daljes (aktiv i ulët). Nuk ka shkas Schmitt në hyrje. Mikroqarku është bërë duke përdorur teknologjinë "e shpejtë" CMOS, e cila siguron performancë të lartë. Dalja e fuqishme e rrymës bën të mundur ruajtjen e performancës së lartë edhe me një ngarkesë kondensative. Performanca e 74HC244 është e krahasueshme me atë të çipave të bazuar në diodat Schottky, ndërsa 74HC244 ruan avantazhet e çipave CMOS, d.m.th. imunitet i lartë ndaj zhurmës dhe konsum i ulët i energjisë. Hyrja e mikroqarkut mbrohen nga dëmtimi nga elektriciteti statik duke përdorur dioda.

Mjerisht, nuk e gjeta 74HC244 në furnizimet e mia. Gjeta vetëm një analog të 74F244, i cili ndryshonte pak në tensionin e furnizimit Vcc. 74HC244 ka një tension të rekomanduar prej 2 deri në 6 V, dhe 74F244 ka një tension të rekomanduar prej 4,5 deri në 5,5 V. Megjithëse kufijtë maksimalë janë nga -0,5 në +7 V, kështu që vendosa të mos shqetësohem dhe të filloj prodhimin.

Duke marrë diagramin origjinal në imazhin e parë dhe duke e rivizatuar atë në programin DipTrace, kemi marrë këtë diagram:

Gjithçka u gjurmua automatikisht, vetëm një rresht nuk u gjurmua, por ky problem u zgjidh nga dy kërcyes SMD. Imazhi i mësipërm është një bord qark i printuar gati për prodhim.

Në tabelë kam nënshkruar edhe të gjitha kunjat, por fatkeqësisht kam nënshkruar gabimisht sinjalet e daljes, siç shihet në burimin origjinal 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI dhe 6- RST , por e kam marre GND, TMS, TCK, TDI, TDO, dhe RST, kam bere gabim kur kam firmosur kontaktet, sipas diagramit cdo gje eshte e sakte, sipas burimit origjinal d.m.th. 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI dhe 6- RST.

PCB me përcaktimet e sakta të kunjave:

Në fakt, gjëja kryesore është një getinax, një skedar, një sharrë dore e vogël, letër zmerile. Një kaçavidë dhe një prerës për ndarjen e getinax-it në 2 pjesë, pasi pjesa ime ishte e veshur me folie nga të dy anët, dhe dërrasa jonë është e thjeshtë, e njëanshme.

Pasi kemi kryer të gjithë punën, duke e kthyer getinax në madhësinë e tabelës (afërsisht 55x50 mm), marrim agjentin pastrues COMET në pluhur dhe një sfungjer për larjen e enëve. Getinax-in e pastrojmë nga gjurmët e yndyrës dhe papastërtisë. Është më mirë të mos e fshini ujin e mbetur, por ta lini të thahet.

Ndërsa getinax është duke u tharë, ne shkojmë te kompjuteri dhe shtypim diagramin tonë në një printer lazer dhe letër fotografike në imazhin e pasqyrës, duke treguar cilësinë maksimale të printimit. Është e rëndësishme të mos harroni të vendosni imazhin e pasqyrës, përndryshe do të përfundojmë me gjithçka në tabelë brenda jashtë!

Dhe kështu, getinax është gati, bordi i qarkut të printuar është printuar, duke i përshtatur me kujdes skajet e getinax në modelin e tabelës së qarkut të printuar në letër fotografike, ngjiteni atë në getinax me shirit letre ngjitëse, merrni hekurin dhe vendoseni deri në temperaturën maksimale.

Natyrisht, ana e fletëve të getinaksit në modelin e bordit të qarkut të printuar.

Kur hekuri të jetë nxehur, duke shtypur fort, fillojmë të hekurosim - duke ngrohur në mënyrë të barabartë getinakët nga ana e letrës. Ne ngrohim një tabelë të kësaj madhësie për jo më shumë se 30-60 sekonda, përndryshe toneri do të përhapet. Unë rekomandoj të vendosni një kohëmatës në telefonin tuaj në mënyrë që koha të jetë afër, para syve tuaj. Kur gjithçka të jetë bërë, lëreni bordin të ftohet.

Ne e heqim letrën fotografike nga tabela, para nesh është një tabelë e përfunduar, e cila mbetet për t'u gdhendur në klorur ferrik FeCl3, nëse ka të meta të vogla, para se të gdhendim, korrigjojmë gjurmët me një bisturi dhe një shënues të hollë për disqe.

Gjatë procesit të gdhendjes me klorur ferrik, është e nevojshme të përzihet vazhdimisht tretësira, për shembull duke tundur enët e qelqit. Nëse madhësia e tabelës nuk është shumë e madhe, mund ta vendosni tabelën në sipërfaqen e tretësirës me modelin e kthyer poshtë - nuk ka nevojë ta tundni atë, por është e vështirë të gjurmoni përfundimin e procesit të gravurës. Koha e gravimit me klorur hekuri varion nga 5 deri në 50 minuta dhe varet nga temperatura, përqendrimi i tretësirës dhe ndotja e tij me bakër dhe trashësia e fletës së bakrit. Pas gdhendjes, dërrasa duhet të shpëlahet me ujë të rrjedhshëm dhe të thahet.

Si rezultat, ne marrim këtë bord qark të printuar

Tonerin e pastrojme edhe me pluhur Comet, mban mjaft mire dhe per te mos demtuar gjurmet e pllakes e pastrojme ngadale.

Pas pastrimit të tonerit ne shohim një bord qarku të pastër dhe të bukur të printuar


Tani le të fillojmë bashkimin e elementeve: