Страница 2 из 4
Re: Интерфейс 1-Wire
Добавлено: Пт апр 01, 2011 18:15:11
nsl2004
Вот в принципе осцилограмма обмена DS2413 и стандартной проги OneWireViever. Первый вопрос - вроде как при передаче серийника должно быть 8 тайм слотов? А их явно 16, по количеству передаваемых цифр?
http://img402.imageshack.us/i/serrealds2413.jpg/

Re: Интерфейс 1-Wire
Добавлено: Сб апр 23, 2011 14:57:10
shkarbatov
Мне надо на DS2408 подключить по 8 датчиков (датчик движения SRP-100)
Таких DS2408 у меня 4
Шину с 4 датчиками DS2408 надо подключить к микроконтроллеру
Питание должно быть паразитным
Как можно это реализовать?
Можно ли как-то вести опрос датчиков не по их 64-разрядному номеру, а как-то более короче, можно под номер вывести 1 байт, а не 64?
Помогите пожалуйста, буду очень признателен!
Re: Интерфейс 1-Wire
Добавлено: Сб апр 23, 2011 20:38:34
nsl2004
shkarbatov писал(а):Мне надо на DS2408 подключить по 8 датчиков (датчик движения SRP-100)
Таких DS2408 у меня 4
Шину с 4 датчиками DS2408 надо подключить к микроконтроллеру
Питание должно быть паразитным
Как можно это реализовать?
Можно ли как-то вести опрос датчиков не по их 64-разрядному номеру, а как-то более короче, можно под номер вывести 1 байт, а не 64?
Помогите пожалуйста, буду очень признателен!
Не мое конечно дело, но какой смысл? Вы не сможете управлять ими без обращения по серийному номеру, да и какая проблема - поиск по серийнику отработан, протокол понятен. смысл таких действий? Чего Вы хотите добится?
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 00:24:51
shkarbatov
> Не мое конечно дело, но какой смысл? Вы не сможете управлять ими без обращения по серийному номеру, да и какая проблема - поиск по серийнику отработан, протокол понятен. смысл таких действий? Чего Вы хотите добится?
1) Если есть код поиска по серийнику (assembler) - предоставте предоставьте пожалуйста ссылку.
Мне надо смотреть что поступает на вход DS2408 (1 или 0) и передавать байт на микроконтроллер.
Вот схема на рисунке ИРПС - DS2408, на входы ИРПС (DS2408) поступают сигналы от разного рода датчиков.
2) Их серийный номер - 8 байт, у меня до 40 датчиков, мне бы хватило и 1 байта. Получается большая избыточность. Каждый раз гонять по 8 байт, когда хватит и 1 байта. Вот я и спрашиваю можно ли это как-то реализовать? Сделать id датчика 1 байт, а не 8, может есть уже какая-то программная реализация.
3) Не совсем понятно, как подключить 8 датчиков движения через DS2408 к микроконтроллеру.
- вот схема которую я нашел для подключения датчика к 1-wire, но это для DS2406P
http://www.benuks.nm.ru/walpers/dvi.jpg
Мне надо к одному DS2408 подключить 8 датчиков движения с паразитным питанием и как потом этот DS2408 подключить к микроконтроллеру, если на линии их 4.
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 07:58:25
nsl2004
Начнем с начала и как бы с конца.
3) Не совсем понятно, как подключить 8 датчиков движения через DS2408 к микроконтроллеру.
- вот схема которую я нашел для подключения датчика к 1-wire, но это для DS2406P
http://www.benuks.nm.ru/walpers/dvi.jpg
Мне надо к одному DS2408 подключить 8 датчиков движения с паразитным питанием и как потом этот DS2408 подключить к микроконтроллеру, если на линии их 4.
Видно что непонятно, потому что Вы пока не разобрались с интерфейсом 1-wire. Подключение датчиков , по типу сухого контакта, производится к соответствующим выводам DS 2408 (смотрим даташет) . Потом подключив его к микроконтроллеру, посылая соответствующие команды Вы сможете считать соостояние этих контактов ( типа замкнут не замкнут 1 или 0 ). Соответствуюие команды надо смотреть в описании микросхемы. Это что касается одного.
Теперь про 4 штуки. В начале топика есть ссылка на интерфейс 1-wire. Прочитайте еще раз внимательно. Но коротко это звучит так - что все DS2408 надо будет вешать на одну шину, т.е. типа паралельного подключения. Шина это два провода. Каждая микруха подключается землей и одной ногой к этому проводу. Ведущий, в Вашем случае МК, используя серийный номер, поочередно обращается к каждому DS2408 и опрашивает состояние контактов. А уж куда Вы потом выведите полученные данные , ораничевается только Вашей фантазией.
Вот тут все ответы на первоначальные вопросы
http://www.elin.ru/1-Wire/?topic=whatis
P.S Если еще не обзавелись, то установите себе Протеус. Он позволит отработать навыки работы с 1-wire. Но 2408 модели там нет. Но отработав схему с другими ключами, соберете и для 2408
shkarbatov писал(а):>1) Если есть код поиска по серийнику (assembler) - предоставте предоставьте пожалуйста ссылку.
Мне надо смотреть что поступает на вход DS2408 (1 или 0) и передавать байт на микроконтроллер.
Вот схема на рисунке ИРПС - DS2408, на входы ИРПС (DS2408) поступают сигналы от разного рода датчиков.
Не разобравшись как работает 1-wire у Вас ничего не выйдет. Т.к. на вход DS2408 поступает не 1 или 0. Вернее они поступают:-) Но серией команд,
в этом суть работы этих устройств в сети 1-wire. Это не совсем реле с контактами.
Вот конкретный модуль на DS2408
ftp://ftp.elin.ru/pdf/1-Wire/ml08.pdf ( открывается долго подождите ) Таких модуля делаете 4 штуки и пишите программу для опороса этих модулей.
2) Их серийный номер - 8 байт, у меня до 40 датчиков, мне бы хватило и 1 байта. Получается большая избыточность. Каждый раз гонять по 8 байт, когда хватит и 1 байта. Вот я и спрашиваю можно ли это как-то реализовать? Сделать id датчика 1 байт, а не 8, может есть уже какая-то программная реализация.
Забудьте. Никакой избыточности. Это вшитый серийник и Вы его не измените. Когда разберетесь, поймете что он нужен. Точно не помню, но DS2408 есть такая фишка как команда EC она ищет только сработавшие ключи ( придется Вам прочитать даташет ) иначе не поймете. Еше раз - МК опрашивает линию на присутствие. Братва ( Ваши DSки) ответили что кто то есть. Мк посылает команду определить и запомнить серийники. Один раз. Потом Вы организуете опрос всех датчиков на предмет состояния контактов или ищете только сработавшие. Все.
Ассемблер я не знаю. Посмотрите на сайте максима аппноуты, там есть. Но у Вас простая задача для встроенных средств С или С++ либо Баскома. Определить и найти серийные номера и передавать или считывать байты. CVAVR на мой взгляд вообще идеальный случай. И напоследок, до конца в 1wire на этом форуме, как мне кажется разбирается только ARV, он и написал статью к которой я Вас отправляю. Ссылка в начале топика. Пробуйте.
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 11:04:44
shkarbatov
Спасибо большое за подсказку. Я прочитал статью - оказалась очень полездна
Посмотрите пожалуйста, вот я сделал схему (рисунок во вложении).
На сколько данная схема будет валидна?
На 8 входов микросхемы DS2408 будут подключаться 8 датчиков движения
Я что-то не догоняю как подключить датчик движения (любой) к DS2408
Вот то, что я нашел в нете:
http://www.benuks.ru/walpers/sh_dvi.jpg что меня смущает, так это то, что на линию 1-wire идет 4 провода.
Подскажите пожалуйста, как правильно подключить датчик движения (любой) к микросхеме DS2408
Если можно, то приведите схему.
Заранее благодарен!
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 12:21:04
nsl2004
shkarbatov писал(а):Спасибо большое за подсказку. Я прочитал статью - оказалась очень полездна
Посмотрите пожалуйста, вот я сделал схему (рисунок во вложении).
На сколько данная схема будет валидна?
Неправильно, на мой взгляд. Все DS надо подключать к одной ноге. Просто смысла нет на разные. Вы ничего не выиграете.
На 8 входов микросхемы DS2408 будут подключаться 8 датчиков движения
Я что-то не догоняю как подключить датчик движения (любой) к DS2408

Догоните , если попробуете заглянуть в даташет данного ключа. Особенно на схему номер 21.
http://www.google.com/imgres?imgurl=htt ... x=79&ty=54
Уважаемый. Я же Вам дал ссылку , прямую, на схему Вашего ключа DS2408. Повторю еще раз.
ftp://ftp.elin.ru/pdf/1-Wire/ml08.pdf
Подскажите пожалуйста, как правильно подключить датчик движения (любой) к микросхеме DS2408
Что значит любой? Датчикам тоже питание надо. Как подключить по схеме "сухой" контакт, я Вам ссылку привел выше.
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 23:11:25
shkarbatov
Спасибо за Ваш ответ!
> Неправильно, на мой взгляд. Все DS надо подключать к одной ноге. Просто смысла нет на разные. Вы ничего не выиграете.
Такое разбитие идет из-за этажей. 2 этажа - 2 ветки. Я имел ввиду на сколько она правильна, есть ли в ней ошибки подключения
> Догоните , если попробуете заглянуть в даташет данного ключа. Особенно на схему номер 21.
Спасибо, упустил момент =)
Посмотрите пожалуйста во вложении рисунок. Я правильно подключил, или нет?
> Уважаемый. Я же Вам дал ссылку , прямую, на схему Вашего ключа DS2408. Повторю еще раз.
ftp://ftp.elin.ru/pdf/1-Wire/ml08.pdf
Спасибо, смотрел.
Спасибо Вам большое за Вашу помощь!
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 23:24:48
nsl2004
[quote="shkarbatov"][/quote]
Нет не правильно. Уже писал. Вешать надо на одну линию и подключать к одной ноге МК
Re: Интерфейс 1-Wire
Добавлено: Вс апр 24, 2011 23:28:32
shkarbatov
> Нет не правильно. Уже писал. Вешать надо на одну линию и подключать к одной ноге МК
Так?
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 00:35:46
nsl2004
shkarbatov писал(а):> Нет не правильно. Уже писал. Вешать надо на одну линию и подключать к одной ноге МК
Так?
Да
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 00:44:10
shkarbatov
А касательно подключения датчиков, тоже правильно?
Спасибо еще раз за помощь!
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 01:36:30
nsl2004
shkarbatov писал(а):А касательно подключения датчиков, тоже правильно?
Спасибо еще раз за помощь!
Не знаю, что за датчики, не знаю как они у Вас работют. Если обеспечивают просто замыкание контакта, то пойдет. Вам надо замкнуть вход ключа на землю. Тут уж самостоятельно. Либо по схемам что я привел.
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 01:56:06
shkarbatov
> Вам надо замкнуть вход ключа на землю. Тут уж самостоятельно. Либо по схемам что я привел.
С этим чуть позже разберемся =)
Вот я еще добавил герконы, замкнул так же входы как Вы и советовали.
И вот что у меня в итоге получилось (рис во вложении). Посмотрите пожалуйста, может найдете какие-то ошибки или не точности!
Заранее благодарен! Огромное Вам спасибо!
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 08:00:24
nsl2004
shkarbatov писал(а):> Вам надо замкнуть вход ключа на землю. Тут уж самостоятельно. Либо по схемам что я привел.
С этим чуть позже разберемся =)
Вот я еще добавил герконы, замкнул так же входы как Вы и советовали.
И вот что у меня в итоге получилось (рис во вложении). Посмотрите пожалуйста, может найдете какие-то ошибки или не точности!
Заранее благодарен! Огромное Вам спасибо!
Это не мои советы. так в даташете показано. Где Вы говорите герконы все нормально. С датчиками я ничего подсказать не смогу .
Re: Интерфейс 1-Wire
Добавлено: Пн апр 25, 2011 11:04:17
shkarbatov
Спасибо Вам большое за помощь!
Re: Интерфейс 1-Wire
Добавлено: Вт май 31, 2011 19:05:13
ascentman
помогите пожалуйста с 1-wire. Нужно реализовать считывание 6 байт (серийный номер) с любого подключенного slave (типа DS шось там) для микроконтроллера МК51. Приблизительные подпрограммы для 1-wire:
; Procedures
;-----------------------------------
OW_Reset:
clr EA
clr WLine
mov B,#146
djnz B,$
nop
setb WLine
mov B,#37
clr C
OW_1:
jb WLine,OW_next
djnz B,OW_delz
jmp OW_end
OW_next:
mov B,#37
OW_delz:
orl c,/Wline
djnz B,OW_delz
OW_end:
setb EA
ret
OW_WR_bit:
clr EA
clr WLine
nop
nop
nop
mov WLine,c
nop
nop
nop
nop
nop
mov c,WLine
push B
mov B,#13
djnz B,$
pop B
setb WLine
setb EA
ret
Re: Интерфейс 1-Wire
Добавлено: Ср июн 01, 2011 20:32:58
ascentman
ауууууууу.....есть тут кто???...... любой пример 1-wire ввода-вивода 1 або 0 можете написать для мк51,....хоть кто-нить)...please
Re: Интерфейс 1-Wire
Добавлено: Ср июн 01, 2011 22:03:18
shkarbatov
Вот ссылка на книгу:
http://shkarbatov.com/1.djvu
В ней все довольно подробно и доступно описано. Раздел 1-Wire.
Удачи.
Как скачаете книгу напишите, дабы я удалил файл с сервера.
Re: Интерфейс 1-Wire
Добавлено: Ср июн 01, 2011 22:29:12
ARV
ascentman писал(а):ауууууууу.....есть тут кто???...... любой пример 1-wire ввода-вивода 1 або 0 можете написать для мк51,....хоть кто-нить)...please
давным-давно я публиковал этот проект:
http://arv.radioliga.com/content/view/29/44/ к нему прилагались несколько библиотечек на ассемблере... думаю, вам подойдет