Еще в 1970-х годах у Texas Instruments был ассортимент продуктов, которые сейчас сняты с производства, которые они называли GRAM (и эквивалент GROM только для чтения), которые представляли собой стандартную микросхему памяти с адресом и данными, все мультиплексированные на 8 выводах. Вы бы начали операцию, отправив чипу два байта адреса, а затем каждый раз, когда вы импульсно считывали или записывали вывод, он считывал или записывал байт, используя шину, а затем увеличивал внутренний счетчик адреса. Результатом стал чип памяти, который был почти таким же быстрым (по крайней мере, для операций последовательного доступа), как и стандартный чип параллельной памяти, но для которого требовался только 16-контактный корпус, а не 28-контактный корпус, который требовался другим аналогичным устройствам памяти того времени. .
Сегодня для подобных приложений вы, вероятно, чаще всего будете использовать последовательную память с доступом по SPI, но проблема в том, что такая память довольно медленная (максимальная пропускная способность большинства из них составляет около 20 Мбит/с; некоторые работают вдвое быстрее, но я не нашел ничего быстрее), тогда как современный эквивалент этих частей TI может быть намного быстрее, легко обеспечивая доступ со скоростью 100+ Мбит / с.
Существует ли что-нибудь, что все еще находится в производстве и ведет себя так же, как эти чипы TI? Самое близкое, что я могу найти сегодня, это детали нестандартного назначения, например, СБИС VS23S010D , которая сочетает в себе устройство памяти, поддерживающее тип интерфейса, который я ищу, вместе с драйвером дисплея, который увеличивает количество контактов до 48. В идеале я ищу что-то в корпусе с 14 или 16 контактами (я думаю, что 14 — это реалистичный минимум — 2x мощность, 8x данные, часы, выбор адреса, чтение байта, запись байта).
Подходящим стандартным решением, вероятно, является QSPI (также называемый QPI или также SQI). Это несколько расширение интерфейса SPI, но использует четыре (четырехкратных, отсюда и буква Q в аббревиатуре) битов данных (IO0/IO1/IO2/IO3) вместо одного сигнала для каждого направления (MISO/MOSI).
Таким образом, микросхемы очень маленькие (обычно SO-8), а интерфейс очень эффективен: вам нужно отправлять адрес для каждой команды чтения или записи, но тогда вы можете считывать несколько байтов пакетом, по четыре бита за каждый такт. Максимальная тактовая частота обычно составляет ~ 104 МГц для флэш-памяти. Его можно сделать еще быстрее, используя сигнализацию с двойной скоростью передачи данных (четыре бита на каждом фронте тактового сигнала, как нарастающие, так и падающие: таким образом, восемь битов на каждый тактовый цикл — как правило, чипы флэш-памяти работают на максимальной частоте 80 МГц в этом режиме).
Техническое описание чипа предоставит все подробности о точном значении/использовании каждого сигнала. Для иллюстрации приведем временную диаграмму команды чтения (в режиме одиночной скорости передачи данных, взятую из этого описания ):
Здесь вы видите, что вам нужно 14 тактовых циклов, чтобы получить первый байт (при 80 МГц это означает время доступа 175 нс). Но если вам нужно больше байтов, просто добавьте 2 цикла на байт (25 нс). Таким образом, чтение в пакетном режиме сделает его намного быстрее, чем типичный 70-нс или даже 45-нс параллельный чип флэш-памяти.
Используя этот интерфейс, вы можете легко найти детали флэш-памяти NOR от многих производителей. Обратите внимание, что их производительность (максимальная скорость, количество фиктивных циклов) и функции (четырехканальный ввод-вывод или только двойной ввод-вывод, поддержка DDR) различаются, поэтому сверяйтесь с техническим описанием.
Оперативную память найти немного сложнее, но она все же доступна, особенно от Microchip (например , 23LC512 ), ON semi (например , N01S818HA ) и ISSI (например , IS62WVS2568GBLL-45 ). Однако они медленнее, чем flash. Но ISSI, который я предлагаю выше, по-прежнему достигает 45 МГц (одинарная скорость передачи данных) с, по-видимому, минимальным циклом чтения, требующим 11 тактов для первого байта. Или скажем иначе: 200нс + 45нс на байт (пропускная способность 180Мбит/с), что неплохо, и превышает указанную вами скорость GRAM.
Также обратите внимание, что многие микроконтроллеры высокого класса (от NXP, ST, ...) поддерживают этот интерфейс аппаратно.
Я публикую это как еще один ответ, потому что это нечто совершенно другое.
Есть еще один, менее распространенный интерфейс, который также хорошо подходит под ваше описание: HyperBus , разработанный Cypress (он является собственностью).
Этот использует DDR на гораздо более высоких скоростях (до 166 МГц) и 8-битную шину. Таким образом, вы можете достичь 2666 Мбит / с (вау!), что оставляет QSPI далеко позади. Он также предназначен для DRAM с более высокой плотностью, а не для SRAM, поэтому вы можете найти чипы 8M x 8 (против 256k x 8 для ISSI QSPI SRAM, упомянутого в другом посте). Он использует только 12 сигналов (исключая напряжения питания).
Вот продукт HyperRAM от ISSI: IS66WVH8M8ALL . Вы также можете найти продукты HyperFlash.
Но мы по другой категории продуктов. Он более дорогой, менее доступный, чипы, как правило, BGA, а интерфейс немного сложнее (из-за высокой скорости и DDR). Кроме того, меньше MCU поддерживают это.
трубка
я