реализация 1-wire на attiny13.одни вопросы...

Всё об интерфейсах, протоколах, подключении к МК разных устройств, подключении контроллеров к ПК...
Ответить
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

Уважаемые коллеги. Пробую реализовать 1-wire на тиньке для 1990... и одни вопросы по протоколу:
1. начинаем с ресета - на что ключик отвечает преференсом (пробовано в ISIS 7 Pro, так и с реальным ключом, что видно по скринам)
2. формируем 0x33, а затем шлем в линию "1", в глубокой надежде что ключ будет либо растягивать их до "0", либо возвращать без изменения в зависимости от кода своего серийника (задал FF0FAA, ну чтоб точно видеть по графику, 50мкс/дел.)... но..но...
Чую, что где-то допустил очевидный ляп, но моя "извилина" только сворачивается в спиральку и грустно смотрит на меня тоскливым собачьим взглядом. Что может что сказать умного, доброго, вечного?
Вложения
диаграмма с "осцилла" Протеуса...
диаграмма с "осцилла" Протеуса...
Reset_Present_0x33_data_01.jpg (8.61 КБ) 9886 просмотров
реальная картинка при работе с 1990
реальная картинка при работе с 1990
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение rhf-admin »

ATtiny - мастер и вы им пытаетесь читать DS1990, так?
Про сам протокол читали? И реализацию мастера на AVR смотрели?

Теперь по вашим осциллограммам. Осциллограф у вас конечно хреновый и как-то неправильно настроен, но даже так видно, что передаётся:
1-Wire.png
То есть: RESET -> PRESENCE -> 1 1 0 0 1 1 0 0
Если восстановить порядок бит, то получим 00110011 = 0x33
То есть мастер всё правильно посылает. Либо ключ дохлый и поэтому не отвечает, либо это не осциллограф хреновый, а реально сигналы уродские. Надо растянуть осциллограмму и смотреть саму посылку более детально, по графику например, не видно, успевает ли реально сигнал упасть до нуля при передаче "0" и на какое время. Ну и тайминги будет видно, а то в масштабе 200 мкс/дел смотреть по 10-20 мкс интервалы вообще не айс. Мне фронт задний вообще не нравится.
С уважением, администрация сайта.
Аватара пользователя
Fahivec
писатель, читатель
писатель, читатель
Сообщения: 121
Зарегистрирован: 30 дек 2014, 02:17
Откуда: Из-за речки

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Fahivec »

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

Давай схему на обсуждение!
Тест пройден! :geek:
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

Нет, коллеги, нет. Понятно, что карманный осцилл, эпюры с которого я привел в качестве примера, больше подходит для правки своей прически в отражении стекла экрана, чем для измерений;))) - во что превращает реальный сигнал на линии АЦП-шка осцилла (с учетом потерь в щупе, "тянучек" во входных повторителях и д.т.), а затем исходя из каких соображений и в каких кривых этот сигнал рисуется на экране малого разрешения - великая загадка инженера Дзынь и его нерукотворного творения... Я выложил этот скрин разве ради того, чтобы показать временное соответствие модели в ISIS 7 Pro (несмотря на его периодическую ругань о невозможности соблюдения временных реалий) и того, что тинька формирует по факту. Оказалось, что близко (с арифметикой тактов у меня в порядке - слава Великому Калькулятору!!!). Железный ключ и его моделька презентуется, а дальше... молчит, как рыба об лед. Кроме того, и модель ключа и само железо - рабочие, запороть я ни чего не смог....
Второй вечер морщу лоб, чтоб выдавить мысль - сколько таймов даллосовцы могли зафигарить между "презентом" и приемом команды (без разницы какой), чтобы их тупая железяка не путала команды инициализации с командами управления памятью. Кажется в этом месте собака порылась. скорее всего - это время должно быть заведомо больше самой длинной команды инициализации - ресета, для надежности на их месте я сделал бы раза в два... а я в этом варианте после двух тайм-слотов сразу в морду:"память читай свою!!!" естественно он в ауте от такой наглости.
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

"Заработало!!!",- кричал кот Матроскин....
Ну, в общем, все видно из картинки:
- подача команды управления памятью - через 960-1000us после отклика ключа;
- формирование кода ответа ключа: тактируется Мастером выставлением "1" на линии длительностью 10-15us с периодичностью 120us (4 тайм-слота, по видимому для особо удаленных или "тормознутных" ключей)
а так все остальное - по протоколу.
Протокол мне понравился, дальнейшая реализация в "железе" - дело техники...
Кстати, на основе этого протокола можно лепить совершенно оригинальные поделки со своей внутренней системой команд (в один байт их до хе..., т.е. много влезет), а с периферией общаться уже по протоколу... Мне понравилось.
Вложения
scrin_001.JPG
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

Да уж, нарисовал в картинке паузу в 120us (((( - это результат ночных бдений. 980-1000us, конечно! или 2 ресета.
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

Вот так, подправил. Масштаб развертки - 200us/дел.
Вложения
scrin_002.JPG
Аватара пользователя
Fahivec
писатель, читатель
писатель, читатель
Сообщения: 121
Зарегистрирован: 30 дек 2014, 02:17
Откуда: Из-за речки

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Fahivec »

И где же собака порылась?
Тест пройден! :geek:
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение rhf-admin »

сколько таймов даллосовцы могли зафигарить между "презентом" и приемом команды
подача команды управления памятью - через 960-1000us после отклика ключа;
Всё же вы не читали или плохо читали матчасть. Второй рисунок (про reset и presence) всё объясняет. А именно - время TRSTH должно быль больше 480 мкс. То есть мастер меряет время до начала передачи команды не от момента, когда он увидел или не увидел Presence от слэйва, не от момента отклика, а от того момента, когда он сам "отпустил" шину.

За это время, в том числе происходит или не происходит следующее:
"Слэйвы", не ранее, чем через 15 мкс, но и не позднее, чем через 60 мкс после того, как "Мастер" отпустит шину (15 мкс < TPDH < 60 мкс), должны сформировать на шине низкий уровень (это и есть сигнал присутствия), длительностью от 60 до 240 мкс (60 мкс < TPDL < 240 мкс), после чего они также отпускают шину.
Так что не нужно ждать никакой миллисекунды после presensa, нужно просто отмерить полмиллисекунды от момента отпускания мастером шины.
С уважением, администрация сайта.
Pavel901
Читатель
Читатель
Сообщения: 6
Зарегистрирован: 17 май 2017, 13:45
Откуда: от-туда

Re: реализация 1-wire на attiny13.одни вопросы...

Сообщение Pavel901 »

Грешен, каюсь что не читал матчасть, грешен.... Но, видать, не все испробовал, чтобы обратиться к даташиту. Зато, как увлекателен был процесс поиска истины...
Ответить

Вернуться в «Интерфейсы / Протоколы / Периферия»