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

Jak podłączyć i używać zewnętrzną pamięć EEPROM 64kB z mikrokontrolerem ATmega16?

dturczak 23 Kwi 2005 16:45 2184 15
REKLAMA
  • #1 1430536
    dturczak
    Poziom 19  
    Posty: 416
    Pomógł: 9
    Ocena: 5
    mam atmega16 i chce zeby podlaczyc do niego Pamięć EEPROM 64kB
    .poprostu musze miec zewnetrzna..Jak zrobic zeby kontroler byl sterowany z tej zewnetrznej a nie z tej 16kb wewnatrz.... jakie polaczenie i co wogole..
  • REKLAMA
  • #2 1430579
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Chodzi Ci o pamiec programu ? Chcesz wykonywac program z zewnetrnej pamieci EPROM (EEPROM to jeszcze cos innego)
    Musze Cie zmartwic. Zaden uC z rodziny AVR nie potrafi wykonywac programu z zewnetrznej pamieci. Niektore kostki maja interfejs do pamieci RAM ale tez z niej nie potrafia wykonywac programu, jedynie przechowywac zmienne.
    Pozdro
    Dexter
  • #3 1430591
    karlos79
    Poziom 33  
    Posty: 1768
    Pomógł: 254
    Ocena: 77
    Dołącze się do tematu z następującym pytaniem.
    Jak sprawnie realizować komunikacje po magistrali I2C z zewnętrzną pamięcia typu 24C04 i procesorem AT90S2313?
    Programuje w bascomie.
  • #4 1430960
    dturczak
    Poziom 19  
    Posty: 416
    Pomógł: 9
    Ocena: 5
    no to lipa.... :( a jak dotad uwazalem ze cos innego niz avr'ka nie potrzebuje..... a jednak ;)
    a co do pytania karlosa79 tez chetnie bym cos o tym jeszcze poczytal ;)
    pozdro
  • REKLAMA
  • #5 1431380
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Zajżyj do bascom college, tam kiedyś było to opisane krok po kroku
  • #6 1431476
    karlos79
    Poziom 33  
    Posty: 1768
    Pomógł: 254
    Ocena: 77
    Kolego McRancor tak sie składa że mam ten kurs, ja szukam informacji dla procesorów AVR.
    Dokładnie interesuje mnie sposób adresowania urządzeń pracujących na magistrali I2C, chciałem zacząć od epromów.
  • REKLAMA
  • #8 1431820
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Pod tym względem Bascom 8051 i AVR nie różni się wogóle, poza tym w helpie do bascoma AVR jest przykład jak zapisywać i odczytywać akurat 24C04, a skoro masz ten kurs to masz tam wszystko ładnie objaśnione, już dalej pod nos się podsunąć nie da...
  • #9 1431839
    karlos79
    Poziom 33  
    Posty: 1768
    Pomógł: 254
    Ocena: 77
    Doczytałem troche w helpie i poszło wszystko pięknie działa.
    Dzięki za pomoc.
    Pozdrawiam
  • #10 2810152
    moabie
    Poziom 11  
    Posty: 109
    Pomógł: 1
    Ocena: 19
    Odświeżam temat, przy czym mnie interesuje zewnętrzna pamięć programu dla 89C4051 - w specyfikacji nie widziałem nic na ten temat, da się podłączyć, czy nie? I co o tym decyduje, że jeden procek może, a drugi nie?

    Jeśli uparłbym się przy użyciu 89C4051 (mam programator i pewne doświadczenie na nim), to jest jeszcze jakaś inna możliwość poradzenia sobie z niewystarczająco dużą pamięcią programu?

    Optymalizuję tak bardzo, jak tylko potrafię, ale mimo wszystko trochę braknie. Gdzieś czytałem o stosowaniu 2 prockow, z podziałem na role, ma to sens, stosuje to ktoś i z jakim powodzeniem?
  • #11 2810392
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Nie da się wepchać do 4051 więcej pamięci, bo nie ma wyprowadzonej do tego magistrali danych i adresowej.

    Zastosuj większy procesor, rdzeń ten sam tylko więcej nóg i pamięci, jest tego do wyboru do koloru.

    2 procki i podział na role to sztuka dla sztuki, przy obecnej niskiej cenie i mnogości mikrokontrolerów uważam że nie ma sensu - świat elektroniki idzie w drugą stronę - SOC - System On Chip, a nie rozdrabniać
  • #12 2810396
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    moabie napisał:
    I co o tym decyduje, że jeden procesor może, a drugi nie?
    Jak producent procka nie przewidzial szyny adresow, danych i sterujacej oraz mozliwosci wykonywania programu z zewn. pamieci, to nie przeskoczysz.

    moabie napisał:
    Jeśli uparłbym się przy użyciu 89C4051 (mam programator i pewne doświadczenie na nim), to jest jeszcze jakaś inna możliwość poradzenia sobie z niewystarczająco dużą pamięcią programu?
    W atkiej sytuacji bierze sie inny procesor, bo zwykle jest to tansze od jakichkolwiek "niekoszernych" kombinacji.

    moabie napisał:
    Gdzieś czytałem o stosowaniu 2 prockow, z podziałem na role, ma to sens, stosuje to ktoś i z jakim powodzeniem?
    Wszyscy to stosuja jesli program poddaje sie takiej dekompozycji i jesli ekonomia na tym zyskuje, ale wydaje mi sie ze jeden wiekszy proc zwykle jest lepsza opcja ze wzgledu na czytelnosc rozwiazania i na koszty.
    "Poleciec mozna i na drzwiach od stodoly, tylko po co, skoro sa samoloty ?"

    pozdrawiam, yego
  • REKLAMA
  • #13 2810451
    moabie
    Poziom 11  
    Posty: 109
    Pomógł: 1
    Ocena: 19
    Nie proponowałem tych rozwiązań z czystego widzimisię, tylko właśnie ze względu na posiadany programator do małych atmeli '51, środowisko w którym piszę (BASCOM) z wszystkimi udogodnieniami, które daje (znam niepochlebne opinie na jego temat, ale mi póki co w zupełności wystarcza i skraca czas pisania programów dzięki rozbudowanym funkcjom), dotychczasowe projekty na 4051, z którymi każdy następny jest pisane dwa razy krócej (a co w przypadku nowego procka będzie miało skutek przeciwny), itd.
    Rozumiem więc i nawet zgadzam się, że jeśli jest lepszy/większy uk, który bardziej się do czegoś nadaje, to się go bierze i nie kombinuje, ale też chciałem 'oklepać' jeden typ uk, a nie do każdego projektu szukać innego + progr. + nauka o nim + itd..
  • #14 2810746
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 131
    To zainteresuj się rodziną '51 wyposażoną w ISP ... szczególy na stronie Atmela.
  • #15 2810908
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Przecież Baskom obsługuje inne procki niż 4051, chociażby 89S51, do którego zmienisz plik regfile w baskomie i wbijesz ten sam program co do 4051,tylko wygodnie w systemie po ISP i po problemie, a że brakuje miejsca - taka cena szybkiego pisania programów.

    Jeden typ uk czy jeden konkretny produkt? bo rodzai procesorów zgodnych z 8051 i 52 jest chyba najwięcej ze wszystkich.
  • #16 3564106
    moabie
    Poziom 11  
    Posty: 109
    Pomógł: 1
    Ocena: 19
    Kupiłem nowy, uniwersalny programator (na małe i duże uk-y), obecnie pracuję na AT89S8253 z 12kB pamięcią programu i to - póki co - rozwiązuje wszystkie moje problemy,
    dzięki wszystkim za odpowiedzi.

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono temat podłączenia zewnętrznej pamięci EEPROM 64kB do mikrokontrolera ATmega16. Wyjaśniono, że mikrokontrolery AVR, w tym ATmega16, nie umożliwiają wykonywania programu bezpośrednio z zewnętrznej pamięci EEPROM, gdyż nie posiadają odpowiedniej magistrali adresowej i danych do tego celu. Zewnętrzna pamięć EEPROM może służyć do przechowywania danych, a komunikacja z nią odbywa się najczęściej przez magistralę I2C (TwoWire). Przykłady obsługi pamięci 24C04 w BASCOM AVR zostały wskazane jako pomocne źródło. W dalszej części dyskusji poruszono temat mikrokontrolerów rodziny 8051, gdzie również brak jest możliwości rozszerzenia pamięci programu poprzez zewnętrzną pamięć, jeśli procesor nie ma wyprowadzonej magistrali adresowej i danych. Zamiast tego rekomendowano wybór większego mikrokontrolera z większą pamięcią wewnętrzną lub ewentualnie zastosowanie dwóch procesorów z podziałem funkcji, choć jest to mniej praktyczne. Podkreślono, że obecnie popularne są rozwiązania typu SoC (System On Chip) z dużą pamięcią wewnętrzną. Wskazano także na możliwość użycia mikrokontrolerów z rodziny 89S51 z ISP jako alternatywę dla starszych modeli 89C4051.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA