AtISP: Difference between revisions
Created page with 'Projekt AtISP umožňuje práci s procesory Atmel vybavenými sériovým bootloaderem. Projekt zahrnuje vlastní hardware programátoru a obslužný program pro Linux. Podporuje ...' |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Projekt AtISP umožňuje práci s procesory Atmel vybavenými sériovým bootloaderem. Projekt zahrnuje vlastní hardware programátoru a obslužný program pro Linux. Podporuje jednočipy zejména AT89C51RD2/AT89C51ED2. | Projekt AtISP umožňuje práci s procesory Atmel vybavenými sériovým bootloaderem. Projekt zahrnuje vlastní hardware programátoru a obslužný program pro Linux. Podporuje jednočipy zejména AT89C51RD2/AT89C51ED2. | ||
Line 15: | Line 16: | ||
=Schéma zapojení= | =Schéma zapojení= | ||
''Věmnujte prosím pozornost také [[AtISP USB|USB variantě]]. | |||
[[Image:atisp1s100dpi.png|thumb|none|900px|Schéma zapojení AtISP]] | |||
Programátor je navržen tak, aby fungoval pokud možno na libovolném počítači. Proto je napájen z +5V ze zařízení. Základem je notoricky známé zapojení s MAX232, zde konkrétně MAX232CWE, kterému stačí pro nábojovou pumpu kondenzátory 1µF. | Programátor je navržen tak, aby fungoval pokud možno na libovolném počítači. Proto je napájen z +5V ze zařízení. Základem je notoricky známé zapojení s MAX232, zde konkrétně MAX232CWE, kterému stačí pro nábojovou pumpu kondenzátory 1µF. | ||
Line 29: | Line 33: | ||
Celek je navržen na jednostranném kuprextitu. Z důvodu rozměrů jsem použil většinu součástek v provedení SMD | Celek je navržen na jednostranném kuprextitu. Z důvodu rozměrů jsem použil většinu součástek v provedení SMD | ||
<gallery> | <gallery mode="packed" heights="320px"> | ||
Image:atisp1b.png|Motiv spojů, 300DPI | Image:atisp1b.png|Motiv spojů, 300DPI | ||
Image:atisp1ob.png|Osazovací výkres, strana spojů | Image:atisp1ob.png|Osazovací výkres, strana spojů | ||
Line 35: | Line 39: | ||
</gallery> | </gallery> | ||
=Jak to nakonec vypadá= | |||
<gallery> | <gallery mode="packed" heights="320px"> | ||
Image: | Image:Atisp_zespoda.jpg|Pohled na spoje a SMD součástky | ||
Image: | Image:Atisp_shora.jpg|Pohled na konektory a propojky | ||
</gallery> | </gallery> | ||
Latest revision as of 20:14, 30 August 2015
Projekt AtISP umožňuje práci s procesory Atmel vybavenými sériovým bootloaderem. Projekt zahrnuje vlastní hardware programátoru a obslužný program pro Linux. Podporuje jednočipy zejména AT89C51RD2/AT89C51ED2.
Jsou to jednočipy kompatibilní s 8051, přesněji 8052, s několika rozšířeními:
- Sériový bootloader - v ROM procesoru je bootloader, který se aktivuje resetem při pinu PSEN staženém do nuly. Bootloader komunikuje s PC textovým protokolem vycházejícím z formátu IntelHEX.
- 64KB pro program - už žádné starosti s malou flash, žádné zoufalé optimalizace pro kompiler
- XRAM 1792B - na čipu umístěná paměť dostupná jako externí instrukcemi MOVX
- EEPROM 2KB - pouze u verze ED2
- X2 mód - umožňuje zdvojnásobit rychlost procesoru při stejném krystalu. Dallas má sice pořád navrch, ale Atmel je běžně dostupný v kusovém množství a i levnější - kolem 200Kč.
- Keyboard interface - jinak řečeno 8 pinů portu P1 použitelných jako vstupy pro přerušení, aktivace libovolnou hranou nebo oběma
- Další bižutérie typu PCA s watchdogem, power monitor, SPI, 2xDPTR ...
Více v datasheetu.
Schéma zapojení
Věmnujte prosím pozornost také USB variantě.
Programátor je navržen tak, aby fungoval pokud možno na libovolném počítači. Proto je napájen z +5V ze zařízení. Základem je notoricky známé zapojení s MAX232, zde konkrétně MAX232CWE, kterému stačí pro nábojovou pumpu kondenzátory 1µF.
Do procesoru se přivádí singály RxD, TxD a PSEN na TTL úrovni. Reset se aktivuje sepnutím tranzistoru.
ISP konektor vychází z aplikační poznámky Atmelu AVR910. Napájení a reset zůstaly, místo SPI pinů jsem zapojil RxD, TxD a PSEN. Prioritou bylo, aby v aplikaci vycházel rozumně plošný spoj.
Jako konektor do PC jsem zvolil samici Cannon 9 (D-SUB) do plošného spoje. Programátor lze tedy připojit přímo do PC bez kabelu nebo s prodlužovačkou, která zachová alespoň signály 1-8.
Konstrukce
Celek je navržen na jednostranném kuprextitu. Z důvodu rozměrů jsem použil většinu součástek v provedení SMD
-
Motiv spojů, 300DPI
-
Osazovací výkres, strana spojů
-
Osazovací výkres a drátové propojky
Jak to nakonec vypadá
-
Pohled na spoje a SMD součástky
-
Pohled na konektory a propojky
Při připojování k notebooku mi překážel velký elektrolyt. Opřel se o stůl a páčil programátor. Proto jsem elyt nakonec přesadil na druhou stranu desky.
Program
Program Flip od Atmelu mi z nějakého důvodu nefungoval, proto jsem si napsal vlastní. Jak je u mě běžné, je určen pro Linux. Patrně bude fungovat i na ostatních UN*Xech, ale nemám to vyzkoušené.
Typicky se používá:
atisp /dev/ttyS0 firmware.hex
Dále umí zjistit informace o procesoru, smazat a zamnkout procesor. Podporuje formáty IntelHEX a BIN. Stáhnout si jej můžete na konci stránky v části Přílohy. Omlouvám se za .zip, ale redakční systém si nějak neporadí se soubory .tar.gz. Snad ho časem přesvědcím :-)
Verze 0.2 má jedno omezení - používá natvrdo komunikační rychlost 57600 baudů. Tato rychlost je totiž maximální pro krystal 24MHz, který používám prakticky výhradně. S některými jinými krystaly nebude programátor fungovat! Z běžných krystalů se to týká snad jen 12MHz. Naopak u další hojně používané hodnoty - 11.0592 MHz by bylo možné použít i 115200 baudů. Podrobnosti o možných kombinacích krystalů a baudové rychlosti jsou v datasheetu, hledejte 'autobaud performances'. Používáte-li jiný krystal, můžete rychlost změnit v souboru atisp.c, hledejte 'B57600'. Ve verzi 0.3 se rychlost meni parametrem -r.