Принципы построения последовательного порта.

Последовательные порты предназначены для обмена информацией микропроцессоров между собой, а также для связи с устройствами в которых критично количество соединительных проводов. В настоящее время широко используются два вида последовательных портов:

  1. синхронные последовательные порты;
  2. асинхронные последовательные порты.

Синхронные последовательные порты

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

diagserp.gif (4407 bytes)

Рисунок 1. Временная диаграмма передачи одного кадра двоичной информации по последовательному порту.

Временная диаграмма, приведЈнная на рисунке 1, применяется в синхронных последовательных портах, которые используются чаще всего в сигнальных процессорах для обмена информацией с кодеками речи, аналого-цифровыми и цифро-аналоговыми преобразователями. На приведЈнной временной диаграмме показаны два сигнала синхронизации: сигнал тактовой синхронизации CLK и сигнал кадровой синхронизации FS. Сигнал кадровой синхронизации формируется аппаратно из сигнала WR# при записи очередного байта в параллельный порт вывода. Полярность сигналов синхронизации зависит от конкретного типа применяемых микросхем, поэтому в большинстве сигнальных процессоров возможна настройка полярности сигналов синхронизации.

Упрощенная схема синхронного последовательного порта приведена на рисунке 2. На этой схеме видно, что в состав последовательного порта входит параллельный порт, который позволяет подключаться к системной шине микропроцессора. Для преобразования параллельного кода, который поступает из системной шины в последовательный, используется сдвиговый регистр. При обращении центрального процессора к последовательному порту вырабатывается сигнал записи в последовательный порт, который подаЈтся на вход параллельной записи V универсального регистра. Этот же сигнал используется в качестве сигнала кадровой синхронизации FS. Сигнал тактовой синхронизации CLK, вырабатываемый отдельным генератором, подаЈтся на вход последовательного сдвига C универсального регистра порта.

poslport.gif (3025 bytes)

Рисунок 2. Упрощенная схема синхронного последовательного порта

Количество передаваемых в одном кадре бит может меняться от восьми до тридцатидвух. В качестве примера использования синхронного последовательного порта на рисунке 3 приведена схема подключения аналого-цифрового преобразователя фирмы Analog Devices к синхронному последовательному порту сигнального процессора той же фирмы.

sxrsport.gif (3869 bytes)

Рисунок 3. Схема подключения кодека к синхронному последовательному порту.

В рассмотренной схеме синхронного последовательного порта на приЈмном конце необходимо подсчитывать количество тактовых импульсов, прошедшее после импульса кадровой синхронизации. Кроме того, в таком синхронном последовательном порту информация передаЈтся непрерывно, что, конечно, удобно для устройств с непрерывным потоком информации, как, например, в кодеках речи. Но существуют устройства, к которым необходимо обращаться только периодически, как, например, синтезаторы частоты, микросхемы приЈмников, блоков цветности телевизоров, микросхем памяти данных и многие другие устройства. В этих случаях используются другие виды синхронных последовательных портов такие как SPI порт и I2C шина. Временная диаграмма SPI интерфейса приведена на рисунке 4.

diagspi.gif (4889 bytes)

Рисунок 4. Временная диаграмма SPI интерфейса.

Основное отличие этого интерфейса от приведЈнного выше, заключается в том, что сигнал тактовой синхронизации передаЈтся только в момент действия импульса кадровой синхронизации. Активный уровень сигнала кадровой синхронизации длится до окончания передачи последнего бита в передаваемом кадре. По одним и тем же линиям передачи данных MISO (вход для главного, выход для ведомого) и MOSI (выход для главного, вход для ведомого) может передаваться информация к совершенно различным микросхемам. Выбор, для какой из микросхем предназначена информация, производится сигналом SS (выбор ведомого). В SPI интерфейсе в приЈмнике не требуется счЈтчик тактовых импульсов. Запись принятой информации производится по окончанию кадрового импульса.

Если в устройстве используется несколько микросхем, то количество линий выбора ведомого становится значительным, поэтому в таких случаях используется ещЈ один вид синхронного последовательного интерфейса: I2C шина. Временная диаграмма этого интерфейса приведена на рисунке 5. В I2C шине прием и передача данных, а также передача адреса микросхемы и адреса регистра внутри микросхемы, к которому осуществляется обращение, производится по одному и тому же проводу. Для подключения к этому проводу используются микросхемы с открытым коллектором. Нагрузкой для всех микросхем, подключенных к линии SDA служит внешний резистор. Естественно, что скорость передачи данных по такому порту будет ниже, по сравнению с SPI портом. Тактовая синхронизация в I2C шине передается по линии SCL. Начало работы с микросхемой обозначается особой комбинацией сигналов SDA и SCL, которая называется условием старта. Эта же комбинация одновременно осуществляет кадровую синхронизацию. Завершение работы с микросхемой обозначается еще одной комбинацией сигналов SDA и SCL. В качестве примера микросхем, использующих интерфейс I2C можно назвать микросхемы EEPROM серии 24сXX.

diagi2c.gif (4902 bytes)

Рисунок 5. Временная диаграмма I2C интерфейса.

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

Рассмотренные синхронные последовательные порты позволяют достигнуть больших скоростей передачи данных, но провод, по которому ведется передача синхросигнала, практически не несЈт информации. Такой сигнал можно было бы сформировать и на приемном конце линии передачи, если заранее договориться о скорости передачи. Единственная проблема - это то, что невозможно построить два абсолютно одинаковых генератора. Генераторы необходимо синхронизировать. Для синхронизации внутренних генераторов используется особое условие начала асинхронной передачи: старт. Все время, пока не ведется передача информации, на линии присутствует стоп-сигнал единичного уровня. Перед началом передачи каждого байта передаЈтся старт-бит, сигнализирующий приемнику о начале посылки данных, за которым следуют информационные биты. Стартовый бит всегда передается нулевым уровнем с длительностью, равной длительности информационных бит. В некоторых случаях после передачи информационных бит может передаваться, бит паритета (четности). Завершается передача данных стоп-сигналом. Минимальная длительность стопового сигнала должна быть 1,5 длительности информационных бит, но обычно используют паузу между соседними пакетами данных две длительности информационного бита. Временная диаграмма передаваемых сигналов при асинхронной передаче приведена на рисунке 6.

diaguart.gif (1878 bytes)

Рисунок 6. Временная диаграмма передаваемых сигналов при асинхронной передаче.

 Продолжительность стопового бита не ограничена. Это позволяет регулировать скорость передачи в зависимости от скорости поступления информации.

Асинхронные последовательные порты широко используются в современной вычислительной технике. Для получения дополнительной информации можно обратиться к дополнительной литературе или к файлу


[Назад] [Содержание] [Вперёд]