Эмулятор DS1990A. Нужна помощь.

Обсуждаем цифровые устройства...
Ответить
Аватара пользователя
10ff
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт дек 23, 2008 21:44:13
Откуда: Россия

Эмулятор DS1990A. Нужна помощь.

Сообщение 10ff »

Народ, помогите решить проблему. Написал прошивку для эмулятора, накидал схему, сделал печатку, спаял. Проверил на домофоне, который на входе домой - все прекрасно открывает. Потом решил проверить на домофоне на работе и собственно ничего не сработало. Домофон никак не реагирует. Оба родных ключа, что от дома, что от работы - ds1990a и с обоих хорошо считываются идентификационные номера. Никак не пойму в каком направлении думать??? Быть может второй домофон реализует какой-то другой протокол считывания?
Вложения
2.JPG
(60.83 КБ) 1229 скачиваний
1.JPG
(74.52 КБ) 946 скачиваний
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение ARV »

а какие команды протокола вы эмулируете? ключ-то может двумя способами считываться: командой READ_ROM или командой SERACH_ROM - совершенно разные способы... если один домофон читает одним способом, а другой - другим, то все понятно... не так ли?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
10ff
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт дек 23, 2008 21:44:13
Откуда: Россия

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение 10ff »

ARV писал(а):а какие команды протокола вы эмулируете? ключ-то может двумя способами считываться: командой READ_ROM или командой SERACH_ROM - совершенно разные способы... если один домофон читает одним способом, а другой - другим, то все понятно... не так ли?


Дело в том, что после процесса инициализации я просто отсчитываю восемь бит(когда домофон роняет шину в ноль восемь раз), но не проверяю номер команды(хотя обычно 0x33).
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение ARV »

10ff писал(а):Дело в том, что после процесса инициализации я просто отсчитываю восемь бит(когда домофон роняет шину в ноль восемь раз), но не проверяю номер команды(хотя обычно 0x33).
так значит вы сделали не эмулятор, а хрень из-под коня... делайте так, как определено в стандарте - и будет вам счастье
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
10ff
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт дек 23, 2008 21:44:13
Откуда: Россия

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение 10ff »

спс за наводку. буду читать
kolobok0
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение kolobok0 »

10ff писал(а):...на домофоне на работе и собственно ничего не сработало...каком направлении думать??? Быть может второй домофон реализует какой-то другой протокол считывания?


свои пять копеек.

поройтесь в инете. возможно даже и на этом сайте пробегала инфа, что некоторые считыватели начинают работать с шиной только после просадке её и удержании некоторое время (подключение таблетки). Это служит сигналом для начала опроса таблетки. Посему немного надо изменить выход - чтоб можно было 'закоротить' на некое время линию, перед началом работы (эмуляция подсоединения).

удачи вам
(круглый)
ЗЫ
Да, если не жалко - скиньте сюда инфу после победы :) Так же интересует данный вопрос.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение ARV »

kolobok0 писал(а):Да, если не жалко - скиньте сюда инфу после победы :) Так же интересует данный вопрос.
а в чем интерес? есть же полное описание протокола работы DS1990A - достаточно просто его выполнить, и все, проблемы нет. там все очень просто.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
10ff
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт дек 23, 2008 21:44:13
Откуда: Россия

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение 10ff »

kolobok0 писал(а): что некоторые считыватели начинают работать с шиной только после просадке её и удержании некоторое время (подключение таблетки). Это служит сигналом для начала опроса таблетки. Посему немного надо изменить выход - чтоб можно было 'закоротить' на некое время линию, перед началом работы (эмуляция подсоединения).

удачи вам
(круглый)
ЗЫ
Да, если не жалко - скиньте сюда инфу после победы :) Так же интересует данный вопрос.


В том то и дело, что процесс инициализации, т.е. эмуляция подсоединения таблетки у меня реализован. По-видимому, как и говорил ARV, некоторые домофоны работают не по команде 0x33, а по 0xF0. В ближайшие дни перепишу прошивку и проверю. Как только все заработает выложу все исходники, ну и схему если надо.
kolobok0
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение kolobok0 »

ARV писал(а):...а в чем интерес? есть же полное описание протокола....


если прочитате внимательно выше топик, то я проявил интерес не к описанию протокола. а именно к тем считывателям которые отошли от протокола.


(круглый)
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение Инженер »

10ff, kolobok0 все верно сказал. Некоторые домофоны ждут ключа пассивно, то есть не дают импульс инициализации пока сами не получат "импульс присутствия" этот импульс обусловлен зарядом кондера настоящей таблетки, сразу после контакта с домофоном он (настоящий ключ) на короткое время сажает шину в ноль. ARV в офф. документах об этом НИ СЛОВА! Сам с такой проблемой сталкивался, дописал эмуляцию по F0, переделал код, но пока не сделал этот импульс присутствия домофон игнорировал мой эмулятор. Я делал импульс длинной 100мкс. Сначала ждал 200мс (вдруг домофон адекватный и ему такая фигня не нужна) а потом если импульса инициализации от домофона нет ронял шину на 100мкс.
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение asteroid7 »

Инженер, поясните. Я не в теме.
Что за таблетки с изменённым протоколом 1wire? Слейв сам инициирует обмен :shock:
Кто их выпускает? На корпусе обозначения есть?
Родным ibutton эти замки не открываются?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение ARV »

Инженер писал(а): ARV в офф. документах об этом НИ СЛОВА!
это неправда! в официальных документах есть такие слова: после получения питания устройство iButton выдает сигнал PRESENCE по которому мастер может обнаружить момент появления нового устройства в сети 1-wire. это одно из требований стандарта обмена всех двухконтактных устройств iButton.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение asteroid7 »

Признаюсь - был не в теме.
Подтверждаю слова ARV. В спецификации ibutton чётко прописан импульс присутствия после касания таблетки. Далее можно без сброса сразу подавать команду.

Кому лень качать:
C. Synchronization
Data transfer cannot be done before the iButton and master are connected, i.e., before the memory touches
the data and ground line of the microcontroller. Just a few microseconds after the connection is established
(after touching), the iButton pulses the data line low to tell the master that it is on the line and is waiting to
receive a command. This waveform is called a presence pulse. The master can also request an iButton to
give a presence pulse by issuing a reset pulse.
kutukvpavel
Родился
Сообщения: 4
Зарегистрирован: Ср окт 06, 2010 19:11:51
Откуда: Москва

Re: Эмулятор DS1990A. Нужна помощь.

Сообщение kutukvpavel »

если нетрудно кому нибудь - скинте исходники платы и прошивки пожалуйста. давно ищу инфу по этому. :o
Ответить

Вернуться в «Цифровая техника»