|
AT91sam7x + 2 Ethernet, Минимизировать реализацию |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 22)
|
Apr 24 2010, 15:17
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669

|
Цитата(aaarrr @ Apr 23 2010, 17:11)  Если уж ставите SAM7X, то зачем внешние костыли для Ethernet'а? Если нужно именно два раздельных выхода, поставьте снаружи какой-нибудь интегрированный коммутатор с MII-интерфейсом. По требованию заказчика устройство должно быть эквивалентно PC с двумя Ethernet картами - т.е. иметь 2 разъема RJ45 для подключения к двум независимым сетям.
--------------------
Вяжешь - вой, а поедешь - песни пой. Между "хочу" и "можно" всегда есть дистанция
|
|
|
|
|
Apr 25 2010, 20:25
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669

|
Цитата(KRS @ Apr 26 2010, 00:21)  Только что для таких целей использовали KSZ8893 у него 1 MAC и 2 PHY наружу! Причем внутри очень хорошо конфигурится ставит таги с кагого порта пришел фрейм и при отправке можно ставить таг в какой порт отправлять (естественно при уходе из свитча так можно удалять). В общем все есть для того что бы сделать 2 независимые карты! А на сколько устойчиво держися соединение, сколько ресурсов "отъедаеся" у процессор?
--------------------
Вяжешь - вой, а поедешь - песни пой. Между "хочу" и "можно" всегда есть дистанция
|
|
|
|
|
Apr 26 2010, 06:24
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669

|
Цитата(KRS @ Apr 26 2010, 01:58)  Все фильтры по MAC стоят в свитче. Так что проц получает только броадкастовые фреймы и свои (по нужным mac, причем можно mac к номеру порта привязать). Никаких дополнительных ресурсов не отъедается, к фрейму только таг цепляется с какого порта он пришел, а при отправке куда отправлять. Пакеты не теряются. Причем в свитче куча настроек по предотварещению DOS атак... Спасибо, похоже это то что нужно! Можно будет несколько вопросов через личку?
--------------------
Вяжешь - вой, а поедешь - песни пой. Между "хочу" и "можно" всегда есть дистанция
|
|
|
|
|
Apr 26 2010, 11:14
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(IJAR @ Apr 26 2010, 10:24)  Спасибо, похоже это то что нужно! Можно будет несколько вопросов через личку? Да без проблем! Сразу скажу что мне нужен был только простой UDP, поэтому готовые стеки я не использовал. настройка micrel у меня через SPI. И вот как его настроить что бы он изображал из себя 2 карты с минимальным оверхедом со стороны проца я разобрался полностью.
|
|
|
|
|
May 17 2010, 05:16
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(KRS @ Apr 26 2010, 00:21)  Только что для таких целей использовали KSZ8893 у него 1 MAC и 2 PHY наружу! Причем внутри очень хорошо конфигурится ставит таги с кагого порта пришел фрейм и при отправке можно ставить таг в какой порт отправлять (естественно при уходе из свитча так можно удалять). В общем все есть для того что бы сделать 2 независимые карты! И я еще немного добавлю. Если габариты не жмут, то я рекомендую 5-ти портовый свич. Они на складе есть да и стоят столько же, как и 3-х портовый. Но при этом у Вас появится порт для технологической отладки... или предусмотреть, чтобы на одном порте подключался оптический преобразователь... Ведь аппетит у заказчика не всегда "приходит" на момент написания ТЗ. Бывает, что и позже... Информацию я выложил здесь http://www.eltech.spb.ru/micrel_ethernet.htmlМожно взять стартовый набор и попробовать... Кстати, там на сайте уже наверное выложили запись вебинара по свитчам. Удачи!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jun 8 2010, 11:56
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 23-06-04
Из: Kiev
Пользователь №: 146

|
Цитата(iosifk @ May 17 2010, 08:16)  И я еще немного добавлю. Если габариты не жмут, то я рекомендую 5-ти портовый свич. Они на складе есть да и стоят столько же, как и 3-х портовый. Но при этом у Вас появится порт для технологической отладки... или предусмотреть, чтобы на одном порте подключался оптический преобразователь... Ведь аппетит у заказчика не всегда "приходит" на момент написания ТЗ. Бывает, что и позже... Информацию я выложил здесь http://www.eltech.spb.ru/micrel_ethernet.htmlМожно взять стартовый набор и попробовать... Кстати, там на сайте уже наверное выложили запись вебинара по свитчам. Удачи! С позволения автора хочу присоединиться к вопросу. Исходные данные те же: ARM-контроллер (на борту один МАС) и 2 внешних интерфейса Ethernet (Eth1 и Eth2). Надо, чтобы пакеты, приходящие по Eth1, поступали в ARM. Там они будут преобразовываться, после чего должны быть отправлены по Eth2. В обратном напрвлении - аналогично. Собственно вопрос - позволяют ли данные коммутаторы (напр., KS8893/KS8993) работу в таком режиме Eth1 <--> ARM <--> Eth2 (то есть чтобы была заблокирована связь Eth1 <--> Eth2)?
|
|
|
|
|
Jun 8 2010, 12:04
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669

|
Цитата(Gunner @ Jun 8 2010, 15:56)  С позволения автора хочу присоединиться к вопросу. Исходные данные те же: ARM-контроллер (на борту один МАС) и 2 внешних интерфейса Ethernet (Eth1 и Eth2). Надо, чтобы пакеты, приходящие по Eth1, поступали в ARM. Там они будут преобразовываться, после чего должны быть отправлены по Eth2. В обратном напрвлении - аналогично. Собственно вопрос - позволяют ли данные коммутаторы (напр., KS8893/KS8993) работу в таком режиме Eth1 <--> ARM <--> Eth2 (то есть чтобы была заблокирована связь Eth1 <--> Eth2)? Мы смотрели DS на KS8893 у него управление по SPI и есть настройки : выводить через канал 1 выводить через канал 2 выводить через канал 1 и 2 одновременно IMHo: похоже что Вам это тоже подойдет
--------------------
Вяжешь - вой, а поедешь - песни пой. Между "хочу" и "можно" всегда есть дистанция
|
|
|
|
|
Jun 8 2010, 12:44
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 23-06-04
Из: Kiev
Пользователь №: 146

|
Цитата(IJAR @ Jun 8 2010, 15:04)  Мы смотрели DS на KS8893 у него управление по SPI и есть настройки : выводить через канал 1 выводить через канал 2 выводить через канал 1 и 2 одновременно IMHo: похоже что Вам это тоже подойдет Мне надо чтобы через канал 1 не был доступен канал 2 (и наоборот). Чтобы потоки замыкались только через контроллер, подключенный к каналу 3. Такое реализуемо? P.S. На странице http://www.eltech.spb.ru/micrel_ethernet.html есть пример шлюза на основе KSZ8995A и сказано: "Кроме возможности управлять режимом работы портов, у микросхем фирмы Микрел так же имеется возможность и управлять самими данными. Для этого к коммутатору, к одному из портов МАС подключают внешний микроконтроллер. Пример такого шлюза приведен на рисунке." Но там у процессора показано два MACа. У меня есть только один.
Сообщение отредактировал Gunner - Jun 8 2010, 12:51
|
|
|
|
|
Jun 22 2010, 13:22
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 23-06-04
Из: Kiev
Пользователь №: 146

|
QUOTE (KRS @ Jun 15 2010, 00:19)  Реализуемо! У меня так и работает! Там есть битовая настройка для каждого порта с какими он может быть связан. Только что бы имитировать 2 мака, лучше задать в Static MAC table броадкастовый мак, нужные мультикастовые и свои юникастовые с битом OVERRIDE и открыть phy 1 и phy 2 - Recive disable | Special Tagging Mode Тогда будет полный контроль над фреймами. При соотв. настройке у покидающих свитч пакетов через phy1 и phy2 таги будут удаляться т.е. с наружи ничего заметно не будет. Спасибо.
|
|
|
|
|
Sep 23 2011, 03:59
|
Группа: Новичок
Сообщений: 2
Регистрация: 20-09-11
Пользователь №: 67 284

|
Цитата(KRS @ Apr 26 2010, 00:21)  Только что для таких целей использовали KSZ8893 у него 1 MAC и 2 PHY наружу! Причем внутри очень хорошо конфигурится ставит таги с кагого порта пришел фрейм и при отправке можно ставить таг в какой порт отправлять (естественно при уходе из свитча так можно удалять). В общем все есть для того что бы сделать 2 независимые карты! Примером работы через SPI с KSZ8893 не поделитесь?
|
|
|
|
|
Sep 23 2011, 11:30
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(pulo @ Sep 23 2011, 07:59)  Примером работы через SPI с KSZ8893 не поделитесь? А что конкретно интересует? Сам интерфейс SPI - он там очень простой. К тому же мои функции низкого уровня вам не подойдут, я NXP использовал. Там достаточно такие функции определить Код uint_fast8_t ks8893_read(uint_fast8_t addr); void ks8893_write(uint_fast8_t addr, uint_fast8_t data); void ks8893_write_mac(uint64_t data, unsigned addr); uint64_t ks8893_read_mac(unsigned addr); Для чтения и записи регистров и таблицы с mac адресами. Для теста интерфейса я использовал примерно такой код: Код tmp = ks8893_read(0); c_puts("Family "); c_puthex(tmp,2); if (tmp == 0x88) { c_puts("OK\x0D\x0A"); } else { c_puts("Failed\x0D\x0A"); } tmp = ks8893_read(1) >> 4; c_puts("Chip id "); c_puthex(tmp,1); if (tmp == 0x2) { c_puts("OK\x0D\x0A"); } else { c_puts("Failed\x0D\x0A"); } for(i = 0; i < 0x100; i ++) { ks8893_write(0x14, i); tmp = ks8893_read(0x14); if (tmp != i) { c_puts("SPI test failed\x0D\x0A"); } } т.к. тестового регистра нет, использовал регистр который может принимать любые значения.
|
|
|
|
|
Jan 12 2012, 06:48
|
Группа: Новичок
Сообщений: 2
Регистрация: 20-09-11
Пользователь №: 67 284

|
KRS, большое спасибо за пример. Решил продолжить заниматься свитчем, свитч подключен по MII и настраиваю его через SMI интерфейс, ледами у выходов помигать и тп - без проблем, но вот с посылкой пакетов проблема. Разбираюсь с VLAN, собрал пакет, указал в ID 1 для первого порта, пакет точно правильный (отснифал, поменял только VID и на свой Мак адрес) и при посылке пакет дальше свитч не идет, до свитча доходит(осциллографом посмотрел)... Перечитываю даташит, правильно ли я понял, чтобы посылать пакет в нужный порт, нужно использовать VLAN теги? Ну и странный вопрос наверно, зачем таблицы MAC адресов?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|