Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.10.2010, 12:53
|
|
Временная регистрация
Регистрация: 04.05.2008
Адрес: Ставрополь
Сообщений: 63
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 17 сообщении(ях)
|
Ключ от домофона 1990?
Здравствуйте!
Проблема следующая.
Разрабатываю считыватель ключей от домофона. Использую atiny2313 частота 4МГц пишу на Codevisionavr. но использую не встроенные функции а самоделки. Проблема в том что в протеусе все работает а в реале нет.
листинг программы:
#include ‹tiny2313.h›
#include ‹delay.h›
#include ‹stdio.h›
#asm
.DEF outByte = R16
#endasm
#pragma regalloc-
unsigned char inByte=0;
unsigned char rom[9];
unsigned char i=0;
unsigned char j=0;
void main(void)
{
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
ACSR=0x80;
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=25; //9600
#asm ("cli")
while(1)
{
//----- Reset ----------
PORTB.0 = 0;
DDRB.0 = 1;
delay_us(480);
//------ проверка сигнала Presence --------
DDRB.0 = 0;
PORTB.0 = 1;
delay_us(30);
if (PINB.0 == 0)
{
delay_us(480);
DDRB.0 = 1;
//------ посылка байта 0x33 ---------------
#asm
ldi outByte, 0x33;
#endasm
i=8;
do
{
PORTB.0 = 0;
delay_us(2);
#asm
out 0x18, outByte ;PORTB = outByte
lsr outByte ;outByte ››= 1;
#endasm
delay_us(70);
PORTB.0 = 1;
delay_us(2);
}
while (--i);
// посылка байта 0x33 | 0x33 ------------------
// прием кода ----------------------------------
#asm ("cli")
j=8;
do
{
i=8;
inByte = 0xFF;
do
{
DDRB.0 = 1;
PORTB.0 = 0;
delay_us(1);
PORTB.0 = 1;
delay_us(15);
DDRB.0 = 0;
inByte ››= 1;
inByte &= 0x7F;
if (PINB.0 == 0)
{inByte |= 0x80;}
delay_us(120);
DDRB.0 = 1;
PORTB.0=1;
delay_us(1);
}
while(--i);
rom[j] = ~inByte;
}
while(--j);
// прием кода ----------------------------------
} //if
j=8;
do
{
putchar(rom[j]);
rom[j] = 0;
delay_ms(5);
}
while(--j);
delay_ms(10000);
}
}
|
|
|
|
20.10.2010, 23:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,448
Сказал спасибо: 96
Сказали Спасибо 319 раз(а) в 233 сообщении(ях)
|
Re: Ключ от домофона 1990?
Может, дело во фьюзах. Протеусу, вроде бы на фьюзы паралелльно. А вот в реале частота может отличаться в разы (предделитель, встроенный генератор)... И в кодевижине выстави оптимизацию по скорости.
И ещё, когда DDR = 0, а PORT = 1, на выходе 1. То есть подтяжка к плюсу питания. Возможно, она мешает.
Последний раз редактировалось Godzilla82; 20.10.2010 в 23:36.
|
|
|
|
21.10.2010, 06:34
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Ключ от домофона 1990?
Godzilla82, Подтяжка вроде-ж должна быть.
__________________
Найди путь или проложи сам!
|
|
|
|
21.10.2010, 12:23
|
|
Временная регистрация
Регистрация: 04.05.2008
Адрес: Ставрополь
Сообщений: 63
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 17 сообщении(ях)
|
Re: Ключ от домофона 1990?
Подтяжка стоит внешняя резистор около 3 кОМ. фьюзы ставил по разному и от внутреннего RC и от внешнего кварца (соответсвенно с припаянным внешним). На осциле видно как идет ресет и пресенс сигналы и даже какой то обмен идет, не могу посмотреть, осцил слабый. Но при передаче лог 0 видно что линия не становится в 0 а просаживается где то до 2В. И еще: когда ключ не подключен на осциле видна ровная линия 5В и периодический ресет на ней. А когда ключ подцепляешь появляется шероховатость типа прямоугольной. Может ключ не DS1990?.
|
|
|
|
21.10.2010, 17:01
|
|
Частый гость
Регистрация: 29.08.2005
Адрес: Екатеринбург
Сообщений: 30
Сказал спасибо: 5
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Ключ от домофона 1990?
может всетаки попробовать встроенные функции? ну и пусть код побольше получится
|
|
|
|
21.10.2010, 17:03
|
|
Частый гость
Регистрация: 06.06.2007
Сообщений: 42
Сказал спасибо: 1
Сказали Спасибо 9 раз(а) в 6 сообщении(ях)
|
Re: Ключ от домофона 1990?
Я тут недавно тоже этим делом баловался. Собрал считыватель для DS-ов, правда не на тини а на старом добром 89с2051. Ну посчитал все тайминги, написал все процедурки (на ассемблере), короче все заработало. Давай я пробовать разные ключи.. все читаются. Вобщем любая DS-ина выдает свой ROM.
А тут решил, дай попробую считать ключик от домофона типа "CYFRAL" от Модус, и... опа! Он вешает линию! Хотя осциллографом видно, что идет некий обмен, слабо напоминающий нормальный.. думаю, наверное что то с моей схемулиной.. Нет, все в порядке.
Короче я так думаю, что у них какой то свой стандарт (не зависимый от DALLAS, ключи от которого давно уже не уникальны, как заявлено было), видимо, чтобы быть особенными, отличными от других.
Только пока что не было времени поразбираться в чем собственно разница, временные параметры или протокол обмена другой..
Если может кто знает, то делитесь, будет интересно.
|
|
|
|
21.10.2010, 18:04
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Ключ от домофона 1990?
Сообщение от stml
|
А тут решил, дай попробую считать ключик от домофона типа "CYFRAL" от Модус, и... опа! Он вешает линию! Хотя осциллографом видно, что идет некий обмен, слабо напоминающий нормальный.. думаю, наверное что то с моей схемулиной.. Нет, все в порядке.
Короче я так думаю, что у них какой то свой стандарт (не зависимый от DALLAS, ключи от которого давно уже не уникальны, как заявлено было), видимо, чтобы быть особенными, отличными от других.
Только пока что не было времени поразбираться в чем собственно разница, временные параметры или протокол обмена другой..
Если может кто знает, то делитесь, будет интересно.
|
У "Цифрал" выдача ключа происходит путем изменения тока потребления. Когда ключ поднесли он тупо начинает циклично выдавать код. С 1-wire не совместим.
Последний раз редактировалось realid; 21.10.2010 в 18:18.
|
|
|
|
22.10.2010, 02:24
|
|
Прохожий
Регистрация: 04.10.2009
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Ключ от домофона 1990?
В ключах "цифрал" стоят кристаллы 1233КТ1 производства НТЦ СИТ г.Брянск
средний уровень сигнала 1.6 вольта, размах 0.5-0.7 вольта.
Сигнал крутит по кругу без всяких команд типа 0h33 (читать).
Нужно только подключить питание.
Могу выложить схему ключа на 12pic519 или на 12pic629. Работают и тот и другой.
Есть ещё микросхема 1233КТ2 - используется в ключах "Метаком". Там немного другая последовательность сигнала, но принцип работы тот же.
Кристаллы ПОЧТИ одинаковые. Я в ключе сделал так, что любой из этих ключей можно скопировать или перезаписать, если нужно.
|
|
|
|
22.10.2010, 09:32
|
|
Временная регистрация
Регистрация: 04.05.2008
Адрес: Ставрополь
Сообщений: 63
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 17 сообщении(ях)
|
Re: Ключ от домофона 1990?
Домофон "метаком". Заметил что при подключении ключа линия просаживается до "0" на 500 -1000 мс. А можно ли проверить устройство если подключить термодатчик вместо ключа и посмотреть его ROM? По идее должен ответить?
|
|
|
|
22.10.2010, 09:32
|
|
Частый гость
Регистрация: 06.06.2007
Сообщений: 42
Сказал спасибо: 1
Сказали Спасибо 9 раз(а) в 6 сообщении(ях)
|
Re: Ключ от домофона 1990?
Ну вот видите, valic, подтвердились мои предположения..
Так что идите в магазин, покупайте обычный DS1990A и радуйтесь результатом вашего программного продукта, скорее всего все заработает.
А на счет 1233КТ1(2) (уважаемый Segreen), конечно было бы интересно взглянуть на ваш девайс, как реальизован протокол на физ. уровне, да и протокол обмена тоже интересен. Так что, если на папке с документацией (на эту тему) нет грифа "Совершенно секретно", то выкладывайте, думаю многие скажут вам спасибо.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:31.
|
|