Структура синхронного последовательного интерфейса в основном определяется типом данных, передаваемых по этому порту. При обработке сигналов требуется между микросхемами передавать непрерывные потоки информации. Обработкой данных обычно занимаются цифровые сигнальные процессоры (DSP), поэтому последовательные порты, предназначенные для передачи цифровой информации с максимальной скоростью, часто называются DSP портами.
Какие данные могут образовывать непрерывные потоки. Чаще всего это звуковые или видеосигналы, хотя в качестве сигнала, образующего непрерывный поток данных, могут выступать сигналы измерения биотоков живого организма или сигналы геомагнитных измерений. Как можно определить из определения природы таких сигналов, источником цифрового потока должен быть аналого-цифровой преобразователь (АЦП). Если микросхема (не сигнальный процессор) является приёмником цифрового потока данных, то в ее состав обычно входит цифро-аналоговый преобразователь (ЦАП).
При преобразовании аналоговой информации в цифровую форму и наоборот очень важно обеспечить стабильность тактового сигнала. Только в этом случае можно избежать искажений исходного или формируемого сигнала. Такой сигнал тактовой синхронизации обычно вырабатывается специальными термостабилизированными (или термокомпенсированными) высокостабильными кварцевыми генераторами, питаемыми от отдельного стабилизатора питания.
Скорость передачи информации в цифро-аналоговый или аналого-цифровой преобразователь должна быть строго согласована по времени со скоростью передачи по каналу связи (последовательному порту). Именно поэтому сигналы синхронизации, необходимые для работы DSP порта, вырабатываются из входного высокостабильного тактового сигнала самой микросхемой аналого-цифрового или цифро-аналогового преобразователя и подаются на сигнальный процессор или программируемую логическую интегральную схему.
Проще всего преобразовать число, представленное в параллельном коде, в последовательный вид можно при помощи сдвигового регистра. При этом на приёмном конце важно знать момент, когда производится запись в этот регистр. Знание этого момента времени позволит определить, какой из передаваемых бит является старшим значащим разрядом, а какой — младшим. Так как поток двоичной информации передаётся постоянно, то сигналы записи в регистр будут подаваться с одним и тем же периодом.
Выходной двоичный код бит за битом можно снимать с последнего выхода сдвигового регистра. Для того чтобы на приёмном конце этот сигнал принимался без ошибок, каждый бит должен сопровождаться синхронизирующим импульсом. При этом чтобы отличать синхросигналы друг от друга, импульсы, сопровождающие информационные биты, стали называть тактовой синхронизацией (CLK), а сигнал, отмечающий момент записи в регистр — кадровой синхронизацией (FS).
Сигналы кадровой и тактовой синхронизации должны быть жестко связаны между собой, поэтому они обычно формируются из одного высокостабильного колебания при помощи цифрового счётчика.
Давайте рассмотрим пример передачи восьмиразрядного последовательного слова. В качестве источника цифрового потока используем аналого-цифровой преобразователь. Получившаяся в результате схема синхронного последовательного порта приведена на рисунке 11.1.
Как видно из приведенной схемы, на вход двоичного счётчика подаются импульсы от генератора высокостабильных колебаний. Из этих импульсов вырабатывается сигнал тактовой синхронизации, который подается на выход схемы и одновременно поступает на вход синхронизации передающего сдвигового регистра.
Рисунок 11.1 – Схема передающей части последовательного DSP-порта
Логический элемент "4ИЛИ-НЕ", подключенный к выходу четырёхразрядного счётчика формирует импульсы кадровой синхронизации с частотой в восемь раз меньшей частоты тактовой синхронизации.
Такую частоту можно было бы получить с выхода "8" двоичного счётчика, но нам требуется длительность импульса, равная длительности импульса тактовой синхронизации. Логический элемент "4ИЛИ" позволяет декодировать нулевое состояние счётчика. В результате этого на его выходе длительность импульса равна длительности импульсов тактовой синхронизации, а сам импульс появляется в самом начале кадра передачи данных с выхода АЦП.
В свою очередь длительность импульсов на выводе CLK равна периоду сигнала тактовой синхронизации, так как этот сигнал снимается с выхода младшего разряда двоичного счётчика.
Кадр передачи данных начинается с параллельной записи результата преобразования АЦП в передающий сдвиговый регистр. Для этого импульс кадровой синхронизации подаётся на вход параллельной записи в регистр сдвига. В приведённой на рисунке 11.1 схеме предполагается, что запись в регистр осуществляется по переднему фронту этого импульса.
Этот же импульс кадровой синхронизации подаётся на вход синхронизации аналого-цифрового преобразователя. Внутренняя схема АЦП выполнена так, чтобы аналого-цифровое преобразование начиналось по заднему фронту импульса. Такой подбор схем АЦП и регистра сдвига позволяет сначала записать результат в регистр, а затем начать новое преобразование аналогового сигнала в цифровую форму по одному и тому же импульсу синхронизации.
Пример временных диаграмм сигналов данных и сопровождающих их сигналов тактовой и кадровой синхронизации на выходе последовательного DSP-порта приведен на рисунке 11.2.
В приведенных на рисунке 11.2 временных диаграммах осуществляется передача двоичного числа 100111002. При этом запись информации в последовательный регистр производится по сигналу кадровой синхронизации FS. В этот момент на выходе Q7 регистра сдвига появляется старший бит результата преобразования. Начиная от этого момента, начинают отсчитываться импульсы тактовой синхронизации CLK.
Приведенный на схеме рисунке 11.1 регистр осуществляет сдвиг своего содержимого по заднему фронту этих импульсов. В результате на выходе Q7, а значит на выводе порта D, последовательно один за другим будут появляться биты передаваемого двоичного числа.
Для безошибочной передачи информации последовательного порта по соединительным линиям, в приёмный регистр эти данные должны записываться по переднему фронту импульсов CLK, так как именно этот фронт совпадает с серединой битового интервала. Это позволит избежать искажений, возникающих на фронтах передаваемой информации.
Как уже говорилось ранее, DSP-порты предназначены для передачи данных между аналого-цифровыми (или цифро-аналоговыми) преобразователями и сигнальными процессорами. В качестве примера рассмотрим схему соединения между собой АЦП AD7890 и сигнального процессора TMS320C25. Упрощённая структурная схема соединения этих микросхем приведена на рисунке 11.3.
На этой схеме используется двунаправленный последовательный порт. Синхронизация всей схемы осуществляется от внешнего высокостабильного генератора импульсов (вход CLK INPUT). Так как порт двунаправленный, то есть два сигнала кадровой синхронизации: RFS — сигнал кадровой синхронизации приёмника и TFS — сигнал кадровой синхронизации передатчика. У сигнального процессора им соответствуют два вывода кадровой синхронизации: FSR — сигнал кадровой синхронизации приёмника и FSX — сигнал кадровой синхронизации передатчика.
Рисунок 11.3 – Упрощённая схема соединения микросхемы АЦП с последовательным выходом и сигнального процессора
В приведенной на рисунке 11.3 схеме используется одна и та же скорость передачи данных, как в приёмнике, так и в передатчике. Поэтому все выводы кадровой синхронизации соединены между собой и все синхронизируются от сигнала кадровой синхронизации, формируемого микросхемой AD7890 на выводе RFS.
В качестве сигнала тактовой синхронизации последовательного порта используется сигнал внешнего генератора опорной частоты. Он подаётся на входы тактовой синхронизации сигнального процессора как приёмника CLKR, так и передатчика CLKT.
Выводы передачи данных соединены соответственно своему назначению, вывод передатчика АЦП DATA OUT соединён с входом приёмника сигнального процессора DR, а вывод передатчика сигнального процессора DT соединён с входом приёмника АЦП DATA IN.
Теперь давайте рассмотрим ещё один широко распространённый синхронный последовательный порт — SPI интерфейс.