Konstrukce TV terminál s Atmega8

Není mi jasné jak nastavit konfigurační slovo popis v příloze pe10_2008.pdf díky


pe10_2008.pdf (238 KB)

Ahoj.
Nepíšeš, jaký programovací nástroj používáš a jaký systém používáš na počítači.
Můžeš si stáhnout program avrdude, který funguje z příkazového řádku.
Dále si k tomu můžeš stáhnout GUI, které podle obrázku máš.
Naklikáš nastavení, které je uvedeno v pdf souboru.
Poté použiješ parametry, které máš uvedeny v červeném čtverečku.
Možná budou potřeba ještě další parametry, jako definice procesoru, definice COM portu atd. Příkladů k použití je na internetu spousta.

Asi jsem se špatně vyjádřil já potřebuji potvrdit nebo vyvrátit jestli mám nastavené hodnoty v okně Low nebo High jak je to je popsáno ve výztřišku které je na vpravo na tom skenu dobře nebo jaké tam mají být.Avrdude i GUI mám tím programuji díky

Aha. Omlouvam se. V tomto pripade bych pouzil horni polovinu toho obrazku, tam je to spravne a stisknul tlacitko Apply feature setting.

Hodiny a detekci napětí jsi pochopil a nastavil správně. Řekl bych, že Tě zmátlo RESET=ON. To znamená, že reset je použit jako reset a ne jako IO pin => RESET není zakázaný. Máš to správně.

Zas je je něco spatně :unamused: zkusil jsem naprogramovat ale programování skončilo chybou a už to nemohu vyčíst někdy to skončí takto viz příloha a někdy to skončí
co dělám špatně ? díky
avrdude.exe: AVR device not responding
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude.exe done. Thank you.

Terminal.hex (13.4 KB)
eror.jpg

Ahoj.
Pokud to pri prvnim programovani ukazovalo nejakou signature jinou nez 0x000000 a ted to ukazuje pouze 0x0000000 Tak predpokladam, ze programovaci kabel je porad pripojeny spravne. V tom pripade to vypada, ze nefunguje krystal.
Castou pricinou je spatna volba kondenzatoru, kde i kdyz to clovek vybere dle datasheetu tak mu krystal nekmita.

Já to mám na nepájivém poli a takto: ty kondíky tam nemám ani odpor na resetu ani tlačítko ale kupodivu mě to fungovalo alespoň čtení před programováním

Snažíš se marně Dragone. Melounovi nelze pomoct :wink:

Pěkně prosím smutně se dívám :blush: předem díky

Kryštál tam máš aj s kondíkmi podľa DS? Kondík na napájaní procesora máš? Poistky na procesoru sú nastavené na kryštál, bez toho to isto nepôjde …

Pokud jsi nastavil pojistky tak, jak jsi psal v tom prvním příspěvku a zapojení máš přesně tak, jak jsi poslal schéma, tak jsi nastavil hodiny na externí krystal, ale ten jsi mu nepřipojil. Proto to nechodí.

Já už si vzpomínám že už jsem to řešil před já nevím jakou dobou ale nevím jestli na tomto fóru nebo někde jinde.Od té doby mám takové udělátko z NE555 které mi kmitá na 155 KHz výstup jsem připojil na pin 10 ale výsledek je takový to při zápisu :exclamation: :exclamation: je možné aby ten oscilátor kmitá na nízké frekvenci ?

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: erasing chip
avrdude.exe: reading input file “Cesta \Terminal.hex”
avrdude.exe: input file Cesta \Terminal.hex auto detected as Intel Hex
avrdude.exe: writing flash (5632 bytes):

Writing | ################################################## | 100% 5.20s

avrdude.exe: 5632 bytes of flash written
avrdude.exe: verifying flash memory against Cesta \Terminal.hex:
avrdude.exe: load data flash data from input file Cesta \Terminal.hex:
avrdude.exe: input file Cesta \Terminal.hex auto detected as Intel Hex
avrdude.exe: input file Cesta \Terminal.hex contains 5632 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 4.70s

avrdude.exe: verifying …
avrdude.exe: verification error, first mismatch at byte 0x0000
0x30 != 0x00
avrdude.exe: verification error; content mismatch

avrdude.exe done. Thank you.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: current erase-rewrite cycle count is -256 (if being tracked)
avrdude.exe: reading input file “Cesta \Terminal.hex”
avrdude.exe: input file Cesta \Terminal.hex auto detected as Intel Hex
avrdude.exe: writing flash (5632 bytes):

Writing | ################################################## | 100% 5.02s

avrdude.exe: 5632 bytes of flash written
avrdude.exe: verifying flash memory against Cesta \Terminal.hex:
avrdude.exe: load data flash data from input file Cesta \Terminal.hex:
avrdude.exe: input file Cesta \Terminal.hex auto detected as Intel Hex
avrdude.exe: input file Cesta \Terminal.hex contains 5632 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 4.56s

avrdude.exe: verifying …
avrdude.exe: verification error, first mismatch at byte 0x0000
0x30 != 0x00
avrdude.exe: verification error; content mismatch

avrdude.exe done. Thank you.

díky

Tak díky té NE555 už jde přečíst signature toho procesoru. Ale divná je ta zapisovací doba. Pokud kmitá na 155 Khz, tak by dle mého měl zapisovat mnohem pomaleji. Zápis by měl probíhat 1/4 kmitočtu procesoru. V avrdude lze k tomuto účelu pravděpodobně použít parametr -i delay

Zde vysvětlení
For bitbang-type programmers, delay for approximately delay microseconds between each bit state change. If the host system is very fast, or the target runs off a slow clock (like a 32 kHz crystal, or the 128 kHz internal RC oscillator), this can become necessary to satisfy the requirement that the ISP clock frequency must not be higher than 1/4 of the CPU clock frequency. This is implemented as a spin-loop delay to allow even for very short delays. On Unix-style operating systems, the spin loop is initially calibrated against a system timer, so the number of microseconds might be rather realistic, assuming a constant system load while AVRDUDE is running. On Win32 operating systems, a preconfigured number of cycles per microsecond is assumed that might be off a bit for very fast or very slow machines.

A co teď s tím já když to dám do překladače tak mi vyleze slátanina
U programátorů typu bitbang je zpoždění přibližně zpoždění mikrosekund mezi každou změnou stavu bitů. Pokud je hostitelský systém velmi rychlý nebo cíl běží pomalu (jako křišťál 32 kHz nebo vnitřní oscilátor RC 128 kHz), může to být nezbytné pro splnění požadavku, aby kmitočtová frekvence ISP nebyla vyšší než 1/4 frekvence hodin CPU. Toto je implementováno jako zpoždění spínací smyčky, která umožňuje i velmi krátké zpoždění. V operačních systémech typu Unix je spinová smyčka zpočátku kalibrována proti systémovému časovači, takže počet mikrosekund může být spíše realistický, za předpokladu konstantního zatížení systému při spouštění AVRDUDE. V operačních systémech Win32 se předpokládá předkonfigurovaný počet cyklů na jednu mikrosekundu, která by mohla být vypnutá pro velmi rychlé nebo velmi pomalé stroje

protože neumím anglicky tak musím spoléhat na překladač a s toho překladu nejsem moudrý ale teď jsem s toho pochopil že asi musí být ten krystal 20MHz je tomu tak?díky

Ano. Když tam dáš ten krystal, který tam ma být s těma kondenzátorama, tak by to mělo začít fungovat. Bohužel v dokumentu není uvedeno, jaký máš koupit, takže možná nebudeš mít ty kondenzátory 15pF, ale budeš potřebovat 20pF nebo jinou kapacitu dle datasheetu.

Chyba byla na plošném spoji špatně prohřáté spoje na krystalu :blush: řekl bych že to funguje ale nemohu protože jsem to zmastil.Chtěl jsem tuto konstrukci využít k přepálení -natavení pojistek na vnitřní hodiny na druhé Atmega8 ale jak jsem dal tu původní Atmegu8 ve které mám na ten terminál tak to přestalo fungovat a co víc začal hřát stabilizátor 5V napadlo mě dát tu atmegu8 ve kterém mám ten terminál na programátor ,co ho mám na nepájivém poli a připojil na napětí 5V a nic se neděje proud do něho teče 10mA tak nevím co tomu je tentokrát ? díky

Nevím, jestli jsem pochopil správně, co jsi vlastně udělal, ale pokud jsi vrátil zpět původní mcu a začal Ti hřát stabilizátor, tak bych řekl, že mohly nastat jen dvě možnosti :

  1. dal jsi mcu opačně a tím pádem jsi jej odpálil. Proto skrz něj teče 10mA a mcu nefunguje.
  2. někde jsi něco vyzkratoval a stabilizátor bude hřát i při neozaseném mcu. V případě, že mcu nefunguje ani mimo tuto desku v programátoru, tak zkrat vzal mcu s sebou.

V prvním případě budeš muset vyměnit a nově naprogramovat mcu, ve druhém případě k tomu musíš ještě pečlivě překontrolovat dps a najít problém. V první řadě zjistit, jestli ze 7805-ky leze skutečně 5V a ne víc (odpálený stabilizátor), pak jestli nemáš někde zkrat na dps, kde by se třeba mohly vyzkratovat nožičky mcu apod.

A co je nejdůlžitější - uvědomit si, že tady nejsme vědmy a nikdo z nás není majitelem křišťálové koule, takže Ti tady určitě nikdo nenapíše, co tomu je. To můžeme jenom zkusit odhadnout. Jinými slovy - je potřeba taky použít vlastní hlavu a zkusit přemýšlet.

Balů - ja ešte doplním, ak môžem:

Ak chceš radu pri takýchto veciach, nikto ti nepovie len tak z hlavy, že vadné je to a to. Na očakávanú odpoveď je to minimum, aby si tu hodil foto tvojho zapojenia ako z vrchu tak aj zo spodu. Je tu veľa šikovných ľudí, ktorý majú zmysel pre detaily a všimnu si na fotke aj to, čo ty v reály nie. To, že tu dáš obrázok schémy, ako má byť zapojený tvoj kvázi programátor a ako má byť pripojený k procesoru ešte neznamená, že to tak aj v reály máš urobené, že tam nemáš niekde chybu, ktorú ty ani nezaregistruješ, ale niekto iný to zaregistrovať z fotky môže. Kým tu nebudú fotky, asi je zbytočné sa tu ďalej týmto zapodievať a hádať, že to môže byť tým alebo tým …

Edit stabilizátor je KO
Tak tady dodávám ty fotky teda jestli ten poslední příspěvek nebyl myšlen ironicky :unamused: