На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 51,
участников - 7 [ killer258, AlexRS, A_Sky, юра1, slava68, ew2abc, MagComm13]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Разработка, ремонт, схемы, модификации —› Эмулятор домофонного ключа-таблетки от Dallas Semiconductor 
Блоки питания для радиотехники: Ajetrays, Alan, Manson, Optim, RM, Vega, Yaesu, Энергомаш


Alan K35
(1 Ампер)
руб.

RM LPS 105
(5 Ампер)
руб.

Manson SPA-8100
(10/12 Ампер)
руб.

Optim PS-20
(20/22 Ампер)
руб.

Vega PSS-3035
(30/35 Ампер)
руб.
Автор Сообщение
Дата: 14 Июн 2007 03:24:12 · Поправил: Harald (14 Июн 2007 03:26:50) #  

Решил сделать сабж под впечатлением от статьи в ][акере за 09.2006

Собрал девайс на ATTiny12L-4PI. Схема проста, опишу на словах. В качестве сигнальной линии используется нога
PB3 (XTAL1) Она соединена с землей резистором на 360кОм. Питается от двух круглых батареек типа для калькуляторов. К PB4 подключен светодиод. Еще пришлось соединить RESET с плюсом питания через резистор, без этого контроллер не запускался.

Тактовая частота - 1.2 МГц от внутреннего генератора должна быть

Девайс работать отказывается, при подключении к домофону светодиод мигает, но домофон не реагирует, т.е ключ корректно не передается. Решил выложить прошивку, может кто в теме, поможет

И еще вопрос - у серийника на таблетке младший байт - крайний правый, старший - крайний левый, правильно?

[code]

.include "tn12def.inc"

.cseg

.org 0
rjmp RESET
rjmp EINT0
rjmp PIN_CHANGE
rjmp TIMER_OVF
rjmp EEPROM_RDY
rjmp AN_COMP



key_o2:
.db 0x01,0x48,0x7F,0xAB,0x0D,0x0,0x0,0xC6

RESET:


ldi r16,0b00010000
out DDRB,r16;ножка со светодиодом-выход, остальные-входы
ldi r16,0b00000111
out PORTB,r16

ldi r16,0b00100000
out GIMSK,r16;разрешение прерывания по изменению состояния ножек

ldi r16,0b00110000
out MCUCR,r16;разрешение спящего режима

sei ;разрешение прерываний

sleep
;1) ожидание подключения к домофону

sbis PINB,3
rjmp do_reset;сброс, если на проводе 0

wdr
ldi r16,0b00001011
out WDTCR,r16

cli

ldi r17,6
rcall wait;задержка прибл. на 21мкс

;2) выдача импульса присутствия
sbi DDRB,3; PB3 -выход
cbi PORTB,3;удержание линии в 0

ldi r17,30
rcall wait;импульс присутсвия, 80мсек

cbi DDRB,3;PB3 -вход,импульс выдан

rcall wait_pullup

wdr

;3) пропуск 8 бит команды чтения
ldi r16,8
skip_command:
rcall wait_pulldown
wdr
rcall wait_pullup
dec r16
brne skip_command

wdr

;4) передача ключа
ldi r16,8;счетчик байтов
ldi r20,0
ldi r21,1


load_key:
ldi ZL,low(key_o2)
ldi ZH,high(key_o2)



send_next_byte:
lpm
add ZL,r21
adc ZH,r20

ldi r18,8;счетчик битов

send_next_bit:
lsr r0
brcs write_1
write_0:
rcall wait_pulldown
sbi DDRB,3; PB3 -выход
cbi PORTB,3;удержание линии в 0
ldi r17,9;
rcall wait
cbi DDRB,3;PB3 -вход
wdr
rcall wait_pullup
dec r18
brne send_next_bit
rjmp l_01
write_1:
rcall wait_pulldown
wdr
rcall wait_pullup
dec r18
brne send_next_bit

l_01:
dec r16
brne send_next_byte

;5) ключ отправлен, включаем светодиод

wdr
ldi r16,0b00010111
out PORTB,r16;включение светодиода
rjmp do_reset;сброс контроллера

wait:
dec r17
brne wait
ret

wait_pullup:
sbis PINB,3
rjmp wait_pullup
ret

wait_pulldown:
sbic PINB,3
rjmp wait_pulldown
ret

do_reset:
ldi r16,0b00001000
out WDTCR,r16
WAIT_RESET:
rjmp WAIT_RESET

PIN_CHANGE:
reti

EINT0:
TIMER_OVF:
EEPROM_RDY:
AN_COMP:
reti

[/code]
Altair
Участник
Offline3.0
с окт 2003
Омск
Сообщений: 453

Дата: 14 Июн 2007 08:58:53 #  

Домофоны бывают с ключами работающими по протоколам Метаком, Цифрал, Даллас и нецифровые. У тебя какой? :-))
Реклама
Google
rw6hrm
Участник
Offline3.0
с июл 2005
Ставрополь
Сообщений: 1061

Дата: 14 Июн 2007 09:44:42 #  

Цифрал, Даллас
У меня оба работают от Далласовского ключа. ПРичем инсталлеры сначала выеживались прошивать даллас на Цифрал (денех, видать, хотели), но прошился тут же без проблем. Так что это один и тот же протокол.
Дата: 14 Июн 2007 14:03:37 · Поправил: Harald (14 Июн 2007 14:05:20) #  

протокол Dallas, написано ж в названии темы

У меня недавно подозрения возникли, что может у контроллера тактовая частота значительно ниже, чем
1.2 мгц, и задержки из-за этого больше получаются. По документации Atmel, при напряжении 3 В и температуре
25 градусов частота должна быть где-то 1.12мгц (по графику), но там же написано, что это теоретически рассчитываемые характеристики, значит, реальные девайсы могут вести себя по-другому

задержки я рассчитывал исходя из частоты 1.12мгц
Dominic
Участник
Offline3.0
с ноя 2005
Сообщений: 1423

Дата: 14 Июн 2007 14:43:06 #  

А зачем изобретать эмулятор, когда в сети есть гарантированно рабочие, со схемой и прошивкой?
Bar_boss
Участник
Offline1.9
с ноя 2006
Минск
Сообщений: 211

Дата: 14 Июн 2007 14:53:50 #  

Когда-то собрал отлично работающая сигналку с ключами Dallas, правда не на Атмеле, а на пике. Сам дорабатывал схему и провивку. За три года работы никаких нареканий не было, многие повторили данную конструкцию. Если интересуют, пришлю всю документацию с прошивкой.
Дата: 14 Июн 2007 17:58:29 #  

Dominic
Тут важен не готовый результат, а процесс самостоятельного создания рабочего девайса :)
К тому же все эмуляторы в сети, которые я встречал, на PIC-ах. А программировать под
PIC влом, AVR архитектура мне больше нравится

Bar_boss
Интересует, буду рад поизучать
можно выложить на zalil.ru ? (файловый хостинг такой)
Bar_boss
Участник
Offline1.9
с ноя 2006
Минск
Сообщений: 211

Дата: 15 Июн 2007 07:56:53 #  

можно выложить на zalil.ru ? (файловый хостинг такой)
Да напишите в личку свой электронный адрес, пришлю письмом, там файл всего 120 кБ.
ЗигЗаг
Участник
Offline5.0
с апр 2006
Нижневартовск
Сообщений: 2933

Дата: 15 Июн 2007 09:23:28 #  

Harald
AVR архитектура мне больше нравится
А вы аппликейшн джоурналс Атмеловские читали?
Там в каком-то из номеров какраз такой эмулятор описывался на Тиньке.
Была приведена схема, листинг программы и описание работы.
Shephard
Участник
Offline6.3
с сен 2003
из эфира
Сообщений: 3736

Дата: 15 Июн 2007 15:26:41 #  

лучше бы придумали програмулину для КПК или хотя бы лаптопа, чтобы, подключив СОМ порт ПК можно было открывать все двери. Ведь код, зашитый в каждый ключ Даллас семикондуктор, выгравюрован на саом ключе. Так что, имея образец, можно ввести цифры в программу и послать данные в порт домофона.
Dominic
Участник
Offline3.0
с ноя 2005
Сообщений: 1423

Дата: 15 Июн 2007 15:32:11 #  

Harald
Тут важен не готовый результат, а процесс

В таком случае хорошо понимаю :)) Сам такой.

программировать под PIC влом, AVR архитектура мне больше нравится

И это одобряю, правда ни тем ни другим пока толком не владею, всё собираюсь освоить AVR, подопытный 8535 уже с полгода валяется прямо на столе, никак до него не дойдут руки. Я лично люблю AVR за его преемственность по отношению к старым добрым Intel/Z80, на которых я съел если не собаку, то собачку точно :)

Возвращаясь к теме: алгоритм далласа довольно примитивный, попробуйте разрисовать его в виде структурной схемы и пройдитесь по своей программе. Я обычно тоже начинаю сразу кодить, а когда прога не работает, рисую структурку и фактически переписываю прогу по этому рисунку. Как ни странно, но в 90% случаев это помогает... Ну и за таймингами конечно надо следить.
metrolog
Участник
Offline3.9
с авг 2006
Дубна
Сообщений: 1614

Дата: 15 Июн 2007 15:39:54 #  

частота должна быть где-то 1.12мгц стремная эта штука встроенный RC-генератор. До контроллера пальцем дотрагиваешься и все плывет. Задержки нельзя делать, основанные на таком источнике.
Работал с аналогичной переферией MSP430 от TI, так там было много всяких чудес вокруг этого генератора. А почему кварц не поставить? Или прибором не померить? Ну можно в крайнем случае приемником помониторить :)
Dart
Участник
Offline3.4
с мая 2006
http://vrtp.ru
Сообщений: 3117

Дата: 15 Июн 2007 18:52:32 #  

Altair
Домофоны бывают с ключами работающими по протоколам Метаком, Цифрал, Даллас и нецифровые. У тебя какой? :-))
про "протоколы" Цифрал звучит комично. :) http://vrtp.ru/index.php?showtopic=5661
Дата: 17 Июн 2007 01:37:35 #  

ЗигЗаг
А в каком именно номере? Или за какой год? На сайте Атмела архивы 2005 годом заканчиваются.
Атмел их типа по почте рассылает?

Недавно копался в прошивке, нашел несколько багов:
ldi ZL,low(key_o2*2)
ldi ZH,high(key_o2*2)
- забыл умножить на 2

А также еще несколько возможных проблем с таймингами.
Надо будет повозиться в ближайшее время.

metrolog
А вот частоту померить нечем. Есть только такая идея - написать прогу,
которая будет мигать светодиодом с большими задержками (несколько десятков секунд),
измерить секундомером период мигания и рассчитать частоту
Altair
Участник
Offline3.0
с окт 2003
Омск
Сообщений: 453

Дата: 17 Июн 2007 09:15:38 #  

фузы смотри. Обычно через них косяки получаются.
Дата: 17 Июн 2007 16:05:40 #  

да я их вообще не трогал
Реклама
Google
 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.042; miniBB ®