Страница 10 из 245
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 19:05
MX_Master
В качестве размышлений.. Допустим, RT у нас как-то заработал. И какой же минимальный latency получится? Если всё те же 20-30 мкс, а это вполне возможно. Стоило ли заморачиваться?

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 19:35
arkhnchul
потом прикручивать руление gpio вместо lpt. Если взлетит хотя бы в таком виде - почему бы и нет.
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 20:09
Argon-11
MX_Master писал(а): минимальный latency
дакыть вроде максимальный надо оценивать
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 20:31
MX_Master
arkhnchul писал(а):потом прикручивать руление gpio вместо lpt
дык, у
LinuxCNC - софт генерация, и при
20-30 мкс latency - это всего лишь
20 КГц шагов.
у меня эти
20 КГц уже есть на
Micro ITX платке безо всяких
Orange Pi.
поэтому и спрашиваю, оно действительно стоит свеч?
Argon-11 писал(а):дакыть вроде максимальный надо оценивать
ну ты понял
имел ввиду максимальный, стессна
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 20:52
Argon-11
MX_Master писал(а): оно действительно стоит свеч?
А как же драйвер уровня ядра?
MX_Master писал(а):
Есть такое дело, опробую на неделе..
Типа обеспечить сервоцикл в ОС с частотой 1 кГц, в к-ром происходит передача данных в "драйвер уровня ядра", к-рый уже выдает более высокочастотную и якобы равномерную последовательность шагов. Ну как-то так (c).
Еще не все попробовано!
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 21:08
MX_Master
Драйвер уровня ядра ведь тоже на каком-то физическом ядре проца будет работать. Я что-то сомневаюсь, что ради этого драйвера ядро linux перестанет выполнять операции обслуживания соответствующего ядра проца.
Как я показывал выше на примере изолированного ядра, системные операции на ядре проца съедают до 15 мкс каждую секунду. И драйвер ядра linux, я уверен, тоже будет прерываться на эти 15 мкс. Какой выигрыш тогда у драйвера ядра ос перед пользовательским процессом на изолированном ядре?
надо завязывать с этими ядрами на русском языке, уж лучше kernel и core
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 13 окт 2017, 21:21
Argon-11
MX_Master писал(а):лучше kernel и core
да на русском норм, только недопереведено. надо:
kernel - ядро
core - яйцо
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Добавлено: 14 окт 2017, 00:44
arkhnchul
MX_Master писал(а):у меня эти 20 КГц уже есть на Micro ITX платке безо всяких Orange Pi.
а будет еще и на orange pi без всяких micro ITX. Наличие альтернативной, пусть и по возможностям аналогичной платформы лучше, нежели ее отсутствие.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 08:38
MX_Master
Вчера вечером заглянул на склад с
RT патчами.
И вижу, что
17-го числа в репе появился первый
RT патч для версии ядра
4.13
Именно эта версия используется в
Armbian в качестве
mainline ядра. Ночью оперативно собрал настольный образ
(armbian) Debian Jessie с пропатченным
(FULL_RT) ядром
(по ссылке выше). Всё собралось без ошибок

Далее несколько раз запускал всё тот же
RT тест с теми же параметрами ОС, что и раньше
(isolcpus=3). Если всю нагрузку запустить до начала теста, а потом запустить
RT тест, то результаты выглядят весьма неплохо
Код: Выделить всё
master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.59 0.55 0.15 1/204 2221
T: 0 ( 2213) P:99 I:1000 C: 67767 Min: 26 Act: 30 Avg: 32 Max: 105
T: 1 ( 2214) P:99 I:1500 C: 45179 Min: 25 Act: 29 Avg: 33 Max: 92
T: 2 ( 2215) P:99 I:2000 C: 33884 Min: 27 Act: 29 Avg: 33 Max: 77
T: 3 ( 2216) P:99 I:2500 C: 27107 Min: 29 Act: 33 Avg: 34 Max: 69
Если же во время RT теста запускать что-то новое и тяжёлое, то
latency дружно подскакивает до
2000 мкс
Код: Выделить всё
master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.27 0.07 0.12 1/204 2352
T: 0 ( 2260) P:99 I:1000 C: 48204 Min: 11 Act: 40 Avg: 34 Max: 2126
T: 1 ( 2261) P:99 I:1500 C: 32145 Min: 11 Act: 32 Avg: 35 Max: 1714
T: 2 ( 2262) P:99 I:2000 C: 24110 Min: 11 Act: 35 Avg: 36 Max: 1547
T: 3 ( 2263) P:99 I:2500 C: 19288 Min: 13 Act: 35 Avg: 36 Max: 739
Причём, на изолированном
(последнем) ядре
latency подскакивает тоже, чего не наблюдалось ранее на пропатченном ядре
3.4.13. Вощем, дело сдвинулось с мёртвой точки. Только непонятно в какую сторону. Либо RT работал как положено в
3.4.13, либо RT как положено работает сейчас в
4.13.7, либо я что-то провтыкал в настройках до сборки ядра..
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 12:10
MX_Master
Всё, разобрался где собака зарыта.. Отключил все
CONFIG_..._DEBUG_... в настройках ядра. На этот раз собрал образ настольной
Ubuntu Xenial (16.04 lts). Как обычно, изолировал последнее ядро проца.
Основательно нагрузил
OPi1 и прогнал
RT тест несколько раз. Теперь резких скачков
latency больше нет. Повторяемость результатов
RT теста - стабильная. Если нагружать апельсинку не очень сильно, то
max latency будет в районе
50 мкс. Если грузить как следует, то
max latency может просесть до
100 мкс
Код: Выделить всё
master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p80
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.81 2.25 1.02 6/382 3797
T: 0 ( 3376) P:80 I:1000 C: 237748 Min: 5 Act: 30 Avg: 15 Max: 136
T: 1 ( 3377) P:80 I:1500 C: 158502 Min: 5 Act: 17 Avg: 16 Max: 103
T: 2 ( 3378) P:80 I:2000 C: 118876 Min: 5 Act: 44 Avg: 18 Max: 113
T: 3 ( 3379) P:80 I:2500 C: 95101 Min: 6 Act: 17 Avg: 13 Max: 98
Ура, товарищи! Какой-никакой, но
FULL RT в апельсинке у нас теперь есть!
Спасибо всем, кто не мешал
А также тем, кто помогал
Теперь можно экспериментировать с другими параметрами и настройками ядра с целью уменьшения
max latency. Если у кого-то появились новые идеи, пишите.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 12:13
Serg
Похоже всё упирается в аппаратную часть, какую-нибудь медленную общую шину или DMA... Точнее не скажу - архитектуру изучать лень.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 12:28
MX_Master
UAVpilot писал(а):Похоже всё упирается в аппаратную часть
Там много чего аппаратного включено и всё со своими настройками. Я ж собрал обычную настольную ОС общего назначения. Будем научным тыком прокладывать путь дальше..
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 13:26
Serg
Я не про настройки ядра. а про "конструкцию" самого чипа.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 13:53
MX_Master
UAVpilot писал(а):Я не про настройки ядра. а про "конструкцию" самого чипа.
Я понял. И я про аппаратное. Если какая-то шина не так широка, то отключив или настроив некоторых аппаратных юзеров, можно кое-что выиграть (в теории).
В ядре тоже есть что отключить и настроить. Читаю ща советы по тюнингу RT ядра..
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 17:11
Argentum47
MX_Master писал(а):Всё, разобрался где собака зарыта.. Отключил все CONFIG_..._DEBUG_... в настройках ядра. На этот раз собрал образ настольной Ubuntu Xenial (16.04 lts)
Прочитал как Убунту Хентай... надо выключать станок идти домой.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 18:56
ua3nbw
Я правильно понял, что RT patches работает с веткой armbian development :
https://forum.armbian.com/index.php?/to ... ment=41675
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 19:23
MX_Master
Кстати,
вот у человека есть хорошие результаты по
latency на платке
NanoPi NEO. Там тот же самый
H3. Правда, без
HDMI
Код: Выделить всё
# cyclictest -p 80 -t5 -n -a
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.12 0.17 0.08 1/93 193
T: 0 ( 186) P:80 I:1000 C: 551057 Min: 5 Act: 8 Avg: 8 Max: 29
T: 1 ( 187) P:80 I:1500 C: 367371 Min: 5 Act: 8 Avg: 7 Max: 44
T: 2 ( 188) P:80 I:2000 C: 275529 Min: 7 Act: 8 Avg: 7 Max: 13
T: 3 ( 189) P:80 I:2500 C: 220423 Min: 7 Act: 8 Avg: 7 Max: 11
T: 4 ( 190) P:80 I:3000 C: 183685 Min: 5 Act: 8 Avg: 7 Max: 24
Код: Выделить всё
# uname -a
Linux nanopi-neo 4.11.9-rt7 #1 SMP PREEMPT RT Fri Sep 22 10:38:22 CDT 2017 armv7l GNU/Linux
Выставлено
isolcpus=2,3, ядро
4.11, образ системы уменьшен и в ядре присутствует 2 патча для
Ethernet и
USB. Очень даже неплохо.
Armbian, sunxi-next, ядро
4.13.
RT патч взят
отсюда
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 18 окт 2017, 21:25
Serg
MX_Master писал(а):Я понял. И я про аппаратное. Если какая-то шина не так широка, то отключив или настроив некоторых аппаратных юзеров, можно кое-что выиграть (в теории).
В ядре тоже есть что отключить и настроить. Читаю ща советы по тюнингу RT ядра..
Что отключить? Память или spi для флешки?..

Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 19 окт 2017, 09:32
MX_Master
Кто хотел
LinuxCNC в апельсине?
Собрал сегодня нормальный
RT образ
Debian Jessie и установил для проверки
Machinekit. Никакого тюнинга не проводилось. Штатный
latency test показывает практически то же самое, что и
cyclictest. Но если запускать что-то тяжелое то latency подскакивать до 1000 мкс. Как минимум нужен вдумчивый тюнинг системы. Советы и предложения приветствуются.
Re: ЧПУ контроллер на базе Orange Pi
Добавлено: 19 окт 2017, 19:01
ua3nbw
повторил сборку (для OrangePiPС) ядра с патчем RT, пригодится для audio, спасибо.
linuxcnc на linux-mainline ядре armbian, т.к. нет поддержки OpenGL не собирается.
вывод
cyclictest -a -t -n -p99 -f -b100
Код: Выделить всё
root@orangepipc:~# cyclictest -a -t -n -p99 -f -b100
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.15 4.08 3.93 6/261 31421
T: 0 (31418) P:99 I:1000 C: 21343 Min: 7 Act: 11 Avg: 9 Max: 34
T: 1 (31419) P:99 I:1500 C: 14229 Min: 7 Act: 12 Avg: 10 Max: 45
T: 2 (31420) P:99 I:2000 C: 10665 Min: 7 Act: 15 Avg: 9 Max: 31
T: 3 (31421) P:99 I:2500 C: 8533 Min: 6 Act: 10 Avg: 7 Max: 16