cas vypocitany ATMEGA16 ide pomalsie, odtienene a OK
Moderátor: Moderátoři
- r1a2s3t4o5
- Příspěvky: 172
- Registrován: 01 říj 2009, 00:00
- Bydliště: Velke Prilepy
- Kontaktovat uživatele:
cas vypocitany ATMEGA16 ide pomalsie, odtienene a OK
http://elektroworld.info/modules.php?name=Forums&file=viewtopic&t=39643
U toho RTC neporadím, ale pokud by měl čas v režii atmel, tak mne napadlo, že by mohly být přepsány fuses bity.
Podle fotek bych řekl, že je použit vnitřní RC článek.
(Tedy pokud ten odpor není k plusu a pokud k němu není ještě někde nějaký kondík k zemi. V tom případě by šlo o vnější RC článek)
Frekvenci vnitřního RC článku lze pomocí fuses bitů nastavit na 8MHz, 4MHz, 2Mhz a 1MHz.
A zde nejspíš došlo k přepsání.
V podstatě budeš muset nechat ten procesor přeprogramovat a
to od někoho, kdo má správný firmware. (takže zpět do výroby)
Jedinou nadějí (poměrně malou) by bylo, kdyby ve výrobě při programování zapomněli zapnout ochranu procesoru.
Pak by ti stačil pouze středně zkušený programátor.
- r1a2s3t4o5
- Příspěvky: 172
- Registrován: 01 říj 2009, 00:00
- Bydliště: Velke Prilepy
- Kontaktovat uživatele:
Niekde som videl, ze chlapik programoval chip ktory bol osadeny, jednoducho sa napojil programatorom rovno na piny ktore treba na programovanie.
Myslis zeby to slo aj s tymto?
Je mozne osciloskopom zistit na akej freq to bezi teraz?
Aky programator (co najjednoduchsi) doporucujes?
Je mi jasne, ze ak je program chraneni proti citaniu, budu to vyhodene peniaze, ale keby slo zbastlit/kupit programator v rozumnej cene (do 1000) tak to skusim.
- r1a2s3t4o5
- Příspěvky: 172
- Registrován: 01 říj 2009, 00:00
- Bydliště: Velke Prilepy
- Kontaktovat uživatele:
za 14 hodin normalneho casu, su hodiny na peci o 2 hodiny pomalsie.
Nasiel som programator na LPT:
http://www.captain.at/electronics/atmel-programmer/
este Linux a paralelny port a mozem skusat...
Precitat ako su nastavene Fuses ide tymto:
Kód: Vybrat vše
uisp -dlpt=/dev/parport0 -dprog=dapa -dpart=ATmega16 --rd_fusesKaždopádně to můžeš odzkoušet. A pak sem hoď výsledek.
Mám však dojem, že pokud je zaplá ochrana, tak ti nepůjdou přečíst ani fuses bity.
Z toho poměru zpomalení bohužel nedokážu nic rozeznat.
Ten poměr zpomalení je prostě nějaký divný.
Teď mne ještě napadlo, že by mohla být změněná kalibrace vnitřního RC článku.
I v tomto případě však vše závisí na tom, zda přečteš ty fuses.
Andrea píše:Alespoň průměrný programátor neudělá zařízení, které se po výpadku napájení začne chovat o dost jinak než před výpadkem.
Pokud to byla chyba programátora. Mohlo jít o chybu procesoru (i to se stává).
To však nyní neřešme, jinak se nám to tu zvrhne v planou diskusi.
Počkejme si, s čím přijde r1a2s3t4o.
- r1a2s3t4o5
- Příspěvky: 172
- Registrován: 01 říj 2009, 00:00
- Bydliště: Velke Prilepy
- Kontaktovat uživatele:
divous píše:Andrea píše:Alespoň průměrný programátor neudělá zařízení, které se po výpadku napájení začne chovat o dost jinak než před výpadkem.
Pokud to byla chyba programátora. Mohlo jít o chybu procesoru (i to se stává).
To však nyní neřešme, jinak se nám to tu zvrhne v planou diskusi.
Počkejme si, s čím přijde r1a2s3t4o.
Neviem cim to je, ale toto je uz druhy modul, ktory takto zlyhal. Nechcem kupovat dalsi modul ale zistit preco ide cas pomalsie a vyriesit to raz a navzdy.
K pocitacu s Linuxom a LPT sa dostanem najskor buduci tyzden, dovtedy skusim zbastlit programator.
EDIT: Stiahol som program, ale nemam cim analyzovat co tam je naprogramovane. Viete mi poradit nejaky disasembler?
- Přílohy
-
- program.hex
- Motorola S-Record; binary data in text format
- (44.04 KiB) Staženo 110 x
- r1a2s3t4o5
- Příspěvky: 172
- Registrován: 01 říj 2009, 00:00
- Bydliště: Velke Prilepy
- Kontaktovat uživatele:
uisp -dlpt=/dev/parport0 -dprog=dapa -dpart=ATmega16 --rd_fuses
Kód: Vybrat vše
Atmel AVR ATmega16 is found.
Fuse Low Byte = 0x83
Fuse High Byte = 0xdf
Fuse Extended Byte = 0xff
Calibration Byte = 0xbf -- Read Only
Lock Bits = 0xfc
BLB12 -> 1
BLB11 -> 1
BLB02 -> 1
BLB01 -> 1
LB2 -> 0
LB1 -> 0Podla datasheetu je low byte 0x83 => CKSEL3-0 nastavene na 0011
4Mhz internal clock.
Ak su LB01 a LB02 = 0
Further programming and verification of the Flash and
EEPROM is disabled in Parallel and SPI/JTAG Serial
Programming mode. The Fuse bits are locked in both
Serial and Parallel Programming mode.(1)
- Přílohy
-
- program.hex
- Motorola S-Record; binary data in text format
- (44.04 KiB) Staženo 108 x
Procesor je zamknutý, a ten soubor rozhodně neobsahuje žádný funkční program.
Je v něm ukryta pouze posloupnost čísel.
Vypadá to tam asi takto:
(00h 00h 01h 01h 02h 02h 03h 03h ..... a tak to pokračuje až po FFh).
Tato řada se opakuje 32x a zbytek paměti je vyplněn hodnotou FFh.
Takže je mi líto, ale pokud se ti nepodaří sehnat funkční program
(a to i s daty z EEPROMky), tak se dál tímto směrem nepohneme.