реклама на сайте
подробности

 
 
> Плата захвата, как лучше сделать?
Vincent Vega
сообщение May 18 2005, 20:12
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 26-09-04
Пользователь №: 721



имеем поток 16-ти разрядных слов частотой 50 МГц
Необходимо по получению некой команды "захватить" эти данные во внутренний буфер, из которого потом эти данные надо будет как-то считать (при считывании скорость некритична).
"Захват" данных продолжается в течении 1 с, из чего путём несложных вычислений заключаем, что требуемый объём буфера 100 мегабайт.
Как бы это всё покрасивее организовать?

Пока думаю поставить две микросхемы 16-ти разрядной SDRAM-памяти. Сначала пишем полную страницу в первую микросхему (1024 слова), потом - пишем полную страницу во вторую, а для первой в это время выдаём команды подзарядки, обновления ACTIVATE, затем то же - со второй и т.д.

какие есть ещё решения?
с SDRAM-памятью раньше не работал, поэтому весьма слабо представляю, что ещё можно придумать
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
oval
сообщение May 19 2005, 15:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 15-03-05
Из: Москва
Пользователь №: 3 367



Вот какие варианты решения задачи пришли в голову:

1. Если требуется все реализовать на опорной частоте входного потока (т. е. 50МГц), тогда ставим два микросхемы SDRAM. Поочередно пишем то в одну, то в другую. Пока в одну пишем, другую регенерируем и наоборот. При этом не обязательно переключаться на другую микросхему после записи одной страницы. Главное здесь не превысить максимально допустимое время между последовательными регенерациями. Например, можем писать в одну до истечения максимально допустимого времени между циклами регенерации, параллельно циклически (непрерывно) производим полную регенерацию (всех строк всех банков) другой микросхемы. Еще лучше: делим максимально допустимый период регенерации для данного типа микросхемы (часто 64ms) на общее количество строк в микросхеме. Получаем время, через которое будем переключать между микросхемами и выполнять команду регенерации. Т. е. цикл доступа к одной микросхеме будет состоять из (к примеру): открываем все банки, последовательно пишем данные (в разные банки и разные строки), далее закрытие всех банков (PrechargeAll), далее команда регенерации (AutoRefresh). Смена микросхемы происходит перед закрытием всех банков текущей микросхемы. Вообщем, управление микросхемами осуществляется с наложением команд. Параллельно с принятием потока, можно умудряться еще и читать из микросхемы, в которую в данный момент не идет запись входного потока (разумеется, каналы управления и данных микросхем разделены). Схема хороша с точки зрения экономии энергии и не требует никаких буферов FIFO. Кстати, пока микросхема не используется ее можно еще и в SelfRefresh загнать. Данные храняться и энергия экономиться.
2. Если использовать одну микросхему, то придется поднимать тактовую частоту и ставить буфера FIFO. Проще сделать 100МГц и синхронно к опорной, тогда не придется мудрить с полностью асинхронными буферами FIFO. Можно найти и время для параллельного чтения, но потребуется механизм арбитража. Сложность управления памятью соответственно возрастет. Потребление схемы будет выше.

Вот. Удачи.
Go to the top of the page
 
+Quote Post
alexf
сообщение May 20 2005, 09:53
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(oval @ May 19 2005, 08:00)
ставим два микросхемы SDRAM. Поочередно пишем то в одну, то в другую. Пока в одну пишем, другую регенерируем и наоборот.


Если писать по адресам подряд, может регенерить и совсем не надо.
Смысл регенерации в обращении по всем адресам в одном направлении.
Или что то изменилось?
Go to the top of the page
 
+Quote Post
tonjo
сообщение May 20 2005, 10:36
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 22-11-04
Пользователь №: 1 190



Цитата(alexf @ May 20 2005, 12:53)
Если писать по адресам подряд, может регенерить и совсем не надо.
Смысл регенерации в обращении по всем адресам в одном направлении.
Или что то изменилось?
*


А как же пресловутые 64мс? Хотя ещё есть такой параметр: Auto Refresh Modes. Вы как раз его имеете ввиду?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 16:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016