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

 
 
> Подключение Ethernet MAC, особенности подключения
ADA007
сообщение Sep 7 2015, 19:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Приветствую всех!

Есть несколько вопросов к гуру по реализации Ethernet на FPGA. Я рассматривал несколько примеров реализации МАС-а для ПЛИС (один - от mentor-a, что на ftp лежит и другой с сайта fpga4fun) и меня смутило несколько моментов:

1- Это то, что частоты tx_clk и rx_clk, которые выходят из PHY используются для тактирования регистров, соответствующих веток ПО. Не правильнее было бы использовать для тактирования системную частоту (при условии, что она выше, чем tx_clk и rx_clk) для тактирования регистров, а уже tx_clk и rx_clk использовать в качестве сигнала разрешения? В чем подвох? или я что-то упустил? laughing.gif
* Плюс к выше описанному мы получаем разные клоковые домены по веткам приема и передачи в МАС. Потому, что от PHY tx_clk формируется от внешнего кварцевого резонатора, а rx_clk - из несущей частоты в линии связи. Естественно они будут немного отличаться друг от друга, что добавляет проблем.

2- Это то, что для тактирования частотами tx_clk и rx_clk было бы неплохо пропустить их предварительно через DCM или хотяб через PLL. Однако, (не знаю , как в других сериях ПЛИС), в Spartan6 на DCM нельзя подать частоту ниже 5 МГц. А для 10 Мб\с по MII надо как раз 2,5 МГц. И как тут быть wacko.gif , если надо реализовать 10\100 МБ\с?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
johan
сообщение Sep 7 2015, 19:58
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 3-09-12
Пользователь №: 73 371



Добрый день!

1. Я бы рекомендовал сделать так:
бОльшую часть логики, которая нужна - сделать на системной, а затем через dual clock FIFO перекидывать в нужный домен. В одном из проектов у меня сделано так: на RX_CLK ищем преамбулу и считаем CRC, вся задача - собрать слова из 8 байт - кидаем это слово в FIFO, где уже это разгребается на системной частоте (просто дальше вся обработка идет с 64-битными словами, поэтому делается именно так) Не могу сказать, что это самый прекрасный и идеальный вариант, но вполне рабочий (всё зависит от того, что вы хотите делать с MAC-ядром).

Однако, надо предусмотреть, что этих клоков может не быть. Например, можно сделать дополнительный управляющий сигнал для разрешения работы RX или TX (а эту информацию можно получать из статуса линка трансивера).

2. Не обязательно. И без этого должно работать. Главное - не забыть про констрейны sm.gif

Кстати, на opencores тоже есть MAC-ядра, например: http://opencores.com/project,ethernet_tri_mode

Сообщение отредактировал johan - Sep 7 2015, 19:59


--------------------
Go to the top of the page
 
+Quote Post



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

 


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


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