За последние лет несколько, мне все больше приходилось заниматься прибамбасами к системам контроля доступа. В том числе, активно использую карточки условного доступа в стандарте EM Marin. Ежу понятно, что именно с этим типом карточек меньше всего возни - работают на относительно низких скоростях и их обработку можно делать на низкоскоростных контроллерах, как дополнительную функцию. Кроме того, данный формат карточек, в отличии от других, прекрасно описан разработчиком. Применение его в системах условного доступа и прочих развлекухах весьма оправдано и с другой стороны - широчайший спектр выпускаемых меток - брелки, браслеты, карточки... Понаделали блин! :) Суть в том, что система на базе данной технологии имеет широкий спектр применения. Что касается относительно небольшой дистанции считывания, обусловленной относительно низкой несущей частотой, выбраной для данного стандарта, то тут палка о двух концах - это неплохая гарантия того, что вашу карточку, лежащую в кармане, не скопирует какой-нить небритый тип, сидящий рядом и имеющий в авоське специальный считыватель :)
Но не суть...
Для работы с карточками и радиометками данного стандарта производится целый спектр микросхем специального назначения (кому интересно - можете погуглить на тему), но для жителей Мухосранска они не сильно актуальны - возня с заказом и доставкой. Да и партию приличную заказывать обычно не к чему. Зато использование стандартных микроконтроллеров и небольшая обвязка вполне позволяют работать с карточками посредством банальной катушки практически из любого провода :)
Вкратце о читалке... Карточка представляет из себя пассивный передатчик (бывает же такое! :D), модулирующий предоставленную ему несущую частоту. Назначение несущей этим не исчерпывается - карточка еще и питается от той же энергии и тактируется от нее же.
Вот не помню наизусть, но в передаваемом манчестерском коде короткие и длинные импульсы отличаются ровно вдвое и насчитывают, если я не ошибаюсь, 32 тактовых импульса в коротком сигнале и 64 в длинном. Впрочем, если вы попытаетесь реализовать собственный считыватель повторяя на эти цифры как "Отче наш", у вас ничего не выйдет - используйте диапазоны от 20 до 40 и от 40 до 80 для определения типа импульса. Почему это так? Дело в том, что аналоговая часть вашей схемы да и сам радиотракт вносит значительные искажения в качество сигнала. Получить идеальные значения - нереально. Но я опять увлекся - детальную информацию по стандарту вполне можно подчерпнуть у разработчика :) Тема нашей статьи остается прежней - пиковый детектор.
Наиболее распространенная схема пикового детектора в радиолюбительских реализациях считывателей выглядит так:
Я сильно извиняюсь, но к этой версии дизайна я не имею никакого отношения. Ессесно его никто не считал. Критерий один - ОНО РАБОТАЕТ :) Но мы посмотрим - как...
Мы имеем развернутый колебательный контур, настроеный на частоту 125кГц. При таком раскладе, вся энергия, выдаваемая генератором гасится на элементах контура и уходит в тепло. Резистор RC делает сразу несколько добрых дел:
-
греется вместо катушки и конденсатора :)
-
уменьшает добротность контура, делая выходные параметры узла менее восприимчивыми к уползаниям частоты контура по погоде или изготовлению;
-
уменьшает напряжение в точке соединения индуктивности и емкости до разумных пределов, защищая детектор;
-
уменьшает интенсивность бросков, приходящихся на выходной каскад генератора, если форма его сигнала отличается от идеальной синусоиды.
Далее следует банальный детектор и первый фильтр нижних частот на элементах R1 и C2. Цепь R3/C4 в ООС логарифмического усилителя - попытка добавить в ФНЧ второй порядок. Чем ПЛОХ такой вариант реализации? по видимому тем, что крутизна фронтов и спадов будет сильно зависеть от уровня входного сигнала и результирующего усиления каскада - чем ниже шевеленка на входе - тем меньше частотный диапазон. В случае наиболее распространенного в таких схемах универсального усилителя LM358, диапазон весьма небольшой. Про низкочастотные шумы и прочую болтанку распространяться не будем...
Однако, я опять отвлекся :/ По сути, если нам таки надо получить стандартный диапазон стабильного чтения карточки (7 см), применение усилителей таки необходимо. Я решаю эту задачу имея усилитель с КУ 250 на первом модуле микросхемы и компаратором - на втором. Акромя того, из-за близкого расположения частот несущей и основного сигнала (125 и 2 кГц), я предпочитаю фильтр четвертого порядка, чтобы не гонять зазря процессор.
В результате получается солидная девайсина с большим количеством обвеса, но ить работает... :D
Что же можно сделать, чтобы уменьшить размеры устройства и упростить его конструкцию, даже если придется слегка пожертвовать предельными параметрами? Вот пришла мне недавно в голову такая идея...
Если вы еще не заснули и помните, что про контур мы уже говорили, я таки позволю себе перейти к главной части марлезонского балета.
Развернутый контур в таком включении обладает той мерзопакостной особенностью, что сильно чувствителен к нагрузке. Посему подключаемый детектор должен иметь как можно большее входное сопротивление. Но как же соблазнительно было использовать входной каскад с общей базой! При большом усилении по напряжению, он позволяет использовать минимум деталей для обвязки. Но давайте по пунктам...
Отрицательная полуволна посередке контура создает необходимое напряжение смещения и заставляет транзистор Q1 открываться каждый раз на пике сигнала. НО! именно на пике. при этом, напряжение на коллекторе транзистора проваливается в минус и удерживается конденсатором С3. При возникновении цепочки импульсов от карточки, они вылазят плюсом за счет резистора R2, относительно малой емкости С3 и напряжения на базе транзистора, удерживаемого конденсатором С2. таким образом, наша обвязка формирует два фильтра - ФНЧ на цепи С3/R2 и нагрузке и ФВЧ на цепи R1/C2. По сути, если входной каскад микроконтроллера имеет подтяжку примерно той же величины, что и R2, и не боится отрицательных напряжений, на этом можно было бы и закончить. В данном же случае добавлен каскад усиления по току, основной целью которого является отсечка отрицательного напряжения для защиты входа микроконтроллера. При желании, добавив между эмиттером Q2 и корпусом конденсатор в 120пФ, мы организуем еще один ФНЧ, хотя суровой жизненной необходимости именно в этом случае нет - конструкция детектора такова, что высокочастотная составляющая эффективно режется в самом начале. Нагрузка в эмитере Q2 - входное сопротивление микроконтроллера, обеспечиваемое подтягивающим резистором.
Расчет номиналов сделан именно с целью показать оба способа включения - как с защитой входа, так и без нее. В данном варианте, детектор уверено читает карточку с расстояния в 3 см. Для увеличения чувствительности нужно увеличивать номиналы резисторов R2 и R3 и пропорционально уменьшать емкость С3, памятуя о емкости коллекторного перехода Q1. Ессесна не до беспредела ;)
Ну а теперь, применив перетертое на практике, построим схему считывателя с wiegand выходом из подножных материалов...
Транзисторы Q3 и Q4, кроме красоты и видимости насыщенности, придают схеме малость надежности, защищая генераторный выход микросхемы. Транзисторы Q5 и Q6 - выход считывателя. Светодиоды обеспечивают индикацию процесса чтения. При большом желании, выход индикации можно продублировать гуделкой, запитав ее через эмиттерный повторитель, но вот лично я этих пуков не люблю.
Питание схемы - 7..18В. Потребление (расчетное) - 30мА.
Детали - самые доступные транзисторы широкого применения и недорогой микроконтроллер.
Внимательный радиолюбитель в гневе возопит "а как же стабилизация частоты!? где кварц на схеме!?". По стандарту, карточки EM Marin работают в диапазоне несущей от 100 до 140 кГц. Разброс частот внутреннего генератора - 10%. Добротность нашего контура тоже очень даже позволяет... Волки сыты, овцы - целы :)
Ну а теперь о главном...
С какого перепугу я публикую подобный материал на сайте, куда ходят фотографы, программеры, спортсмены и другие хорошие и ни в чем не повинные люди? К тому же, материалец весьма средненький :)
Вы таки не поверите, но это не выпендрежЪ :) это таки тоже кусочек моей жизни. Кусочек почти позабытый, но иногда прорывающийся на поверхность :)
А еще мне хотца сказать спасибо многим хорошим людям, приобщившим меня к этому безобразию: моему отцу, преподавателям кафедры ИИТ института нефти и химии - Мельникову Алексею Григорьевичу, Вигдорову Давиду Исааковичу, Тургиеву Эльберту Адыльгиреевичу...