#1 2018-01-24 18:00:23

Sayori
Участник
Зарегистрирован: 2018-01-24
Сообщений: 3

Arduino + 1-Wire + Эмулятор DS1990 = хлам на шине

Доброго времени суток, столкнулся с задачей сделать клон одного устройства работающего с считывателем карт. Считыватель эмулирует по шине 1-Wire поведение DS1990.
Логично предположить что хватит банально библиотеки OneWire.
Сперва подключил как положено через подтяжку на 4.7кОм. Потом добавил переключающий диод для полного соответствия обвязки.
Как известно с интернетов, пакет DS1990 состоит из 8 байт.
1 - Family code (в данном случае значение должно быть 0х1)
2-7 - ROM
8 - CRC
В результате я получаю странный хлам на шине, к примеру Family code мне прилетает 0xAB.
При этом я уверен в работоспособности считывателя так как при подключении к оригинальному устройству на шине идут верные байты.
Может кто-то с подобным сталкивался?
Через пару часов выложу скриншоты логического анализатора.

#2 2018-01-25 13:12:54

Sayori
Участник
Зарегистрирован: 2018-01-24
Сообщений: 3

Re: Arduino + 1-Wire + Эмулятор DS1990 = хлам на шине

Даю примеры сигналов на участках отправки команды на чтение и получение Family code

Правильный вариант
1d2c3ea86d.jpg


А что получается в моем случае
36c7e8dc34.jpg

#3 2018-01-27 00:35:45

Sayori
Участник
Зарегистрирован: 2018-01-24
Сообщений: 3

Re: Arduino + 1-Wire + Эмулятор DS1990 = хлам на шине

Действительно, про верификацию с реальным iButton как-то не подумал. Но увы, она показала что код вполне пригодный для работы с  iButton.
Насчет документации, по протоколу там сказано, как говорится, два слова. Что считыватель передает данные по шине 1-Wire, эмулируя работу iButton.
На считыватель грешить смысла нет, так как в оригинальной сборке он работает нормально(на обеих скриншотах анализатора работает один и тот же считыватель)

У меня остается только одна мысль(может и дурацкая) что проблема может быть в захардкоженых таймингах отправки бита, так как считыватель имеет постоянное питание а не паразитное... Нужно будет проверить...

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела