Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SPI+ethernet+ARM9
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
mdmitry
Здравствуйте. Мне посоветовали обратиться в эту ветку форума (кое-что было в 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 режиме)?
Программное решение: прошивка ПЛИС, программа для контроллера.
На приеме обратное преобразование.
+дешевле и проще программно
-все в притык по производительности?

Просьба указать на "залеты" по аппаратной реализации и программное, то есть реализуемы ли варианты! В каком варианте интегрально дешевле и меньше проблем?
Спасибо.
aaarrr
ИМХО, первое решение не сложнее и не дороже второго, скорее наоборот. Если встроенная периферия процессора позволяет принимать поток, то дело сводится к написанию одной программы, в то время как во втором варианте придется писать программу для ПЛИС (не самую простую, учитывая то, что для буферизации придется ставить тот же SDRAM), программу для контроллера и разбираться с WizNet'ом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.