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

 
 
> 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

Сообщений в этой теме


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

 


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


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