Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Леонид Иванович 20 июня 2004 г. 02:31
В ответ на: Понятна, но... отправлено 2M 19 июня 2004 г. 16:08

Длину первого стартового бита измерять не стоит - она может быть искаженной из-за задержки срабатывания АРУ приемника. А вот длину втрого бита измерить можно, только в этом нет никакого смысла, она и так известна (определяется стандартом). Другое дело, приняв стартовый бит можно синхронизироваться переходом 0->1 (началом такта, в котором передается второй стартовый бит), сделать задержку 1/4 такта и затем опрашивать порт с периодом 1/2 такта. При этом нужно контролировать, чтобы в каждом такте состояние порта изменялось, иначе - ошибка. Как показывает практика, такой метод имеет достаточную помехоустойчивость, но значительно проще метода измерения длины каждого импульса. Более того, при декодировании можно использовать прерывания таймера, который синхронизирован стартовым битом и имеет период 1/2 такта. Это позволит очень слабо загружать процессор при декодировании.

Что касается управляющего бита, так его значение изменяется при каждом новом нажатии кнопки. При удержании кнопки посылки тоже передаются периодически, но с одним и тем же значением управляющего бита.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru