Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR][BASCOM] - Dodatkowa pamięć RAM

panti1801 16 Wrz 2012 15:12 1632 6
  • #1 16 Wrz 2012 15:12
    panti1801
    Poziom 14  

    Witam

    Potrzebuję do uC podłączyć zewnętrzny RAM o pojemności 64kB (tyle max obsługuje BASCOM), ale nigdzie nie mogę dorwać takiej kostki. Myślałem o zakupie kości 128kB i tutaj rodzi się moje pytanie, czy podłączając tylko linie A0-A15 pomijając A16 i ustawiając w kompilatorze "$xramsize = &HFFFF" kość będzie pracowała poprawnie i będzie obsługiwana jako 64kB?

    Jeśli temat umieściłem w złym dziale to proszę o przeniesienie.

    Z góry dzięki za pomoc.

    0 6
  • #2 16 Wrz 2012 17:41
    tmf
    Moderator Mikrokontrolery Projektowanie

    Będzie pracowała poprawnie, z tym, że linię A16 musisz wysterować stałym poziomem a nie pozostawić pływającą. Można ją też podpiąć pod port IO i mieć 2 banki po 64 kB.

    0
  • #3 16 Wrz 2012 23:25
    panti1801
    Poziom 14  

    Czyli A16 podpinam do dowolnego wolnego pinu i ustawiam na stałe na nim stan wysoki czy niski?

    0
  • #4 17 Wrz 2012 12:09
    SylwekK
    Poziom 29  

    W zależności od stanu linii A16 będziesz miał dostępny albo pierwszy obszar 64kb albo drugi tak jak napisał tmf - czyli będziesz mógł w praktyce wykorzystać całe 128kb tyle, że jednorazowo max 64KB.

    0
  • #5 17 Wrz 2012 13:48
    panti1801
    Poziom 14  

    Czyli tworzę sobie przykładowo tablicę "dim tablica(65535) as Byte", zapisuję ją danymi do pełna, zmieniam stan na A16 i zapisuję ją jeszcze raz innymi danymi, wtedy pod tą samą tablicą (zmieniając stan A16) mogę odczytywać dwie różne paczki danych?

    Jeżeli coś sknociłem to poprawcie mnie :wink:

    0
  • #6 17 Wrz 2012 14:09
    LordBlick
    VIP Zasłużony dla elektroda

    No nie jest tak do końca, musiałbyś obsługiwać tą pamięć "na piechotę", czyli poza wywołaniami systemowymi przez sterowanie liniami adresowymi i obsługą danych, aby użytkować ją w pełni - nie zapominajmy, że stos jest również w RAM, oraz część pamięci zewnętrznej będzie przysłonięta wewnętrzną.

    0
  • #7 17 Wrz 2012 14:25
    panti1801
    Poziom 14  

    LordBlick napisał:
    ...nie zapominajmy, że stos jest również w RAM, oraz część pamięci zewnętrznej będzie przysłonięta wewnętrzną.

    Słuszna uwaga. W takim razie odpuszczę sobie połowę tego RAMu, 64kB wystarczy.

    Dziękuję wszystkim za pomoc. Temat zamykam.

    0