Výběr ATmega - 20 MHz, 3x 8-bit I/O brána, pouzdro DIP

Ahoj,

pravě si lámu hlavu nad výběrem vhodné ATmegy resp. nějakou
co by byla schopna pracovat s frekvenci krystalu 20MHz, disponovala
alespon třemi I/O branami (piny 0:7 pro všechny brány) a pokud možno
DIL provedení.

Prozatím jsem našel pouze atmega644.
Poradíte někdo s dalšími variantami?

Diky za odpovedˇ :slight_smile: .

:arrow_right: administrator: přejmenováno z "Vhodné ATmega?"

Stačí pár vteřin hledat…
atmel.com/dyn/products/param … n=DESC#760
nejlevnější bude mega164 (to samé co 644, jen s 16KB flash).

Máš nějaký zvláštní důvod pro požadavek 20MHz? jinak by ti totiž vyhovovala každá druhá mega :wink:.

Díky :slight_smile: , takovýhle ucelený přehled jsem přesně hledal.

20MHz: Bojím se aby procesor stihnul provést všechny instrukce. Snažím se totiž každých 10us (100kHz) měnit hodnoty na dvou portech. Raději bych volil vyšší frekvenci pro případ rezervy, kdybych musel ještě přidávat nějaké instrukce do smyčky vykonávané v 10us.
Nyní se pokouším realizovat přerušení generované pro již zmíněných 10us pomocí timeru, včera mě ale napadlo že by možná nebylo od věci zkusit signál 100kHz (generované např. NE555) přivádět na vstup vnějšího přerušení (INT) a tím mít zaručenou přesnou periodu 10us. Mýslím si že bude tak přerušení generováno přesněji nežli pomoci timeru. Je tento můj úsudek správný?

Externím přerušením nic nezískáš. Přesnost timeru je lepší než 555 a reakci neovlivníš stejně jako dobu pro vstup do přerušení.
Na vstup do přerušení počítej 4-6 IC, pokud to bude v C, tak dalších dobrech 5*2 IC na push a to samé na opuštění přer. Zápis dvou portů z RAM by mohlo dát 8 IC, kdyby byly data v registrech tak méně. Takže by se to mohlo odbýt ve 40ti cyklech. Čísla jsou jen orientační, nemám v hlavě IS avrka. Při 20MHz a 10us máš 200 IC :wink:. V simulátoru si to snadno změříš přesně.
Ty 2-4 instrukce na us, který získáš použitím rychlejšího mcu málokdy ovlivní funkčnost/nefunkčnost programu. A pokud by ovlivnily, tak už je to na ASM :wink:.

Jenom poznámka: z té řady 164/324/644 seženeš v PDIP za Kč jen tu 644(TME) jinak jen za éčka z venku.

omlouvám se za pozdní odpovědˇ

piityy: trošku jsem se podival na listing s asm a všechno propočítal (co dopočtu instrukci a času potřebného pro jejich vykonani), musím ti dát za pravdu stačí bohatě 8MHz kmitočet interního oscilátoru. Měl jsem zbytečné obavy a také nepatrně podcenoval uC :frowning: , po zvažení všecho vybírám mega162 :slight_smile: .

lou: diky za tip na obchod :slight_smile: , ale vzhledem k vyše uvedenému již asi nebude potřeba