Асинхронный обмен. Принципы деления частоты, формат кадра

Асинхронный последовательный обмен

Главная проблема синхронного интерфейса — необходимость тянуть отдельный провод для тактовых импульсов. В асинхронном интерфейсе линии синхроимпульсов нет вообще. Данные передаются только по одному проводу. Чтобы приёмник и передатчик понимали друг друга, они заранее договариваются о скорости передачи и используют собственные независимые тактовые генераторы внутри своих контроллеров.

Формат кадра

Поскольку синхроимпульсов нет, приёмнику нужен чёткий сигнал о том, что передача байта началась. Для этого данные оборачиваются в кадр со служебными битами:

  1. Режим простоя (Idle): Когда передачи нет, на линии удерживается напряжение логической 1.
  2. Стартовый бит (0): Передатчик принудительно опускает линию в 0 на время одного такта. Переход от 1 к 0 “будит” приёмник и запускает его внутренние часы.
  3. Информационные биты: Сами данные (обычно 8 бит).
  4. Стоповые биты (11): Гарантируют возвращение линии в состояние логической 1 перед началом следующего кадра.

Рис. 1: Формат кадра асинхронного обмена

Принцип деления частоты (идеальный приём бита)

Из-за того, что тактовые генераторы (ТГ) приёмника и передатчика независимы, они могут иметь микроскопические расхождения в частоте. Если приёмник будет считывать линию прямо по краям битовых интервалов, из-за рассинхронизации он может промахнуться и считать соседний бит.

Для защиты от этого применяется деление частоты:

  • Внутренний тактовый генератор работает в 16 раз быстрее, чем заданная скорость передачи битов.
  • Когда приёмник видит спад напряжения (начало стартового бита), его счетчик начинает считать такты ТГ (от 1 до 16).
  • Досчитав до 8 (ровно середина бита!), контроллер делает “замер” линии. Если там 0, значит стартовый бит подтверждён.
  • Далее приёмник делает замеры ровно каждые 16 тактов. Таким образом, считывание данных всегда происходит строго (или почти строго) в центре каждого бита, где сигнал максимально стабилен. Это компенсирует расхождение частот генераторов и гасит помехи на краях сигналов.

Последующая информация только для тех, кто знает физику

На слайде из презентации наглядно показано, как делиться частота, и как уменьшается угол сдвига (очевидно, что в 2 раза): Рис. 2: Принцип деления частоты для центровки считывания