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.

Różnica w adresowaniu dla AM29F040 vs PM49FL004

rs232 14 Oct 2021 13:00 57 4
  • #1
    rs232
    Level 10  
    Witam

    Chciałbym w swoim projekcie użyć pamięci PM49FL004 zamiast uprzednich AM29F040 i pojawił się problem adresowania, mianowicie AM29F040 ma adresy od A0 do A18 natomiast PM49FL004 od A0 do A10 wraz z dodatkową linią RC do wyboru kolumn lub wierszy jeżeli chodzi o wskazany adres.

    Chciałbym używać tych pamięci zamiennie nawet kosztem dołożenia dodatkowej logiki wyłącznie dla PM49FL004, tylko aktualnie nie jest dla mnie jasny ten sposób adresowania, przyjmijmy że na linii RC mam stan niski i adresuje wiersze w zakresie A0-A10, natomiast jak mam stan wysoki na RC to kolumny w zakresie A0-A10 - czy to poprawne rozumowanie ? Jak zatem adresować i sterować linią RC dla PM49FL004 tak aby odpowiadało to zakresowi A0-A18 jak w przypadku AM29F040 ?


    Pomijam inny zakres napięć pracy bo to nie stanowi ograniczenia.
  • Helpful post
    #2
    stachu_l
    Level 21  
    Sygnał RC w trybie pracy A/A MUX jest aktywny zboczem. Zgodnie z obrazkami z Datasheet trzeba wystawić ROW address i wtedy opadające zbocze RC zatrzaskuje bity ROW, potem wystawiamy COLUMN i odpuszczamy RC.
    Niestety w DS nie znalazłem jak dokładnie adresy są implementowane ale przypuszczam, ze trzeba wystawiać wszystkie adresy kolumn (A10-A0) an dla wierszy pozostałe 8 adresów czyli adresy AN29F040 (A18-A11) mapują się na (A7-A0) ROW. Jeszcze jest taka możliwość, że układ nie używa linii A10 i trzeba wstawić 10 adresów COLUMN i 9 ROW ale raczej tak nie jest bo dla rożnych pojemności pamięci z tym samym interface trzeba by inaczej multipleksować adresy.

    Jesteś świadom, że takie adresowanie powoduje opóźnienie w dostępie do danych - możesz wstrzymać swój system aby poczekał?

    Czy w swoim projekcie chcesz także programować te kości? Zobacz na inne przebiegi dla AM i PM przy kasowaniu i programowaniu bloków, także użycie linii RC przy programowaniu. Trochę logiki trzeba dodać.
  • #3
    yego666
    Level 33  
    Data sheet na stronie 7 w paragrafie BYTE PROGRAMMING mówi co następuje:

    The row address (A10 - A0) is latched on the
    falling edge of R/C# and the column address (A21 - A11)
    is latched on the rising edge of R/C#.

    W połączeniu z wyjaśnieniem Kolegi powyżej chyba masz komplet informacji.
    Zalecam jednak dokładne zapoznanie się z DS, bo układ jest nieco bardziej złożony niż typowy flash.
  • #4
    rs232
    Level 10  
    Dzięki za odpowiedzi, w układzie tylko będę realizował odczyt.
    Zatem zgodnie z tym poniżej dla linii RC,

    Różnica w adresowaniu dla AM29F040 vs PM49FL004

    Różnica w adresowaniu dla AM29F040 vs PM49FL004

    jeżeli na RC jest stan "low" to mam A[10:0], w przypadku gdy RC jest w stanie "high" to mam A[21:11] na tych samych pinach. Zatem czy poniższe rozumowanie jest poprawne ?

    Gdy na RC mam "low":

    Różnica w adresowaniu dla AM29F040 vs PM49FL004

    Gdy na RC mam "high" :

    Różnica w adresowaniu dla AM29F040 vs PM49FL004
  • #5
    stachu_l
    Level 21  
    No nie do końca - wyraźnie jest napisane o zboczach sygnału - zobacz sobie przebiegi czasowe sygnałów dla odczytu i ewentualnie zapisu.
    Sekwencja jest taka, że przy sygnale R/C# high wystawiasz adresy A[10:0] na linie adresowe, wysterowujesz low na #OE albo #WE (odczyt / zapis) i w tym momencie zmieniasz R/C# na low - twoje adresy A[10:0] zatrzaskują się w wewnętrznym rejestrze pamięci. Potem na linie adresowe wystawiasz adresy kolumny A[21:11] i zmieniasz R/C# na high - to zbocze zatrzaskuje starsze adresy i pamięć może wybrać komórkę do odczytu (zapisu)
    Na wykresie czasowym widać jakie są wymagane odstępy czasu miedzy stabilnym adresem na liniach a zmianą R/C# a także inne czasy jak zależności czasowe sygnału OE, WE czy kiedy pojawią się dane na szynach I/O.