реклама на сайте
подробности

 
 
> 1 wire для AT89C4051, Проблема при считывании ID Ibutton
looter
сообщение Sep 2 2009, 08:35
Сообщение #1





Группа: Участник
Сообщений: 4
Регистрация: 2-09-09
Пользователь №: 52 149



Пишу программу авторизации пользователей посредствам ibutton под AT89C4051. Столкнулся с проблемой считывания ID с 1990А1.
Посмотрите на код, может где неправильно установлены задержки?? Данный софт заливался на контроллер и проверялся миандр. Сброс и запись команды READ ROM миандр показывает правильные времена задержки. Картинка на осцилогрофе соответствует заявленной производителем.
При чтении 8 байт начинают возникать проблемы: миандр постоянно показывает что принимаю 1
В качестве команды READ ROM использую 0х33h или 0х0Fh, в книге "Конструирование устройств на микроконтроллерах" Белова А.В. указывают что необходимо писать 0х0Fh в datasheet'e что разницы нет. Пробовал и то и другое - результат отрицательный.


В файле лежит код, написан на С под Keil uVision2.
Прикрепленные файлы
Прикрепленный файл  proverka.txt ( 3.22 килобайт ) Кол-во скачиваний: 76
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
looter
сообщение Sep 2 2009, 14:00
Сообщение #2





Группа: Участник
Сообщений: 4
Регистрация: 2-09-09
Пользователь №: 52 149



Функцией ow_on_line () я установливаю ноль на протяжении 704 мкс, потом отключаюсь т.е. устанавливаю на выходе ножки 1 жду 65 мкс и считываю что находится на ноже, если 1 значит устройства нет; 0 - есть. Или может я не правильно понимаю временные диаграммы при работе с ibutton 1990a???

Как я понимаю ваш ответ, мне еще необходимо один раз проделать данную процедуру??? а только потом отсылать 0х33 (или всеже 0x0F) в устройство??

Может ли быть проблема в том что нет задержки в конце функции, для выдержки полной длительности Presence puls = min 480 мкс??

Сообщение отредактировал looter - Sep 2 2009, 14:03
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 2 2009, 15:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(looter @ Sep 2 2009, 17:00) *
Или может я не правильно понимаю временные диаграммы при работе с ibutton 1990a???
Под рукой нет DS - проверить времена не могу...

Цитата(looter @ Sep 2 2009, 17:00) *
Как я понимаю ваш ответ, мне еще необходимо один раз проделать данную процедуру??? а только потом отсылать 0х33 (или всеже 0x0F) в устройство??
Нет, я хотел сказать, что при присоединении устройства к линиям он вырабатывает импульс присутствия самостоятельно, который Вы можите принять за импульс присутствия, возникающий от сигнала сброс. Впрочем, это, наверное, неважно - поскольку Ваша программа всё время крутится в цикле и читает код с устройства: не в этот раз (цикл программы), так в другой - код должен был бы быть прочитан...

Цитата(looter @ Sep 2 2009, 17:00) *
Может ли быть проблема в том что нет задержки в конце функции, для выдержки полной длительности Presence puls = min 480 мкс??
Да. Если мы говорим об одном и том же. Если Вы зафиксировали (заметили) импульс присутствия в ответ на сигнал сброса, то нужно подождать того момента времени, когда устройство импульс присутствия закончит и "отпустит" линию в 1, и только потом выдавать команду чтения..
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 21:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016