Перейти к содержанию
    

Ридер Магнитных Карт

по одной дорожке никак не получится, там ведь интервалы разные. трек 2 длительность длиннее, там бит меньше...

А... Я работал только с однодорожечными, значит, неправ...

 

может стоит кварц побольше поставить?

Каковы длительности интервалов при максимально возможной скорости протяжки ? Ну примерно ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каковы длительности интервалов при максимально возможной скорости протяжки ? Ну примерно ?

 

если память мне не изменяет, частота на дорожке 1 около 1кГц, на дорожке 2 - 600...700 Гц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если память мне не изменяет, частота на дорожке 1 около 1кГц, на дорожке 2 - 600...700 Гц.

1 kHz максимальная ? Т.е. один полупериод 0.5 mS, это почти 3700 тактов процессора @7.3728 MHz. Думаю, если писать компактно (и на ассемблере, вероятно), то все три канала удастся обработать по опросу, сделав этот опрос где-то 8...16 kHz (можно и больше, вполне хватит быстродействия). Но да, это все ж сложнее, чем считать времянки и писать их в буфер...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 kHz максимальная ? Т.е. один полупериод 0.5 mS, это почти 3700 тактов процессора @7.3728 MHz. Думаю, если писать компактно (и на ассемблере, вероятно), то все три канала удастся обработать по опросу, сделав этот опрос где-то 8...16 kHz (можно и больше, вполне хватит быстродействия). Но да, это все ж сложнее, чем считать времянки и писать их в буфер...

да уж. запихивать всё в буфер и так не получится... но что ж теперь с этим обработчиком делать?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да уж. запихивать всё в буфер и так не получится... но что ж теперь с этим обработчиком делать?...

Ну, начнем с того, что при таких скоростях поступления данных можно, без всяких проблем, отправлять через UART (до 921600, используя, скажем, FT232), и буфер не то, что не переполнится, да и вообще не нужен - скорость обмена через UART заведомо больше, чем скорость поступающих сырых данных, даже если два байта на отсчет. Но, поскольку компьютер может и притормозить, по-хорошему надо все же следить за потоком, поэтому программный FIFO и обслуживать прерывания UART. Ну, если компьютер притормозит надолго - часть данных по-любому пропадет. Да и неправильный это путь.

 

А правильный - писать свой декодер (я бы делал семплирование входов по таймерным прерываниям и разбор потока). Да, это сложнее. Но - правильнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я пока не представляю себе как реализовать, то что вы предлагаете. Мы же калибруем длительность импульсов уже при приеме данных, там для этого вначале нули идут не информационные.

 

ну, в общем поставила кварц на 14 МГц, но блин, данные он то принимает, но для перезаписи перестал заходить в бутлоадер...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я пока не представляю себе как реализовать, то что вы предлагаете. Мы же калибруем длительность импульсов уже при приеме данных, там для этого вначале нули идут не информационные.

По ним и синхронизируемся. Нули - значит, нули. Более-менее стабилизировались длительности - приняли за ноль, вычислили порог дискриминации (там бифазное кодирование ? У меня бифазное было), используем его при дальнейшем приеме (если протяжка ручная - то по ходу дела регулируем этот порог в зависимости от длительностей поступающих импульсов). Ничего такого сложного (для трех дорожек, да еще с разными скоростями - чуть сложнее, конечно). Кончились нули, пошли данные - замечательно, наполняем буфер. Кончились данные (по таймауту, наполнению буфера и/или анализу содержимого) - проверили контрольные суммы, оформили посылку в удобный и однозначно-трактуемый формат (возможно, дополнив своей контрольной суммой и заголовком), передали в компьютер. Хорошая тема, интересная...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

честно говоря, боюсь что-то кардинально менять. Мне этот проект еще переделывать потом как HID клавиатуру, что бы данные не в дебаг, а в текстовый редактор... а там еще и прерывание от usb идёт, ох...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...