Równoległa pamięć RAM bez dużej liczby pinów?


16

W latach siedemdziesiątych Texas Instruments miał wycofaną z oferty serię produktów, które nazwali GRAM (i tylko do odczytu GROM), który był w zasadzie standardowym układem pamięci z adresem i danymi zmultipleksowanymi na 8 pinach. Rozpocząłbyś operację od wysłania chipowi dwóch bajtów adresu, a następnie za każdym razem, gdy pulsowałeś pin odczytu lub zapisu, czytał lub zapisywał bajt za pomocą magistrali, a następnie zwiększał licznik adresu wewnętrznego. W rezultacie powstał układ pamięci, który był prawie tak szybki (przynajmniej w przypadku operacji dostępu sekwencyjnego), jak standardowy układ pamięci równoległej, ale który potrzebuje jedynie pakietu 16-stykowego, a nie pakietów 28-stykowych - potrzebne są inne podobne wspomnienia dnia .

Dzisiaj, dla podobnych aplikacji, prawdopodobnie najczęściej używasz pamięci szeregowej z dostępem do SPI - ale problem polega na tym, że takie pamięci są dość powolne (większość ma maksymalną przepustowość około 20 Mb / s; niektóre działają tak szybko, jak dwa razy, ale nie znalazłem żadnej szybciej), podczas gdy współczesny odpowiednik tych części TI mógłby być znacznie szybszy, umożliwiając łatwy dostęp do prędkości 100 + Mbit / s.

Czy istnieje coś, co wciąż jest w produkcji i które zachowuje się podobnie do tych układów TI? Najbliższe, jakie mogę dziś znaleźć, to części niestandardowe, np. VLSI VS23S010D , który łączy w sobie urządzenie pamięci obsługujące rodzaj interfejsu, którego szukam, wraz ze sterownikiem ekranu, który ustawia liczbę pinów do 48 pinów. Idealnie szukam czegoś w pakiecie 14 lub 16 pinów (myślę, że 14 to realistyczne minimum - 2x moc, 8x dane, zegar, wybór adresu, bajt odczytu, bajt zapisu).


Mikrokontroler MC68HC11 miał irytujący multipleksowany adres + szynę danych podobną do opisanej przez ciebie, taka pamięć byłaby do tego niesamowita.
rura

ale 68HC11 tylko zmiksował A0..7; A8..15 nadal były oddzielnymi pinami.
am

Odpowiedzi:


19

Odpowiednim standardowym rozwiązaniem jest prawdopodobnie QSPI (zwany także QPI lub SQI). Jest to nieco rozszerzenie interfejsu SPI, ale wykorzystuje cztery (czterokrotnie, stąd Q w akronimie) bity danych (IO0 / IO1 / IO2 / IO3) zamiast jednego sygnału dla każdego kierunku (MISO / MOSI).

Tak więc układy są bardzo małe (zazwyczaj SO-8), a interfejs jest bardzo wydajny: musisz wysłać adres dla każdej komendy odczytu lub zapisu, ale wtedy możesz odczytać wiele bajtów w serii, cztery bity w każdym cyklu zegara. Maksymalna prędkość zegara wynosi zwykle ~ 104 MHz dla lampy błyskowej. Może być jeszcze szybszy przy użyciu sygnalizacji Dual Data Rate (cztery bity na każdej krawędzi zegara, zarówno rosnące, jak i opadające: więc osiem bitów przy każdym cyklu zegara - zazwyczaj w tym trybie chipy flash osiągają maksymalną częstotliwość 80 MHz).

Arkusze danych układu zawierają wszystkie szczegóły dotyczące dokładnego znaczenia / wykorzystania każdego sygnału. Aby to zilustrować, oto schemat taktowania komend odczytu (w trybie pojedynczej szybkości przesyłania danych i pobrany z tego arkusza danych ):

wprowadź opis zdjęcia tutaj

Tutaj widzisz, że potrzebujesz 14 cykli zegara, aby uzyskać pierwszy bajt (przy 80 MHz oznacza to czas dostępu 175ns). Ale jeśli potrzebujesz więcej bajtów, po prostu dodaj 2 cykle na bajt (25ns). Czytanie w trybie seryjnym sprawi, że będzie to znacznie szybsze niż typowy układ równoległy flash 70ns, a nawet 45ns flash.

Korzystając z tego interfejsu, możesz łatwo znaleźć części flash NOR wielu producentów. Należy pamiętać, że ich wydajność (maksymalna prędkość, liczba cykli zastępczych) i funkcje (Quad I / O lub po prostu Dual I / O, obsługa DDR) będą się różnić, więc sprawdź arkusz danych.

Pamięć RAM jest nieco trudniejsza do znalezienia, ale wciąż dostępna, zwłaszcza od Microchip (np. 23LC512 ), ON semi (np. N01S818HA ) i ISSI (np. IS62WVS2568GBLL-45 ). Są jednak wolniejsze niż flash. Ale ISSI, które sugeruję powyżej, nadal dochodzi do 45 MHz (pojedyncza szybkość danych) z pozornie minimalnym cyklem odczytu wymagającym 11 taktów dla pierwszego bajtu. Lub inaczej: 200ns + 45ns na bajt (przepustowość 180 Mb / s), co nie jest złe i przekracza wskazaną prędkość GRAM.

Należy również pamiętać, że wiele zaawansowanych MCU (od NXP, ST, ...) obsługuje ten interfejs sprzętowo.


Tak, to wygląda dokładnie tak, jak chciałem. Dzięki. :)
Jules

Innym dość podobnym interfejsem jest 4-bitowa szyna SD.
Dmitry Grigoryev

@DmitryGrigoryev Zgadza się. Ale nie sądzę, żebyś mógł znaleźć układy RAM, które by do tego pasowały. Prawdopodobnie są tylko chipy flash NAND (eMMC).
słaba utrata wiary w SE

@dim - rozumiem (na podstawie interfejsów QSPI ST), że są one do odczytu / zapisu (nie tylko do odczytu) - RAM vs Flash też nie powinny mieć większego znaczenia
ThreePhaseEel

@ThreePhaseEel Masz rację: w układach ST interfejs QSPI można ustawić w jednym z dwóch trybów: tryb pośredni (uruchamiasz polecenia do układu poprzez jawne ustawienie niektórych rejestrów) oraz tryb mapowania pamięci (interfejs Flash automatycznie tłumaczy dostęp do pamięci do poleceń odczytu). W trybie mapowania pamięci podręcznik referencyjny wyraźnie stwierdza, że ​​dozwolony jest tylko odczyt. Jednak w trybie pośrednim możesz wysłać dowolne polecenie (odczyt / zapis / cokolwiek innego), jak wspomniałeś. Będę odpowiednio edytować.
słaba utrata wiary w SE

2

Podaję to jako kolejną odpowiedź, ponieważ jest to coś zupełnie innego.

Istnieje inny, ale rzadziej spotykany interfejs, który również ładnie pasuje do twojego opisu: HyperBus , zaprojektowany przez Cypress (jest zastrzeżony).

Ten wykorzystuje DDR przy znacznie wyższych prędkościach (do 166 MHz) i 8-bitowej magistrali. Możesz więc osiągnąć 2666 Mbit / s (wow!), Co pozostawia QSPI daleko w tyle. Jest również przeznaczony do DRAM o większej gęstości niż do SRAM, dzięki czemu można znaleźć układy 8 M x ​​8 (w porównaniu z 256k x 8 dla SRAM ISSI QSPI wspomnianej w innym poście). Wykorzystuje tylko 12 sygnałów (z wyłączeniem napięć zasilania).

Oto produkt HyperRAM od ISSI: IS66WVH8M8ALL . Istnieją również produkty HyperFlash, które można znaleźć.

Ale jesteśmy w innej kategorii produktów. Jest to droższe, trudniejsze do uzyskania źródło, układy są zazwyczaj BGA, a interfejs jest nieco bardziej złożony (ze względu na wysoką prędkość i DDR). Obsługuje to także mniej MCU.


Istnieją 8-bitowe wersje QSPI flash od wielu dostawców, które pod względem wydajności są bardzo podobne do „HyperBus”.
Timmy Brolin,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.