ATmega a externí SRAM

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
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

ATmega a externí SRAM

#1 Příspěvek od silas15 »

V mém projektu, který mám malý web server mi dochází sram. Je to tím, že na stránce je několik zobrazených zadávacích polí jinak nic, ale jakmile je jich tam víc jak 5, tak se ATmega zasekne. Nehledě na debug kód, který posílá výpisy sériově a taky dost sežere. Chvilku jsem pátral, našel jsem externí paměť od firmy Microchip 23K640. Má 64K a komunikuje přes SPI (pouze je na 3,3V tak že musím použít převodník z 5V. Chci aby ATmega běžela spolehlivě na 16 MHz). Máte s přidáváním paměti nebo flash paměti někdo zkušenost?

O flash paměti jsem taky uvažoval. Abych v ní mohl mít nějaké zajímavější www stránky uloženy.

Jinak používám k programování arduino.
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#2 Příspěvek od ross4435897 »

myslim ze mega328 nepodporuje zadnou formu externi pameti ... ale jinak na netu je toho plno
muj nazor ... pouzivat arduino na web server aplikace je asi neco jako ladit fiata500 na zavod F1. Kombinace arduino+raspberry se mi jevi jako mnohem realistictejsi ...
Uživatelský avatar
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

#3 Příspěvek od silas15 »

no jo, v datesheetu nic není. Bude to tím, že když jsem to hledal, díval jsem se přitom na atmegu 128. Ta to tam má napsáno. Nicméně i tak se tam dá dodat paměť, protože na fórech o arduinu se ta tématika taky probírá.

Jinak si myslím, že by to tím mělo jít. Když si vezmu jen obyč router, ten v sobě taky nemá kdo ví co. Určitě ne ARMový procesor s horou paměti. A to router v sobě má těch stránek podstatně víc. Já chci jednu s pár políčkama a pár tlačítky. Pak číst a zobrazit hodnoty z ad převodníku a pár relátek nic víc.
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#4 Příspěvek od ross4435897 »

vychazel jsem z toho, ze WEBapp nestavis jenom pro to, aby ses dival doma na ciselne hodnoty ... predpokladam treba sber a grafickou prezentaci dat, a hlavne nejaky standartni zabezpeceny (SSL) vzdaleny pristup, mozna nejaky IPfilter ... a to s arduinem fakt nedas ...
Uživatelský avatar
rnbw
Příspěvky: 37419
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#5 Příspěvek od rnbw »

Domaci router ma typicky CPU MIPS, radovo stovky MHz, 8-32 MB RAM a 4-8 MB flash. OS vacsinou Linux.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#6 Příspěvek od ZdenekHQ »

Externí paměť s I2C nebo SPI se dá sehnat i s kapacitou 1MB, dá se použít i FRAM (i když ty mívají menší kapacitu) - ale problém je v "pomalosti" zápisu, pokud se třeba přerušení pokusí zapisovat taky... :?

Pomalostí nemyslím samotný HW zápis, ale více instrukcí nutných pro jeho obsluhu.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

#7 Příspěvek od silas15 »

Kdybych vzal raspberry měl bych strach, protože na tom poběží linux a tam už všechny věci nemusím obsáhnout, nemám prostě kontrolu. Musel bych teda mít ATmegu a starat se o kritické záležitosti a k tomu rasp. kvůli webu.

Možná se zeptám blbě, ale zase tak moc za 8 bit nevidím. A ani tam to není nic moc. Mě se nějak příčí myšlenka použít na jeden problém dvě různé logiky ARM a 8 bit. Líbí se mi představa mít na to jeden procesor. Co taková ATxmega. Ta už vypadá schopněji. Akorát tu přes arduino ide nenaprogramuji. Tak že asi bude problém s ethernetem. (mám enc...)
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#8 Příspěvek od ross4435897 »

RPI by byl proste jenom ten WEBapp ... na 8bitu zadny "normalni" webserver nepostavis, ale treba to neni tvym cilem ... nevim jakou mas predstavu
Uživatelský avatar
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

#9 Příspěvek od silas15 »

chci jen abych tam mohl zadat cca 15 hodnot a tím nastavit hlídání baterie a případně nějaký to relátko. samozřejmě měřím napětí pomocí adc. to je vše. nic víc od webu nechci. bohužel se mi kód nedaří udělat tak paměťově náročný, aby to atmega zvládla. proto jsem chtěl paměť přídavnou. nebo taky koupit tu atmgeu 128, ta má 4KB
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#10 Příspěvek od ross4435897 »

zkus usetrit RAMku pouzitim PROGMEM ... daji se tak ulozit promenne do FLASHky, no mozna te to spasi ....
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#11 Příspěvek od mtajovsky »

Zásadní řešení pro externí SRAM podle dotazu je použít procesor podporující externí operační datovou paměť. Z řady ATmega jsou to ATmega64 a vyšší. Poznají se podle existence pinu ALE (adress latch enable). Odkládání dat na paměti I2C, EEPROM a tak dále se hodí pro data méně frekventovaná a je to vždy kompromis.

Ovšem na tak malý web server, jako píšete by snad 2K interní SRAM mělo stačit. Taky je otázka, kolik vezmou knihovny Arduina. Samozřejmě, že všechna konstantní data jsou v PROGMEM.
Uživatelský avatar
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

#12 Příspěvek od silas15 »

díky, zkusím ten progmem použít. našel jsem teď kus kódu, který vypíše volnou ram. zkusím se podle toho řídit.

Kód: Vybrat vše

http://playground.arduino.cc/Code/AvailableMemory


zkusím ještě co nejvíc dostat do eepromky. Akorát si říkám, že poměrně komplikovaně dostávám data ze zadávacího pole do programu. sežere to poměrně velkou strukturu podmínek. to si myslím, že bude ten největší problém
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#13 Příspěvek od ross4435897 »

mozna by ti na to vsechno stacil treba ESP-01 modul ...
Odpovědět

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