Курс лекций - Микропроцессоры

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


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

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

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

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



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

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



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

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



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

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


В SPI интерфейсе в приёмнике не требуется счётчик тактовых импульсов. Запись принятой информации производится по окончанию кадрового импульса.

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



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


Содержание раздела