Например TDA7294

Форум РадиоКот • Просмотр темы - stm32f4xx+lan8720
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс апр 28, 2024 14:48:29

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32f4xx+lan8720
СообщениеДобавлено: Пн июл 18, 2022 19:43:10 
Открыл глаза

Зарегистрирован: Вт фев 15, 2022 21:28:35
Сообщений: 59
Рейтинг сообщения: 0
Избороздил весь мануал на stm32f407. В разделе Ethernet очень много неясного. Для начала интересует можно ли управлять чипом lan8720 из stm32f407 без линий MDC/MDIO ?
В мануале сказано что : Как тактовая линия MDC, так и линия передачи данных MDIO реализованы в качестве альтернативного функционального ввода-вывода
в микроконтроллере. Всем спасибо и мяу-мяу! :P


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Вт июл 19, 2022 08:13:26 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 196
Откуда: Россия, Омск
Рейтинг сообщения: 0
Эти две линии - управление чипом. В том числе, чтение его состояния, установка регистров и всяческая настройка.
Если я правильно помню, то чип можно предварительно настроить подтяжками на определённых пинах. В момент сброса он читает их состояние и соответствующим образом выполняет минимальную настройку, затем переходит в максимально общий режим работы - Auto_Neg / 10-100M / Auto-Duplex. Режим порта MII/RMII, обычно устанавливается в MII (как правило, но это не обязательно - подробнее лучше читать в мануале на сам чип).

То есть, без этих линий не получится принудительно настроить чип на нужную скорость, включить режим RMII (если требуется), запустить диагностику кабеля или тесты самого чипа (в том числе, заворот трафика на разных стадиях его обработки). Технически, его можно эмулировать "ногодрыгом". В каком-то чипе без наличия Ethernet модуля я подключал TLK105 и пытался заставить его выполнять диагностику кабеля. И это даже работало. Нестабильно, но работало.

danone78 писал(а):
В мануале сказано что : Как тактовая линия MDC, так и линия передачи данных MDIO реализованы в качестве альтернативного функционального ввода-вывода

Да.
GPIOx->MODER, соответствующие биты портов должны быть установлены в "10" - Alternate Function
GPIOx->AFR[0/1] - соответствующие биты должны быть установлены в номер фукнции.

В вашем случае, это порты GPIOC1 - MII_MDC, GPIOA2 - MII_MDIO. Оба имеют номер функции 11 0x0B. Соответственно:
Код:
GPIOC->MODER &= 0xFFFFFFF3; // GPIOC[1] -> `00`
GPIOC->MODER |= 0x00000008; // GPIOC[1] -> `10'
GPIOC->AFR[0] &= 0xFFFFFF0F; // GPIOC[1].AFR -> `0000`
GPIOC->AFR[0] |= 0x000000B0; // GPIOC[1].AFR -> `1011` / 11
GPIOA->MODER &= 0xFFFFFFCF; // GPIOA[2] -> `00`
GPIOA->MODER |= 0x00000020; // GPIOA[2] -> `10`
GPIOA->AFR[0] &= 0xFFFFF0FF; // AFR -> `0000`
GPIOA->AFR[0] |= 0x00000B00; // AFR -> `1011` / 11


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Сб июл 23, 2022 13:31:57 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 574
Рейтинг сообщения: 0
Пару месяцев назад разбирался, тоже пару вопросов возникло.

В чем разница между кольцевым дескриптором и связанным списком.
В ДШ написано что каждый дескриптор может содержать только один кадр, так ли это для кольцевого дескриптора ?
Тогда что помешается во втором буфере кольцевого дескриптора, продолжение кадра или же новый кадр?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Вс июл 24, 2022 05:16:20 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 196
Откуда: Россия, Омск
Рейтинг сообщения: 0
В чем разница между кольцевым дескриптором и связанным списком.

В принципе их работы. Кольцо может использовать два буфера одновременно (либо только один из них, как захочет программист). В списке второй буфер ссылается на "следующий" дескриптор.
Как на изображении из Reference Manual'а:
Вложение:
Буфер обмена01.png [65.32 KiB]
Скачиваний: 70

В ДШ написано что каждый дескриптор может содержать только один кадр, так ли это для кольцевого дескриптора ?

Так же.
Цитата:
Data chaining refers to frames that span multiple data buffers. However, a single descriptor cannot span multiple frames. The DMA skips to the next frame buffer when the end of frame is detected.

Цитата:
Цепочка дескрипторов содержит поля с указателями на буферы данных. Тем не менее, один дескриптор не может содержать несколько фреймов. DMA переходит на следующий буфер фрейма как только детектирует конец пакета.

То есть, вы можете заполнить настроить дескрипторы в кольцо, настроить у каждого по два буфера с ненулевым размером (если размер Buffer 1 равен нулю, будет использоваться Buffer 2), но использоваться будет только Buffer 1. Либо Buffer 2, если размер Buffer 1 нулевой.

Тогда что помешается во втором буфере кольцевого дескриптора, продолжение кадра или же новый кадр?

Зависит от варианта настроек.
Первая запись в дескрипторе TDES0, биты 20 и 21:
Цитата:
Bit 21 TER: Transmit end of ring
When set, this bit indicates that the descriptor list reached its final descriptor. The DMA returns to the base address of the list, creating a descriptor ring.

Bit 20 TCH: Second address chained
When set, this bit indicates that the second address in the descriptor is the next descriptor address rather than the second buffer address. When TDES0[20] is set, TBS2 (TDES1[28:16]) is a “don’t care” value. TDES0[21] takes precedence over TDES0[20].

Цитата:
Бит 21. TER: Конец кольца передачи
Когда бит установлен, дескриптор последний в списке. DMA возвращается к базовому адресу списке, создавая кольцо.
Бит 20. TCH: Второй ардес сцеплен
Когда бит установлен, второй адрес дескриптора используется как указатель на следующий дескриптор вместо указателя на второй буфер. Когда установлен TDES0[20], TBS2 (TDES1[28:16]) игнорируются. TDES0[21] имеет приоритет над TDES0[20].


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Вт сен 27, 2022 23:33:18 
Открыл глаза

Зарегистрирован: Вт фев 15, 2022 21:28:35
Сообщений: 59
Рейтинг сообщения: 0
можно ли инициализировать PHY подключив лишь линии MDC/MDIO ? При условии, что PHY тактируется от своего CMOS генератора.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Ср сен 28, 2022 00:13:05 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Да его можно инициализировать вообще ничего не подключая только конфигурациоными резисторами. Но зачем? Через MII/RMII передаются данные, а через MDC/MDIO управление PHY. Зачем что-то делать не так как задумано стандартом интерфейса?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f4xx+lan8720
СообщениеДобавлено: Ср сен 28, 2022 13:58:33 
Открыл глаза

Зарегистрирован: Вт фев 15, 2022 21:28:35
Сообщений: 59
Рейтинг сообщения: 0
дело в том что у меня вообще был полный ноль и осциллографа под рукой не оказалось. Просто проверить выходные сигналы не мог, непонятно было куда копать то-ли фи не отвечает то ли МАК не говорит. Вышел из положения немного по турецки. Соединил перемычкой сначала MDC с портА0, и во время передачи пока бит0 ETH_MACMIIAR поднят, считал состояние порта А0 битбандингом в оперативку. То же самое с MDIO. Информация несинхронизированная , но мне хватило чтобы понял что МАК что-то выдает. Потом я вроде ничего не менял, но мне наконец-то удалось получить что-то отличное от нулей. Прочитался третий регистр фи с идентификационными данными, ну и так дальше и тому подобное. Хочу оставить памятку чтобы пацанам полегче было.
stm32f407 + dp83848
читать и изменять содержимое регистров посредством Station Managment Interface можно
подключив лишь питание и mdc/mdio, при условии что PHY тактируется.
На плате PHY уже установлен CMOS генератор 50 МГц. От него сразу тактируется PHY.
Вводящая в заблуждение надпись oscin на плате PHY на самом деле означает выход
50МГц для передачи тактовых импульсов от PHY к MAC 802.3 .
MAC 802.3 должен тактироваться с двух сторон: со стороны RCC AHB stm32f407 и со стороны PHY.
Частота со стороны RCC AHB должна быть выше или равна частоте PHY.
Частота для MDC не имеет нижнего предела, верхний 2.5 МГц.
Внутри чипа dp83848 к ножке paddr0 слабое подтягивание к VCC,
поэтому начальный адрес PHY по умолчанию 0х00001.
Для работы с MAC 802.3 на stm32f407 сначала нужно настроить порты.
В режиме RMII понадобятся только:
RCC_AHB1ENR для включения тактирования MAC 802.3 со стороны stm32f407.
GPIOA_MODER
GPIOB_MODER
GPIOC_MODER для включения портов в режим альтернативной функции
GPIOA_AFRL
GPIOB_AFRL
GPIOC_AFRL для выбора альтернативной функции 11(0xb)(0b1011)
никаких дополнительных подтягиваний не нужно, все порты в режиме push-pull.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y