Свежие обсуждения
Измерения

dso

1 2 3

Ну, ребята, вы и замахнулись... Проект у вас - будь здоров. Снимаю шляпу...
Для меня это настолько сложно, что уже перестаю понимать о чём речь...

Но по памяти, как мне кажется, нужно сразу ориентироваться на динамическую.
Да, управление сложнее, чем у статики. Но вспомните, например, любительские компьютеры "Радио-86РК", "Специалист", "Орион", "Спектрум"-ы...
Вывод: для динамической памяти, всего лишь, потребуется отдельная схемка - контроллер (возможно, типровая микросхема контроллера). А вместе такой блок будет представлять собой статическую память.
Зато, преимущества динамической памяти, думаю, вы и сами видите.

В крайнем случае, получив стандартные точки соединения памяти с остальной схемой, и исходя из того, что статическая память равна динамическая плюс контроллер, можно будет каждому выбирать по мере необходимости и цены: дешевле, проще, меньше история - берём статику, дороже, сложнее, больше история и, соответственно, сервиса - выбираем динамическую...

Хотя, я могу и ошибаться...

 

DWD>Да, управление сложнее, чем у статики. Но вспомните, например, любительские компьютеры "Радио-86РК", "Специалист", "Орион", "Спектрум"-ы...

SDRAM, мягко говоря, немножко отличается от К556РУ? (или чего там стояло); ссылку на документ с описанием SDRAM можно найти на предыдущей странице.

DWD>Вывод: для динамической памяти, всего лишь, потребуется отдельная схемка - контроллер (возможно, типровая микросхема контроллера). А вместе такой блок будет представлять собой статическую память.

Требования к которому -- запись _непрерывного_ потока данных (32 бит) на частоте 100МГц. Уверены, что это возможно в случае SDRAM? Я вот не уверен, о чем уже говорил.

 

DVM
SDRAM, мягко говоря, немножко отличается от К556РУ? (или чего там стояло)...

К565РУ5. 556-я серия это ПЗУ...
Конечно, отличается. Если для статики нужно было выставить только все сигналы, неспеша, и по последнему получить результат (чтение/запись), то для динамической, одна возня только с касами да расами чего стоила...
Но в сборе, когда все циклы выполняла жёсткая логика, и всё происходило, как бы, само собой, можно было, снова не спеша, выставить данные для записи или прочитать уже записанные.

Если мне не изменяет память, то минимальное время регенерации для этой серии было 2мс. В то же время, например, мой "Специалист" работал на частоте 4,5МГц. То есть, для работы памяти можно было бы, при необходимости, снизить тактовую частоту до, примерно, 500Гц! Получается, что разница между максимальной (или рабочей) частотой и минимальной частотой регенрации памяти довольно значительна. В данном случае, почти 9 тысяч раз.
Может, и современная динамическая память имеет запас по времени регенерации? Я уверен, что есть, вопрос - сколько?

Если что то не то сказал, сильно не бейте...

 

SDRAM не статика. Это синхронная динамическая память. Используется в современных ПК (разные варианты: PC-133, DDR). Можно выбрать ее. Можно синхронную статику -- типа той что ставили в качестве кэш-памяти Pentium II. Чтобы реально помочь в выборе, требуется как минимум изучить документацию на то и другое + понять, какие требования предъявляются к ОЗУ в данном приборе. Схемотехника "Радио-86РК", "Специалиста" и пр., увы, тут вряд ли чем-то поможет.

 

На "сахаре" проскочила ссылка http://www.elandigitalsystems.com/usb/usbscope50.php может пригодится.

 

DVM: SDRAM не статика. Это синхронная динамическая память. Используется в современных ПК (разные варианты: PC-133, DDR). Можно выбрать ее. Можно синхронную статику -- типа той что ставили в качестве кэш-памяти Pentium II.

Вот и я про тоже. Если мне память не изменяет (я собрал все от Радио86РК + Специалист + Орион 128 + ZX Spectrum + ATM Turbo), там при регенерации ОЗУ Проц не получал доступ к памяти. Здесь задача другая. Поэтому я и смотрю на статику. Причем - сколько ее нужно ? Ведь немного, так ведь ?

И надо договориться о едином формате разработоки. Чтоб потом было проще.

 

DVM
Можно синхронную статику -- типа той что ставили в качестве кэш-памяти Pentium II

Как то использовал кеш-память, только от 486-й машины. Какая то W24257-8, с циклом 8ns. Если считать период 16ns, то максимальная частота получится ~60МГц, а минимальная - ноль...

slava2005
Если мне память не изменяет (я собрал все от Радио86РК + Специалист + Орион 128 + ZX Spectrum + ATM Turbo), там при регенерации ОЗУ Проц не получал доступ к памяти.

Что значит, не получал? Если нет обращения к памяти, регенерация необходима. В случае обращения (запись/чтение), автоматически происходит и регенерация.
То есть, при потоковой записи (чтении), регенерация, как таковая, не нужна вообще.

Правда, я совершенно не знаю работу современных ОЗУ. Просто, перекладываю существовавшие проблемы старых ОЗУ на новые, с учётом естественного улучшения последних.

 

slava2005>Если мне память не изменяет (я собрал все от Радио86РК + Специалист + Орион 128 + ZX Spectrum + ATM Turbo), там при регенерации ОЗУ Проц не получал доступ к памяти.

Повторюсь -- не понимаю, зачем в контексте данной темы вспоминать эти ПК. Динамическая память, которая в них использовалась, очень мало похожа на современную SDRAM. Она была асинхронной, не имела пакетных режимов чтения/записи, нескольких банков, автоматической регенерации и многих других приятных вещей.

SDRAM позволяет писать страницу (строку) со скоростью 1 столбец / такт, если выбрать длину пакета равной 1 странице. Одна строка для 16-битной SDRAM 1024 * 16 бит. Тактовая частота может превышать 100МГц. Перед заполнением строки требуется:
1) Команда выбора банка и номера строки
2) Команда начала записи
После заполнения строки она должна быть "закрыта" командой PRECHARGE, если режим AUTO PRECHARGE не активирован.
Кроме того, периодически (8192 раз за 64мс, т.е. с интервалом 7.81мкс) требуется команда AUTO REFRESH. Альтернативный вариант -- генерировать пакет из 8192 команд AUTO REFRESH каждые 64мс.

Эта информация на основе даташита Micron, ссылкf на который была в этой теме. SDRAM других производителей управляется аналогично.

Запись непрерывного потока данных на тактовой частоте SDRAM невозможна, т.к. между записью страниц неизбежно возникает задержка на несколько тактов (команды ACTIVE и WRITE) + задержка на команды AUTO REFRESH. Данные от АЦП придется буферизовать, прогоняя через FIFO. FIFO можно организовать на встроенной в FPGA статической памяти. Неразрешимой проблемы не вижу, но мог что-либо упустить из виду или неправильно понять.

slava2005>Поэтому я и смотрю на статику. Причем - сколько ее нужно ? Ведь немного, так ведь ?

Чем больше тем лучше. Поэтому я и смотрю в строну SDRAM : - ) Готов отказаться от идее использовать SDRAM в случае, если на этом пути будут неразрешимые (в пределах разумных затрат времени и ресурсов) проблемы.

slava2005>И надо договориться о едином формате разработоки. Чтоб потом было проще.

То есть, какую САПР использовать? Я бы предложил EAGLE с freeware лицензией. В крайнем случае, можно подумать о более мощных (далеко не бесплатных) пакетах -- ОrСAD, PCАD-200x, Prоtel DХP; Понятно, что они у нас все равно "бесплатные", но все же..

DWD>Как то использовал кеш-память, только от 486-й машины.

Там она асинхронная была.

 

>Запись непрерывного потока данных на тактовой частоте SDRAM невозможна, т.к. между записью страниц неизбежно
Несколько идей:

1.А если кол-во ножек FPGA позволяет, то почему бы не сделать 2 канала подключения SDRAM -- первый пишется, а второй в это время готовится?

2. Ну и хрен с этой изохронностью, 1024 слова -- приличная выборка для стробоскопического режима. После этих 1024 -- подготовка к следующему циклу, со своей синхронизацией и микросмещением по времени.

 

IDiod>если кол-во ножек FPGA позволяет, то почему бы не сделать 2 канала подключения SDRAM -- первый пишется, а второй в это время готовится?

Количество ножек, в теории, позволяет. Вот развести все это на двухслойной плате и заставить нормально работать на тактовой 100МГц уже сложнее; желательно использовать не более 60% ножек.

Пока больше склоняюсь к варианту: 1 микросхема SDRAM, если получится достать 32 битную или 2 16-ти битных с обшей шиной адреса. Изохронность обеспечить за счет FIFO. Размер FIFO конечно же пропорционален размеру ОЗУ и отношению числа тактов задержки к числу тактов записи. Встроенной памяти FPGA должно хватить.

IDiod>Ну и хрен с этой изохронностью, 1024 слова -- приличная выборка для стробоскопического режима.

Тогда вообще нет смысла внешнее ОЗУ ставить: внутри FPGA EP1C6 92160 бит статической памяти.
Идея то, изначально -- максимальные возможности в НЕ стробоскопическом режиме.
Скажем, обеспечить запись осциллограммы в течении ~0.1сек при fs > 60МГц с двух 10-битных каналов; на ПК передавать не осциллограмму целиком, а ее изображение (в виде набора координат) на заданном интервале.