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

 
 
> SDRAM и равномерный поток данных, можно ли организовать.
zuy
сообщение Dec 23 2007, 09:17
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Есть задача. Надо на фиксированной частоте(50 или 100 МГц) на 8 бит шину выдавать данные.
Очень критично, чтобы данные шли строго равномерно во времени с одинаковыми промежутками между байтами.
Одна из идей, поместить массив данных размером 100МБ в SDRAM, на асме написать процедуру, которая будет эту память читать в цикле байт за байтом и т.о. на шине памяти мы и получим необходимую последовательность байт.
Вопрос в том, можно ли так настроить контроллер SDRAM контроллеров AT91RM9200 или AT91SAM9260 чтобы из памяти данные выходили равномерно?
Почитав описания я понял, что могут помешать две вещи:
1. При циклическом чтении, по достижении границ страницы или строки, контроллер памяти указанных процессоров будет генерировать команду precharge, потом заново активировать строку и давать новую команду чтения. Этот процесс заберет в сумме 8 тактов. Т.о. в потоке данных будут появляться пробелы.

2. Авто рефреш. Я должен буду настроить количество тактов через которое контроллер будет передавать в SDRAM команду ато рефреша, что так же сделает паузу в выходе данных на 16 тактов.

Верны ли мои опасения, что таким подходом не получить равномерного потока данных или я что-то не допонял в работе SDRAM и указанных выше контроллеров?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
PSP
сообщение Dec 23 2007, 11:55
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 1-10-07
Пользователь №: 30 988



Вы не указали необходимую точность "строго равномерно во времени с одинаковыми промежутками между байтами". Но наверняка эту задачу нужно решать используя внешний или внутренний (если есть) буфер FIFO с тактированием требуемой частотой.
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 24 2007, 05:00
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



На грабли с FIFO наступают пользователи процессоров ADSP2191 и BF531/532.
У этих процессоров FIFO состоит из четырёх слов, которые процессор заполняет равномерно, затем делает паузу и выдаёт наружу.
Go to the top of the page
 
+Quote Post
zuy
сообщение Dec 24 2007, 07:30
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Цитата(PSP @ Dec 23 2007, 15:55) *
Вы не указали необходимую точность "строго равномерно во времени с одинаковыми промежутками между байтами". Но наверняка эту задачу нужно решать используя внешний или внутренний (если есть) буфер FIFO с тактированием требуемой частотой.


Немного перефразирую насчет точности.
Нужно(а точнее очень хочется) чтобы данные на шине появлялись по тактам. В пределах одного периода тактового сигнала, точность не критична, но главное, чтобы не было пропущеных ттактов.
Другими словами при частоте 100МГц на шину должно выйти 100 миллионов байт.
Go to the top of the page
 
+Quote Post
PSP
сообщение Dec 24 2007, 15:39
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 1-10-07
Пользователь №: 30 988



При таких условиях без какого-либо FIFO не обойтись.
Go to the top of the page
 
+Quote Post
WEST128
сообщение Dec 25 2007, 13:27
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291



Вашу задачу лучше реализовать не на контроллерах, а на ПЛИС. Особенно если интересуют скорости 100 и более МГц тактовой. В принципе, на Блекфине можно реализовать непрерывный поток на частоте 50 МГц (с некоторым извратом в виде внешней логики и на 100 МГц), используя DMA и параллельную шину PPI. Но я бы делал на ПЛИС - жесткая потактовая логика работы, прозрачная буферизация, можно получить скорости свыше 200 МГц, и произвольная длина слов (потенциально). Недостаток - если вы не работали с ПЛИС, то некоторое время на изучение архитектуры, плюс изучение (или ваяние своего) контроллера SDRAM памяти. Сложность реализации с учетом потенциальных проблем у контроллеров с прерыванием потока данных - примерно одинаковая.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 25 2007, 20:11
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



WEST128 +1 в сторону ПЛИС.
Возможный недостаток неимения опыта с лихвой компенсируется превосходством результата.
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 26 2007, 05:09
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Для WEST128 : канал DMA у блэкфина не обеспечивает равномерного квантования по времени.
Go to the top of the page
 
+Quote Post
_pv
сообщение Dec 26 2007, 08:08
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(etoja @ Dec 26 2007, 11:09) *
Для WEST128 : канал DMA у блэкфина не обеспечивает равномерного квантования по времени.

его обеспечивает PPI, через который данные наружу выпихиваются, по внешнему клоку. а у дма для этого есть небольшое фифо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 10:12
Рейтинг@Mail.ru


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