| Автор |
Съобщение |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
 декодиране RFID
В един проект използвах U2270 и с този чип декодирам карти read only ЕМ4001. Наскоро правих редизайн и се замислих по един въпрос. Декодирам поредицата от 9 единици преди кода, прочитам картата и всичко е ОК, но как да съм сигурен, че не съм инвертирал кода (ако декодирам 9 единици като 0 и обратно може да има карти, на които битовете за четност да са ОК)? Някакви идей?
|
| Чет Юни 05, 2008 1:52 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
http://www.atmel.com/dyn/resources/prod ... oc4661.pdf
Прегледай алгоритмите - описано е как се прави синхронизация.
|
| Чет Юни 05, 2008 3:06 pm |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
Сихнронизацията е ясна вече съм го направил.
Въпроса е дали е възможно да се сбърка вместо поредица от 9 на брой 1 да се приемат за начало 9 на брой нули и след това приетия код да е с верни битове за четност? Т.е. възможно ли е да има такава карта?
|
| Чет Юни 05, 2008 3:14 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
Аз под синхронизация разбирам да намериш "дълга" лог.1 или "дълга" лог.0
Това ти е средата на бит. Оттам изчакваш 3/4 бит време и стробираш първата
половинка на следващия бит.
Сега вече чакаш единиците....
Така няма да объркаш 0 с 1
|
| Чет Юни 05, 2008 4:41 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 MMM
Нещо бъркаш 8 на брой нули е синхро импулса "8 бита" ?
Прочети на 28стр!
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Чет Юни 05, 2008 4:51 pm |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
Хедъра се състои от 9 единици по протокол ЕМ4100.
Ако преместиш клока за декодиране (синхронизирал си по преден или по заден фронт) може да се приемат и 9 нули като хедър. Въпроса ми е дали е възможно да съществува карта, при която да се получат верни битове за четност при тази грешка в декодирането (и според мен е напълно възможно да има такава карта, все пак кодовете при 64 бита не са безкрайно много).
Изобщо като цяло нещо ми се губи началната синхронизация. Всичко пак ще работи, картите ще се разпознават, няма как да се объркат кодовете НО нещо не ми харесва.
|
| Чет Юни 05, 2008 5:13 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Мда
Не го декодираш правилно , ако го декодираш правилно ще видиш че са 8 нули !
Да не би да говориш за 64 бита - 8 бита = 56 бита -> 72057594037927936 вариации , което все пак не е никак малко , в някой уникални моменти ако четеца ти обърка нещо може да познае друга карта за същата 
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
Последна промяна plameniv на Чет Юни 05, 2008 5:35 pm, променена общо 1 път
|
| Чет Юни 05, 2008 5:25 pm |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
Карта с чип ЕМ4100 която е само read only 64 бита има - първите 9 бита са 1 и са хедър / следва информацията разделена по 4 бита с последващ бит за четност. Нещо си в грешка за 8 бита хедър. Но не ми е това въпроса 
|
| Чет Юни 05, 2008 5:34 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
Първите 8 бита а не 9 , и след това търсиш директно 56 бита и трябва да стане !
Опитай с тип манчестър да декодираш!
Pреправи го като за 8 бита, виж си времената ти как са , те трябва да са точни както е по спецификацията, но времена на импулсите където излизат от изхода на U2270 също зависят и от нейните 125KHz където тя излъчва, ако тя не подава на картата точно 125Khz ти не получаваш тези времена който очакваш, защото картата ползва тази честота за синхронизация!
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Чет Юни 05, 2008 5:47 pm |
|
 |
|
Cvetanov
Ранг: Новодошъл
Регистриран на: Пон Фев 21, 2005 2:14 pm Мнения: 191 Местоположение: Varna
|
Ако проверяваш всичките парити битове (вертикалните и хоризонталните) вероятността за грешка е много малка. Но пък ако предварително се синхронизираш с поредицата (както спомена Wise), ще ти отпадне опасението за изместен бит.
_________________ Шанс едно на милион, обикновено се случва девет от десет пъти.
|
| Пет Юни 06, 2008 9:19 am |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
Значи няма къде да срещнеш 9 1ци освен в хедъра не се безпокой. Ако проверяваш всички парити битове може да си поне 99% сигурен че всичко е ОК
П.С. веднъж ми се случи една карта да се прочете грешно (незнам ка успя да стане ) ама това си беше само веднъж.
|
| Пет Юни 06, 2008 10:02 am |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
А някой може ли да ми каже четците за карти RS232 протокола унифициран ли е: намирам протоколи, където предаването започва с 0х02 и няма чексума/ има такива с чексума и т.н. Интересува ме някои ако ползва такива четци да сподели какъв е протокола му.
И второ голяма мистерия и около wiegand протокола - като протокол на физическо ниво всичко е ясно но никъде не намирам примерче - номер на карта - картинката с битовете? Ще съм много благодарен ако някой ми даде някаква по-практическа информация!
|
| Вто Юни 10, 2008 1:07 pm |
|
|