Страница 6 из 71
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 26 мар 2018, 03:28
Impartial
Ну откуда 50мкс ? 1/(100000000/( 5000*8))=0.0004.
Добавьте туда еще разбиение минимум на четыре пакета.
И если на демке есть LVIP добавьте минимум 1мс на обработку.
Как работает меса я не знаю, но там стоит спартан 6 а это не СТМка. Можно и раз в 10мс пакеты получать. Скорее всего так и есть.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 26 мар 2018, 04:52
Serg
tcpdump, фрагмент обмена с 7i92+7i77, время в микросекундах, можно заметить джиттер в пару микросекунд:
Код: Выделить всё
04:38:43.977143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.978033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.978114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.978143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.979033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.979117 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.979145 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.980033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.980113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.980143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.981033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.981114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.981143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.982033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.982114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.982143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.983033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.983113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.983134 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.984033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.984116 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.984144 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.985033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.985113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.985143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 26 мар 2018, 09:12
T00T
Impartial писал(а):А что есть варианты? Расскажите.
Ну надо потестить, но платка IO которая на #72. В сервопериод укладывается всегда, я просто не смотрел с каким запасом.
Причём сначала идёт запрос, потом на него ответ.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 01 апр 2018, 09:38
MX_Master
Искал на днях недорогие оптопары на входы/выходы общего назначения. Всякие pc817 и tlp281 - слишком уж медленные, до 20 КГц. А хотелось бы чуть чуть быстрей, но не по цене высокоскоростных.
Наткнулся на али на 4-х канальные PS2801-4. Максимальное время отклика 5 мкс (200 КГц). Цена - 0.36$ за шт. По 0.09$ за канал. Что для запланированных 48 входов/выходов обойдётся в 4.32$.
Если кто-то знает варианты лучше, подскажите.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 01 апр 2018, 09:49
Сергей Саныч
MX_Master писал(а):слишком уж медленные, до 20 КГц. А хотелось бы чуть чуть быстрей
Для общего назначения делать быстрей, чем сервопериод, нет смысла.
MX_Master писал(а):Максимальное время отклика 5 мкс (200 КГц)
5 мкс - это от силы 100 кГц. Котельников с Найквистом не дадут соврать.
И, кстати, чем кормить предполагается опторазвязанное оборудование?
По мне, опторазвязка для уже отвязанной от компьютера платы не особо нужна. А для редких случаев, когда она требуется, лучше сделать отдельную дочернюю платку.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 01 апр 2018, 10:11
MX_Master
Да, развязку планирую отдельной платкой. Основная платка будет максимально голой. Развязка, она не от ПК, а от подключаемых устройств.
100 КГц (5мкс+5мкс) это всяко лучше чем 20 КГц. Мало ли что подключить придётся, уж лучше быстрее, чем медленней.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 01 апр 2018, 11:40
alex1816
Вот здесь упоминания микросхем для переобразования сигнала енкодера: дифпара в ттл и обратно (если понадобится).
http://www.cnc-club.ru/forum/viewtopic. ... 80#p413151
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 01 апр 2018, 17:29
wldev
Я такие использую где частота нужна. H11L1
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 10:37
MX_Master
Попытался найти в Китаях готовую макетку с какими-нибудь
STM32F4 и
Ethernet. Два отдельных модуля - без проблем и недорого (даже на Али недорого):
А вместе на одной платке - редкость. Обыскался на Али, перешёл на Тао.. Неважно, есть там на плате что-то дополнительное или нет - цена раза в 2-3 выше комплекта из 2-х модулей:
Если кто-то где-то видел недорогие готовые макетки с
F4 и
Ethernet, подскажите, буду благодарен.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 15:15
alex1816
MX_Master писал(а):Если кто-то где-то видел недорогие готовые макетки с F4 и Ethernet, подскажите, буду благодарен.
Я когда то искал похожее. Минимум около 30 уев попадалось (то есть такое же как ты нашел).
Может все таки на двух платах, только на сеть 5х00 взять дабы процессор разгрузить от обработки сетевого стека.
А пока разработаешь - одноплатные китайцы такие же сделают

Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 15:52
MX_Master
Дефицит, блин. Придётся пару-тройку первых плат на станке запилить, для проверки.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 18:15
selenur
MX_Master писал(а):Дефицит, блин. Придётся пару-тройку первых плат на станке запилить, для проверки.
если нужно могу кинуть радио схемы контроллера, что недавно получил, в pdf формате.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 18:25
N1X
selenur писал(а):радио схемы контроллера
Бррр.... аж поежился... Принципиальные схемы, видимо

Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 04 апр 2018, 20:45
selenur
N1X писал(а):selenur писал(а):радио схемы контроллера
Бррр.... аж поежился... Принципиальные схемы, видимо

автозамена текста сработала, и не заметил...
Реньше Т9, мешало, теперь эта штука..
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 11 апр 2018, 16:19
MX_Master
Собрал небольшую макетку из двух модулей. Удивительно, что с первого раза удалось всё правильно подключить и настроить сеть. Надо отдать должное команде разработчиков
CubeMX. Сделаю пару тестов на скорость передачи/обработки. И можно приступать к работе над прошивкой.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 11 апр 2018, 22:07
merkwurdigliebe
MX_Master писал(а):Наткнулся на али на 4-х канальные PS2801-4. Максимальное время отклика 5 мкс (200 КГц). Цена - 0.36$ за шт. По 0.09$ за канал. Что для запланированных 48 входов/выходов обойдётся в 4.32$.
Если кто-то знает варианты лучше, подскажите.
PS2805-4 по $0.24. бонусом - там два светодиода, полярность входного сигнала любая
но, имхо, с али - не похоже, что это renesas. много раз покупал, все какие-то подозрительные... но работают. но характеристики не проверял
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 12 апр 2018, 20:19
MX_Master
С LwIP стэком голая прошивка занимает примерно 45 Кб, без LwIP - 11 Кб.
Продолжаю копать в сторону голых и коротких
(RAW) Ethernet пакетов. Хочу в основной прошивке отказаться от
IP адреса, порта и от
UDP тоже. В идеале хочется, чтоб в пакете были только два
MAC адреса (6+6 байт), тип (2 байта), мои данные (Х байт) + контрольная сумма (4 байта).
Порылся в тырнетах.. Что-то нет в сети готовых примеров по работе
Ethernet в
STM32F4 без
LwIP стэка. Продвигаюсь на ощупь, но успехи есть.

Подсмотрел в
LwIP как он работает с
HAL дровами. Удалось сделать получение и обработку
RAW пакетов в обработчике
ethernet прерывания. Сие прерывание возникает только, когда в пакете указан
MAC адрес назначения от
STM'ки или общак
FF:FF:FF:FF:FF:FF. Опять-таки, спасибо разработчикам
CubeMX за сей фильтр, который доступен уже из коробки.
Надеюсь, кто-нибудь понял о чём я

Вощем, продолжаем...
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 16 апр 2018, 20:02
MX_Master
Может кто подскажет..
Тестирую отправку
ethernet пакетов из
linux. Сам вручную собираю пакеты. Но какой бы короткий пакетик не получился по размеру, в
STM'ку приходит всегда минимум
60 байт. Это где-то в
linux так жёстко зашиты
60 байт или это значение как-то можно изменить?
К примеру, мне из
linux нужно спросить у
STM'ки текущее состояния пинов. Я собираю пакет с запросом из
- 6 байт - МАС адрес получателя
- 6 байт - МАС адрес отправителя
- 2 байта - тип пакета
- 4 байта - грубо говоря, мои данные
всего 18 байт. Но
linux к ним приписывает пучёк нулей до
60 байт и отправляет уже
60 байт. Как можно понять,
60 байт отправляются примерно в
3 раза дольше чем мои
18. Канеш, на фоне обработки данных в
STM'ке (и прочих расходов), скорость передачи может выглядеть не самым узким местом. Но хотелось бы минимизировать.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 17 апр 2018, 03:38
Сергей Саныч
Это требование стандартов Ethernet. Иначе могут быть проблемы с обнаружением столкновений в стандартных конфигурациях.
Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 17 апр 2018, 05:34
Duhas
MX_Master писал(а):
всего 18 байт. Но linux к ним приписывает пучёк нулей до 60 байт и отправляет уже 60 байт. Как можно понять, 60 байт отправляются примерно в 3 раза дольше чем мои 18. Канеш, на фоне обработки данных в STM'ке (и прочих расходов), скорость передачи может выглядеть не самым узким местом. Но хотелось бы минимизировать.
если на скорость обработки пакетов это шибко не влияет - забей. Запас канала ethernet такой, что это не станет узким местом