Udělej si sám

а nezapomeň ukázat ostatním

  • Zvětšit velikost písma
  • Výchozí velikost písma
  • Zmenšit velikost písma

Rychlostní ISP AVR programátor do USB

Hodnocení uživatelů: / 5
NejhoršíNejlepší 

Pro méně náročná aplikace spolčnost Atmel nabízí levnější a méně výkonné mikrokontroléry řady "tiny", které nemají na palubě USB port a tím pádem nemohou přes něj byt naflešovaní. Tohle znamená, že bez programátoru se neobejdu.

A protože koupě hotového naší cestou není, postavím si ho sám, navíc nic složitého na tom vůbec nemusí být. Ne, nebude to "5 wires"-programátor do LPT nebo COM portu. Bude to ale rychlostní BitBang USB programátor na základě integrovaného obvodu FT232RL od společnosti FTDI chip.

FTDI-Prog 1

Proč vlastně FTDI?

Především jsem rozhodl, že si vystačím s ISP (In-circuit Serial Programming) SPI (Serial Peripheral Interface)-programátorem. Takové programátory mají jedinou závažnou nevýhodu – nemožnost programovaní kontrolérů po chybném nastavením tzv. FUSE-bitů, třeba nastavením pinu RESET jako vstup/vystup portu (takovou možnost mají některé kontroléry řady "tiny") anebo vypnutím režimu ISP-programovaní. Takový kontrolér se dá "opravit" pomoci vysokonapěťového programátoru, ale málo kdo může si ho dovolit koupit. Pro amatéra v daném případě jednodušší cestou bude koupi nového kontroléru. Nicméně já mam v zaměstnání vysokonapěťový programátor STK-500 takže tato nevýhoda pro mě není podstatná.

Co se tyče rychlosti programovaní, ano, SPI-programátory jsou pomalejší, ale v případě FT232RL to bych asi neřekl – 3 Mb/s vůbec není špatné!

Mají, ale SPI programátory i výhody. A to ne jen jednoduchost. Především je to možnost programovaní kontroléru přímo v přístroji aniž byste ho museli odtud vyndávat, což je naprosto úžasné.

Na druhu stranu ISP programátory také existuji jak složité, tak i jednoduché. Složité – s použitím zase kontroléru (který přednostně ale musí být naflešovaný), a jednoduché – jsou to zpravidla převodníky úrovni signálů z LPT nebo COM-portů.

Jít do programátorů na základě kontroléru se mi nechtělo, a LPT/COM programátory jsou za trest: pomalé, nestabilní, občas mohou odpálit port nebo kontrolér.

Co se tyče FTDI-programátoru – on je někde uprostřed mezi dvěma předchozíma. Na jednu stranu on je jednoduchý a levný, na druhou – on je rychlý, stabilní a bezpečný.

Zapojení FT232 klidně můžeme opsat y datasheet, ale takový programátor bude mít jednu drobnou nevýhodu. Po ukončení programovaní kontrolér musí být odpojený od programátoru, třeba cestou vytahovaní ISP-konektoru. Pokud se ale Vám tento způsob nelibí, na Internetu jsem narazil na geniální řešení – přidat do ní buffer 74HC244 c třemi stavy, který dle signálu OE (Output Enable) odpojí kontrolér od FTDI. No a v případě spatného zapojení raději ať vyhoří buffer za par kaček, než FT232.

Dáme to dohromady:

FTDI-Prog 2

Jak je vidět, napájí se programátor z USB a napájí kontrolér přes propojku JP3. Pokud propojku rozpojíme, kontrolér se může napájet od vlastního zdroje.

Při nesprávném nastaveni FUSE-bitů možná budeme potřebovat vnější generátor taktové frekvence. Tu ale také můžeme obdržet z FT232, tento signál je vyvedený na JP1. No, a když tento obvod má UART-interface, vyvedeme jej na JP2.

V našem případě FT232 používá se v režimu BitBangu, čili my softwarové ovládáme stavem její pinů, což znamená, že nám je v podstatě jedno který pin bude třeba MISO nebo MOSI (). My můžeme naprosto libovolně propojit její piny s ISP-konektorem a pak softwarově je nakonfigurovat.

Tohle nám umožňuje hodně zjednodušit layout, i když bez dvou propojek – nulových odporů se neobešlo. Tu jsou dvě varianty (se zalitím polygonem a bez):

FTDI-Prog 3

A už za týden jsem mel tři hezké destičky:

FTDI-Prog 4

Zapájíme součástky:

FTDI-Prog 5

Zbývá jen vyrobit ISP-kablíky. Jsou dvě standardní varianty:

FTDI-Prog 6

Konektor na desce pro první variantu zabírá méně místa na desce, ale druha varianta je odolnější vůči závadám díky zemněným drátům mezi signály. Klidně muže být metr dlouhý.

Tohle je fotka hotového programátoru:

FTDI-Prog 7

Ovladače se dá stáhnout ze stránek výrobce čipu na ftdichip.com. Doporučuji se ovladače D2XX. Také na těchto stránkách stáhneme program FT Prog pro počáteční konfiguraci FT232.

Ovládá se programátor přes docela známou utilitu AVRDude + GUI SinaProg.

 

POZOR: FTDI chip vyrábí podobný integrovaný obvod FT232BL, který ale nepodporuje BitBang režim, a tím pádem nemůže se použit pro výrobu toho programátoru!

 

Nemáte práva psát komentáře. Zaregistrujte se, prosím.