Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dobór pamięci EEPROM do AVR - odczyt z STK200.

barteq86 13 Apr 2007 19:16 2352 5
  • #1
    barteq86
    Level 10  
    Chcę skonstruować urządzenie, które kilkanaście razy dziennie (po przerwaniu) zapisze do pamięci EEPROM godzinę i temperaturę, razem 3 bajty. Układ będzie pracował na jakimś ATiny i termometrze 1-wire Dallasa.
    Całość ma być mała (z bateriami wilekość temperówki), lekka i tania, więc planuję wykonać ją w SMD (przeszedłem już przez temat uśpienia i asynchronicznego licznkia). Prototyp już chodzi na Atmega8, ale brakuje pamięci (potrzeba miejsca na około dwadzieścia dni).



    Pogodziłem się z zewnętrzną pamięcią EEPROM, tylko nie wiem jaki model wybrać (na pewno szeregową). Zależy mi na łatywm odczycie danych przez komputer (najlepiej za pomocą STK, bo nie mam ochoty na zabawę z RS-em, słyszałem, że to możliwe, ale nie mam pojęcia jak się do tego zabrać). Zanim utonę w dokumentacjach, potrzebuję przekrojowego opisu typów EEPROM-ów, najlepiej z konkretnymi modelami (wystarczy około 4kB) i listą największych problemów na jakie mogę się natknąć.

    Z góry dziękuję za pomoc.
    Bartłomiej Dudek
  • #2
    McRancor
    VIP Meritorious for electroda.pl
    Karty chip z procesorami AVR mają wbudowaną pamięć EEPROM - programuje się je za pomocą programu w AVRze.

    Myślę że najlepszym rozwiązaniem dla Ciebie byłoby napisanie bootloadera dla uC który umożliwi programowanie samego mikrokontrolera oraz pamięci. Do tego będzie wymagał tylko 3 pinów więc kolejna oszczędność miejsca. Wystarczy wgrać tylko raz bootloader...

    stk200 nie programuje żadnej pamięci eeprom.

    Prosty programator do pamięci EEPROM i2c masz tutaj:
    http://www.lancos.com/prog.html#hardware
    na samym dole.

    Do programowania wymaga jedynie 4 przewodów (SDA SCL i zasilanie)

    4KB ma 24C32 - 32Kbity.
  • #3
    barteq86
    Level 10  
    McRancor wrote:

    Myślę że najlepszym rozwiązaniem dla Ciebie byłoby napisanie bootloadera dla uC który umożliwi programowanie samego mikrokontrolera oraz pamięci. Do tego będzie wymagał tylko 3 pinów więc kolejna oszczędność miejsca. Wystarczy wgrać tylko raz bootloader...


    O ile dobrze rozumiem pozwoli mi to wykorzystać pamięć EEPROM mikrokontrolera i nieużywaną pamięć programu do zapisu danych pomiarów. Myślałem nad tym, bo co prawda przy awarii zasilania wyniki zapisane we FLASHu pójdą się kochać, ale rozwali to też zegar, więc i tak cała impreza na nic. Jednak mimo wszystko będę upierał się na zewnętrzny EEPROM ze względu na możliwość jej łatwego powiększenia i ewentualnego zagęszczenia pomiarów.

    Pojawia się nowe pytanie: według mojej wiedzy na I2C urządzenia są adresowane. Wynika z tego, że zewnętrzną pamięć można odczytać bez wyjmowania z układu. Czy mam rację, cy poniosła mnie fantazja i to nie jest takie proste?
  • Helpful post
    #4
    McRancor
    VIP Meritorious for electroda.pl
    Chodziło mi o wykorzystanie bootloadera jako programu do wgrywania samej pamięci mikrokontrolera (firmware) oraz dodatkowo "pomostu" służącego do programowania zewnętrznej pamięci podłączonej do uC dowolnym interfejsem - eliminuje to potrzebę podpinania kilku programatorów do kilku złącz, oraz w elegancki sposób pozwala na odczyt zawartości EEPROMu (konwerter USB<>RS232 i mamy urządzenie na USB ;) )

    To że pamięć eeprom i2c jest adresowana nie implikuje tego że można ją odczytać w układzie - można to zrobić za pomocą opisanego wyżej sposobu (bootloader mikrokontrolera odczytuje pamięć i wysyła jej zawartość do PC) albo "na bezczelnego" przez podpięcie się pod linie SDA i SCL pamięci. Problem powstanie gdy podłączy się zasilanie gdyż zacznie pracować mikrokontroler i może on nieodpowiednio sterując pinami uniemożliwić odczyt.

    Jest na to prosta metoda - wystarczy zewrzeć pin RESET mikrokontrolera do masy - w stanie resetu jego wejścia są w stanie wysokiej impedancji więc nie będą "przeszkadzać"
  • #5
    barteq86
    Level 10  
    Teraz rozumiem. Pisząc "odczytywanie w układzie" miałem na myśli właśnie bezczelne wpięcie się w magistralę między procesor a pamięć.

    Pora wziąć książkę w łapki i poczytać. A jak się zawezmę, użyję karty mini SD :)
  • #6
    McRancor
    VIP Meritorious for electroda.pl
    Wtedy już musisz iść za ciosem i FAT-a jakiegoś zapodać i zapisywać dane w jakimś formacie umożliwiającym prostą obsługę na PC ;)