Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: каким образом читать сигнал приходящий на RA2? PIC16F886
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
AcheleS
Доброго времени суток!

Столкнулся с проблемой. (Опыта в данном деле мало)
В руки попала мертвая дверь для кошек (Microchip Petporte Smart Flap).
Мозгами дверцы является PIC16F886.
После ковыряний выяснилось, что PIC молчит и признаков жизни не подает.
Заказал и установил новый...
Проблема собственно в прошивке. Товарищи из PetSafe давать прошивку не желают.
Нашел на просторах сайт посвященный этой дверце.
На этом ресурсе нашел исходники, но ревизия плат оказалась разная!
Работают все функции кроме самой главной - считывания метки (FDX_B)!
Связавшись с разработчиком выяснил различия ревизий и впал в ступор...

Старая ревизия (под которую есть прошивка) была с доп. платой, которая втыкалась поверх основной.
На ней располагается операционный усилитель (LM 324) с обвязкой. Схемы к сожалению нет.

Выходы с этой платы были подключены следующим образом:
RFID board output 3 -> MCU PIN 4 (RA2) Comparator C2IN+
RFID board voltage supply (JP7 PIN4) -> MCU PIN 24 (RB3) Voltage supply for opamp
RFID board output 4 (JP7 PIN5) -> MCU PIN 3 (RA1) Comparator C12IN1-

При считывании использовался внутренний компаратор и прерывание на изменения значения на выходе.
С пониманием алгоритма вопросов не возникло...

В новой ревизии автор решил совместить доп плату с ОУ с основной, и внес коррективы.
Теперь выходы подключены так:
LM324 PIN 8 (C3 out) -> MCU PIN 4 (RA2) Digital signal from the receiver circuitry
LM324 PIN 4 (VCC) -> MCU PIN 24 (RB3) VCC Op-Amp via R25 (330 Ohm)

Собственно теперь вопрос: каким образом читать сигнал приходящий на RA2? Компаратор теперь не задействован, прерываний на этом пине нет...
Буду рад любому совету...
kovigor
Цитата(AcheleS @ Jan 25 2015, 04:27) *
Буду рад любому совету...

Зная алгоритм, написать свою прошивку. Вроде, ничего особенно сложного там быть не должно ...
AcheleS
Цитата(kovigor @ Jan 25 2015, 14:07) *
Зная алгоритм, написать свою прошивку. Вроде, ничего особенно сложного там быть не должно ...


Как реализовать алгоритм основываясь на прерываниях - я понимаю...но как обойтись без них ума не приложу.
В бесконечном цикле опрашивать RA2 и смотреть на таймер?
kovigor
Цитата(AcheleS @ Jan 25 2015, 16:23) *
Как реализовать алгоритм основываясь на прерываниях - я понимаю...но как обойтись без них ума не приложу.
В бесконечном цикле опрашивать RA2 и смотреть на таймер?

Наоборот. Например, по прерываниям от таймера (допустим, 1000 раз в секунду) опрашивать RA2.
Еще вариант - проводком завести этот сигнал на ножку, которая может генерировать прерывание. Возможно, это будет даже лучше или проще ...
AcheleS
Прошло достаточно много времени с последних экспериментов с этим считывателем и вот вернулся к нему вновь.
В прошлый раз мне удалось прочитать метку на расстоянии около 3см, но тут ко мне в руки попала новая дверь с родной прошивкой...
Родная прошивка читает метки на расстоянии 10-12см не напрягаясь sad.gif

Подключив осциллограф на ногу RA2 (выход с OpAmp) увидел следующую картину - при приближении метки к антенне происходит некоторое "возмущение" (ровно как и в моей прошивке) и в районе 12 см явно видно как проскакивает абсолютно чистый меандр.

То-есть такое впечатление, что при обнаружении некоторого "возмущения" на RA2 контроллер непостижимым мне образом заставляет OpAmp усиливать сигнал гораздо лучше.

Но как?

Заранее благодарю за ответ, еще раз прошу прощения за дилетантство.
AcheleS
Нашел интересную статью по мою душу, совсем свежую. (Не реклама)

RFID считыватель транспондеров TIRIS

Мой транспондер работает по аналогичному стандарту (ISO 11784/11785) но протокол FDX-B.
Судя по всему у меня не происходит цикл зарядки транспондера.
Буду ковырять в этом направлении, прошу прощения за лишний пост.
AcheleS
К сожалению рытье в данную сторону ничего не дало.
Чтение FDX-B метки происходит несколько иначе, чем HDX.

Провел эксперимент...

Взял плату со своей прошивкой и подпаял к пину RA2 (выход с операционного усилителя) провод.
На плате с родной прошивкой отключил от RA2 операционный усилитель, тоесть пин RA2 на ней подвешен "в воздухе".
Подал на вход RA2 платы с оригинальной прошивкой сигнал с операционного усилителя платы со своей прошивкой.
Для чистоты эксперимента не подключал к оригинально плате антенну.

Результат: оригинал прекрасно читает метки.
Из чего делаю вывод, что весь секрет в самом пине RA2, т.к. контроллер подключен к операционному усилителю только этим пином.

Я понимаю, что без предоставления схемы, это как гадание на кофейной гуще...
Но всеже, очень прошу помощи. Что из функционала пина RA2 (RA2/AN2/VREF-/CVREF/C2IN+) может быть использовано для достижения такого результата?
Если нужна доп. информация - только скажите. Схемы нет, но отдельные необходимые части могу "срисовать".

monos
Цитата(AcheleS @ Jan 14 2016, 03:04) *
Но всеже, очень прошу помощи. Что из функционала пина RA2 (RA2/AN2/VREF-/CVREF/C2IN+) может быть использовано для достижения такого результата?
C2IN+ - вход аналогового компаратора, RA- цифровой вход/выход. Соответственно, если вам надо отлавливать изменения аналогового сигнала- подайте его (этот сигнал) на ногу C2IN+, предварительно установив эту ногу, как аналоговый вход. А на второй вход этого компаратора С2 надо задать опорное напряжение, например от внутреннего ИОН. Напряжение ИОН будет задавать порог срабатывания С2.
=L.A.=
Цитата(AcheleS @ Jan 14 2016, 03:04) *
Подал на вход RA2 платы с оригинальной прошивкой сигнал с операционного усилителя платы со своей
Я понимаю, что без предоставления схемы, это как гадание на кофейной гуще...
Но всеже, очень прошу помощи. Что из функционала пина RA2 (RA2/AN2/VREF-/CVREF/C2IN+) может быть использовано для достижения такого результата?



Про гадание на гуще - в самую точку. Из периферии пина RA2 для декодирования сигнала RFID не используется НИЧЕГО. На ногу подается сигнал уровней ТТЛ, который получают при помощи специальной схемы. Декодеры RFID 125 кГц ( радиометки для животных) могут быть сделаны на специальных микросхемах HTRC11001 или EM4095 или на LM324 или LM2903 (неспециальные).
AcheleS
Цитата(=L.A.= @ Jan 16 2016, 06:16) *
Про гадание на гуще - в самую точку.


Срисовал схему операционного усилителя (номиналы конденсаторов не соответствуют действительности).
Схему составляю в первый раз, строго не судите.

Возможно ли воздействовать на усилитель средствами пина RA2?



Не могу понять, почему подключая выход с OpAmp своей платы на вход MCU с оригинальной прошивкой - на осциллографе наблюдаю импульс с четким сигналом, чего не наблюдаю при подключении к MCU со своей прошивкой.
То-есть поведение OpAmp меняется, если отключить его от RA2.
AcheleS
Цитата(monos @ Jan 15 2016, 19:39) *
А на второй вход этого компаратора С2 надо задать опорное напряжение, например от внутреннего ИОН. Напряжение ИОН будет задавать порог срабатывания С2.


Каким образом можно задать опорное напряжение?
Насколько я понял из даташита опорное напряжение (внутреннее) можно задать на пине RA2 (C2IN+), но он задействован.
RA1/AN1/C12IN1- "болтается в воздухе".
RA0/AN0/ULPWU/C12IN0- задействован под фоторезистор.

Наверное, я плохо читаю даташит или не понимаю схему работы компаратора.
Возможно на RA1 таки можно задать опорное для С2?

Сигнал с OpAmp выглядит так (метка над антенной):



Достал наконец HEX оригинальной прошивки.
Прошелся по ней PIC-Disasm, но с ASM сталкивался только пару раз в жизни и не знаю даже с какой стороны подступиться.
Хочу найти место, в котором происходит считывание метки и место, в котором происходит взаимодействие с UART.
На плате торчат разведенные пины +5, GND, RX, TX. Но при подключении с этой прошивкой молчит как рыба.
=L.A.=
Цитата(AcheleS @ Jan 17 2016, 15:04) *
**


Близкий к правде вариант схемы считывателя можете посмотреть по ссылке. Нужная часть схемы выделена пунктиром.

http://domofon.ru/getfile/191.pdf

Опорное напряжение не обязательно выводится на какие-то пины, оно может использоваться внутри контроллера.

При наличии программы прошивки не нужно ломать мозг, как и что она делает. Надо купить новый микроконтроллер, запрограммировать его и установить вместо неисправного.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.