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

ATmega128 + RAM - kolejność linii w szynie adresowej

leonow32 20 Lip 2011 17:27 2319 6
  • #1 9739067
    leonow32
    Poziom 30  
    Mam ATmege128 i podłączam do niej dwie pamięci RAM 62256, których pinout jest widoczny niżej. Jednak kolejność wyprowadzeń tej pamięci niebardzo mi się uśmiecha i trzeba będzie zrobić wiele przelotek. Czy można sobie pozmieniać tę kolejność, żeby łatwiej zaprojektować płytkę?

    ATmega128 + RAM - kolejność linii w szynie adresowej
  • Pomocny post
    #2 9739187
    BoskiDialer
    Poziom 34  
    Myślę, że można zamienić pomiędzy sobą dowolne linie adresowe, tak samo jak można dowolnie zamienić pomiędzy sobą dowolne linie danych. Jest tak tylko z tego względu, że wśród adresów jak i danych nie ma żadnych poleceń sterujących pamięcią, a pamięć ma taki sam czas dostępu przy operacjach sekwencyjnych jak i losowych.

    Mieszanie linii adresowych będzie wprowadzać pewne przekształcenie, coś pokroju:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Jako że zamiana linii adresowych daje przekształcenie f które jest róznowartościowe, nie spowoduje to żadnej różnicy w działaniu (brak aliasowania komórek).

    Mieszając linie danych odpowiednie bity będą trafiać w inne miejsca w danej komórce pamięci, więc jest to coś pokroju:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Przesyłając dane do pamięci bity będą mieszane, ale podczas odczytu (przejście sygnału przez ścieżki ale w drugą stronę) ich porządek będzie przywracany.

    Z powyższych można wnioskować, że w przypadku pamięci statycznych nie trzeba dbać o kolejność prowadzenia linii adresowych oraz kolejność linii danych. Jedyna różnica może wystepować przy wstawianiu pamięci o mniejszej pojemności - wtedy luka w przestrzeni adresowej nie pojawi się na końcu, tylko będzie rozsiana po całej puli adresowej.
  • Pomocny post
    #3 9739218
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #4 9739254
    BoskiDialer
    Poziom 34  
    atom1477 napisał:
    Jeżeli te pamięci nie obsługują trybu zapisu/odczytu sekwencyjnego, to można pozamieniać.

    Chciałeś powiedzieć, jeśli te pamięci nie obsługują zapisu/odczytu losowego?

    Reszta się zgadza: pamięci dynamicznej nie można by tak podłączyć, jednak wspomniana w temacie pamięć jest pamięcią statyczną z możliwym zapisem/odczytem losowym oraz brakiem sekwencji sterujących (jak inicjalizacja, odświeżanie), więc bez problemu można mieszać linie.
  • #5 9739266
    leonow32
    Poziom 30  
    To zwykła pamięć SRAM. OK, pozmieniam kolejność żeby było mi wygodniej, a może uda się nawet zrobić to na płytce jednostronnej :) ciekawi mnie tylko czemu producent ustalił w dokumentacji taką kolejność a nie po ludzku? W szczególności A8 i A9 aż prosi się żeby zamienić miejscem z A12 i A14.
  • Pomocny post
    #6 9739302
    BoskiDialer
    Poziom 34  
    Rozumiem twoją ciekawość, jednak zauważ, że np pamięć 6116, która jest krótsza o dwie nogi z każdej strony oraz ma mniejszą pojemność, ma pokrywające się oznaczenia linii adresowych jak 62256. Zwiększając pojemność wydłużyli kość aby zrobić miejsce na dodatkowe linie adresowe, stąd nieporządek. W takim przypadku możliwe, że istniał etap przejściowy (w projektowaniu płytek), kiedy linię A13 można było rezystorem podpiąć do linii adresowej lub linii zasilającej, przez co można było wstawić jedną pamięć zamiast drugiej (chociaż widzę, że linię WE przesunięto). Numeracja jest utrzymana pewnie tylko ze względów historycznych, kto wie jak to wygląda w środku, czy tam linie nie są ze sobą pozamieniane.
  • Pomocny post
    #7 9739409
    tmf
    VIP Zasłużony dla elektroda
    W dodatku jak się spojrzy na rysunek poglądowy dekodera kolumn i wierszy tej pamięci to okazuje się, że już fabrycznie pomieszali kolejność linii adresowych.
    Dodam tylko, że tak samo możesz przemieszać linie danych w tej pamięci.
REKLAMA