Сетевая карта

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Сетевая карта

Post by Lavr »

Джентльмены - подмогните! Мне нужна схемотехника сетевой карты с достаточно подробным
объясненем, что там что делает...

Не подумайте, что ленив - много чего нашел, в т.ч. и довольно простую схему:
ez2000.gif
аппаратно мне на ней всё понятно, но хотелось бы подробнее о функционировании.

Везде этот вопрос как-то поверхностно расписан... :-?
Передача данных. В процессе передачи информации по локальной сети, в сетевой карте создается кадр данных вместе с адресной информацией МАС-уровня и помещается в буфер. Затем происходит оформление кадра, который заполняется адресами получателя и отправителя, вычисляется контрольная сумма, после чего происходит выдача сигналов в соответствии с принятым линейным кодом.
Получение информации. При получении данных сетевой картой, сигнал фильтруется (отделяется от шума), проверяется контрольная сумма кадра. Если контрольная сумма верна, то из кадра извлекается информация и помещается в буфер оперативной памяти, в противном случае кадр отбрасывается.
Или может, кто-либо знает ссылку на самодельные сетевые карты, чтобы подробнее прочитать принцип работы...


P.S. По схемотехнике, кстати, я многое нашел вот здесь: http://nag.ru/goodies/manuals.html
You do not have the required permissions to view the files attached to this post.
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Сетевая карта

Post by newold86 »

Не совсем понял, какой уровень интересует - логический, физический или посредине ?
Я ровно 25 лет назад путем дизассемблирования драйвера NE2000 разбирался с функционированием на тот момент стандартной ethernet-карты и писал на основе выведанного таким образом свой драйвер. Могу, наверное, ради прикола в исходники посмотреть и попытаться вспомнить подробности...
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Сетевая карта

Post by Lavr »

newold86 wrote:Не совсем понял, какой уровень интересует - логический, физический или посредине ?
Я так думаю - "физический и посредине"... дизассемблер читать пока не готов...

Но интересует - специфический ли процессор в схемах сетевых карт, или может быть и проц
общего назначения...
Хотя бы несколько подробнее алгоритм чего он делает, и что ему передают с шины.
Ну и возможна ли реализация сетевой карты на ПЛИС, и есть ли примеры.

Вот такой круг вопросов...
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Сетевая карта

Post by newold86 »

Думаю, на большинство (если не на все) вопросов такого уровня можно найти нормальные ответы, например, здесь - http://www.fpga4fun.com/10BASE-T.html

И в продолжение - http://we.easyelectronics.ru/plis/softo ... ase-t.html
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Re: Сетевая карта

Post by VituZz »

В книге В. Кулакова "Программирование на аппаратном уровне" (2-е изд., издательство "Питер", 2003, ISBN 5-94723-487-4, ББК 32.973.23я22) есть глава "NE2000-совместимые сетевые адаптеры" (стр. 783). Там есть описание регистров, последовательность инициализации, приём и передача пакетов - как описание, так и листинги на ассемблере. Возможно, тебя это заинтересует.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Сетевая карта

Post by Lavr »

Ну насколько я понял всю идею (поправьте, если где ошибусь):

- процессор (обычно единственный чип на стандартной простой сетевой карте) - это всё же специфический чип,
который аппаратно умеет выполнять большинство операций для работы с Ethernet, и сам же общается
с шиной, причем, якобы может стать на ней и "мастером";

- если конструируется что-то самодельное, то чаще всего применяют вот такую связку:
Network Adapter_lia.jpg
где есть чип общего назначения, отвечающий за интерфейс и "подтаскивание дров" специфическому
чипу (коих есть множество от разных фирм), который опять же заточен на аппаратную работу с Ethernet;

- если есть желание сделать что-то на ПЛИС, то в ней как раз реализуют функции этого самого
специфического процессора, аппаратно работающего с Ethernet, а примеры реализации есть и у
производителей ПЛИС, и можно почерпнуть готовые проекты в сети.


Отдельный глупый вопрос: а не встречалось проекта, скажем,"сетевая карта на Z80"? :wink:
В процессе чтения всех материалов по сетевухам, мне вроде попадалось, что на 6800 их делали...
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Re: Сетевая карта

Post by VituZz »

Те, кто дружит с Z80, для своих проектов вроде пытаются приспособить W5100 или ENC28J60 от Ардуины...
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Сетевая карта

Post by Lavr »

Ну это, собственно, то, о чем я выше и говорил...
W5100 is a full-featured, single-chip Internet-enabled 10/ 100 Ethernet controller designed for embedded applications;

ENC28J60 is a 28-pin Microchip's, 10BASE-T stand alone Ethernet Controller with on board MAC & PHY, 8 Kbytes of Buffer RAM and an SPI serial interface.
Т.е. специализированный чип, аппаратно обслуживающий "общение" с Ethernet, управляется ЦПУ общего назначения.

А я имел в виду: на ЦПУ общего назначения никто не пытался реализовать Ethernet Controller?
Ну, возможно, с обвеской некоторой дополнительной логикой...
iLavr
VGrad
Maniac
Posts: 208
Joined: 18 Nov 2013 15:15
Location: все оттуда ;)

Re: Сетевая карта

Post by VGrad »

Делал "локальную сеть" на i8251 с общей шиной. Но это не совсем Ethernet. Вернее совсем не Ethernet.
VGrad
Maniac
Posts: 208
Joined: 18 Nov 2013 15:15
Location: все оттуда ;)

Re: Сетевая карта

Post by VGrad »

Lavr wrote:Но интересует - специфический ли процессор в схемах сетевых карт, или может быть и проц
общего назначения...
Есть стандартные сетевые карты со своим процессором на борту. И там прерывания и положить/забрать блок данных в/из памяти. 3COM, Intel например.

Есть сетевые карты, где логика работы реализована на CPU машины, а физический и канальный уровни в кристалле сетевой платы. Яркий пример - Realtek ! Даташиты, документация по программированию и исходники драйверов для них доступны.
Last edited by VGrad on 27 Jul 2017 18:00, edited 1 time in total.
A.L.
Novelist
Posts: 32
Joined: 23 May 2013 23:21
Location: 194.158.203.14

Re: Сетевая карта

Post by A.L. »

Lavr wrote:
А я имел в виду: на ЦПУ общего назначения никто не пытался реализовать Ethernet Controller?
Ну, возможно, с обвеской некоторой дополнительной логикой...
На www.ectronix.ru проскакивало чисто программное решение AVR+PHY. Насколько я помню, АВР там делал все. Физический уровень - какойто стандартный PHY и трансформатор с разъемом RJ-45. _ С наскока найти не удалось, но автор там же имеет тему с программатором soft USB-AVR910.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Сетевая карта

Post by Lavr »

Возможно, вот эта статья:"Ethernet+TCP/IP" http://electronix.ru/forum/index.php?showtopic=44276

Хорошая статья, которая разрешила большое число моих вопросов, здесь: https://geektimes.ru/post/255132/
iLavr
A.L.
Novelist
Posts: 32
Joined: 23 May 2013 23:21
Location: 194.158.203.14

Re: Сетевая карта

Post by A.L. »

Да, это оно ;)