| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с EM4095 и PIC16F887- Решен http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13462 |
Страница 1 от 1 |
| Автор: | antyvirusa [ Сря Дек 31, 2014 8:00 pm ] | |||||||||
| Заглавие: | Проблем с EM4095 и PIC16F887- Решен | |||||||||
Здравейте. Историята е следната: Сглобих си RFID reader с EM4095 и PIC16F887. Свързани са по следния начин: DEMOD_OUT е свързан към INT пина (RB0), а RDY/CLK на TOCKI пина (RA4). За целта използвам таймер 0 по следния начин. INT пина вдига флаг (под флаг да се разбира флаг за прекъсване) при падащ фронт (в Манчестър кодирането това трябва да е логическа единица???), а TOCKI пина вдига флаг при нарастващ преден фронт. Първият ми въпрос, двете прекъсвания могат ли да работят по едно и също време, т.е. единият пин докато вдига флагове за RDY/CLK, другия може ли по същото време да вдига флагове за DEMOD_OUT? Начинът по който декодирам картата е следния: Имам 131,6KHz на RDY/CLK, а на DEMOD_OUT доколкото виждам на осцилоскопа 2KHz (доколкото виждам, понеже не знам дали меря правилно??). Т.е., ако в обхвата на антената има карта, за преминаване на два периода на DEMOD_OUT, трябва да се отброят 132 периода на RDY/CLK (според мен). И действам по следния начин: Чакам 66 периода на RDY/CLK и след като минат проверявам дали на INT пина съм получил прекъсване и ако съм получил (т.е. е минал падащ фронт) записвам 1-ца, в противен случай 0. Моля за помощ, защото по този начин, по който съм го направил не работи и не знам къде ми е грешката. Ето и кода, който съм написал.
Благодаря предварително на всички! |
||||||||||
| Автор: | E1 [ Пет Яну 02, 2015 3:23 am ] |
| Заглавие: | Re: Проблем с EM4095 и PIC16F887 |
ОТТУК можеш да си свалиш пример за MikroC за същия чип и да сравниш алгоритмите. |
|
| Автор: | antyvirusa [ Пет Яну 02, 2015 5:32 pm ] | |||||||||
| Заглавие: | Re: Проблем с EM4095 и PIC16F887 | |||||||||
Благодаря за вниманието и за примера. Гледал съм го и преди. Смятам, че начина ми е идентичен, но при мен не се получава. Някой може ли да ми каже алгоритъма? Ще напиша какъв е според мене, защото не искам на готово, но явно, че някъде греша. За четене, след като сме детектнали, че има карта в обхвата на антената, алгоритъма според мен е: -Отброяваме 66 периода на RDY_CLK; -Проверяваме по време на изминалите 66 периода дали сме имали падащ фронт (преход от 1 към 0) и ако сме имали запазваме 1, ако ли не 0; -По същия начин още 63 пъти за 64 битова карта. За детектване на карта броя 132 периода на RDY_CLK, за които трябва да имам 2 единици и ако е изпълнено, броя 62 (64бита-2) цикъла х 66 периода (за да дойда пак в началото). И ако се изпълни това почвам да чета от картата. Честотата ми е 8MHz и мисля, че е достатъчна, но в примера е споменато да е поне 32MHz? |
||||||||||
| Автор: | Wise [ Съб Яну 03, 2015 12:19 pm ] |
| Заглавие: | Re: Проблем с EM4095 и PIC16F887 |
Не съм работил с този чип, а съм ползвал подобен U2270. Погледни алгоритъма на стр. 25 и 26 - мисля, че ще ти е от полза http://www.digitalspirit.org/file/index ... u2270B.pdf |
|
| Автор: | ToHu [ Пон Яну 05, 2015 9:09 am ] |
| Заглавие: | Re: Проблем с EM4095 и PIC16F887 |
Преди ... сигурно 15 години съм правил четец точно с тоя чип, вече нямам никакъв спомен но ще разровя да видя мога ли да намеря кода, 100% е писано на асм но мисля ще свърши работа. |
|
| Автор: | antyvirusa [ Пон Яну 05, 2015 8:03 pm ] |
| Заглавие: | Re: Проблем с EM4095 и PIC16F887 |
Благодаря на всички за помощта и вниманието. Справих се със задачата. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|