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

1-wire и LPT

Вс янв 31, 2010 19:06:31

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

Изображение
Схема подключения таблетки

Изображение
Осцилограмма сброса и начала передачи команды чтения (0х33)

Изображение
Осцилограмма передачи команды чтения и попытки приёма 2х бит[/img]
(На осцилограммах сигналы инвертированы : 0 вверху, 1 внизу)
Исходник программы в приложениях
Вложения
1wire.tar.gz
Исходник программы
(810 байт) Скачиваний: 719

Вс янв 31, 2010 21:04:26

вы из MS DOS решили работать через LPT с 1-wire? из-под Windows ничего не выйдет, т.к. микросекундные интервалы из-под Windows невозможно выдержать точно, а это главное

Пн фев 01, 2010 06:03:59

Из под Win прекрасно работает. У производителя есть соответствующий адаптер и программа для него.

Для чтения 1W нужен выход по схеме открытого коллектора.
На выходе канала по D6 во время чтения устанавливается 1 ?
Попробуйте убрать емкость и увеличить резистор со 100 ом до 1к

Пн фев 01, 2010 10:10:36

Спасибо за советы! Видимо, проблема именно в неточности интервалов - на осциллограмме короткие интервалы гораздо больше, чем нужно, а длинные (сброс) такие, как заданы в программе. Но попробую сначала заменить резистор и убрать конденсатор. Если из этого ничего не выйдет, попробую сделать на АВРе и отпишусь о результатах!
Алексей, да, на время чтения D6 устанавливается в единицу.
ПС. Как нетрудно понять из исходников, использовался линукс, а не винда и не дос.

Пн фев 01, 2010 10:44:33

Если не обязательно LPT, у меня на сайте есть адаптер через COM и пример на VB6. Все чудно читалось много лет :)

Пн фев 01, 2010 11:44:17

Alexey1969 писал(а):Из под Win прекрасно работает. У производителя есть соответствующий адаптер и программа для него.
у какого производителя и какой адаптер? не путайте прямое управление пинами LPT и работу с устройством через LPT

Пн фев 01, 2010 12:46:54

Производителя устройств под шину 1w :) http://www.ibutton.com/

DS1413 пассивный адаптер последовательного порта. Производился ими же. Снят с производства.

Схемы можно пошарить в сети.

Там же можно найти любые библиотеки для работы из разных языков и с разными адаптерами и под разными ОС.

Пн фев 01, 2010 12:58:48

Прошу прощения, DS1410e

Пн фев 01, 2010 19:29:44

Alexey1969 писал(а):Производителя устройств под шину 1w :) http://www.ibutton.com/

DS1413 пассивный адаптер последовательного порта. Производился ими же. Снят с производства.

Схемы можно пошарить в сети.

Там же можно найти любые библиотеки для работы из разных языков и с разными адаптерами и под разными ОС.
ну и где здесь сказано про подключение к LPT?!

а рекомендованная (!!!) вами DS1410e стоит (если верить eFind) всего-навсего каких-то 30$-40$ в розницу - сущие копейки :)))

Пн фев 01, 2010 19:33:36

http://www.maxim-ic.com/pst/run.mvp?lan ... &image.y=4

Пн фев 01, 2010 19:34:49

Вообщето речь была не о цене, а о возможности как таковой. Или я чтото упустил ?

заработало

Пн фев 01, 2010 21:24:32

Не стал я перепаивать резистор, а сделал адаптер на attiny2313 из старой платы. По лпт передаются команды с маленькой скоростью по несложному протоколу, а мк преобразует их в команды 1-wire. Все работает очень стабильно. Прикладываю исходники, схему не прикладываю.
Спасибо вам за советы!
Вложения
1wireavr.tar.gz
(1.5 KiB) Скачиваний: 478

Вт фев 02, 2010 09:14:44

Alexey1969 писал(а):Вообщето речь была не о цене, а о возможности как таковой. Или я чтото упустил ?
возможность как таковая определяется ценой :) например, для меня это - невозможность :)))

P.S. вы можете полететь в космос? если рассуждать так: "космонавты - люди, я - человек, значит, я могу туда полететь" - то вроде бы все верно... однако, если вспомнить, что для полета надо выложить минимум 20 миллионов долларов, то ответ однозначен - НЕТ, не смотря на то, что теоретически такая возможность существует :)))

Вт фев 02, 2010 13:35:15

Демогогия. Никакой связи с темой.
С удовольствием по обсуждаю способы чтения 1W через лпт.
Обсуждать, что кому по карману - увольте.

Вт фев 02, 2010 15:02:59

Alexey1969 писал(а):С удовольствием по обсуждаю способы чтения 1W через лпт.
Ну так и укажите "микросхему от производителя", только не для COM, как та, а для LPT.
С COM-ом всё просто, используются аппаратные возможности порта и по барабану - дос/вин/лин, можно адаптером из нескольких дискретных элементов обойтись (по крайней мере, если про антивандальность не думать).
А вот для LPT, как правльно было сказано, без запрета прерываний начисто на время обмена о точности и стабильности микросекундных (а я бы добавил - и милисекундных) задержек можно не думать. О стабильной точности, о повторяемости.
Иногда может и повезти.
А запрет прерываний - это если и не "только ДОС", то уж во всяком случае не пользовательская программа под Win линейки NT или линукс.

Ну так что именно
Из под Win прекрасно работает. У производителя есть соответствующий адаптер и программа для него.

для обсуждаемого интерфейса LPT?
Вот возьмёт eqltv свой адптер с протоколом, не зависящим от времянок LPT благодаря микроконтроллеру, напишет программу - тогда будет "адаптер и программа для него".

Вт фев 02, 2010 15:28:26

avreal писал(а):Ну так что именно
Из под Win прекрасно работает. У производителя есть соответствующий адаптер и программа для него.

для обсуждаемого интерфейса LPT?
а вот тут, avreal, вы поспешили: именно для LPT далласовцы выпустили ранее упомянутую микросхему за 13 баков, которая и обеспечивает нормальный прием команд по LPT и выдачу их в 1-wire - считай, тот же МК, но жестко прошитый :))) потому и работает хоть под вынь, хоть под положь :))) потому и дорого, наверное.

Вт фев 02, 2010 16:46:13

ARV писал(а):а вот тут, avreal, вы поспешили:
И на старушку бывает порнушка :cry:

ARV писал(а):считай, тот же МК, но жестко прошитый
"Ну если так, то да, ну если так, то конечно" (tm)

Вт фев 02, 2010 18:21:08

Как мне предстовляется основной камень преткновения для использования лпт, невозможность задействовать аппаратный таймер и получить эталонные временные интервалы.

В лпт нет таймера, но зато есть много свободных ножек.... Как вариант, на свободные ножки повесить одновибратор или просто RC цепочку, в качестве эталона.

Или читать поступающие импульсы с таблетки через такую цепочку... прошел - длинный импульс, не прошел - короткий.

Параметры портов стандартны, так что один раз подобрать цепочки и все.

Вт фев 02, 2010 19:24:51

Alexey1969 писал(а):Как мне предстовляется основной камень преткновения для использования лпт, невозможность задействовать аппаратный таймер и получить эталонные временные интервалы.

В лпт нет таймера, но зато есть много свободных ножек.... Как вариант, на свободные ножки повесить одновибратор или просто RC цепочку, в качестве эталона.

Или читать поступающие импульсы с таблетки через такую цепочку... прошел - длинный импульс, не прошел - короткий.

Параметры портов стандартны, так что один раз подобрать цепочки и все.
а считывать как? момент считывания в протоколе 1-wire так же достаточно жестко лимитирован по времени, поэтому мало выдать импульс нужной длительности, надо еще вовремя принять ответ... и тут одновибратором уже не обойдешься - еще и триггер потребуется... морока, короче - микроконтроллер проще будет :)))

Вт фев 02, 2010 19:39:04

Возможно я недостаточно внятно изложил мысль.
RC ценочка, эталонная - своего рода аппаратный таймер. К ней привязать все интервалы.

Дешевле в штучном исполнении, так как решение типовое. Если планировать серию, то может получится существенно дешевле.
Ответить