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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Эмулятор DS1990, не понятки с режим SLAVE 1Wire
Kovrov
сообщение Jan 27 2006, 12:04
Сообщение #1


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Предистория...
после разборки накопившегося за многие годы барахла нашел платочку контроллер ключей точ мемори
от домофона наверное... повозился с подключением и даже занес в память один из далласовских ключей DS1990 - все работает все хорошо...
а потом подумал надо бы попробовать сделать эмулятор онного на тиньке с автономным питанием
...
полчаса писал прогу считать ds 1990 на МЕГЕ 16 все получилось без проблем
;----
решил написать эмулятор на той же меге16 (пока)
вообщем RESET, Presence pulse, написал
а также чтение комманд от мастера
получил $33 команду типа "дай данные ром"
и все на этом тупик
выложил строку заранее считанную а контроллер не понимает
возможно чето с процедурами передачи байта, хотя там все ясно!
8 байт данных от ключа 100% достоверные
:---
единственное за че боюсь может тайминги че не так или контроллер домофона ещё какие темы
дает - а я незнаю....
если у кого есть исходничек !!!слейва!!! лучше асм 1WIRE буду принателен


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 27 2006, 12:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Вот мой исходник для 2313 @ 4MHz. Работает, но частоту лучше повыше поднять -
у 1-Wire довольно жесткие требования на времянку вида: "фронт мастера"-"удержание линии слейвом".

[attachment=4072:attachment]
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 27 2006, 13:07
Сообщение #3


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



спасибо огромное - буду разбираться
упустил из виду то, что когда слейв передает данные мастер на 15 мкс линию вниз опускает
после этого заработало но,
как то мне ненравиться
временный разброс +- 0,5мкс - и уже не работает

Сообщение отредактировал Kovrov - Jan 27 2006, 13:08


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 27 2006, 13:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Многое от мастера зависит. Хотя, +/- 0.5мкс, по идее, ничего менять не должно.
Go to the top of the page
 
+Quote Post
Иванов
сообщение Jan 27 2006, 20:27
Сообщение #5





Группа: Новичок
Сообщений: 7
Регистрация: 20-01-06
Пользователь №: 13 383



В Вашем случаи возможны две ситуации не работы эмулятора. Первый случай: не совсем правильная работа мастера. Второй случай: контролер рассчитан для приема не только DS1990, но и еще ключей типа «метаком» или «цифрал». В первом случаи проблема решается подбором временных интервалов (не очень вериться, что разброс +- 0,5мкс, недавно делал считыватель ключей и обратил внимание, что новые ключи срабатывают по минимальным интервалам указанных в даташатах, а для старых ключей пришлось расширять ворота до указанных в мануале. Второй случай не имеет программного решение, а только аппаратное из-за совершенно иного электрического протокола.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 28 2006, 15:02
Сообщение #6


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(Иванов @ Jan 27 2006, 23:27) *
(не очень вериться, что разброс +- 0,5мкс, недавно делал считыватель ключей и обратил внимание,

а че не вериться то?
временные интервалы считает таймер 0 делитель 1/8
и того один тик =500 нс при кварце 16 мнz
так вот в моей процедуре чтобы задать 15 мкс стоит типа макроса
;-----------------------
clr temp
out tcnt0,temp
w1:
in temp,tcnt0
cpi temp,15*2 (!!!!15 - подчеркиваю)
brlo w1
;-------------------
при 14 или 16 не работает вообще!!!
при 15 достаточно надежно
О как! конечно я сам в некотором недоумении
есть конечно некоторые зацепки - в понедельник проверю

насчет аппартной не совместимости
на контролере стоит пик 12с508 счит нога через резистор 200 ом+ защитн стабиллитрон подведена
на контактор- питалово 5 в
куда уж больше совместимости то?

Сообщение отредактировал Kovrov - Jan 28 2006, 15:06


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Иванов
сообщение Jan 28 2006, 19:43
Сообщение #7





Группа: Новичок
Сообщений: 7
Регистрация: 20-01-06
Пользователь №: 13 383



Когда делал преобразователь кода в 1-Ware использовал диаграмму которая лежат в прикрепленном файле. Код дома не нашел, поэтому в двух словах логика работы моего эмулятора: Во-первых использовал вход внешнего прерывания (необязательно), и после передачи каждого слота переводил контролер в спящий режим. По отрицательному импульсу контролер просыпался, если нужно было передать “1” засыпал до следующего синхронизирующего отрицательного импульса. Если нужно было передать “0” то отсчитывал 15мкс, а затем переключал порт на выход и удерживал “0” 45мкс, далее опять переводил порт в ход и засыпал. И так весь пакет данных. Да кстати внутренней подтягивающей резистор не использовал. Проверял на контролерах нескольких производителей работал без нареканий. Прикрепленный файл  Dallas1.bmp ( 68.63 килобайт ) Кол-во скачиваний: 218
Go to the top of the page
 
+Quote Post
Последний
сообщение Jan 29 2006, 02:15
Сообщение #8





Группа: Новичок
Сообщений: 2
Регистрация: 13-11-05
Пользователь №: 10 796



Это я удачно зашёл! (с)
Неделю назад сам начал переделывать эмулятор с телесистем под АВР. Поставил себе цель использовать минимум деталей. Поэтому пишу для тини2313 (временно отлаживаю на 90s2313) из расчёта использовать встроенный генератор. 2 полные ночи убил, но так и не смог даже считать ключ sad.gif.

2 Kovrov
Предлагаю скооперироваться в разработке - на данный момент могу помочь написать интерфейс (кнопочки, индикаторы) и работу с ЕЕПРОМ. Буду оооочень рад, если сможешь переписать считывание и эмулирование под 1 мег - я убеждён, что это реально (на телесистемах 2051 заводили на 12 мег, но команда там за 12 тактов выполняется).
Что скажешь, сработаемся?

Сообщение отредактировал Последний - Jan 29 2006, 02:19
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 29 2006, 06:07
Сообщение #9


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(Иванов @ Jan 28 2006, 22:43) *
Если нужно было передать “0” то отсчитывал 15мкс, а затем переключал порт на выход и удерживал “0” 45мкс, далее опять переводил порт в ход и засыпал. И так весь пакет данных. Да кстати внутренней подтягивающей резистор не использовал. Проверял на контролерах нескольких производителей работал без нареканий. Прикрепленный файл  Dallas1.bmp ( 68.63 килобайт ) Кол-во скачиваний: 218

собственно идеи у нас одинаковые, после того как отлажу временные диаграммы тоже хотел пересесть
на инт0
временные интервалы имеено такие какие и у приведенной диаграммы...
Цитата
Неделю назад сам начал переделывать эмулятор с телесистем под АВР. Поставил себе цель использовать минимум деталей.

зачем индикаторы зачем кнопочки?
для меня видиться так тини13 в соике и диод и конденсатор для реализации паразитного питания
все


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 29 2006, 12:25
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kovrov @ Jan 29 2006, 09:07) *
для меня видиться так тини13 в соике и диод и конденсатор для реализации паразитного питания
все


Про паразитное питание лучше забудьте - частота нужна довольно высокая,
электричества кушает изрядно, а через резистор 4К7 много не пролезет sad.gif

Цитата
считывание и эмулирование под 1 мег - я убеждён, что это реально


Реально, но с некоторым напрягом - после фронта со стороны мастера есть меньше 10мкс
(если делать совсем по-честному, то 1мкс) для выставления бита, а нужно еще решить,
что выставлять, и выставлять ли вообще smile.gif
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 29 2006, 15:22
Сообщение #11


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(aaarrr @ Jan 29 2006, 15:25) *
Про паразитное питание лучше забудьте - частота нужна довольно высокая,
электричества кушает изрядно, а через резистор 4К7 много не пролезет sad.gif


Не зачем забывать... ибо на тини уже работает даже с предидущем алгоритмом
и именно с паразитным питанием диод кд522+ 200мкф
на кустарной платке круглого вида и на соике
главное обеспечить грамотный спящий режим
мало того сделал через еепром в цикле перебор 5 ключей вроде ок
хотя завтра поработаю над новым алгоритмом чтения есть кое какие мысли

Сообщение отредактировал Kovrov - Jan 29 2006, 15:24


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 29 2006, 16:20
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kovrov @ Jan 29 2006, 18:22) *
на тини уже работает даже с предидущем алгоритмом
и именно с паразитным питанием диод кд522+ 200мкф


Это не паразитное питание, а камень на шею мастера smile.gif С резистором
4К7 кондер будет заряжаться примерно 3.5 сек. И как
поведет себя тини на мееедленно растущем питании без
BOD и супервизора (ибо они жруть)?
Я не хочу сказать, что это не должно работать (сам пробовал - немного работает),
просто такой подход, ИМХО, не есть хорошо.

P.S. DS1990 жрет единицы мка, что в случае с контроллером недостижимо.
Go to the top of the page
 
+Quote Post
Иванов
сообщение Jan 29 2006, 18:03
Сообщение #13





Группа: Новичок
Сообщений: 7
Регистрация: 20-01-06
Пользователь №: 13 383



Подброшу идею: Контролер взять с индексом V и питать его 1.8В, а для согласования с мастером сделать транзисторный преобразователь уровня. Схема конечно усложниться, но проблему питания частично решите.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 29 2006, 18:09
Сообщение #14


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



чем же камень?
что разве проще таскать с собой батарею?
и почему 3,5 сек? что 5 вольт?
почему 5 вольт?
почему без бод?
а чем же это не хорошо?
плавно растущее питание не хорошо только тем когда есть процедуры с еепром!!! и то когда нет бода
все остальное не важно в этом представлении проекта..
и главное повторюсь (это паразитное питалово) - а это много значит!!!!
эпоксидкой залил и вперед
я думаю многие с этим согласяться...
на самом деле сам люблю что было как часы но тут .... наплевать.... да и особо страшного ничего нету

Цитата(Иванов @ Jan 29 2006, 21:03) *
Подброшу идею: Контролер взять с индексом V и питать его 1.8В, а для согласования с мастером сделать транзисторный преобразователь уровня. Схема конечно усложниться, но проблему питания частично решите.

какие преобразователи то? зачем?
V как раз то что доктор прописал...
лог 0 формируется открытым мосфетным переходом, тут да, - опираемся только на заряд кондера
лог 1 - вообще ничего не надо Z -состояние вся надежда на резистор шины :-)
а при приеме все ограничется встроенными диодами

Сообщение отредактировал Kovrov - Jan 29 2006, 18:17


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 29 2006, 18:29
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kovrov @ Jan 29 2006, 21:09) *
чем же камень?
что разве проще таскать с собой батарею?
и почему 3,5 сек? что 5 вольт?
почему 5 вольт?
почему без бод?
а чем же это не хорошо?
плавно растущее питание не хорошо только тем когда есть процедуры с еепром!!!

Зачем же столько эмоций? smile.gif
Почему 3.5 сек - посчитайте.
Чем не хорошо - посмотрите со стороны мастера, для него это будет выглядеть как 0 на
шине, т.е. мертвое устройство.
Плавно растущее питание не хорошо всегда.

Цитата
какие преобразователи то? зачем?
V как раз то что доктор прописал...
лог 0 формируется открытым мосфетным переходом, тут да, - опираемся только на заряд кондера
лог 1 - вообще ничего не надо Z -состояние вся надежда на резистор шины :-)
а при приеме все ограничется встроенными диодами

Иначе у Вас всегда контроллер будет запитан через встроенные диоды. Очень красивая картина:
входная нога->встроенный диод->внешний конденсатор на много-много мкф.

Еще раз оговорюсь: для единичного экземпляра, пашущего на одного
мастера, сойдет. Как универсальное решение - нет.
Go to the top of the page
 
+Quote Post

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

 


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


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