@zzzmaikzzz
Junior-web

Как работает контроллер последовательного асинхронного приема данных?

Прочитал разные ресурсы, но саму суть (зерно) не могу понять до конца. Подскажите ресурс или поделитесь своими знаниями на эту тему. Только более абстрактно. на примерах из мира :)
Спасибо !
  • Вопрос задан
  • 2551 просмотр
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Ровно также, как ваши мозги при списывании лекции:
  • вы узнаете, с какого места начать списывать, и на каком месте закончить
  • когда заканчиваете, вы говорите "все, я закончил"

при этом информация минует ваше сознание, перемещаясь сразу в тетрадь.
~~~~~~~~~~~~~~так, это я с КПДП (DMA) перепутал, а спрашивают про USART
Статью на вики читали? Там подробно описан алгоритм работы:
Стартовый бит всегда логический 0, поэтому приёмник UART ждёт перепада из 1 в 0 и отсчитывает от него временной промежуток в половину длительности бита (середина передачи стартового бита). Если в этот момент на входе всё ещё 0, то запускается процесс приёма минимальной посылки. Для этого приёмник отсчитывает 9 битовых длительностей подряд (для 8-бит данных) и в каждый момент фиксирует состояние входа. Первые 8 значений являются принятыми данными, последнее значение проверочное (стоп-бит). Значение стоп-бита всегда 1, если реально принятое значение иное, UART фиксирует ошибку.


Собственно больше здесь добавить нечего. Уточняйте вопрос.

Пример такой: две соседки в соседних корпусах общаги.
Одна постоянно орет ААААААААААААААА.....
Вторая ее постоянно случает. Когда ор сменяется на OOOO, она заводит будильник на определенное время.
Когда будильник звонит, она записывает, какую букву слышит. Если она все еще слышит OOO, она снова заводит будильник, потом он звонит, она записывает букву....

И так 9 раз, пока все биты не передадутся.
После последнего бита передающая соседка снова орет АААААА
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы