|
Ридер Магнитных Карт, не правильно работает прерывание |
|
|
|
Jun 8 2010, 14:45
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 7-06-10
Из: Киев
Пользователь №: 57 785

|
Уважаемые, помогите решить проблему! Внешнее прерывание INT0 от одной дорожки магнитной карты. Прерывание настроено по любому изменению. В обработчике тупо счетчик считает количество возникших прерываний и выдает по юарту. Кто сталкивался с магнитными картами, в курсе, что на 1 дорожке как минимум 240 перепадов уровня - это я округлила. Но почему то с каждой карты счетчик упорно выдает от 35-45 - не больше. В чем может быть проблема? С электроникой всё в порядке, на осцилографе видна четкая картина данных в виде миандра. МК - atmega16U4, таймер пока в сторонке не юзается. Код программы в прикреплённом файле...
Прикрепленные файлы
code.txt ( 1.02 килобайт )
Кол-во скачиваний: 118
|
|
|
|
|
 |
Ответов
|
Jun 18 2010, 07:12
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 7-06-10
Из: Киев
Пользователь №: 57 785

|
я пока не представляю себе как реализовать, то что вы предлагаете. Мы же калибруем длительность импульсов уже при приеме данных, там для этого вначале нули идут не информационные.
ну, в общем поставила кварц на 14 МГц, но блин, данные он то принимает, но для перезаписи перестал заходить в бутлоадер...
|
|
|
|
|
Jun 18 2010, 07:38
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Loreleja @ Jun 18 2010, 11:12)  я пока не представляю себе как реализовать, то что вы предлагаете. Мы же калибруем длительность импульсов уже при приеме данных, там для этого вначале нули идут не информационные. По ним и синхронизируемся. Нули - значит, нули. Более-менее стабилизировались длительности - приняли за ноль, вычислили порог дискриминации (там бифазное кодирование ? У меня бифазное было), используем его при дальнейшем приеме (если протяжка ручная - то по ходу дела регулируем этот порог в зависимости от длительностей поступающих импульсов). Ничего такого сложного (для трех дорожек, да еще с разными скоростями - чуть сложнее, конечно). Кончились нули, пошли данные - замечательно, наполняем буфер. Кончились данные (по таймауту, наполнению буфера и/или анализу содержимого) - проверили контрольные суммы, оформили посылку в удобный и однозначно-трактуемый формат (возможно, дополнив своей контрольной суммой и заголовком), передали в компьютер. Хорошая тема, интересная...
|
|
|
|
Сообщений в этой теме
Loreleja Ридер Магнитных Карт Jun 8 2010, 14:45 andrewkrot Похоже, что интервал между прерываниями гораздо ме... Jun 8 2010, 15:45 Loreleja Да, спасибо огромное!
Проблему решила следующ... Jun 9 2010, 09:36 vesago Где-то в софте косяк. Сперва нужно убедиться, что ... Jun 9 2010, 14:08 andrewkrot Еще раз повторю - у Вас драгоценное процессорное в... Jun 9 2010, 18:30 IgorKossak Разговоры не по теме скрыл.
Модератор. Jun 9 2010, 20:01 Loreleja Уважаемый rx3apf, я очень благодарна за внимание к... Jun 11 2010, 08:36 Loreleja Снова прошу вашего совета!
функция f2f явно н... Jun 16 2010, 14:30 rx3apf Цитата(Loreleja @ Jun 16 2010, 18:30) как... Jun 16 2010, 15:14  Loreleja Цитата(rx3apf @ Jun 16 2010, 18:14) А зач... Jun 16 2010, 21:34 vesago Loreleja, может у Вас в принципе алгоритм декодиро... Jun 17 2010, 06:52 Loreleja Цитата(vesago @ Jun 17 2010, 09:52) Lorel... Jun 17 2010, 07:06 rx3apf Цитата(vesago @ Jun 17 2010, 10:52) Если ... Jun 17 2010, 08:01  Loreleja Цитата(rx3apf @ Jun 17 2010, 11:01) Я бы,... Jun 17 2010, 08:09   rx3apf Цитата(Loreleja @ Jun 17 2010, 12:09) по ... Jun 17 2010, 09:09    Loreleja Цитата(rx3apf @ Jun 17 2010, 12:09) Каков... Jun 17 2010, 09:19     rx3apf Цитата(Loreleja @ Jun 17 2010, 13:19) есл... Jun 17 2010, 09:51      Loreleja Цитата(rx3apf @ Jun 17 2010, 12:51) 1 kHz... Jun 17 2010, 13:01       rx3apf Цитата(Loreleja @ Jun 17 2010, 17:01) да ... Jun 17 2010, 13:35 Loreleja честно говоря, боюсь что-то кардинально менять. Мн... Jun 18 2010, 09:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|