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).
Odpowiedzi:
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 ):
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.
źródło
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.
źródło