Pojistky ATMEGA32

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
ok1f
Příspěvky: 239
Registrován: 11 zář 2006, 02:00

Pojistky ATMEGA32

#1 Příspěvek od ok1f »

Jak nastavit pojistky, abych mohl procesor přeprogramovávat? chci se učit programovat a asi jsem si znehybnil už dva ATMEGA 3216. Ne uzamčením, ale někde se něco nastavilo a nevím co. Není možné je ani smazat. Zajímá mě hlavně nastavení

JTAGEN, OCDEN, BOOTRST, BOOTSZ, BODEN, SUT,CKSEL

Programátor používám Presto.

Může např chybně nastavený oscilátor způsobit, že se programátor na součástku nepřipojí? Jak z toho ven? Je mi líto ty procesory prostě vyhodit.

Používám oscilátor int RC.

Díky za info

Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 01:00

#2 Příspěvek od frpr666 »

Všechny informace jsou v datasheetu k atmega32. Nejlepší pro začátečníka je nenastavovat pojistky vůbec a nechat defaultní nastavení.
Pokud už se něco v pojistkách nastavuje, tak obezřetně.
Solidní IDE programátoru by mělo uživatele varovat, když se chystá přepsat pojistky...

Chipy, které ti nejdou nevyhazuj, prodej je někomu, kdo má paralelní programátor a bude schopen si je přeprogamovat.

Edit1: pro ISP programování musí být funkční oscilátor + vhodně nastavená rychlost na straně programátoru.

Uživatelský avatar
ok1f
Příspěvky: 239
Registrován: 11 zář 2006, 02:00

#3 Příspěvek od ok1f »

A tedy když budu mít paralelní programátor, tak budu mít možnost procesor smazat a tím bude opět schopný i programování sériového?

Mohu v pojistkách zakázat JTAGEN? Na těchto pinech mám připojený didplej a na jeho segmentech vidím, že na pinech jsou nějaké pulsy. V datasheet je psáno, že pokud není rozhraní využito, mělo by být vypnuto. Mám už strach cokoliv v pojistkách měnit... Presto používá MOSI, MISO, SCK a RESET, které jsou na jiných pinech.

Uživatelský avatar
popopepe
Příspěvky: 548
Registrován: 26 říj 2005, 02:00

#4 Příspěvek od popopepe »

Když budeš mít normální programátor, tak můžeš dělat co uznáš za vhodné. Pak to nastavení nemá vliv, i když to umrtvíš, dokážeš ho změnit vždy.
JTAG můžeš klidně zakázat.

Uživatelský avatar
ok1f
Příspěvky: 239
Registrován: 11 zář 2006, 02:00

#5 Příspěvek od ok1f »

I když bych měl v procesoru vybraný jiný typ oscilátoru a nevěděl jaký? Taktování si řídí programátor sám bez ohledu na oscilátor procesoru?

Jaký normální programátor by jste mně doporučil?

Uživatelský avatar
AB1
Příspěvky: 312
Registrován: 23 lis 2009, 01:00

#6 Příspěvek od AB1 »

Abys mohl znovu programovat Mega32,
vezmi nějaký zdroj obdélníkového signálu 5 V / cca 1 MHz a připoj
ho na pin XTAL1.

Pročti důkladně nastavení fusebitů tady:
http://www.engbedded.com/fusecalc/

U nastavení oscilátoru vyber vždy řádek s nejdelším startup časem (+64ms).

JTAG můžeš zakázat v programu. Na začátek main() dej

Kód: Vybrat vše

int main(void) 
{
    MCUCSR=(1<<JTD);
    MCUCSR=(1<<JTD);  // musí být dvakrát

Uživatelský avatar
ok1f
Příspěvky: 239
Registrován: 11 zář 2006, 02:00

#7 Příspěvek od ok1f »

Po přivedení 1MHz musím použít paralelní programátor, nebo by to mělo fungovat i se sériovým Presto?

Uživatelský avatar
popopepe
Příspěvky: 548
Registrován: 26 říj 2005, 02:00

#8 Příspěvek od popopepe »

Ty v tom máš nějaký guláš.
Jsou dva typy programování -
paralelní, pak je úplně jedno, co jsi kde předtím nastavil, ten programátor má úplnou kontrolu nad tou atmegou. Je jedno, jestli zmastíš pojistky, hodiny atd. Prostě tímhle to dokážeš vymazat a nastavit jak chceš.
Druhý typ programování je pomocí SPI - tam ale musíš dávat pozor, co děláš. Nesmíš si zakázat reset, a pokud jsi přeprogramoval hodiny na externí (z fabriky tuším atmega přijde naprogramovaná na 1MHz interní), a nemáš připojený nějaký zdroj hodin, tak to nebude chodit. Pak většinou pomůže připojit nějaký TTL zdroj hodin (TTL oscilátor) na vstup od krystalu, a pomocí SPI naprogramovat znovu.
Nebo pak použít paralelní :-) a opravit ty blbě nastavené bity.
Jukni do datasheetu, je to tam popsané.
Já používám Elnec Smartprog2 (umí jak paralelní, tak SPI).

Uživatelský avatar
ok1f
Příspěvky: 239
Registrován: 11 zář 2006, 02:00

#9 Příspěvek od ok1f »

Tak přesně tyto informace mně chyběly - díky.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“