Еще в 1970-х годах у Texas Instruments был уже снятый с производства ассортимент продукции, который они назвали GRAM (и эквивалентный только для чтения GROM), который в основном представлял собой стандартный чип памяти с адресом и данными, мультиплексированными на 8 контактов. Вы начинаете операцию, отправляя чипу два байта адреса, а затем каждый раз, когда вы посылаете импульсы на чтение или запись, он будет считывать или записывать байт с использованием шины, а затем увеличивать счетчик внутреннего адреса. В результате был получен чип памяти, который был почти таким же быстрым (по крайней мере, для операций с последовательным доступом), как стандартный чип параллельной памяти, но которому нужен только 16-контактный пакет, а не 28-контактный пакет, и другие аналогичные воспоминания того дня, необходимые ,
Сегодня для аналогичных приложений вы, вероятно, чаще всего используете последовательную память с доступом к SPI, но проблема в том, что такие памяти довольно медленные (большинство имеют максимальную пропускную способность около 20 Мбит / с; некоторые работают в два раза быстрее, но я не нашел ничего быстрее, чем это), в то время как современный эквивалент этих частей TI мог бы быть намного быстрее, чем легко, позволяя доступ со скоростью более 100 Мбит / с.
Существует ли что-нибудь, что еще находится в производстве и ведет себя так же, как эти чипы TI? Наиболее близкими на сегодняшний день являются детали специального назначения, например, VLSI 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 от многих производителей. Обратите внимание, что их производительность (максимальная скорость, число фиктивных циклов) и функции (Quad I / O или просто Dual I / O, поддержка DDR) будут различаться, поэтому проверьте таблицу данных.
ОЗУ немного сложнее найти, но все же доступно, особенно от Microchip (например, 23LC512 ), ON semi (например, N01S818HA ) и ISSI (например, IS62WVS2568GBLL-45 ). Хотя они медленнее, чем вспышка. Но 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 поддерживают это.
источник