LINUX.ORG.RU

Ответ на: комментарий от Kaminsky_S

> При работе с ЛПТ в ЕПП моде, то есть посылке|приемке данных по адресам LPTBASE+3,LPTBASE+4,LPTBASE+5, скорость передачи данных до 2Мбайт/с с аппаратным формированием сигналов управления, которые можно использовать для защелки данных во внешних регистрах.

> Для использования USB есть 2 микросхемки фирмы FTDI - одна USB-RS232, другая - USB-параллельный интерфейс (не LPT). Во втором случае скорость до 1МБ/с. Есть драйвер под Линукс.


Так дело не в скорости порта, а чтобы софт умел(успевал) выдавать на ЛПТ с частотой, скажем 50кГц, импульсы управления шаговиком (шаговик будет работать в микрошаговом режиме), ПРИ этом чтобы можно было еще чтонибудь запустить параллельно, иначе получается как в однозадачном ДОСе.
Кто скажет, реалтайм патчи уже здесь нужны, или обычным ядром обойтись можно?

anonymous
()
Ответ на: комментарий от michwill

>Э... Гм. А если я хочу подключить 50 двигателей?

"...а это уже контейнерная перевозка называется..." :) (с) ТИП :)

для этого всякие RS485 или CAN басы придуманны :) на LPT(serial, USB) PIC с CANом, и PICи с CAN на шаговые двигатели, тем более, что тащить паралельные шлейфы к моторчикам - моветон, и неудобно и помехонезащищенно! :)

FSA
()
Ответ на: комментарий от anonymous

> Так дело не в скорости порта, а чтобы софт умел(успевал) выдавать на
> ЛПТ с частотой, скажем 50кГц, импульсы управления шаговиком (шаговик
> будет работать в микрошаговом режиме), ПРИ этом чтобы можно было еще
> чтонибудь запустить параллельно, иначе получается как в однозадачном
> ДОСе.

насчет 50 кгц - вполне возможно - надо пользоваться DMA для lpt-порта. надо будет прикрутить внешную задержку которая из strobe будет делать ack. и побегут из памяти данные на lpt-порт, минуя процессор. с частотой определяемой внешней задержкой. а можно сам контроллер дма подкорректировать. или данные сделать "пожиже", скажем изменение данных на каждые два (или более) такта записи в порт.

ps навеяло воспоминаниями про псевдо-звуковуху GUS :) где-то даже линуксовый драйвер для него есть.

Tester ★★★
()

Кстати, для LPT дома валяется следующая самоделка: ЛПТ -> (ULN) -> реле, 220В. Другими словами, управление включением/выключением устройств с компьютера. Удобно.

ЗЫ. А на вечеринках эта же вещь используется для светомузыки (только нужны спец лампочки, обычные быстро сгорят, да и светофильтр хороший самому непросто сделать). Правда, приходится бук с Windows клянчить, там есть такой интересный плагин к Винампу: http://discolitez.com/

Никто ничего подобного под Linux не знает?

fAX ★★
()
Ответ на: комментарий от uragan

Canon

> на выходе USB регистр ... ядре модуль хитрый
"всё уже урадено до нас"
есть стандартный модуль ядра для usb lpt, есть куча микросехмок lpt via usb - самая удобная imho - у philips в DIP корпусе (номер тончо н еопнмю но ищется не сложно, что-то типа http://www.semiconductors.philips.com/pip/isp1181A.html) - её аналог часто в сканер стоял ранбьше
сейчас чаще genetec ставят.
кстати - рекомендую - на основе genetec есть классное поделие - USB-to-IDE (синего цвета, рублей 500 стоит вместе с БП, на конце обычный 40-pin) - мы так на прольянт залили демьяна с dvd (внутри прольянта только cd был).

mumpster ★★★★★
()
Ответ на: комментарий от anonymous

> выдавать на ЛПТ с частотой, скажем 50кГц

PLT порт в SPP-моде выдает чуть больше 100кБ/с - т.е 50кГц есть, а как я уже говорил, в EPP-моде до 2МБ/с - т.е. до 1МГц. В паузах между посылками данных свободного процессорного времени будет скорее всего достаточно.

А для управления именно шаговыми двигателями можно легко использовать электронику от дисководов - там уже и так все есть. Всего несколько проводов - шаг, направление и питание.

Kaminsky_S
()

епт.. индус ;(

anonymous
()
Ответ на: комментарий от Kaminsky_S

>PLT порт в SPP-моде выдает чуть больше 100кБ/с

Позволю не согласиться с данным утверждением, как разработчик логического анализатора на LPT порт. Порт может выдать в режиме SPP 840кБ/с.

alexx-rc1
()
Ответ на: комментарий от Ex

> она мне от ноута старого осталась не выкидывать же :-) народ почемуто обычно развивает тему "как прицепить tft lcd матрицу от ноута к vga" а вот как самостоятельный девайс никто что то не хочет юзать...

Я уже подключил старую Ч/Б матрицу от 386 ноута к VGA. Здесь есть проблема в том, что у старых матриц экран разбит на две горизонтальные половины, вывод на которые происходит одновременно. Для того, чтобы не было мерцания (а частота кадров около 60Гц) необходима буферная память на вторую половину кадра. При этом сильно усложняется электроника - приходится применять ПЛИС. Ну и АЦП на входе.

Если нужен автономный внешний экран, то можно попробовать для удешевления конструкции задействовать какую-нибудь ЕГА карточку, прицепив к ней на ISA шину контроллер вместо РС. Выходы у нее ТТЛ, есть своя интегрированная память, встроенный знакогенератор для текстовых режимов и обычно есть интегрированный RS-232, причем полный, а не только TxD RxD, как во многих контроллерах. Програмно установить разрешение по вертикали на половину матрицы и гнать выходные данные прямо на матрицу. Ну может ещё пару мелких микросхем понадобиться. Кстати, на ЕГА карточках очень часто устанавливали и LPT порт, поэтому его можно задействовать для образования клавиатуры - вот вам и очень дешевый и компактный терминал.

Kaminsky_S
()
Ответ на: комментарий от alexx-rc1

> Позволю не согласиться с данным утверждением, как разработчик логического анализатора на LPT порт. Порт может выдать в режиме SPP 840кБ/с.

Я сделал себе IDE контроллер на LPT, так в нем в SPP моде трансфер на запись (то есть по 8-битной шине) был 130кБ/с с учетом формирования протокола обмена, который занимал примерно 10% времени. Чтение естественно было медленне за счет 4-битной шины.

Kaminsky_S
()
Ответ на: комментарий от Kaminsky_S

Чтение/запись в порт ~1.3us. 840к - теоретический предел, без потерь на обработку. При написании процедуры на асме, которая читала порт и складывала в память, контролируя нужный сигнал для прекращения, удавалось реально приблизиться к указанному значению(достичь правда не удалось :-) ). А почему было не переключить порт на чтение и не читать по всем 8-ми разрядам? Там есть битик в порте управления( в ранней документации он показан как зарезервированный) кажеться 5-ый, который и переключает на ввод порт данных. Кстати, индус так и не привел в исходниках ту часть, которая выводит данные в порт. :-)

alexx-rc1
()
Ответ на: комментарий от alexx-rc1

> Чтение/запись в порт ~1.3us

Это на какой такой материнке?

> А почему было не переключить порт на чтение и не читать по всем 8-ми разрядам? Там есть битик в порте управления( в ранней документации он показан как зарезервированный) кажеться 5-ый

Этот бит действительно переводит порт в двунаправленную PS/2 моду, а она не везде есть. Не знаю правда как сейчас. Но я использовал ЕРР, а SPP оставил на всякий случай.

Kaminsky_S
()
Ответ на: комментарий от anonymous

>под Оффтоп есть классная штукенция LabVIEW так что не заморачивайтесь на разную бурду

Почему именно под оффтоп? C маленькой буквы, кстати. Под Linux он тоже есть. Только управление одним шаговым двигателем через LabVIEW это не слишком ли тяжелое решение?

Loh ★★
()
Ответ на: комментарий от Kaminsky_S

>Кстати, на ЕГА карточках очень часто устанавливали и LPT порт

Я их, конечно много не видел, только штук пять, но lpt порта не видел ни на одной. Так что, про очень часто, по-моему ты загнул.

alt-x ★★★★★
()
Ответ на: комментарий от Kaminsky_S

>>Если нужен автономный внешний экран, то можно попробовать для удешевления конструкции задействовать какую-нибудь ЕГА карточку, прицепив к ней на ISA шину контроллер вместо РС. Выходы у нее ТТЛ, есть своя интегрированная память, встроенный знакогенератор для текстовых режимов и обычно есть интегрированный RS-232, причем полный, а не только TxD RxD, как во многих контроллерах. Програмно установить разрешение по вертикали на половину матрицы и гнать выходные данные прямо на матрицу. Ну может ещё пару мелких микросхем понадобиться. Кстати, на ЕГА карточках очень часто устанавливали и LPT порт, поэтому его можно задействовать для образования клавиатуры - вот вам и очень дешевый и компактный терминал.

не совсем идею понял и еще lpt на ЕГАшке наблюдал а вот rs232 ниразу не попадалась...

тогда уж можно взять старую vga с vesa future connector там как раз набор сигналов нужный... эх чувствую придется таки модуль от тошибы сателита на ct65550 юзать

Ex ★★
()
Ответ на: комментарий от alt-x

>>Кстати, на ЕГА карточках очень часто устанавливали и LPT порт

> Я их, конечно много не видел, только штук пять, но lpt порта не видел
> ни на одной

похоже спутали с геркулесом - там действительно практически на каждой карте - лпт порт. и разъем видео такой же что и на ега.

Tester ★★★
()
Ответ на: комментарий от Kaminsky_S

>> Чтение/запись в порт ~1.3us >Это на какой такой материнке? Это, сейчас на любой материнке. Проверяли на нескольких экземплярах (i815, nForce2) с замерами времени записи - результаты ложились в пределы 1.1-1.4 мкс.А ноги этих времен ростут из шины ISA, где времена записи в порт ложились в некие пределы с разбросом. Думаю, не секрет, что ISA до сих пор эмулируеться(или неявно присутствует) во всех современных чипсетах(про самые современные умолчу, т.к. понятия не имею).

>Этот бит действительно переводит порт в двунаправленную PS/2 моду, а она не везде есть. Утверждение, по крайней мере спорное, т.к. верно было в ранние времена 286/Jr. А нынче все матери умные и всеподдерживающие. Во всяком случае, учитывая мой скромный возраст, в реальной работе не поддерживающих его матерей я не встречал.

alexx-rc1
()
Ответ на: комментарий от Kaminsky_S

>Но я использовал ЕРР, а SPP оставил на всякий случай.

И какой скорости удалось достичь в EPP режиме? А данную штуку LPT-IDE увидеть где-то можно? А под Линукс?

alexx-rc1
()
Ответ на: комментарий от alexx-rc1

> И какой скорости удалось достичь в EPP режиме? А данную штуку LPT-IDE увидеть где-то можно? А под Линукс?

Я уже говорил, что скорость в такой моде до 2МБайт/с. С IDE винтом под виндой реальный трансфер был около 1.3МБайт/с. За основу схемы и драйвера была взята тема IDE2LPT адаптера, описанного в журнале Радиохобби лет 5 назад. Добавил в него аппаратное формирование сигналов управления для IDE шины и поддержку EPP моды. Все это дело размещается в одной альтере EPM3128ATC100-10. Драйвера только под ДОС и винду-9х, Даже под 2000/ХР не получилось осилить.

Kaminsky_S
()
Ответ на: комментарий от Kaminsky_S

А вот, если есть старая матрица монохромная неизвестного производителя с памятью, как определить её протокол? Разрешение 640Х480.10 сигнальная входная шина.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.