Перейти к содержанию
    

Нереально. Интерфейсы там чётко указаны: MII/RMII/SNI. Микросхемы физики с SPI есть у WIZnet, Microchip. Точнее это уже наызвается не микросхема физики, а Ethernet Controller.

Изменено пользователем arhiv6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у SNI раздельные клоки на приём и передачу, так что надо либо два SPI, либо I2S.

в half duplex можно и на одном SPI что-нибудь сгородить попробовать.

но зачем?

и к чему подключить-то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что такое rmii ? 4 провода данных плюс синхронизация - очень похоже

медиа акцесс не нужен, контроль коллизий не нужен, адреса, даже контрольная сумма...

зато нужен короткий кадр

а визнет тут вообще избыточен

 

два SPI

и к чему подключить-то?

пусть будет на борту 5 spi

предположим два 83848 друг с другом

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пусть будет на борту 5 spi

предположим два 83848 друг с другом

ну так в чем тогда проблема, описание сигналов SNI в даташите.

клоки, данные, txen/crs -> соответственно на клоки, данные и CS в spi. (полярности txen/crs только проверить чтобы совпадали).

правда с байтовой синхронизацией на приёме некрасиво может получиться, что придётся всё-таки как в езернете добавить преамбулу 0x55, 0x5d и потом программно весь пакет на бит-другой передвигать.

 

в принципе любая самая мелкая cpld вполне сойдёт как преобразователь spi <-> mii для подключения любого другого более распростанённогo phy.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если я правильно понял, то на 100 мегабит выравнивание на группу, т.е. 4 бита, выполняет phy

при этом не исключено, что стартовые и стоповые группы могут быть исключены из потока

а вот при 10 мегабитах как такового выравнивания на группу нет, потому что нет групп, и выравнивание на границу байта обязан выполнять уже мас

в мк сканировать биты весьма проблематично

поэтому есть мысль использовать uart в асинхронном режиме и phy в режиме таки rmii, т.е. на 50 мегагерц

что, кстати, может позволить подключить второй phy, по типу ethercat, на аппаратном уровне, т.е. без задержек и без нагрузки на мк

 

остаётся как-то разрулить mii smi

правильно ли я понимаю, что не mac, а приложение, через mac, управляет mdc/mdio ?

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

передача идёт, приём на сотке - не идёт, на десятке нули, надо как-то хотя бы осциллографом ткнуть-посмотреть

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал для LAN8720 на 9600, только нужны один/два инвертора

на 115.2 не идёт

dp83848 не идёт, после каждого пакета линк падает на пару секунд

наверно слишком умный, типа преамбулу хочет или ещё что

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dp83848 в режиме sni выдаёт на tx_clk около 15 мегагерц, кто-нибудь знает, что это за ерунда ?

когда 2.5 и 25 50 выдаёт - это хоть как-то понятно

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dp83848 в режиме sni выдаёт на tx_clk около 15 мегагерц, кто-нибудь знает, что это за ерунда ?

 

Это не ерунда, это так и есть. "SNI TRANSMIT CLOCK: 10 MHz Transmit clock output in 10 Mb SNI mode."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так бы зарплату - в ведомость написали 10 миллионов, а выдали 15

 

 

 

на rx_clk кстати тоже 15 (

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот что нашёл:

 

For SNI mode, the X1 input should use a 25MHz crystal or oscillator. The specifications for the crystal or oscillator are in the Design Guidelines section of the datasheet.

 

по первой части может и так, а по второй - врёт, я не нашёл такого ds

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал в rmii для lan8720

но есть косяки

на 10мбит через дюжину байт идут артефакты

на 100мбит чистенько, но в начале пакета порядка полутора сотен байт вместо данных идут нули

в общем, и то и то не приемлемо

возможно частоты генераторов настолько сильно не совпадают

либо фронты данных где-то на границе и плавают туда-сюда

ну или phy пытается синхронизироваться по данным и лажает - а других-то клоков нет

что ещё, прерываний явных нет, дма может существенно тормозить мк ?

тогда надо и передачу на дма вешать

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...