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

 
 
> ATTiny2313 + DS1990 и его имитатор в виде считывателя карт, Для хорошо знающих 1-wire
TamTam
сообщение May 28 2007, 17:56
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Товариши приключилась сия трабла собрал девайс которы по считыванию DS1990 счелкает релюшкой, стало интересно купил Перковский считыватель PERCo-RP-15MW так как он может имулировать DS1990 с надеждой на то что когда я его подключу то он считает ключь с карты и передаст его по 1-wire но этого так и не произошло, хотя попытка попасть в прирывание по спадающему фронту проходит, но данные не передаються. подскажите в чем может быть косяк? Пишу в CVAVR 1.25.3 использую стандартную функцию поиска из стандартной библы.
PDF от читывателя, ВНИМАНИЕ 1,5Мб !!!!

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

Зарание всем благодарен.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vesago
сообщение Oct 9 2008, 07:33
Сообщение #2


Тутэйшы
****

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



Это у вас явно с времянками косяк. Подтяжку ставьте поменьше - 1.6k и поиграйте с времянками. Особенно времением после начала слота.
Go to the top of the page
 
+Quote Post
TechMike
сообщение Oct 9 2008, 07:53
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302



Цитата(vesago @ Oct 9 2008, 11:33) *
Это у вас явно с времянками косяк. Подтяжку ставьте поменьше - 1.6k и поиграйте с времянками. Особенно времением после начала слота.


Насчет времянок это и ежу понятно, прошу более конкретно про конкретные тайминги плс?
Резюк сейчас 4ком, был 3.3ком, все равно crc error.

Так как осциллограф у меня доисторический и аналоговый, поймать, что выдает считыватель не получилось.
Читаю таблетку вот так (mega16+8мгц кварц):

//******************************************************************************
// Функция чтения ключа iButton
//Date: 09.04.2008
//Autor: Eugene Samoylov

// input:
// *code - указатель на буфер для ключа 8 байт
// TM - пин регистра ввода вывода откуда производится чтение
// output:
// 0 - ок;
// 1 - нет импульса присутствия;
// 2 - ненормальное состояние линии (КЗ?)
// 3 - ошибка CRC
//******************************************************************************
BYTE ReadKey(BYTE *code, BYTE TM)
{
BYTE tcnt, Data, i;

// импульс сброса
SETBIT(DDR_TM, TM); // выход
CLRBIT(PORT_TM, TM); // низкий уровень
__delay_cycles(clkMhz * 500); // 500 мкс низкого уровня
CLRBIT(DDR_TM, TM); // вход
SETBIT(PORT_TM, TM); // c подтяжкой

// детектирования импульса присутствия
tcnt = 0;
__delay_cycles(clkMhz * 10);
while(PIN_TM & (1 << TM))
{
__delay_cycles(clkMhz * 10);
tcnt ++;
// если нет - выходим
if(tcnt > 10) return 1;
}

// детектирования готовности ключа
tcnt = 0;
__delay_cycles(clkMhz * 10);
while(!(PIN_TM & (1 << TM)))
{
__delay_cycles(clkMhz * 20);
tcnt ++;
// если линия все еще в низком уровне - гдето КЗ
if(tcnt > 15) return 2;
}

__delay_cycles(clkMhz * 20);
Data = 0x33;
// если да - передача команды
for(tcnt = 0; tcnt < 8; tcnt ++)
{
if(!(Data & (1 << tcnt)))
{
// если 0 сформировать задний фронт + 60 мкс + передний фронт
SETBIT(DDR_TM, TM); // выход
CLRBIT(PORT_TM, TM); // низкий уровень
__delay_cycles(clkMhz * 45);
SETBIT(PORT_TM, TM); // высокий уровень
}
else
{
// если 1 сформировать задний фронт + 15 мкс + передний фронт + 45 мкс
SETBIT(DDR_TM, TM); // выход
CLRBIT(PORT_TM, TM); // низкий уровень
__delay_cycles(clkMhz * 5);
SETBIT(PORT_TM, TM); // высокий уровень
__delay_cycles(clkMhz * 45);
}
__delay_cycles(clkMhz * 10);
}

// чтение данных
for(i = 0; i < 8; i++) // байтовый цикл
{

Data = 0;

for(tcnt = 0; tcnt < 8; tcnt ++) // битовый цикл
{
// даем строб 5 мкс
SETBIT(DDR_TM, TM); // выход
CLRBIT(PORT_TM, TM); // низкий уровень
__delay_cycles(clkMhz * 5);
// переключаемся на вход с подтяжкой
CLRBIT(DDR_TM, TM); // вход
SETBIT(PORT_TM, TM); // подтяжка
// ждем 10 мкс
__delay_cycles(clkMhz * 15);
// читаем данные
Data >>=1; // сдвигаем рег.данных
if(PIN_TM & (1 << TM))
{
Data |= (1 << 7);// 1
}
__delay_cycles(clkMhz * 45);
}

code[i] = Data;
}

// проверка CRC
if (CRC_calc(code) == 0)
{
return 0;
}

return 3;
// выходим
}

Сообщение отредактировал TechMike - Oct 9 2008, 08:03
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TamTam   ATTiny2313 + DS1990 и его имитатор в виде считывателя карт   May 28 2007, 17:56
- - vesago   Надеюсь не забыл перед подачей питания объединить ...   May 29 2007, 07:17
|- - TamTam   Цитата(vesago @ May 29 2007, 11:17) Надею...   May 29 2007, 10:38
- - ksv198   Цитата(TamTam @ May 28 2007, 21:56) Товар...   May 29 2007, 07:41
- - vesago   Хост постоянно шлет сброс считывателю. По прервани...   May 29 2007, 11:14
|- - TechMike   Цитата(vesago @ May 29 2007, 15:14) Хост ...   Oct 9 2008, 07:26
- - vesago   Пожалуйста, когда приводите код, пользуйте соответ...   Oct 10 2008, 08:38
|- - TechMike   Цитата(vesago @ Oct 10 2008, 12:38) Пожал...   Oct 15 2008, 11:19
- - xemul   Присоединюсь к совету vesago: организуйте все-таки...   Oct 15 2008, 13:01
- - TechMike   Вывожу в терминал внезависимости от кривости CRC п...   Oct 17 2008, 19:15
- - vesago   Ранее со своим оборудованием мы пользовали ридеры ...   Oct 19 2008, 08:08
|- - TechMike   Цитата(vesago @ Oct 19 2008, 12:08) Ранее...   Oct 19 2008, 08:17
|- - TechMike   Цитата(vesago @ Oct 19 2008, 12:08) Ранее...   Oct 20 2008, 16:47
|- - MayDay   Цитата(TechMike @ Oct 20 2008, 22:47) Про...   Dec 16 2010, 11:09
- - TechMike   Задача решена, благодаря форумчанам сахары Проблем...   Oct 21 2008, 18:40
- - Andreisela   Народ, а что с проектом под КВАВР? потому как ща с...   May 13 2009, 18:32


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

 


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


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