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

 
 
 
Reply to this topicStart new topic
> SPI+ethernet+ARM9, Возможное решение
mdmitry
сообщение Apr 19 2008, 13:03
Сообщение #1


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Здравствуйте. Мне посоветовали обратиться в эту ветку форума (кое-что было в Electronix.ru)
Задача:
есть битовый поток со скоростью 8Мбит/с (1 Мбайт/с) (или чуть меньше). Управление потоком своеобразное и очень медленное (сотни мс). Потери данных не должно быть. Его необходимо преобразовать в ethernet, далее данные надо передать через маршрутизируемую сеть и восстановить обратно в битовый поток. Как-либо обрабатывать данные не требуется. Данные (DATA) сопровождаюся тактовым сигналов (CLK).

Общие соображения:
Так как потерь данных быть не должно, то необходимы буферы на передаче и приеме объёмом 2-4 Мбайта.
Сеть маршрутизируемая. то поддержка стека TCP/IP в полном (или почти полном) объёме.

Решение 1:
SPI (или SSC) на прием как slave через DMA (хотелось бы сразу 32 бита принимать). Прерывание DMA заполняет приемный буфер . Формирование пакета на передачу, пакет в буфер передачи. Прерывание DMA вычитывает из буфера передачи данные и отправляет через интерфейс (MII или другой) в физический уровень ethernet. В тоже время система должна анализировать входной трафик (малый) на предмет команд управления и их отработку. Отработка команд - некоторый аналог I2C или one-ware, но жутко медленный интерфейс, скорее всего программный по таймеру (0.5 -1 мс на бит). В процессе работы необходимо хранение небольшого объёма служебной информации.
Аппаратное решение: ARM9 + NORflash+NANDflash+SDRAM? Наверно без ПЛИС?
Программное решение: OS (RTOS или linux или что-то другое) или только софт под задачу без ОС?
На приеме обратное преобразование, SPI везде slave.
+ гибкость программная и запас на будущее по производительности?
- наверно сложно и дорого
Решение 2:
ПЛИС на прием потока, далее FIFO (только где такой объём взять?) и контроллер (ATmega128 или мощнее), данные далее передаются в Wiznet5100 (не в RAW режиме)?
Программное решение: прошивка ПЛИС, программа для контроллера.
На приеме обратное преобразование.
+дешевле и проще программно
-все в притык по производительности?

Просьба указать на "залеты" по аппаратной реализации и программное, то есть реализуемы ли варианты! В каком варианте интегрально дешевле и меньше проблем?
Спасибо.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 19 2008, 13:19
Сообщение #2


Гуру
******

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



ИМХО, первое решение не сложнее и не дороже второго, скорее наоборот. Если встроенная периферия процессора позволяет принимать поток, то дело сводится к написанию одной программы, в то время как во втором варианте придется писать программу для ПЛИС (не самую простую, учитывая то, что для буферизации придется ставить тот же SDRAM), программу для контроллера и разбираться с WizNet'ом.
Go to the top of the page
 
+Quote Post

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

 


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


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