-
- Тащемта, сетку по-минимуму завел (без кетайской либы) на прием и
передачу. - LightElf(19.05.2021 17:07)
- Надеемся, что поделишься с изысканиями :) Меня вроде родная
китайская либа LWIP (после нескольких дней тестирования) вполне
устраивает. Не устраивает BT. Ибо надо просто трансивер, а у
китайцы начинку этого дела прячут. У них есть в SDK пример RF_PHY,
но он задействует либу, которая использует какую то их
невытесняющую OS. Жирновато получается, если пользовать их ethernet
и их реализацию работы с RF трансивером. - Гyдвин(20.05.2021 08:06 - 08:28)
- Разберусь с ETH PHY и выложу. MAC там простой как валенок. С RF - я
(пока?) не планирую любиться, бо задачи такой нет. - LightElf(20.05.2021 08:16)
- Спасибо. - Гyдвин(20.05.2021 08:28)
- Починил работу с PHY. В общем, вот минимальный пример. Без
прерываний, без нихера. Просто принять и отправить пакет. LightElf(21.05.2021 16:20, ссылка)
- Выяснилась интересная
багаособенность у модуля ETH, пока не понял как ее обойти. Суть в том, что приняв один пакет контроллер не останавливается и радостно готов принимать следующий пакет поверх предыдущего :) В результате есть шанс получить пакеты всмятку. - LightElf(23.05.2021 20:32)- Кортекс не успевает в прерывание за время преамбулы очередного
пакета? Там вроде 6 мкс минимум. - s_h_e(23.05.2021 20:54)
- У M0 нет BASEPRI, соответственно прерывания иногда придется
запрещать. По первому пакету флаг прерывания взвелся, пошел прием
второго пакета поверх первого, тут критическая секция закончилась,
входим в прерывание, переключаем буферы и вуаля - имеем в буфере
начало второго пакета и конец первого. Скорее всего обойти можно,
но надо сильно думать. - LightElf(23.05.2021 21:42)
- Одно решение на поверхности лежит - дать прерыванию ETH максимальный приоритет и не запрещать прерывания глобально. Обдумываю альтернативы - LightElf(24.05.2021 07:31)
- Вот это как раз и вызывало тревогу - контроллер должен заниматься
множеством других дел. Если нет аппаратного переключения адресации
буфера приема, то это игрушка. - Гyдвин(23.05.2021 22:10)
- Было бы достаточно приняв один пакет вырубать прием до обработки
прерывания. Но воообще - я слегка жалею, что связался. "Не гонялся
бы ты поп за дешевизной". Надо было CH563Q брать. - LightElf(23.05.2021 22:18)
- Потому и тычусь одновременно и с CH579, и связкой NRF52+ENC28. Но с
enc28j60-i/ss тоже сейчас жопа :( - Гyдвин(23.05.2021 23:30)
- Если ничего совсем фатального не всплывет - буду жрать кактус, бо
прикупил уже кучку :) Правда кучку ESP32+KSZ8081R тоже прикупил :) - LightElf(23.05.2021 23:37)
- Тоже пользуем KSZ8081R, но у него всего один светляк. Некоторые
клиенты вопросы задают, почему не горит второй в разъеме. Когда-то
не обратили внимание, повелись на дешевизну. Есть такой же дешевый
LAN какой-то, но с 2 выходами на светляки. - Andreas(24.05.2021 09:55)
- Вешаю второй светодиод на ножку проца и включаю программно для индикации 10/100. А так все уже привыкли, у IP175L тоже только один светик на порт. В качестве альтернативы KSZ8081R хорошо заходил IP101GR, весьма приятный. Но с ним тоже начались приключения с ценами и доступностью. - LightElf(24.05.2021 10:32)
- В конторе тоже кучка уже лежит - обошлись по 180 руб/шт :) Думаю, сгодится-таки для всяческой мелочевки, если не удастся натянуть на то, что хочу. ENC28 тоже запасец кое-какой имеется, ибо текущая реализация девайсов на них. Манагеры Ультрана стучат пяткой в грудь, что с nrf52 все будет пучком (блажен, кто верует ;) - Гyдвин(24.05.2021 00:06)
- Тоже пользуем KSZ8081R, но у него всего один светляк. Некоторые
клиенты вопросы задают, почему не горит второй в разъеме. Когда-то
не обратили внимание, повелись на дешевизну. Есть такой же дешевый
LAN какой-то, но с 2 выходами на светляки. - Andreas(24.05.2021 09:55)
- Если ничего совсем фатального не всплывет - буду жрать кактус, бо
прикупил уже кучку :) Правда кучку ESP32+KSZ8081R тоже прикупил :) - LightElf(23.05.2021 23:37)
- Потому и тычусь одновременно и с CH579, и связкой NRF52+ENC28. Но с
enc28j60-i/ss тоже сейчас жопа :( - Гyдвин(23.05.2021 23:30)
- Было бы достаточно приняв один пакет вырубать прием до обработки
прерывания. Но воообще - я слегка жалею, что связался. "Не гонялся
бы ты поп за дешевизной". Надо было CH563Q брать. - LightElf(23.05.2021 22:18)
- У M0 нет BASEPRI, соответственно прерывания иногда придется
запрещать. По первому пакету флаг прерывания взвелся, пошел прием
второго пакета поверх первого, тут критическая секция закончилась,
входим в прерывание, переключаем буферы и вуаля - имеем в буфере
начало второго пакета и конец первого. Скорее всего обойти можно,
но надо сильно думать. - LightElf(23.05.2021 21:42)
- Кортекс не успевает в прерывание за время преамбулы очередного
пакета? Там вроде 6 мкс минимум. - s_h_e(23.05.2021 20:54)
- Премного благодарен! (сегодня только до компа добрался). - Гyдвин(21.05.2021 17:32)
- Выяснилась интересная
- Починил работу с PHY. В общем, вот минимальный пример. Без
прерываний, без нихера. Просто принять и отправить пакет. LightElf(21.05.2021 16:20, ссылка)
- Спасибо. - Гyдвин(20.05.2021 08:28)
- Разберусь с ETH PHY и выложу. MAC там простой как валенок. С RF - я
(пока?) не планирую любиться, бо задачи такой нет. - LightElf(20.05.2021 08:16)
- Надеемся, что поделишься с изысканиями :) Меня вроде родная
китайская либа LWIP (после нескольких дней тестирования) вполне
устраивает. Не устраивает BT. Ибо надо просто трансивер, а у
китайцы начинку этого дела прячут. У них есть в SDK пример RF_PHY,
но он задействует либу, которая использует какую то их
невытесняющую OS. Жирновато получается, если пользовать их ethernet
и их реализацию работы с RF трансивером. - Гyдвин(20.05.2021 08:06 - 08:28)
- Это кусок из CH579SFR.H, относящийся к Ethernet. Бьюсь с
настройками PHY, регистры читаются - но не пишутся. А мне сильно
хочется отключить дуплекс - LightElf(19.05.2021 12:05)
- Не пробовали в соответствии с докой на ENC28J60? Ну там, запись
адреса в R8_ETH_MIREGADR и далее по тексту. - s_h_e(19.05.2021 23:23)
- Не, не канает. Там PHY другой, больше похожий на стандартные - но
не пишется ничего хоть убей. Задал китайцам вопрос - может чего
подскажут - LightElf(20.05.2021 17:30)
- Ну и как, подсказали? - s_h_e(23.05.2021 18:53)
- Нет, сам разобрался - LightElf(23.05.2021 19:51, ссылка)
- Ок, спасибо, интересно. Я там запись в PHY как-то проглядел сперва( - s_h_e(23.05.2021 20:05)
- Нет, сам разобрался - LightElf(23.05.2021 19:51, ссылка)
- Ну и как, подсказали? - s_h_e(23.05.2021 18:53)
- Не, не канает. Там PHY другой, больше похожий на стандартные - но
не пишется ничего хоть убей. Задал китайцам вопрос - может чего
подскажут - LightElf(20.05.2021 17:30)
- Не пробовали в соответствии с докой на ENC28J60? Ну там, запись
адреса в R8_ETH_MIREGADR и далее по тексту. - s_h_e(19.05.2021 23:23)
- Тащемта, сетку по-минимуму завел (без кетайской либы) на прием и
передачу. - LightElf(19.05.2021 17:07)