<?xml version="1.0"?>
<rss version="2.0"><channel><title>Fast Ethernet/Gigabit Ethernet/FibreChannel Latest Topics</title><link>https://electronix.ru/forum/forum/49-fast-ethernetgigabit-ethernetfibrechannel/</link><description>Fast Ethernet/Gigabit Ethernet/FibreChannel Latest Topics</description><language>en</language><item><title>&#x41D;&#x443;&#x436;&#x43D;&#x430; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x44F; &#x43D;&#x430; Marvell 88E6390.</title><link>https://electronix.ru/forum/topic/218672-nuzhna-dokumentatsiya-na-marvell-88e6390/</link><description><![CDATA[<p>
	Добрый день коллеги. Может кто поделится программной документацией на Marvell <span style="background-color:#eef2f7;color:#222222;font-size:12px;">88E6390? У производителя сейчас ничего не допросишься.</span>
</p>
]]></description><guid isPermaLink="false">218672</guid><pubDate>Tue, 10 Mar 2026 06:32:29 +0000</pubDate></item><item><title>&#x421;&#x43F;&#x435;&#x446;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; IEEE 802.3 &#x43F;&#x43E; 2.5GBASE, 5GBASE</title><link>https://electronix.ru/forum/topic/151815-spetsifikatsii-ieee-8023-po-25gbase-5gbase/</link><description><![CDATA[
<p>
	Привет всем!
</p>

<p>
	Поделитесь, пожалуйста, спецификациями IEEE 802.3bz, если есть у кого. Не могу найти их бесплатно в открытом доступе.
</p>
]]></description><guid isPermaLink="false">151815</guid><pubDate>Thu, 25 Apr 2019 08:42:16 +0000</pubDate></item><item><title>&#x422;&#x430;&#x43A;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; PTP &#x43D;&#x430; RTL8211FSI-VS</title><link>https://electronix.ru/forum/topic/174238-taktirovanie-ptp-na-rtl8211fsi-vs/</link><description><![CDATA[<p>
	Всем доброго дня!
</p>

<p>
	Есть задача подключить к процессору физик ethernet на RTL8211FSI-VS есть требование о наличии PTP. У RTL8211FSI-VS имеется вход PTP_CLKIN. На него хочу подать от генератора 125 МГц, но в регистре PTP_CLK_CFG RTL8211FSI-VS есть 6:5 биты с помощью которых можно выбрать частоту подаваемую на вход PTP_CLKIN: 10 МГц, 25 МГц и 125 МГц. Предполагаю, что частоты 10 МГц и 25 МГц используются когда период синхронизации на столько велик, что счетчик PTP переполнился бы при частоте 125 МГц. Требований к точности синхронизации нет. Самое простое решение это поставить генератор на одну частоту, но на какую? Или может быть поставить перестраиваемый генератор? Весь интернет обшарил в поисках информации, о PTP, но в основном попадается информация в части программного обеспечения, какой нибудь reference design пусть да же на другой физик найти не смог. Третья неделя как пошла, а окончательного решения принять по этому вопросу ни как не могу.  
</p>

<p>
	Еще нужно раздать этот сигнал на 2 физика, может кто подскажет тактовые буфферы доступные сейчас к покупке, китайские какие нибудь. 
</p>
]]></description><guid isPermaLink="false">174238</guid><pubDate>Wed, 01 Nov 2023 09:52:28 +0000</pubDate></item><item><title>&#x412;&#x43E;&#x43F;&#x440;&#x43E;&#x441; &#x43A; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x441;&#x442;&#x443; &#x43F;&#x43E; TCP/IP</title><link>https://electronix.ru/forum/topic/213909-vopros-k-spetsialistu-po-tcpip/</link><description><![CDATA[<p>
	Товарищи, подскажите в чем может быть проблема ?
</p>

<p>
	1. Есть некая железкая со статусом  "CLIENT"
</p>

<p>
	2. Есть комп с серверной программой в другом городе.
</p>

<p>
	Не удается установить связь между клиентом и сервером.
</p>

<p>
	Все порты прописаны правильно.
</p>

<p>
	Адрес IP со стороны сервера - белый т.е. статический.
</p>

<p>
	В роутере так же все форвардинг прописаны и уверен - правильно.
</p>

<p>
	В чем может быть проблема  ? Железка пытается достучаться до сервера каждые 4 секунды... Может проблема в лимите передачи данных ? На что обратить внимание ?
</p>
]]></description><guid isPermaLink="false">213909</guid><pubDate>Sun, 25 Jan 2026 18:46:45 +0000</pubDate></item><item><title>RTL8211FS &#x438; SFP-&#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C;.</title><link>https://electronix.ru/forum/topic/203935-rtl8211fs-i-sfp-modul/</link><description><![CDATA[<p>
	Кто ни будь подключал к микросхеме RTL8211FS SFP-модуль? Микросхема позволяет работать как по меди так и по оптике. Медь работает, а оптический SFP-модуль не работает. Вроде бы какие то пакеты принимаются, а отправит ничего не удается.
</p>
]]></description><guid isPermaLink="false">203935</guid><pubDate>Wed, 28 May 2025 12:19:25 +0000</pubDate></item><item><title>&#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441; &#x43F;&#x43E; &#x41A;1923&#x41A;&#x425;02GI (&#x41C;&#x438;&#x43B;&#x430;&#x43D;&#x434;&#x440;)</title><link>https://electronix.ru/forum/topic/212673-vopros-po-k1923kh02gi-milandr/</link><description><![CDATA[<p>
	Коллеги, добрый день!
</p>

<p>
	Подскажите, пожалуйста, у кого-нибудь есть опыт работы с микросхемой К1923КХ02GI. Это многопортовый коммутатор 10/100/1000 от Миландра.
</p>

<p>
	Насколько много глюков? Как вообще впечатление от тех. поддержки Миландра на данный момент?
</p>

<p>
	Есть желание сделать на этой микросхеме поделку, но при этом есть устойчивое ощущение захода на хорошо заминированное поле <span><span class="ipsEmoji">🙂</span></span>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">212673</guid><pubDate>Fri, 26 Dec 2025 06:41:21 +0000</pubDate></item><item><title>&#x43A;&#x430;&#x43A; &#x43E;&#x440;&#x433;&#x430;&#x43D;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; Telnet &#x43F;&#x43E; LAN(Ethernet)</title><link>https://electronix.ru/forum/topic/197584-kak-organizovat-telnet-po-lanethernet/</link><description><![CDATA[<p>
	Здравствуйте!
</p>

<p>
	 
</p>

<p>
	Подскажите пожалуйста, кто знает, как можно организовать Telnet по LAN(Ethernet)?
</p>

<p>
	Есть установка, она управляется удаленно по Telnet LAN.  Я ранее не организовывал подобное, только TCP-IP. Не понимаю Telnet LAN, это Ethernet в рамках TCP-IP или UDP?
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="169515" href="https://electronix.ru/forum/uploads/monthly_2024_12/image.png.bc035a7002c8dfe8c1ddae4ca52a649f.png" rel=""><img alt="image.thumb.png.4d489f84ac66babef86908536f20562c.png" class="ipsImage ipsImage_thumbnailed" data-fileid="169515" data-ratio="42.34" width="640" src="https://electronix.ru/forum/uploads/monthly_2024_12/image.thumb.png.4d489f84ac66babef86908536f20562c.png" /></a>
</p>

<p>
	Мне нужно организовать подключение через STM32F429
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="169516" href="https://electronix.ru/forum/uploads/monthly_2024_12/image.png.e599c81327a59c0dc8997d64d291815f.png" rel=""><img alt="image.thumb.png.bc582c06ccebb598052add3da5efa632.png" class="ipsImage ipsImage_thumbnailed" data-fileid="169516" data-ratio="139.94" width="343" src="https://electronix.ru/forum/uploads/monthly_2024_12/image.thumb.png.bc582c06ccebb598052add3da5efa632.png" /></a>
</p>

<p>
	Согласно описанию, есть предположение что это возможно по  TCP-IP + ASCII команды в рамках JSON..?
</p>

<p>
	 
</p>

<p>
	П.С. Речь идет о установке УПУ-6
</p>
]]></description><guid isPermaLink="false">197584</guid><pubDate>Sun, 15 Dec 2024 07:53:57 +0000</pubDate></item><item><title>&#x414;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x435; PoE PD &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x441;&#x445;&#x435;&#x43C;&#x44B;</title><link>https://electronix.ru/forum/topic/184054-dostupnye-poe-pd-mikroshemy/</link><description><![CDATA[<p>
	Коллеги, подскажите, пожалуйста, есть ли сейчас доступные PoE PD микросхемы в продаже?
</p>

<p>
	Всё что TI, Microchip имеют очень большие сроки поставки...
</p>

<p>
	Может есть какие-нибудь китайские PoE PD, которые можно относительно быстро купить?
</p>

<p>
	Нужен самый простой вариант Type 1 Class 2.
</p>
]]></description><guid isPermaLink="false">184054</guid><pubDate>Tue, 07 May 2024 09:24:09 +0000</pubDate></item><item><title>YT8512H &#x429;&#x443;&#x43F;&#x430;&#x43B;&#x438;?</title><link>https://electronix.ru/forum/topic/169645-yt8512h-schupali/</link><description><![CDATA[<p>
	Господа , в РФ появились дешевые 10/100 MII/RMII ПХУ <strong style="background-color:#ffffff;color:#111111;font-size:15px;text-align:justify;">YT8512H</strong>
</p>

<p>
	Даже в чип и дип цена на удивление не большая.
</p>

<p>
	Изучение PDF не выявило каких либо непоняток.
</p>

<p>
	Может кто-то уже успел попробовать в деле ?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">169645</guid><pubDate>Wed, 21 Dec 2022 17:42:45 +0000</pubDate></item><item><title>&#x417;&#x430;&#x43F;&#x443;&#x441;&#x43A; RTL8304MB</title><link>https://electronix.ru/forum/topic/168986-zapusk-rtl8304mb/</link><description><![CDATA[<p>
	Доброго дня всем!
</p>

<p>
	Есть проблема с запуском коммутатора RTL8304MB - 3 порта PHY и один RMII. Раньше использовали KSZ8863RLL и всё устраивало, но в свете последних событий доступны пока только Realtek. 
</p>

<p>
	В чём суть проблемы - запускаю коммутатор на своей отладочной плате (сделана по мотивам референсного дизайна). Все страп-пины соответствуют даташиту. Питание, соединение с микроконтроллером - всё проверено.
</p>

<p>
	Коммутатор запускается как стэндэлон (порты PHY работают, пакеты между ними бегают), а надо с подключением микроконтроллера по RMII. Вывод RMII_LINK_STA, который согласно даташита должен отображать состояние линка на RMII, 
</p>

<p>
	говорит что LINK_UP (на RMII). Для инициализации использую SDK от Realtek для данного (RTL8304MB) коммутатора. Делаю всё согласно SDK_API_ProgrammingGuide, однако не помогает. Чтение MiB counters для каждого порта после старта
</p>

<p>
	показывает, что порты с PHY нормально принимают/передают пакеты между собой, но в порт соответствующий RMII ничего не попадает. Может быть у кого-то есть опыт использования данной микросхемы, куда копать? 
</p>
]]></description><guid isPermaLink="false">168986</guid><pubDate>Thu, 27 Oct 2022 12:45:34 +0000</pubDate></item><item><title>1GbE PHY, &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x430; &#x43B;&#x438; &#x441;&#x43A;&#x43E;&#x440;&#x43E;&#x441;&#x442;&#x44C; &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x451;&#x43C; &#x438; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x447;&#x443;?</title><link>https://electronix.ru/forum/topic/195994-1gbe-phy-odinakova-li-skorost-na-priyom-i-peredachu/</link><description><![CDATA[<p>
	Всем привет!
</p>

<p>
	Вот есть некий 1 Gigabit Ethernet PHY, полагаю, что не так важно, какой, одновременно осуществляющий приём и передачу, скажем, UDP пакетов размером 1472 (MTU 1500) на полной скорости. Вопрос: скорости на приём и передачу будут строго одинаковы или нет? Или зависит от условий -- например, мастером ли в линке является PHY или нет?
</p>

<p>
	До сего момента я полагал, что битовая скорость на приём и передачу вроде должна быть одинакова -- там же link-партнёры подстраиваются под общую несущую (мастер её задаёт, слейв к ней фапчуется), чтобы осуществлять всякие обработки сигналов типа эхоподавления, а главное -- эффективно вычитать местный сигнал из супрепозиции сигналов в линии. Но вот столкнулся с таким эффектом: запускаю тест на полной скорости, в FPGA организован Loopback по UDP (что пришло с UDP, тут же заворачивается через FIFO обратно туда же на передачу), и вижу, что при достаточно большом количестве пакетов (100 тыщ и более) возникают пропуски октетов на входном буфере (у меня это в MAC Rx). Исследование показало, что источником торможения является буфеp передатчика МАС -- по всей петле loopback'а цепочка, а там оно упирается в выходную скорость.
</p>

<p>
	Тактовые домены MAC Rx и MAC Tx, конечно, разные -- Rx тактируется клоком от PHY, а Tx тактируется местным FPGA. Т.е. понятно, что хотя частоты одинаковые (125 МГц), но они разные, т.к. у них разные источники. Но вот тут всё же не понятно. Например, если PHY договорился быть мастером, тогда его тактовая, которую он получает по tx_clk от MAC, и должна задавать тон всей передаче -- и удалённый узел должен под эту частоту подстроиться. Тогда, вроде, скорости передачи и приёма должны быть одинаковы. Если PHY получился слейвом, то тогда ему несущую навязывает удалённый узел, и скорость приёма будет в точности определятся тактовой частотой удалённого узла. Но тогда PHY как-то должен синхронизироваться под эту несущую -- у него внутри должен быть типа elastic (или хотя бы CDC) буфер, и тут скорости могут быть разными. У меня разница выходит порядка 64 ppm.
</p>

<p>
	Растолкуйте, кто знает?
</p>

<p>
	P.S. Offtopic
</p>

<p>
	в выражении "<span style="background-color:#ffffff;color:#353c41;font-size:14px;">источником торможения является буфеp передатчика МАС</span>" при отправке сообщения движок форума уверенно заменял слово "буфеp" на [censored]. Что нецензурного он нашёл в этом слове, не понятно. Чтобы слово всё же напечаталось, пришлось последнюю букву заменить на английскую пи.
</p>
]]></description><guid isPermaLink="false">195994</guid><pubDate>Wed, 06 Nov 2024 15:58:42 +0000</pubDate></item><item><title>&#x420;&#x430;&#x437;&#x44A;&#x435;&#x43C; &#x434;&#x43B;&#x44F; &#x413;&#x438;&#x433;&#x430;&#x431;&#x438;&#x442;&#x430;</title><link>https://electronix.ru/forum/topic/201401-razem-dlya-gigabita/</link><description><![CDATA[<p>
	Каким приборным разъемом можно вывести гигабит из устройства? Что-то все низкочастотное попадается. Нашел СКЦ102 RJ45, отечественный, но наверняка и иностранных таких навалом. Но это тупо RJ45 с винтом. 
</p>
]]></description><guid isPermaLink="false">201401</guid><pubDate>Wed, 12 Mar 2025 08:14:02 +0000</pubDate></item><item><title>"&#x420;&#x443;&#x447;&#x43D;&#x43E;&#x435;" &#x443;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; ARP-&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;&#x43C;&#x438; &#x432; Windows/Linux</title><link>https://electronix.ru/forum/topic/201272-ruchnoe-upravlenie-arp-zaprosami-v-windowslinux/</link><description><![CDATA[<p style="text-align:justify;">
	Есть сеть 100Base-TX из нескольких десятков девайсов собственного авторства. Все они подключены к одному ведущему устройству - мастеру. Мастер - это обычный (тоже собственной разработки) промышленный комп на линуксе. Однако тему вопроса я хочу расширить не только на линукс, но и на Windows, в частности интересует Win10.
</p>

<p style="text-align:justify;">
	В чем, собственно, суть. Сеть у меня должна быть по возможности строго детерминированной, т.е. внеплановых мероприятий в виде всяких ARP-запросов со стороны компа быть не должно. Вернее, хотелось бы руками запускать процедуру обучения внутренней ARP-таблицы, и после завершения обучения запретить обновлять или удалять записи из таблицы.
</p>

<p style="text-align:justify;">
	Желание сотворить такое появилось после взгляда на WireShark. Из-за особенностей обменов по сети (по запросу девайсы кучей отправляют кадры данных) хост время от времени "забывает" кто есть кто, и массово рассылает ARP-запросы (время между соседними ARP-запросами прямо совсем небольшое - сотня мкс или около того). В силу того, что эти запросы broadcast, их должны принять все девайсы. В пачке этих запросов может быть сразу на все количество девайсов, из-за чего в некоторых девайсах забивается очередь приема, т.к. памяти на входящие кадры выделено не много. Т.е. кто-то может потерять (не увидеть) пакет ARP-запроса, не сформировать ответ, и это заставит Linux/Windows попробовать снова, но через некоторое время (если честно, это время может быть разным). А может просто забить на это дело, типа "я не нашел кому отправлять, поэтому больше пытаться не буду". Такие истории я хочу исключить. Т.е. обучить сетевой стек заранее, а потом в процессе нормальной работы больше не выставять скопом широковещательные пакеты.
</p>

<p style="text-align:justify;">
	Я заметил, что по крайней мере виндовый сетевой стек после обучения периодически шлет уже не широковещательный, а направленный (unicast) ARP-запрос. Это уже не так страшно, т.к. такие запросы фильтруются по MAC каждым девайсом и это не забивает входящую очередь. Но тем не менее, время от времени винда снова направляет ARP-ы уже бродкастом. Не порядок.
</p>

<p style="text-align:justify;">
	Можно ли как-то повлиять на политику обновления ARP-таблицы, политику широковещательных запросов, направленных запросов и т.д., чтобы эта ситуация была более предсказуемой?
</p>
]]></description><guid isPermaLink="false">201272</guid><pubDate>Sun, 09 Mar 2025 11:45:18 +0000</pubDate></item><item><title>&#x41F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x441;&#x432;&#x435;&#x442;&#x43E;&#x434;&#x438;&#x43E;&#x434;&#x43E;&#x432; &#x432; &#x440;&#x430;&#x437;&#x44A;&#x435;&#x43C;&#x435; RJ-45</title><link>https://electronix.ru/forum/topic/200072-podklyuchenie-svetodiodov-v-razeme-rj-45/</link><description><![CDATA[<p>
	Добрый день! Нужен совет по подключению светодиодов в разъеме RJ-45.<br />
	Из двух разъемов RJ-45(точнее B59(311-09)G8-28-2622-C12) делаю кросс-плату, которую планируется использовать для передачи данных на скорости<br />
	100BASE. PoE не используется. Как и куда лучше подключить светодиоды в этих разъемах. Думаю, цеплять их к линиям передачи не самая лучшая идея)<br />
	Ссылка на разъемы: <a href="https://www.btoptech.com/uploadfile/2012/1008/20121008091918696.pdf" rel="external nofollow">https://www.btoptech.com/uploadfile/2012/1008/20121008091918696.pdf</a>
</p>
]]></description><guid isPermaLink="false">200072</guid><pubDate>Mon, 10 Feb 2025 04:51:07 +0000</pubDate></item><item><title>Marvel 88X3310</title><link>https://electronix.ru/forum/topic/172068-marvel-88x3310/</link><description><![CDATA[<p>
	Добрый день, Коллеги.
</p>

<p>
	Очень ищу документацию на микросхему <span style="font-size:16px;">88X3310-A1-BUS4C00</span><span style="font-size:16px;">0. Может кто может помочь?</span>
</p>
]]></description><guid isPermaLink="false">172068</guid><pubDate>Mon, 14 Aug 2023 16:56:31 +0000</pubDate></item><item><title>KSZ8795CLXIC &#x438; W5500</title><link>https://electronix.ru/forum/topic/199663-ksz8795clxic-i-w5500/</link><description><![CDATA[<p>
	Приветствую форумчане !
</p>

<p>
	Подскажите, как правильно соединить сабжи ?
</p>

<p>
	<br />
	попробовал так<br />
	<a href="https://ibb.co/Trx2dL1" rel="external nofollow"><img class="ipsImage" alt="KSZ-W5500.jpg" src="https://i.ibb.co/fQzFLv9/KSZ-W5500.jpg" /></a><br />
	w5500 не пингуется
</p>

<p>
	так<br />
	<a href="https://ibb.co/YD5xCnk" rel="external nofollow"><img class="ipsImage" alt="KSZ-W5500-1.jpg" src="https://i.ibb.co/KNtJP4q/KSZ-W5500-1.jpg" /></a><br />
	пингуется, но 20-30% потерь
</p>

<p>
	попробовал так<br />
	<a href="https://ibb.co/ccb0HszR" rel="external nofollow"><img class="ipsImage" alt="KSZ-W5500-2.jpg" src="https://i.ibb.co/tMZgt1yn/KSZ-W5500-2.jpg" /></a><br />
	опять не пингуется 
</p>

<p>
	знающие люди, подскажите, как всё-таки правильно из соединить 
</p>
]]></description><guid isPermaLink="false">199663</guid><pubDate>Fri, 31 Jan 2025 06:55:28 +0000</pubDate></item><item><title>Realtek RTL8370  CMAC1 Management  Interface</title><link>https://electronix.ru/forum/topic/199367-realtek-rtl8370-cmac1-management-interface/</link><description><![CDATA[<p>
	Добрый день!<br />
	Перерыл всю документацию.  Не могу найти, как определить  или  сконфигурировать, ножки для Management Interface для FiberTransceiver   у Realtek RTL8370 ?
</p>

<p><a href="https://electronix.ru/forum/uploads/monthly_2025_01/rtl8370_question1.jpg.9ca84352c982d26b0151f75328386c31.jpg" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="170407" src="https://electronix.ru/forum/uploads/monthly_2025_01/rtl8370_question1.thumb.jpg.5b0a6f0380d374a188ab91a9d9738f52.jpg" data-ratio="72.97" width="640" class="ipsImage ipsImage_thumbnailed" alt="rtl8370_question1.jpg"></a></p>]]></description><guid isPermaLink="false">199367</guid><pubDate>Thu, 23 Jan 2025 15:33:45 +0000</pubDate></item><item><title>&#x41E;&#x442;&#x435;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x435; Ethernet Phy 100Mb/s &#x438; 1Gb/s</title><link>https://electronix.ru/forum/topic/97628-otechestvennye-ethernet-phy-100mbs-i-1gbs/</link><description><![CDATA[
<p>  Всем доброго дня.</p>
<p> </p>
<p>
Кто что может подсказать о наличии отечественных Ethernet Physical Layer Device для Fast Ethernet и Gigabit Ethernet ?</p>
]]></description><guid isPermaLink="false">97628</guid><pubDate>Fri, 16 Dec 2011 13:52:48 +0000</pubDate></item><item><title>KSZ9031RNX, &#x441;&#x442;&#x440;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x43F;&#x43E;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x435; rx_ctl</title><link>https://electronix.ru/forum/topic/195730-ksz9031rnx-strannoe-povedenie-rx_ctl/</link><description><![CDATA[<p>
	Всем привет!
</p>

<p>
	1GbE PHY KSZ9031RNX, подключен к Zynq-7000 PL посредством RGMII (там другого варианта и нет), приходит фрейм, при этом на rx_ctl во время поступления фрейма торчит лог. 1 -- такой красивый прямоугольный импульс получается. Т.к. там DDR интерфейс, то на этом сигнале попеременно должны присутствовать rxdv (по фронту) и rxer (по спаду). Т.е. если ошибок нет, то там должен быть меандр, а не импульс. При этом смотрю содержимое фрейма (захватываю ILA), всё приходит корректно, ошибок нет.
</p>

<p>
	Вопрос: это аномальное поведение данного PHY или так и должно быть, а я просто чего-то не понимаю?
</p>

<p>
	И попутно ещё вопрос: в доке на эту микросхему сказано, что по пути Tx она никаких сдвигов между данными клоком не делает, что это ответственность MAC -- добавить сдвиг порядка 2 нс или реализовать эту задержку на печатной плате. Есть ещё вариант внутри PHY подкорректировать до 1.38 нс, но я не стал этого делать, оно вполне несложно реализуется в FPGA. И вот не работает передача: тайминги вроде верные -- смотрю на пинах PHY, сдвиг клока ровно четверть периода, а на хосте не ловится. Включал loopback по линии, это работает, т.е. с кабелем и физикой всё в порядке.
</p>

<p>
	Возникает подозрение, нет ли тут какой-нить особенности или бага (хотя ерату просмотрел внимательно на два раза, ничего на эту тему не увидел)? Может кто-нибудь сталкивался?
</p>
]]></description><guid isPermaLink="false">195730</guid><pubDate>Mon, 28 Oct 2024 13:57:58 +0000</pubDate></item><item><title>&#x421;&#x432;&#x438;&#x442;&#x447;&#x438; &#x441; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x435;&#x439;  Self-Address Filtering</title><link>https://electronix.ru/forum/topic/165690-svitchi-s-funktsiey-self-address-filtering/</link><description><![CDATA[
<p>
	Добрый день.
</p>

<p>
	До некоторого времени использовали 3-х портовые свитчи от Micrel типа KSZ8873, KSZ8863, KSZ8463 с полезной функцией Self-Address Filtering. С её помощью можно было реализовывать HSR. Сейчас некоторые из них помечены как "Not Recommended for new designs".<br />
	Может ли кто-нибудь подсказать аналоги, возможно других производителей?
</p>
]]></description><guid isPermaLink="false">165690</guid><pubDate>Sat, 05 Mar 2022 05:23:25 +0000</pubDate></item><item><title>DECT</title><link>https://electronix.ru/forum/topic/192404-dect/</link><description><![CDATA[<p>
	Здравствуйте,
</p>

<p>
	 
</p>

<p>
	Не совсем в тему, но смежное: стоит старый стационарный телефон, есть и RJ-11 и RJ-45, прикупил радиотелефон DECT, подключаю, но не гудит. В стационарный идёт тоже 2 провода, но радиотелефон молчит. Подскажите пожалуйста в чём причина и как лечится.
</p>
]]></description><guid isPermaLink="false">192404</guid><pubDate>Tue, 27 Aug 2024 20:23:15 +0000</pubDate></item><item><title>&#x414;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x44F; &#x43D;&#x430; RTL8367rb</title><link>https://electronix.ru/forum/topic/168948-dokumentatsiya-na-rtl8367rb/</link><description><![CDATA[<p>
	Уже не надо. Не знаю как удалить сообщение
</p>
]]></description><guid isPermaLink="false">168948</guid><pubDate>Tue, 25 Oct 2022 04:43:31 +0000</pubDate></item><item><title>&#x41F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x438; UDP &#x432; Windows/Linux</title><link>https://electronix.ru/forum/topic/186012-poryadok-otpravki-udp-v-windowslinux/</link><description><![CDATA[<p style="text-align:justify;">
	Да! Я в курсе, что UDP никому ничего не обещает.
</p>

<p style="text-align:justify;">
	Но какая такая логика заставляет драйвер сетевой карточки тасовать очередность пары пакетов в час а то и чаще?<span class="ipsEmoji">🙂</span>
</p>

<p style="text-align:justify;">
	Сходу очевидных причин делать так не вижу. Т.е. с чего бы винда или линух (без промежуточных коммутаторов и роутеров, разумеется) могла менять очередность отправки кадров, если программный порядок строго одинаковый (для чистоты эксперимента)?
</p>
]]></description><guid isPermaLink="false">186012</guid><pubDate>Mon, 03 Jun 2024 19:55:45 +0000</pubDate></item><item><title>&#x412;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x435;&#x43D; &#x43B;&#x438; Rx only &#x43D;&#x430; &#x43F;&#x43E;&#x440;&#x442;&#x443; Ethernet-&#x441;&#x432;&#x438;&#x447;&#x430;?</title><link>https://electronix.ru/forum/topic/185196-vozmozhen-li-rx-only-na-portu-ethernet-svicha/</link><description><![CDATA[<p style="text-align:justify;">
	Мой подопытный KSZ8795. Вроде почти в каждом первом свиче нативно поддерживаются ниточки, потянув которые можно соорудить STP. Соответственно, на каждом порту имеются биты Rx Enable, Tx Enable, Disable Learning. Однако, хоть биты и разделены, при попытке выставить режим transmit disable + receive enable порт глохнет и на прием. А очень хотелось бы такой режим заиметь. Есть ли варианты или тут уже железобетонное "нет"?
</p>
]]></description><guid isPermaLink="false">185196</guid><pubDate>Sun, 26 May 2024 18:49:14 +0000</pubDate></item><item><title>KSZ8463 VLAN</title><link>https://electronix.ru/forum/topic/184533-ksz8463-vlan/</link><description><![CDATA[<p>
	Здравствуйте.
</p>

<p>
	Никак не получается настроить VLAN в указанном коммутаторе.
</p>

<p>
	Цель - сделать так, чтобы с порта 1 все шло только на порт 3, с порта 2 все шло только на порт 3, с порта 3 можно было бы отправлять и на порт 1 и на порт 2.
</p>

<p>
	Порт 3 это порт микроконтроллера.
</p>

<p>
	Что делаю.
</p>

<p>
	1. Включаю функцию добавления тага по умолчанию и удаление тага на выходе порта.
</p>

<p>
	2. Настраиваю членство для портов:
</p>

<p>
	     - порт 1 состоит в группе порта 1 и порта 3
</p>

<p>
	     - порт 2 состоит в группе порта 2 и порта 3
</p>

<p>
	     - порт 3 состоит в группе порта 1, порта 2 и порта 3
</p>

<p>
	3. Настраиваю для портов таги по умолчанию: 
</p>

<p>
	    - для порта 1 - таг по умолчанию равен 1   
</p>

<p>
	    - для порта 2 - таг по умолчанию равен 2
</p>

<p>
	    - для порта 3 - таг по умолчанию равен 3
</p>

<p>
	4. Разрешаю для всех портов подстановку постановку тагов по умолчанию.
</p>

<p>
	5. Настраиваю таблицу VLAN
</p>

<p>
	    - первый элемент таблицы - членство для портов 1 и 3, FID = 1, VID = 1
</p>

<p>
	    - второй элемент таблицы - членство для портов 2 и 3, FID = 2, VID = 2
</p>

<p>
	    - третий элемент таблицы - членство для портов 1, 2 и 3, FID = 3, VID = 3
</p>

<p>
	6. В глобальном регистре настроек включаю разрешение работы VLAN.
</p>

<p>
	 
</p>

<p>
	В итоге. На порт 3 приходит все и с порта 1 и с порта 2. Пакеты между портами 1 и 2 туда-сюда не проходят.
</p>

<p>
	Но с порта 3 ничего не выходит ни на порт 1 ни на порт 2.
</p>

<p>
	 
</p>

<p>
	Что я делаю не так ?
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted"><span class="kwd">void</span><span class="pln"> vlan_init</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="typ">uint16_t</span><span class="pln"> data16</span><span class="pun">;</span><span class="pln">

	</span><span class="com">// PxCR1 -----------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P1CR1</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="com">/* Tag Insertion */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">));</span><span class="pln"> </span><span class="com">/* Tag removal */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P1CR1</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P2CR1</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="com">/* Tag Insertion */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">));</span><span class="pln"> </span><span class="com">/* Tag removal */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P2CR1</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P3CR1</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="com">/* Tag Insertion */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">));</span><span class="pln"> </span><span class="com">/* Tag removal */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P3CR1</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// PxCR2 -----------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P1CR2</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">&amp;=</span><span class="pln"> </span><span class="pun">~(</span><span class="lit">7UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">    </span><span class="com">// clear Port VLAN Membership bits</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">14</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Ingress VLAN Filtering */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">5UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Port VLAN Membership - Port3 and Port1 */</span><span class="pln">
							  </span><span class="com">/* какие порты будут входить в сеть VLAN1. Только Port1 и Port3. */</span><span class="pln">
	                          </span><span class="com">/* Т.е. Port1 будет общаться только с Port3. Это будет VLAN1  */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P1CR2</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P2CR2</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">&amp;=</span><span class="pln"> </span><span class="pun">~(</span><span class="lit">7UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">    </span><span class="com">// clear Port VLAN Membership bits</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">14</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Ingress VLAN Filtering */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">6UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Port VLAN Membership - Port3 and Port2 */</span><span class="pln">
							  </span><span class="com">/* какие порты будут входить в сеть VLAN2. Только Port2 и Port3 */</span><span class="pln">
    					      </span><span class="com">/* Т.е. Port2 будет общаться только с Port3. Это будет VLAN2  */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P2CR2</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_P3CR2</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">&amp;=</span><span class="pln"> </span><span class="pun">~(</span><span class="lit">7UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">    </span><span class="com">// clear Port VLAN Membership bits</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">14</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Ingress VLAN Filtering */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">7UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Port VLAN Membership - all ports - Port1, Port2 and Port3 */</span><span class="pln">
							  </span><span class="com">/* объединение VLAN1 и VLAN2 на Port3 */</span><span class="pln">
                              </span><span class="com">/* Т.е. Port3 будет общаться и с Port1 и с Port2. Это будет объединение VLAN1 и VLAN2  */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P3CR2</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// PxVIDCR -----------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x01UL</span><span class="pun">;</span><span class="pln">  </span><span class="com">// default tag for PORT1</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P1VIDCR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x02UL</span><span class="pun">;</span><span class="pln">  </span><span class="com">// default tag for PORT2</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P2VIDCR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x01UL</span><span class="pun">;</span><span class="pln">  </span><span class="com">// default tag for PORT3</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_P3VIDCR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// SGCR7 ------------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR7</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">&amp;=</span><span class="pln"> </span><span class="pun">~(</span><span class="lit">0x07UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln"> </span><span class="com">// clear Unknown Packet Default Port(s)</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">7</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">   </span><span class="com">/* Unknown Default Port Enable */</span><span class="pln">
			   </span><span class="pun">(</span><span class="lit">4UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Unknown Packet Default Port(s) = Port3 */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR7</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// SGCR8 ------------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR8</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">8</span><span class="pun">);</span><span class="pln">   </span><span class="com">/* Port 3 Tail-Tag Mode Enable */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR8</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// SGCR9 ------------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR9</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">&amp;=</span><span class="pln"> </span><span class="pun">~((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">11</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1UL</span><span class="pun">);</span><span class="pln">   </span><span class="com">/* clear bits from 0 to 10 */</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln">  </span><span class="pun">((</span><span class="lit">4UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">8</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">          </span><span class="com">/* Forwarding Invalid Frame */</span><span class="pln">
                                      </span><span class="com">/* Define the forwarding port for frame with invalid VID */</span><span class="pln">
			                          </span><span class="com">/* Port3 only*/</span><span class="pln">
				</span><span class="pun">(</span><span class="lit">0x3F</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">         </span><span class="com">/* Enable Insert Source Port PVID Tag when Untagged Frame */</span><span class="pln">
				                      </span><span class="com">/* for all ports to all ports */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR9</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">

	</span><span class="com">// VLAN table init</span><span class="pln">
	</span><span class="com">// clear all table entries</span><span class="pln">
	</span><span class="kwd">for</span><span class="pun">(</span><span class="typ">uint32_t</span><span class="pln"> i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">&lt;</span><span class="lit">16</span><span class="pun">;</span><span class="pln"> </span><span class="pun">++</span><span class="pln">i</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR5</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln"> </span><span class="com">// VLAN table bits [19:16]</span><span class="pln">
		ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR4</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln"> </span><span class="com">// VLAN table bits [15:0]</span><span class="pln">
		data16 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">0UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">          </span><span class="com">/* write cycle */</span><span class="pln">
				  </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">          </span><span class="com">/* VLAN table selected. */</span><span class="pln">
				  </span><span class="pun">((</span><span class="pln">i </span><span class="pun">&amp;</span><span class="pln"> </span><span class="lit">0x3FF</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Indirect Address */</span><span class="pln">
		ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IACR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln"> </span><span class="com">// set indirect address and trigger a write VLAN table operation</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">union</span><span class="pun">{</span><span class="pln">
		</span><span class="typ">uint16_t</span><span class="pln"> dat16</span><span class="pun">[</span><span class="lit">2</span><span class="pun">];</span><span class="pln">
		</span><span class="typ">uint32_t</span><span class="pln"> dat32</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">data32</span><span class="pun">;</span><span class="pln">

	data32</span><span class="pun">.</span><span class="pln">dat32 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">19</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Specifies that this entry is valid, the look up result will be used */</span><span class="pln">
			        </span><span class="pun">(</span><span class="lit">5UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">16</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Membership - Port3 and Port1 */</span><span class="pln">
			        </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* FID */</span><span class="pln">
			        </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* VID */</span><span class="pln">

	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR5</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [19:16]</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR4</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [15:0]</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">0UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* write cycle */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* VLAN table selected. */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">0UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* Indirect Address */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IACR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln"> </span><span class="com">// set indirect address and trigger a write VLAN table operation</span><span class="pln">

	data32</span><span class="pun">.</span><span class="pln">dat32 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">19</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Specifies that this entry is valid, the look up result will be used */</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">6UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">16</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Membership - Port3 and Port2 */</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* FID */</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* VID */</span><span class="pln">

	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR5</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [19:16]</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR4</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [15:0]</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">0UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* write cycle */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* VLAN table selected. */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">  </span><span class="com">/* Indirect Address */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IACR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln"> </span><span class="com">// set indirect address and trigger a write VLAN table operation</span><span class="pln">

	data32</span><span class="pun">.</span><span class="pln">dat32 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">19</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Specifies that this entry is valid, the look up result will be used */</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">7UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">16</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* Membership - Port3, Port2 and Port1*/</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">3UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* FID */</span><span class="pln">
					</span><span class="pun">(</span><span class="lit">3UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">   </span><span class="com">/* VID */</span><span class="pln">

	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR5</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [19:16]</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IADR4</span><span class="pun">,</span><span class="pln"> data32</span><span class="pun">.</span><span class="pln">dat16</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln"> </span><span class="com">// VLAN table bits [15:0]</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span class="lit">0UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">12</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* write cycle */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln"> </span><span class="pun">|</span><span class="pln">  </span><span class="com">/* VLAN table selected. */</span><span class="pln">
			  </span><span class="pun">(</span><span class="lit">2UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">));</span><span class="pln">  </span><span class="com">/* Indirect Address */</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_IACR</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln"> </span><span class="com">// set indirect address and trigger a write VLAN table operation</span><span class="pln">

	</span><span class="com">// SGCR2 (VLAN Enable) ------------------------------</span><span class="pln">
	data16 </span><span class="pun">=</span><span class="pln"> ksz8463_read</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR2</span><span class="pun">);</span><span class="pln">
	data16 </span><span class="pun">|=</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1UL</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> </span><span class="lit">15</span><span class="pun">);</span><span class="pln">  </span><span class="com">// VLAN enable</span><span class="pln">
	ksz8463_write</span><span class="pun">(</span><span class="pln">KSZ8463_SGCR2</span><span class="pun">,</span><span class="pln"> data16</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">184533</guid><pubDate>Tue, 14 May 2024 12:22:13 +0000</pubDate></item></channel></rss>
