Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RFID - ридеры
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
demaven
Уважаемые, возникла необходимость прикрутить мегу8л к ридеру НТРС110, никак не могу уверено прочитать карточку, очень маленькая зона считывания, думаю непонятка в алгоритме обработки принятого кода (Манчестер), кто применял в своих разработках - поделитесь пожалуйста
я считаю длину посылки , счет запускаю по прерыванию и видимо где-то в обработке запутался, чутьь времянки импульсов ушли - хана уверенному приему
Spider
Цитата(demaven @ Jun 16 2006, 10:10) *
Уважаемые, возникла необходимость прикрутить мегу8л к ридеру НТРС110, никак не могу уверено прочитать карточку, очень маленькая зона считывания, думаю непонятка в алгоритме обработки принятого кода (Манчестер), кто применял в своих разработках - поделитесь пожалуйста
я считаю длину посылки , счет запускаю по прерыванию и видимо где-то в обработке запутался, чутьь времянки импульсов ушли - хана уверенному приему

на микрочип.ру я писал свой алгоритм чтения манчестера. тема называлась proximity
Но у меня чтение по таринке - LC контур, RC - фильтрб фильтр 2ого порядка на операционнике LM358. и Цифровой фильтр средствми ACP меги. Результат - чтение 64 битной карточки.
demaven
на микрочип.ру я писал свой алгоритм чтения манчестера. тема называлась proximity
Но у меня чтение по таринке - LC контур, RC - фильтрб фильтр 2ого порядка на операционнике LM358. и Цифровой фильтр средствми ACP меги. Результат - чтение 64 битной карточки.
[/quote]

побывал на мелкочипе.ру в ветке proximity
поподробней, пожалуйста сколько граммов и куда глядеть, у меня зрение не очень (шутка), а если серъезно, то непонятка осталась, у меня сам ридер, в данном случае U2270B производит обработку сигнала - детектирит, формирует и выдает в контроллер готовые импульсы. Если карточки нет - длительность почти случайная, подносим карточку - четко выделяются импульсы длительностью 250-350 микросекунд и удвоенные, при удалении карточки длительность импульсов меняется и вот тут и происходит потеря, хотя на первый взгляд, ответ от карточки есть, просто я его не могу выдернуть
Spider
ещё раз для тех кто в танке (не люблю эту фразу ибо сам типа Танкист)

заводим таймер - счётчик и пускай он себе считает что-то на фоне. Чем больше дискретность тем лучше.
вешаем импульсы на прерывание. измеряем средствами таймера длительность между 2мя импульсами, это и есть некая dt. Эта dt может быть либо dt либо 2dt +/- неакая погрешность.
Теперь подносим карточку. Начало пакета карточки характеризуется нолём (конец предыдущего) и 9 едениц. т.е. это в манчестере как минимум 1 длинная еденица (могу запамятовать но помоему еденица) и затем 18 "коротких" переходов вот это место нам и важно.
В этом месте мы биваем 2х зайцев:
1. Определяем начала пакета данных
2. имеем синхронизацию. т.е. посчитам сммарное время всех 18 переходов и разделив на 18 получаем среднее время одного "короткого" перехода. Вот оно то и будет опорной точкой в определении всех остальных едениц и нолей. Далее просто смотрим на временные интервалы и считаем еденицы и ноли.
Тут всё просто. Если дут короткие то это, например, еденицы, если вдруг попался длинный то меняем "полярность" на ноль и считаем далее короткие как ноли и так до следующего перехода. всё просто.
Надеюсь понятно. Писал быстро я - убегаю.
demaven
[quote name='Alexey Belyaev' date='Jun 16 2006, 12:19' post='124240']
ещё раз для тех кто в танке (не люблю эту фразу ибо сам типа Танкист)

танкист вроде все понял, большое спасибо, будем копать дальше
demaven
наконец-то все нормально заработало, остались мелкие детали - подальше прочитать, поменьше пожрать подольше поспать, а так все работает, спасибо откликнувшимся
Spider
Цитата(demaven @ Jun 20 2006, 10:18) *
спасибо откликнувшимся

Тобиш мне!
Какой я скромняжка smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.