logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wybór pamięci do Atmel: EEPROM, FLASH, FRAM, I2C, SPI - różnice i obsługa w C

arturromarr 03 Lip 2009 14:35 1578 7
REKLAMA
  • #1 6734494
    arturromarr
    Poziom 17  
    Posty: 417
    Pomógł: 1
    Ocena: 25
    Na wstępie muszę powiedzieć, że nie wykorzystywałem jeszcze zewnętrznej pamięci nie licząc kilku bajtów w pamięci układu zegarka.
    Potrzebuję podpiąć pod atmelka jakąś pamięć zachowywaną i jak zacząłem rozglądać się w temacie to przygniótł mnie ich wybór, więc bardzo liczę na jakąś podpowiedź.
    Po pierwsze rodzaj pamięci, czym w praktyce różni się EEPROM od FLASH?
    Rozumiem, że FRAM ma krótszy czas zapisu, ale czy jeszcze coś?
    Druga sprawa to komunikacja. Czytając dokumentację, zauważyłem, że popularne pamięci mają albo port serial np.FM24C64, albo I2C jak np:24LC128. Na wykresach komunikacja wygląda podobnie, czy są jakieś niuanse? Czy jak użyję biblioteki od I2C to pierwsza kość nie będzie działać?
    Czy może wygodniejsze są pamięci na SPI np. :AT25128A?
    Jak taką pamięć obsłużyć w "c" (może jakieś przykłądowe kody"

    Bardzo proszę o wszelkie podpowiedzi.
  • REKLAMA
  • #2 6734589
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    Pamięć I2C od SPI różni sie nie tylko interfeisem ale i szybkością z jaką można sie komunikować z pamięcią ( na korzyść SPI ) FRAM to pamięci eeprom nie posiadająca limitu zapis/odczyt .W C obsłużysz każdą pamięć ;)
  • REKLAMA
  • #4 6736749
    arturromarr
    Poziom 17  
    Posty: 417
    Pomógł: 1
    Ocena: 25
    Dzięki za odpowiedzi.
    Najbardziej w tej chwili nurtuje mnie czym różni się układ który ma w opisie tylko "serial", czy można się nim normalnie skomunikować protokołem I2C?
    Czy w atmelku można podpiąć pamięć SPI tak żeby po wgraniu jakiś bibliotek rozszerzała jego normalną pamięć i tak samo się jej używało?
  • #5 6736881
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    pod bascom spotkałem sie z kodem do pamięciami DF - data flash gdzie pamiec potrafi miec 64Mbit :!:
  • REKLAMA
  • #6 6744965
    arturromarr
    Poziom 17  
    Posty: 417
    Pomógł: 1
    Ocena: 25
    Czy te pamięci które mają w opisie "serial" działają jako I2C ?
    Ma ktoś przykład obsługo pamięci podpiętej pod SPI w C?
    :)
  • REKLAMA
  • #7 6747309
    Konto nie istnieje
    Poziom 1  
  • #8 6751926
    arturromarr
    Poziom 17  
    Posty: 417
    Pomógł: 1
    Ocena: 25
    Dzięki za linki.
    Pisząc "normalne" miałem na myśli taką obsługę pamięci, że po dołączeniu jakiejś biblioteki rozszerza ona (z punku widzenia użytkownika) wewnętrzny RAM procka tak, że nie wymaga ona specjalnej obsługi.
    Czy taka Pamięć podpięta pod SPI procka nie robi problemu przy ładowaniu do niego programu? (może trzeba by jakąś zworkę dać na jej wyjściowym pinie?)

Podsumowanie tematu

✨ Dyskusja dotyczy wyboru i obsługi zewnętrznych pamięci do mikrokontrolerów Atmel, ze szczególnym uwzględnieniem różnic między EEPROM, FLASH i FRAM oraz interfejsów komunikacyjnych I2C i SPI. FRAM jest pamięcią ferroelektryczną, działającą podobnie do SRAM, ale zachowującą dane po wyłączeniu zasilania, w przeciwieństwie do EEPROM i FLASH, które mają ograniczoną liczbę cykli zapisu. SPI oferuje wyższą szybkość komunikacji niż I2C, a pamięci oznaczone jako "serial" mogą wykorzystywać różne protokoły, niekoniecznie I2C, co wymaga sprawdzenia specyfikacji. W Atmelu można podłączyć pamięć SPI, jednak nie rozszerza ona automatycznie wewnętrznej pamięci RAM mikrokontrolera bez specjalnej obsługi programowej. Nie wszystkie mikrokontrolery AVR obsługują zewnętrzną pamięć RAM (XRAM), np. modele 8535, Mega64 i Mega128 tak, natomiast Mega32 nie. Wskazano również źródła i przykłady kodów w C do obsługi pamięci EEPROM i SPI, a także omówiono kwestie techniczne związane z podłączeniem pamięci zewnętrznej i jej wpływem na ładowanie programu do mikrokontrolera.
Wygenerowane przez model językowy.
REKLAMA