Jump to content

    
Sign in to follow this  
dereiff

Ethernet на ARM

Recommended Posts

В данный момент встала задача создания спутникового модема с Ethernet интрефейсом. Необходимо чтоб он мог передавать данные со скоростью в 2 Мбит/с. Требуется присутствие массы протоколов, поэтому присматриваюсь к lwIP стеку.

Есть ли смысл строить Ethernet часть на AT91SAM7X512 + ENC28J60(либо KS8721)?? И вообще, какой ARM брать??

Прошу совета, ибо такой разработкой занимаюсь впервые.

Share this post


Link to post
Share on other sites
Есть ли смысл строить Ethernet часть на AT91SAM7X512 + ENC28J60(либо KS8721)??

ENC28J60 - это MAC+PHY, вам он не нужен. Если будете использовать SAM7X, то выбирайте любой PHY с MII интерфейсом.

 

И вообще, какой ARM брать??

С потоком 2Мбит/с справится по большому счету любой. Как планируете организовать связь модема с процессором?

Share this post


Link to post
Share on other sites

2 Мбит/с - не так уж и много. Чтобы меньше волноваться по поводу быстродействия, можно подобрать МК с продвинутым Ethernet+DMA, чтобы при необходимости можно было сделать zero-copy receive (lwip это позволяет), а может быть и zero-copy transmit. В качестве PHY у меня, к примеру, стоит KSZ8041TL (TQFP). Если не смущает QFN, то есть KSZ8041NL (подешевле).

По поводу множества протоколов: надо оценить требования к объёму ОЗУ, да и ПЗУ тоже. TCP для скорости порядка 2 Мбит/с при небыстром пинге потребует буферы объёмом десятки Кбайт. Ну а непростая функциональность типа продвинутого веб-сервера требует десятки килобайт ПЗУ.

Share this post


Link to post
Share on other sites

Как будет организована связь с модемной частью пока не ясно, ибо человек занимающийся спутниковой частью пока дальше матлабовской модели не ушел. Искренне надеюсь что буду подсовывать побитово последовательность бит (IP пакет) который будет кодироваться спутниковой частью и отправляться в эфир.

Протоколов мне надо действительно много, от ARP до Telnet, при этом должна ещё существовать вебморда модема, т.е. веб сервер тоже нужен.

Непосредственно с АРМы ещё будет организован RS-232/422 интерфейс. но это думаю легко осуществимо через USART.

В разработках оборудования мой уровень знаний низок, читаю литературу как могу, но пока мало что проясняется. Поэтому прошу помощи.

Share this post


Link to post
Share on other sites

ТЗ уже существует, и к сожалению его не я придумал. Вот выдержка из него

 

Модем должен обеспечивать организацию следующих типов каналов:

- для цифровых сигналов со скоростями 48; 64; 128; 144 кбит/с по интерфейсу RS-232

- для цифровых сигналов со скоростями 32…512 кбит/с по интерфейсам RS-422, RS-530;

- для цифровых сигналов со скоростями 1.2…2048 кбит/с по интерфейсу Ethernet (100BASE-T)

Модем должен иметь управление

- через интерфейс Ethernet по средствам SNMP, Telnet, HTTP, возможность обновления по FTP

Требуемые IP протоколы:

ARP

UDP

TCP

ICMP

HTTP сервер

DHCP

Network Address Translation

SNMP

Ping, Traceroute, Discovery Protocol

Поддержка VPN

Telnet

Share this post


Link to post
Share on other sites
ТЗ уже существует, и к сожалению его не я придумал. Вот выдержка из него

- для цифровых сигналов со скоростями 1.2…2048 кбит/с по интерфейсу Ethernet (100BASE-T)

 

Значит ENC28J60 не подойдёт, поскольку обеспечивает только 10 Мегабит в секунду.

А вообще купите линукс-плату за 100 долларов.

 

Share this post


Link to post
Share on other sites
...

Network Address Translation

...

Поддержка VPN

...

Хм, любопытно будет посмотреть как такое на основе LwIP-а будет делаться. ИМХО, проще сразу в цирковое училище поступить.

 

Share this post


Link to post
Share on other sites

Нас тут целая клоунская команда тогда будет.

Я думаю что пару требований из ТЗ выкинуть мы сможем. Просто наша прекрасная организация сказала "хотим свой модем, чтоб был не хуже чем другие зарубежные". ТЗ писалось на скорую руку, смотря одним глазом на зарубежные модемы (comtech например).

И это при том, что сетевое оборудование организацией не делалось ни разу.

Share this post


Link to post
Share on other sites
Нас тут целая клоунская команда тогда будет.

:)

Я думаю что пару требований из ТЗ выкинуть мы сможем. Просто наша прекрасная организация сказала "хотим свой модем, чтоб был не хуже чем другие зарубежные". ТЗ писалось на скорую руку, смотря одним глазом на зарубежные модемы (comtech например).

Тут есть принципиальная разница при выборе железа - очень сильно оно зависит от того что Вы в итоге хотите получить.

A. Если модем будет всего лишь перекладывать IP пакеты из одного интерфейса в другой без всякой обработки (типа бридж) + простенький Веб-сервер для управления - это одно. SAM7X для 2Мбпс должно хватить, но я бы вместо него взял LPC17xx - памяти хоть и меньше, но сам процессор быстрее существеннее.

B. Если же цель - полностью то что у Вас в ТЗ написано, то надо строить систему с объемом памяти в несколько МБайт минимум. Это значит внешняя РАМ. Тут уже выбор процессоров очень широкий. Начиная LPC24xx и заканчивая четырехядерными MPC836xx. Лично я бы выбрал Intel IXP42x или даже MPC83xx - у меня просто с ними опыт достаточно большой и цены на них стартуют от $10. Из массового/относительно простого - LPC24xx, но при развитии продукта можете сильно упереться в производительность.

По софту тоже нюансы. Если вариант A, то LwIP-а должно хватить, если B то можно уже и о Линуксе подумать. Для железа варианта B можно предложить софтовый вариант C - сначала сделать A на LwIP и потом его же "допиливать" до B. По разработке вариант C - самый интересный, но требует хорошей квалификации и много времени (хотя, тут от размера/способностей команды зависит). Впрочем, грамотно и качественно сделать B на Линуксе - тоже время и квалификация понадобяться.

Share this post


Link to post
Share on other sites

+1 к предыдущему оратору. Весь список из ТЗ не влезет в 128 Кбайт ОЗУ, ИМХО. А значит - однокристаллки отменяются, требуется внешняя память, а тут и Linux можно запускать. Возможно, целесообразно для этого просто купить процессорную плату, как уже предлагали выше.

Share this post


Link to post
Share on other sites

Тут работы на месяц-два. Имеется опыт такой разработки для спутникового канала, но только еще более толстого.

Все перечисленные протоколы во на этой плате поддерживаются уже начальным загрузчиком:

http://www.alylab.eu/OpenProjects/ARMUltimator2/ARMU2.htm

 

 

 

 

 

+1 к предыдущему оратору. Весь список из ТЗ не влезет в 128 Кбайт ОЗУ, ИМХО. А значит - однокристаллки отменяются, требуется внешняя память, а тут и Linux можно запускать. Возможно, целесообразно для этого просто купить процессорную плату, как уже предлагали выше.

 

Есть куча RTOS от Micrium-а до VxWorks и ThreadX которые вполне поместятся в такую RAM. Тут линукс совершенно неуместен.

Тем более, что в линуксе даже c SPI можно получить большие проблемы. ;)

Share this post


Link to post
Share on other sites
...Intel IXP42x или даже MPC83xx ...

 

:1111493779: чуть встряну,- для инфо - ixp42x уже EOL, посему на него лучше не закладываться.

если смотреть проц такого уровня __^^^^, то в качестве ОС - можно и линукс, - там уже многое реализовано и доступно, правда с затачиванием под свои нужды прийдеться побороться, но это все же лучше чем катать с полунуля :).

 

 

Share this post


Link to post
Share on other sites
Тут работы на месяц-два. Имеется опыт такой разработки для спутникового канала, но только еще более толстого.

Все перечисленные протоколы во на этой плате поддерживаются уже начальным загрузчиком:

Вопрос такой - NAT там тоже реализован? Ручками? (не на базе Линукса/WinCE?)

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this