Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

56 Часть /. Общие принципы устройства и функционирования Аtте/ А VR всегда передаются младшими битами вперед - надписи МЗР и СЗР на рис . 3 .2 как раз и означают «младший знаковый разряд» и «старший знаковый разряд» . После этого линия переходит в состояние стопового бита (высокого уровня напряжения) и может в нем пребывать сколь угодно долго, пока не придет следующий старто­ вый бит. Итого посылка одного байта соответствует передаче 1 0 битов, потому при скорости 9600 бит/с она займет 1 ,04 миллисекунды. ,__ 100101 1 0 ,..... _ 00000000 МЭР СЭР - - -- - . - - - 1 _ _ _ _ _ _ - - - - - - - - " - - - - - - - - - - 1 - - - - - " - - - - -1--�----г-" ----------- - - - , - - - - -'-- - - - � - - - - - . - - - u _ _ _ _ _ _ _ _ _ _ _ !.: -----,. . .-- --� !.: � !.: 11) 11) 11) ·� 8 битов данных 1 (ti ':: :: t) ·� 111 � 111 � с � t t t Рис. 3.2. Диаграмма передачи данных по стандарту RS-232 в логических уровнях UART, формат кадра 8п 1 Обычный формат данных, по которому работает львиная доля всех устройств, обо­ значается 8nl , что читается так: 8 информационных битов, no parity, 1 стоповый бит. «№ parity» означает, что 9-го бита не посылается, и проверка на четность не производится . На диаграмме (см. рис . 3 .2) показана передача трех вариантов: некоего произвольного кода, а также байтов, состоящих из всех единиц и из всех нулей. Стоповых битов в формате кадра может быть задано больше одного - это нужно, например, для того, чтобы приемник «знал», какой наименьший интервал времени ему нужно ожидать следующего стартового бита (как минимум, это может быть, естественно, один период частоты обмена, т. е. один стоповый бит) . Если по исте­ чении этого времени стартовый бит не придет, приемник может регистрировать так называемый timeoиt, т. е . по-русски «перерыв», и посчитать это за конец передачи блока данных. Если мы не применяем подобные протоколы с временным разделе­ нием блоков, нам в общем-то все равно, сколько стоповых битов будет. Из описанного алгоритма работы понятно, что погрешность несовпадения скоро­ стей обмена должна быть такой, чтобы фронты не «разъезжались» за время переда­ чи/приема всех десяти битов более чем на полпериода, т. е. в общем случае факти­ ческая разница частот тактовых импульсов может достигать 4-5%, особенно при небольших скоростях. На практике их стараются сделать как можно ближе к стан-

RkJQdWJsaXNoZXIy MTExODQxMg==