cas vypocitany ATMEGA16 ide pomalsie, odtienene a OK

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

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
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

#1 Příspěvek od r1a2s3t4o5 »

Tu som to rozpisal, ale myslim ze to tam necitaju spravny ludia
http://elektroworld.info/modules.php?name=Forums&file=viewtopic&t=39643
Naposledy upravil(a) r1a2s3t4o5 dne 17 říj 2010, 17:39, celkem upraveno 2 x.
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#2 Příspěvek od divous »

Ono je ještě otázkou, zda se čas generuje pomocí toho atmelu či jiného RTC obvodu.

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.
Uživatelský avatar
r1a2s3t4o5
Příspěvky: 172
Registrován: 01 říj 2009, 00:00
Bydliště: Velke Prilepy
Kontaktovat uživatele:

#3 Příspěvek od r1a2s3t4o5 »

Ano, ja takisto predpokladam ze je pouzity vnutorny RC. Plosak ma miesto na crystal ale nieje osadeny.
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.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#4 Příspěvek od Andrea »

Programovací piny jsou vyvedené na ten neosazený konektor vedle neosazeného krystalu.
Uživatelský avatar
r1a2s3t4o5
Příspěvky: 172
Registrován: 01 říj 2009, 00:00
Bydliště: Velke Prilepy
Kontaktovat uživatele:

#5 Příspěvek od r1a2s3t4o5 »

Dnes som prepocital, aky maju hodiny sklz.

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_fuses
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#6 Příspěvek od divous »

Hmm, tento programátor neznám, takže ti s ním neporadím.

Kaž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.
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#7 Příspěvek od Crifodo »

není to zpomalení tím, že procesor je pořád přerušován?
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#8 Příspěvek od divous »

Crifodo píše:není to zpomalení tím, že procesor je pořád přerušován?


Jak přerušován?

-napájení - snad to má nějaké záložní napájení (doufám, z těch fotek to není poznat)
-mikroprocesoru - průměrný programátor (myslím tím člověka) by s tím měl počítat a takovou začátečnickou chybu obejít.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#9 Příspěvek od Andrea »

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.
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#10 Příspěvek od divous »

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.
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#11 Příspěvek od Crifodo »

přerušován na přerušovacím vstupu nějakým falešným impulsem od periférie. Přeprogramování na čtvrtinu nebo na dvounásobek nezpůsobí chybu 2h na 14 hodinách.
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#12 Příspěvek od divous »

Crifodo píše:přerušován na přerušovacím vstupu nějakým falešným impulsem od periférie. Přeprogramování na čtvrtinu nebo na dvounásobek nezpůsobí chybu 2h na 14 hodinách.


To je mi jasné, proto jsem později odhadoval chybu v kalibraci vnitřního RC článku.
Uživatelský avatar
r1a2s3t4o5
Příspěvky: 172
Registrován: 01 říj 2009, 00:00
Bydliště: Velke Prilepy
Kontaktovat uživatele:

#13 Příspěvek od r1a2s3t4o5 »

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
Naposledy upravil(a) r1a2s3t4o5 dne 11 říj 2010, 17:34, celkem upraveno 1 x.
Uživatelský avatar
r1a2s3t4o5
Příspěvky: 172
Registrován: 01 říj 2009, 00:00
Bydliště: Velke Prilepy
Kontaktovat uživatele:

#14 Příspěvek od r1a2s3t4o5 »

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 -> 0


Podla 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
Uživatelský avatar
divous
Příspěvky: 164
Registrován: 08 říj 2010, 00:00
Bydliště: ValMez

#15 Příspěvek od divous »

Tak teď ti už vážně poradit nemohu.

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.
Odpovědět

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