Menu

Uživatel

Anketa

Je princip bezkontaktní elektroosmózy funkční ?
Počet hlasů: 126

Odkazy

Pagerank

Zjistit Google Pagerank, S-rank a Jyxorank

About you

Kategorie: Prakticky

Pogramátor BIPROG verze 4.2.

Pogramátor BIPROG verze 4.2.V amatérském radiu PE 6/2010 jsem narazil na článek o palubním počítači do automobilu PP-KWP1281, zaujal mě natolik, že jsem se rozhodl si něco podobného vytvořit. Avšak narazil jsem na problém, nemám žádný ISP (In System Programmer) programátor. Pro tyto účely jsem na internetu našel perfektní zapojení programátoru Biprog.

Jak autor aplikačního software (Luboš Ruckl) uvádí, jedná se o programátor, jež využívá dvou aplikačních poznámek Atmelu AVR910 a AVR068, odtud je název programátoru. Ovšem všechna uvedená zapojení předpokládají napájení z programované aplikace, ale na pokusná zapojení je lepší využít napájení přímo z Biprogu a zbytečně nevytvářet napájecí zdroje. Moji verzi programátoru je možné napájet jak z programované aplikace, tak i obráceně.

Tabulka 1 Parametry

Napájení
 
AC/DC 8 V - 12 V nebo ISP konektor
 
Maximální odběr ze zdroje
 
45 mA
 
Způsoby komunikace s procesorem
 
AVR910 a AVR068
 
Rozhraní
 
RS 232 Tx/Rx
 
HMI (Human Machine Interface)
 
6 x LED 1 x tlačítko
 
Rozměry kompletního programátoru 81 x 72 x 32

 

1.1 Vlastnosti

Hlavní výhodou zařízení je jeho jednoduchost na stavbu a následné používání. Mezi další vlastnosti patří:

· bezproblémové připojení k redukcím USB-RS232, díky nábojové pumpě MAX232;

  • podpora všech procesorů firmy ATMEL s rozhraním ISP;
  • upgrade firmware díky boot loaderu;
  • poslední použitá frekvence SCK a polarita RESETu uložená v EEPROM;
  • možnost napájet programovanou aplikaci přímo programátorem;
  • indikační LED, udávající přesný stav programátoru.



Biprog ledky

Obr. č. 1 Rozmístění indikačních LED

 

1.1 Popis funkce

Programátor je ovládán softwarově. Stav, ve kterém se zrovna programátor nachází, zobrazuje 6 svítivých diod (viz. obr. 1).

Význam stavových LED:

LED 1 - čekání na příkaz (bliká)

LED 2 - polarita RESETU nastavena na procesor s jádrem 51

LED 3 - polarita RESETU nastavena na procesor s jádrem AVR

LED 4 - probíhá programování

LED 5 - žádná činnost programátoru

LED 6 - režim boot loaderu

Pro upgrade firmware Biprogu je potřeba nasadit jumper na konektoru JP2 do pozice 1-2. Poloha 2-3 slouží pro běžný provoz a tím distribuci resetovacího signálu programovanému procesoru, dále pak programátor přepnout do režimu boot loaderu stiskem tlačítka TL1 a poté zapnutí napájecího napětí. Rozsvítí se LED1, LED6 a LED4 a LED5 budou přeblikávat což signalizuje čekání na příchozí komunikaci na sériovém kanálu. V tomto okamžiku je možné přes AVRProg nahrát aktuálnější firmware. AVRProg je součástí vývojového prostředí AVR Studio, to je možné zdarma stáhnout (nutná registrace) na stránkách Atmelu.

1.2 Popis zapojení

Schéma zapojení (obr. č. 2) vychází z aplikačních poznámek Atmelu s tím, že je doplněno o napájecí obvody a DC/DC převodník MAX232, kvůli zachování různých napěťových úrovní pro pěti-voltovou logiku a normu RS 232.

O správné napájecí napětí se stará stabilizátor IC2, jehož výstup je přes diodu D1 přiváděn ke všem obvodům. Dioda zde slouží jako ochrana stabilizátoru při napájení programátoru z programované aplikace. Tato dioda však zároveň sráží napětí na hodnotu 4.3V. Tento pokles ovšem nemá vliv na správnou funkci programátoru. Tuto špatnou vlastnost je možné vyřešit zapojením rezistoru nebo diody mezi vývod 2 obvodu IC2 a GND (naznačeno na obr. č. 2).

Všechny signály SPI kanálu potřebné k programování procesoru jsou vyvedeny na konektor SV4.

K propojení s počítačem slouží konektor X1, jedná se o samici. Z toho už plyne zapojení propojovacího kabelu. Jedná se o přímý kabel bez překřížení (samice-samec). Anebo při použití redukce USB-RS232 lze tento převodník zapojit přímo do programátoru.

 

biprog schema

Obr. č. 2 Schéma zapojení

1.1 Základní pojmy k procesorům pro začátečníky

Zde jsem vybral několik pojmů souvisejících s procesory AVR, jenž by nemuseli být začínajícím programátorům úplně zřejmé.

Hodinový signál

Je dán hodnotou frekvence připojeného krystalu anebo externího oscilátoru. Určuje rychlost zpracování programu v procesoru. Každá instrukce procesoru zabere určité množství kmitů oscilátoru, záleží na složitosti instrukce.

Boot Loader

Poskytuje mechanizmus pro zavedení nebo čtení programového kódu přímo procesorem. Dále, jako v našem případě, dovoluje budovat flexibilní aplikace, jenž se aktualizují sami. Flash procesoru se rozdělí na dvě části, aplikační sekce, zde se nachází aktivní kód procesoru, a sekce boot loaderu.

SPI

Sériový download, jedná se o vyspělou metodu programování procesorů přímo v aplikaci. Toho způsobu Biprog využívá. Jedná se o velké zjednodušení programování oproti paralelnímu (např. 89C51), protože není nutné při každé změně programu, obzvlášť při ladění, neustále vyjímat procesor z patice aplikace a vkládat do programátoru.

Signatura

Jsou to bajty, které zapsal přímo výrobce, a určují typ procesoru. Díky tomu programátor rozezná, o jaký se jedná procesor.

Fuse bits

Propojky, udávající vlastnosti procesoru. Např. nastavení zdroje hodinového signálu pro procesor, hlídání poklesu napájecího napětí, povolení/zákaz SPI atd.

Lock bits

Jedná se o jakési zamčení různých částí paměti. Aby se ochránila část kódu, používá se většinou při použití s boot loaderem. Dále pak lze zamknout úplné čtení nebo verifikaci procesoru, ochrana neoprávněného čtení dat.

1.2 Popis programu

Program Biprogu se skládá ze dvou částí, boot loaderu a aplikačního programu.

Autorem boot loaderu je pan Herbert Dingfelder, je navržen pro procesory ATmega8 s krystalem o hodnotě 7,3728MHz, tato hodnota je důležitá, protože určuje časování komunikace sériové linky s procesorem a to na hodnotu 115 200 bit/s.

Autorem aplikačního programu je pan Luboš Ruckl. Tento program se právě stará o komunikaci s programovaným procesorem a počítačem a zároveň ovládá signalizační LED. Autor na svých internetových stránkách aktualizuje software, pro použití Biprogu s novými typy procesorů.

1.3 Výroba DPS a osazení

K návrhu DPS jsem využil klasických vývodových součástek, kvůli poměrně prostorné krabičce. Všímavý čtenář jistě postřehnul, že na vyfotografovaném programátoru jsou LED2/3 a LED4/5 prohozeny, ale na osazovacím plánku je již vše v pořádku.

Deska plošných spojů je jednostranná, zapojení je na obr. č. 3 a osazení součástkami na obr. č. 4.

strana spoju

Desku je nejlepší vyrobit foto-cestou. Nastříkání kuprextitu foto-citlivou vrstvou, nasvítit, vyleptat a osadit součástkami.

Výroba je bez problémů, snad jen dát si pozor na polaritu kondenzátorů a LED diod. Stabilizátor jsem našrouboval přímo k destičce přes distanci, tím vznikne vzduchová mezera mezi obvodem a kuprextitem, kvůli případnému zahřívání při větším odběru proudu.

1.1 Oživení

Postup oživení rozdělíme do několika základních kroků:

1. Nahrání boot loaderu do nového procesoru;

2. Spojení se s procesorem pomocí AVRProg;

3. Zavedení aplikačního programu;

4. Zavedení dat do EEPROM procesoru;

5. Kontrola funkce programátoru.

Nahrání boot loaderu do nového procesoru

Tento krok je asi nejkomplikovanější pro bastlíře, kteří nevlastní jiný programátor, ten je potřeba k prvotnímu naprogramování boot loaderu do procesoru. Tedy pokud nemáte možnost prvotního naprogramování, neváhejte mě kontaktovat a já Vám naprogramovaný procesor zašlu.

Stáhněte si soubor „BootloaderDL5NEG-Biprog.hex" z internetu na adrese: http://web.quick.cz/ruckl/biprog/components/BootloaderDL5NEG-biprog.hex.

Ve zdrojovém souboru „BootloaderDL5NEG-biprog.asm" je detailně popsáno jakým způsobem nastavit Fuse bits a Lock bits. Na výše uvedené adrese je uvedeno nastavení pro různé programátory (např. Ponny prog). Já jsem ovšem použil programátor SuperPro, který prodává firma GM. Na obrázcích je vidět nastavení.


fuse bits

Obr. č. 13 Nastavení Fuse bits
nastaveni

Obr. č. 14 Nastavení Fuse bits

 

Spojení se s procesorem pomocí AVRProg

chyba AVR ProguPokud download a verifikace proběhne v pořádku, vložíme procesor do patice našeho programátoru. V počítači si připravíme ikonu AVRProg (je součástí AVR Studia) tak, aby bylo možné program co nejrychleji spustit. Stiskneme tlačítko na Biprogu a zapneme napájení, tím se spustí boot loader procesoru a čeká na příchozí komunikaci s PC. Tlačítko můžeme uvolnit a rychle spustit AVRProg.

Pokud program nahlásí chybu, viz. obr. č. 15, může to znamenat hned několik možných závad. Buď chyba hardwaru - překontrolujeme zapojení, hlavně pak zda máme správně signály Tx/Rx, to lze ověřit například díky programu RSDEBUG.exe, ve kterém lze zatrhnout políčko Tx a tím by se na 2. pinu procesoru mělo měnit napětí.

Anebo se může jednat o softwarovou chybu. Nejprve zkontrolujeme ve správci zařízení nastavení rychlosti komunikace a čísla připojeného COM portu. Rychlost musí být minimálně 115200 bit/s a číslo portu musí být v rozsahu COM1-COM4, je to z důvodu, že AVRProg testuje pouze tyto porty. Dále může být závada na straně procesoru a to hlavně v nastavení Fuse bits týkajících se vnitřního oscilátoru procesoru.





Zavedení aplikačního programu

Po navázání komunikace programátoru s AVRProg, se otevře okno pro zavedení soborů ve formátu HEX. Postup zavedení je zřejmý z obr. č. 16. Jako první zavedeme soubor biprog1_4.hex do paměti Flash.

naharni dat

 

Zavedení dat do EEPROM procesoru

A poté soubor biprog1_4-0A.eep do paměti EEPROM.

Kontrola funkce programátoru

Nyní přepneme resetovaní jumper do pozice běžného provozu. Tlačítko na Biprogu slouží pouze k přepnutí do režimu Boot Loaderu po zapnutí napájení. Na programátoru, bliká LED 1 (čekání na příkaz) a svítí LED 5 (bez činnosti) a jedna z LED 2/3 (úroveň resetovacího signálu). V této chvíli je programátor zcela připraven k použití.

2.1 Závěr

Myslím, že u precizní práce, při výrobě, nebudou s programátorem absolutně žádné problémy. Podle mého názoru se jedná o jeden z nejkvalitnějších programátorů v nekomerční sféře. Veškeré utility, soubory a nákresy potřebné k výrobě, jsou ve složce software. Součástky na programátor vyjdou zhruba na 200 kč.

3.1 Doplnění

Pokud si nebudete jisti jak správně nastavit Fuses, můžete nastavit přímo hodnoty na HIGH 0xD2 a LOW 0x9F. Chyba v tomto nastavení bývá nejčastější příčinou pro nefunkční BIPROG.

(25.2.2013) Momentálně je k dispozici nový firmware pro Biprog, aby jej bylo možné používat v AVR Studiu 5 a 6. Biprog se bude chovat jako vývojová deska STK500v2. Firmware je možné aktualizovat pomocí AVRProg, postup je shodný jako postup při nahrání aplikačního softwaru.

 

Použitá literatura

[1] http://web.quick.cz/ruckl/biprog/biprog.html

[2] www.atmel.com/atmel/acrobat/doc2486.pdf

[3] www.gme.cz

[4] http://www.8bitu.cz/clanek/obvod-max232/

[5] Matoušek, D.: Práce s mikrokontroléry ATMEL AVR

 

Seznam součástek

R1, R2, R3, R4, R5 100 Ω

R6, R12 47k Ω

R7, R8, R9, R10, R11 1,5k Ω

C1, C5, C6, C7, C9 10 μF/10V

C2, C3 27 pF

C4, C12, C11 100 nF

C10 220μF/16V

D1 1N4007

B1 B250C1500

Q2 7,3728MHz

IC1 MAX232

IC2 7805

IC5 ATMEGA8-16PU (nebo 8PU)

X1 CAN 9 Z G

SV4 MLW10G

JP1, JP2 S1G36 2,54mm

TL1 P-TACTN68

print Formát pro tisk

Komentáře rss


Nebyly přidány žádné komentáře.

„Člověk, který nikdy neplakal nežil opravdový život!“ Jan Werich