Частота LPT

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
[km]REX
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб окт 30, 2010 18:06:31

Частота LPT

Сообщение [km]REX »

Подскажите пожалуйста max значение частоты, с котрой можно выдавать управляющие импульсы, а так же считывать (если их скорость не одинакова).
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Частота LPT

Сообщение Мурик »

Ну как бы многозадачность ОС не позволит точно формировать и считывать данные.
Лучше связка МК - PC.
Mickle
Поставщик валерьянки для Кота
Сообщения: 2337
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

Re: Частота LPT

Сообщение Mickle »

Ввиду многообразия чипсетов и их настроек, точное значение максимальной скорости обмена по Centronics не скажет никто.
Во времена MS-DOS, я написал простейший скоростемер 8, 16 и 32-х битных операций ввода-вывода с произвольным портом. По моему опыту однобайтные пересылки (in al,dx и out dx,al) в порт данных LPT в режиме SPP дают скорость от 200 до 800 тыс. байт/с в зависимости от конфигурации "железа". Такой разброс наблюдался повсеместно, начиная от ISA мультикарт в PC AT до современных SuperIO чипов. Если для первых скорость определялась частотой шины и числом дополнительных тактов ожидания, то для последних - целой кучей совершенно других факторов, включая такую экзотику, как обработка SMI для поддержки USB-Legacy устройств до загрузки операционной системы.
ИМХО, ориентироваться можно на предел в 1 мкс на байтовый ввод-вывод или 1 Мбайт/с.
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: Частота LPT

Сообщение Goldsmith »

Максимальная скорость обмена через порт LPT достигается в режиме ECP и достигает 2.5 МБ/с. Этот предел устанавливается возможностями 8-битного контроллера прямого доступа к памяти IBM PC (именно он используется в этом режиме). Больше не получится - расплата за совместимость с ранними моделями семейства.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Частота LPT

Сообщение ARV »

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

Мой уютный бложик... заходите!
Mickle
Поставщик валерьянки для Кота
Сообщения: 2337
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

Re: Частота LPT

Сообщение Mickle »

Согласен. ECP вряд ли применим в случае, когда требуется лишь управлять с определённой ритмичностью отдельными сигналами порта или наоборот, определять их состояние. ECP - протокол блочного обмена, к тому же с аппаратным квитированием, буферированием и, при необходимости, однобайтной RLE компрессией.
[km]REX
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб окт 30, 2010 18:06:31

Re: Частота LPT

Сообщение [km]REX »

только говорить о "частоте" не стоит, т.к. передача всегда ведется пакетами, т.е. будут неизбежно паузы от 10 мкс до 50 мс и более.


Получается, что если я буду опрашивать какое-либо устройство с периодом например 10мкс, то если будут задержки, и считав на 3-м шаге значение 125, из-за задережек (например 100мкс), я буду получать это же значение до 13 шага ?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Частота LPT

Сообщение ARV »

[km]REX писал(а):
только говорить о "частоте" не стоит, т.к. передача всегда ведется пакетами, т.е. будут неизбежно паузы от 10 мкс до 50 мс и более.


Получается, что если я буду опрашивать какое-либо устройство с периодом например 10мкс, то если будут задержки, и считав на 3-м шаге значение 125, из-за задережек (например 100мкс), я буду получать это же значение до 13 шага ?

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

Мой уютный бложик... заходите!
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Частота LPT

Сообщение Мурик »

[km]REX писал(а):буду опрашивать какое-либо устройство с периодом например 10мкс
Для многозадачных ОС это фантастика!
Вам нужно что-то типа MS-DOS для этого.
Аватара пользователя
As
Модератор
Сообщения: 45952
Зарегистрирован: Пт янв 23, 2009 19:20:05

Re: Частота LPT

Сообщение As »

Мурик писал(а):
[km]REX писал(а):буду опрашивать какое-либо устройство с периодом например 10мкс
Для многозадачных ОС это фантастика!
Вам нужно что-то типа MS-DOS для этого.

QNX?
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Частота LPT

Сообщение avreal »

Полностью согласен со сказанным по поводу нестабильности.
Небольше добаления:

Да, раньше цикл обращения к LPT занимал, как правило, от 1.2 до 2.5 мкс в зависимости от чипсета и настроек материнской платы (настроек ISA). Процессор от 286 до пентиумов на это мало влиял. А вот настройки ISA в биосе влияли, на некоторых платах уавалось добиться 0.8мкс для LPT (и 8-битных обращений на ISA, а для 16-битных -- до 0.5мкс).

Даже в тех мамках, где ISA уже не была выведена для плат расширения, она была на самой плате для MIO-чипа. Но там настроить уже ничего было нельзя. Позже кое-где MIO-чипы и LPT с ними сели на LPC (LowPinCount) - это такой себе 33-мегагерцовый, но 4-битный урезанный аналог PCI. Пока оно передаст в несколько тактов сначала адрес, потом данные, как раз на обычную скорость ISA и выходит, только менее, чем по десятку проводов. Итого -- привычные 1.1-1.3мкс на обращение LPT, зависящие уже от того, где сидит чип (сколько PCI-мостов в системе?)

PCI-LPT платы изначально имеют бо́льшую скорость обмена. Тут тоже есть зависимость от того, насколько навороченная мамка и за сколькими мостами оказались на ней слоты PCI. Имеем 0.3-0.7 мкс на обращение (именно поэтому avreal через PCI-LPT шьёт AVR-ки быстрее, чем все soft-USB программаторы и часть имеющих аппаратный USB-COM конвертор).
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
Corvet C6
Родился
Сообщения: 5
Зарегистрирован: Пн фев 06, 2017 20:01:20

Re: Частота LPT

Сообщение Corvet C6 »

Вопрос к опытным котам:
Нужно сделать вывод сигнала через PCI шину с привязкой к тактовой частоте шины. Там она 33 или 66 МГц. Система предназначена для управления станком с шаговыми двигателями с обратной связью, т.е. по сути нужно сделать сервопривод на базе шагового двигателя и датчика типа TTL; размножить его на сколько это получится и засунуть на одну плату.
Предполагается использовать процессор AMD 4 ядра по 4 ГГц и соответственно мать для него. В процессорах Интел есть функция Intel Virtualization Technology. Даёт возможность виртуальным машинам получать доступ к аппаратным ресурсам. Если это будет необходимо, выбор платформы будет пересмотрен в пользу Intel.
Станок будет использоваться для товарной обработки и нарезания резьбы. Нужны такие функции как круговая, линейная интерполяция, старт прохода с нулевой меткой шпинделя (для многопроходного нарезания резьбы).
Алгоритм работы примерно такой: моделируется процесс работы станка, в соответствии с введенной программой (в G-кодах). С частотой 33 МГц/16 высчитывается положение для каждой из задействованных осей. Положение сравнивается с реальным, которое было вычислено по датчиками и хранится в оперативной памяти. В соответствии с отставанием вычисленного положения от реального на ось выдаётся определённая широта импульса. Для двухполюсных шаговых двигателей в каждом из возможных 1000 положений (по датчику) соответствует один их 4-х вариантов подачи напряжения: обмотка А +; обмотка Б+; обмотка А-; обмотка Б-.
Это ещё не все. Для подключения внешних сервоприводов с платы выведена шина, 2 провода. Совместимость с rs485 приветствуется, хотя и не обязательна. Частота шины - 1 МГц. Формат передачи данных: первый байт стартовый 11111111. Далее следует 2 байта адреса, затем 2 байта данных, затем 4 бит пауза. Она же используется ведомым устройством для запроса прерывания, если это необходимо. Далее следует 2 байта обратной связи, далее 4 бит пауза. После этого цикл повторяется сначала. Таким образом мы имеем: полный кадр, со всеми паузами и т.д., занимает 64 бит. При частоте 1МГц -1000000:64 = 15 655 кадров в секунду. Этого хватит для того, чтобы, допустим, управлять одновременно 15-ю сервоприводами с частотой 100 Гц.
Для чего это нужно:
Все приводы, подключенные напрямую и через последовательную шину, синхронизированы в одном устройстве, в одном процессе компьютера.
Суть вопроса: реализовать в железе.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Частота LPT

Сообщение Jack_A »

Ну и какова цена вопроса ?
Изображение
Аватара пользователя
Corvet C6
Родился
Сообщения: 5
Зарегистрирован: Пн фев 06, 2017 20:01:20

Re: Частота LPT

Сообщение Corvet C6 »

Цена вопроса полсотни.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Частота LPT

Сообщение Jack_A »

Надеюсь, не $ - рублей ? А то не так смешно было бы .
Изображение
Аватара пользователя
Corvet C6
Родился
Сообщения: 5
Зарегистрирован: Пн фев 06, 2017 20:01:20

Re: Частота LPT

Сообщение Corvet C6 »

Анекдот:
Одинокий мужчина ...

Убрал, не по теме. Предупреждение. FAKIR.
Lexter
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пт ноя 29, 2013 00:44:32

Re: Частота LPT

Сообщение Lexter »

Corvet C6 писал(а):... Система предназначена для управления станком с шаговыми двигателями с обратной связью, т.е. по сути нужно сделать ...
"По сути" - ничего не нужно делать. Всю необходимую электронику для станков с ЧПУ давно можно купить у китайцев. Выйдет на два порядка дешевле, чем разработка вашего "велосипеда".
misyachniy
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт июл 02, 2013 09:17:49

Re: Частота LPT

Сообщение misyachniy »

Corvet C6 писал(а):... Система предназначена для управления станком с шаговыми двигателями с обратной связью, т.е. по сути нужно сделать сервопривод на базе шагового двигателя и датчика типа TTL; размножить его на сколько это получится и засунуть на одну плату...


Описанная вами система с преобразованием G кодов в перемещение по координатам с помощью компьютера существует.
например широко распространена MACH3.
LPT плата от $5

https://www.aliexpress.com/w/wholesale- ... eedQuery=n

USB от $30..40

https://www.aliexpress.com/item/mach3-4 ... 038f19d4bc

Есть вариант, когда компьютер только передает(проигрывает) файлы с G кодами в станок а станок сам пересчитывает шаги и координаты.
Например GRBL.
За $60 можно купить плату + 3 драйвера+ 3 мотора
https://www.aliexpress.com/item/Diy-3-a ... 0a48a8ae5a


GRBL - открытый проект, можно подправить под свои задачи.

В обоих случаях(а может и во всех случаях) отслеживание истинного положения с заданным должно решаться приводом.
Например превышением имеющегося момента привода над максимально требуемым моментом раза в 3.

Или созданием следящего привода.
Грубо говоря, между устройством передающим шаговый импульс и приводом отрабатывающим импульс(драйвером двигателя)
врезается устройство которое считает импульсы от задатчика и сравнивает их с импульсами от энкодера положения.
В случае рассогласования дополнительно формирует импульсы управления.
Ответить

Вернуться в «Интеграция с ПК»