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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

Максимально минимизировать количество выводов микросхемы с цифровым управлением можно при использовании последовательной передачи различных бит через один и тот же вывод микросхемы. Для того чтобы можно было снова разделить биты на приемном конце, используются специальные сигналы — сигналы синхронизации. Они могут передаваться через отдельные выводы микросхемы или совмещаться с передаваемыми информационными битами.

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

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

SSI интерфейс (DSP порт)

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

Какие данные могут образовывать непрерывные потоки. Чаще всего это звуковые или видеосигналы, хотя в качестве сигнала, образующего непрерывный поток данных, могут выступать сигналы измерения биотоков живого организма или сигналы геомагнитных измерений. Как можно определить из определения природы таких сигналов, источником цифрового потока должен быть аналого-цифровой преобразователь (АЦП). Если микросхема (не сигнальный процессор) является приемником цифрового потока данных, то в ее состав обычно входит цифро-аналоговый преобразователь (ЦАП).

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

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

Проще всего преобразовать число, представленное в параллельном коде, в последовательный вид можно при помощи сдвигового регистра. При этом на приемном конце важно знать момент, когда производится запись в этот регистр. Знание этого момента времени позволит определить, какой из передаваемых бит является старшим значащим разрядом, а какой — младшим. Так как поток двоичной информации передается постоянно, то сигналы записи в регистр будут подаваться с одним и тем же периодом.

Выходной двоичный код бит за битом можно снимать с последнего выхода сдвигового регистра. Для того чтобы на приемном конце этот сигнал принимался без ошибок, каждый бит должен сопровождаться синхронизирующим импульсом. При этом чтобы отличать синхросигналы друг от друга, импульсы, сопровождающие информационные биты, стали называть тактовой синхронизацией (CLK), а сигнал, отмечающий момент записи в регистр — кадровой синхронизацией (FS).

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

Давайте рассмотрим пример передачи восьмиразрядного последовательного слова. В качестве источника цифрового потока используем аналого-цифровой преобразователь. Получившаяся в результате схема синхронного последовательного порта приведена на рис. 11.1.

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

Рис.11.1. Схема передающей части последовательного DSP-порта

Логический элемент "4ИЛИ-НЕ", подключенный к выходу четырехразрядного счетчика формирует импульсы кадровой синхронизации с частотой в восемь раз меньшей частоты тактовой синхронизации.

Такую частоту можно было бы получить с выхода "8" двоичного счетчика, но нам требуется длительность импульса, равная длительности импульса тактовой синхронизации. Логический элемент "4ИЛИ" позволяет декодировать нулевое состояние счетчика. В результате этого на его выходе длительность импульса равна длительности импульсов тактовой синхронизации, а сам импульс появляется в самом начале кадра передачи данных с выхода АЦП.

В свою очередь длительность импульсов на выводе CLK равна периоду сигнала тактовой синхронизации, так как этот сигнал снимается с выхода младшего разряда двоичного счетчика.

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

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

Пример временных диаграмм сигналов данных и сопровождающих их сигналов тактовой и кадровой синхронизации на выходе последовательного DSP-порта приведен на рис. 11.2.

Рис.11.2. Временные диаграммы сигналов на выходе синхронного последовательного DSP‑порта

В приведенных на рис. 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 интерфейс.

SPI порт

Кроме задачи передачи непрерывного потока информации достаточно часто требуется передавать отдельные цифровые пакеты данных или управляющие команды. Эти пакеты могут передаваться достаточно редко. Именно для передачи такого вида информации и предназначен синхронный последовательный интерфейс (SPI).

В синхронном последовательном интерфейсе синхронизирующие импульсы не передаются постоянно. Это не нужно. Они присутствуют только в момент передачи команды или цифрового пакета данных. Соответственно меняется и их название. В SPI интерфейсе сигнал кадровой синхронизации называется выбор ведомого (slave select — SS). Сигнал тактовой синхронизации получил название SCLOCK — serial clock (последовательная синхронизация). Временные диаграммы сигналов на выводах этого порта приведены на рис. 11.4.

Рис.11.4. Временные диаграммы сигналов на выводах синхронного последовательного интерфейса SPI

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

Сигнал тактовой синхронизации в этом интерфейсе используется один как для передатчика, так и для приемника. Это позволяет экономить внешние выводы микросхемы. Для того чтобы не запутаться какой вывод передачи последовательных данных с каким соединять эта информация включена в название выводов. Название MISO обозначает вход главного устройства выход подчиненного (master input — slave output), а название MOSI обозначает выход главного и вход подчиненного устройства (master output — slave input). В качестве главного устройства в этом интерфейсе обычно используется микроконтроллер, реже сигнальный процессор.

Рассмотрим принципиальную схему цифрового устройства, которая может реализовать обмен данными по интерфейсу SPI. Пример такой схемы приведен на рис. 11.5.

Рис.11.5. Принципиальная схема master SPI-порта

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

Так как синхроимпульсы SPI порта, в отличие от синхросигнала аналого-цифрового или цифро-аналогового преобразователей, используются только для синхронизации передачи данных, то требования к задающему генератору этого порта меньше. В результате для формирования синхронизирующего сигнала можно использовать встроенный кварцевый генератор (кварцевый резонатор, естественно, будет подключаться к внешним выводам микросхемы).

Кварцевый генератор в схеме, приведенной на рис. 11.5, построен на логическом элементе "2И‑НЕ". Это позволяет останавливать и вновь запускать этот генератор. Для формирования сигнала выбора ведомого SS и для подсчета необходимого количества импульсов синхронизации (в нашем случае восьми) служит двоичный счетчик D2.

Рассмотрим работу схемы формирования сигнала "выбор ведомого" подробнее. В исходном состоянии в двоичном счетчике записано число 10002. При этом на выводе SS и на выходе логического элемента D1 присутствует высокий потенциал.

При параллельной записи данных в регистр передачи D3 импульс записи одновременно подается на вход обнуления счетчика D2. В результате на выводе SS появляется низкий потенциал. Это означает, что SPI интерфейс начинает передачу данных. Одновременно снимается запрещающий потенциал с логического элемента D1 "2И‑НЕ". При этом на обоих входах этого элемента появляется единичный потенциал. В результате на выходе этого элемента появится нулевой потенциал, и возникнут условия для самовозбуждения генератора.

Временные диаграммы на входе и выходах счетчика D2 приведены на рис. 11.6.

Рис.11.6. Временные диаграммы схемы формирования сигнала выбора подчиненного SS

Импульсы поступают на вход последовательной синхронизации сдвигового регистра D3 и вход счетчика D2. После поступления на вход схемы D3 восьмого импульса передача данных в последовательном виде завершается, а в счетчике D2 оказывается записанным число 8. В двоичном виде оно равно значению 10002, а значит, на выводе SS вновь появится высокий потенциал, означающий завершение передачи данных по синхронному последовательному интерфейсу SPI.

Так как этот же сигнал через инвертор подается на вход логического элемента D1, то на его выходе появится единичный потенциал, и условия генерации сорвутся. Генератор больше не будет вырабатывать импульсы, а значит, двоичный счетчик останется в состоянии 10002 до прихода следующего импульса записи в SPI порт.

Интегрирующая цепочка R3C3 используется для подавления короткого импульса в конце формирования сигнала SS, а инвертор D4 позволяет осуществлять запись в сдвиговый регистр D6 по заднему фронту сигнала тактовой синхронизации. В результате подчиненное устройство может успеть подготовить очередной бит передаваемых данных.

Мы рассмотрели схему SPI интерфейса со стороны главного устройства. Схема подчиненного устройства намного проще. В ней не нужно формировать сигналы синхронизации. В результате она может быть построена на обыкновенном сдвиговом регистре. Пример выполнения схемы подчиненного SPI-порта приведен на рис. 11.7.

Рис.11.7. Схема подчиненного SPI-порта

В этой схеме запись данных в универсальный регистр D1 производится по спадающему фронту сигнала SS. В результате на выходе Q7 появляется первый из передаваемых бит. Это значение по цепи MISO передается на вход данных master порта. При поступлении на вход регистра "C" тактовых импульсов SCLK, на выходе Q7 последовательно появляются все биты данных, присутствовавших на параллельных входах универсального регистра в момент записи.

Одновременно с этим процессом данные, передаваемые master портом по цепи MISO, записываются в триггеры регистра D1. После поступления восьми тактовых импульсов SCLK на выходах сдвигового регистра D1 вместо данных подчиненного устройства уже записаны данные, переданные master портом. Обмен данными завершается выдачей высокого потенциала по цепи SS. Тем самым формируется нарастающий фронт этого сигнала. По этому фронту данные с выходов последовательного регистра D1 переписываются в параллельный регистр D2.

В настоящее время SPI порт является распространенным средством обмена информации между процессором и микросхемами обработки данных. Обычно этот порт уже содержится в составе этих микросхем в виде готового модуля.

В качестве примера использования SPI порта на рис. 11.8 приведена структурная схема соединения микроконтроллера и микросхемы раширителя портов NLSF595 фирмы ON semiconductor, к которой на приведенной схеме подключены три светодиода. Эта микросхема способна только принимать информацию по SPI порту и выдавать ее в параллельном виде. Собирать информацию и передавать ее на микропроцессор она не может.

Рис.11.8. Структурная схема соединения микроконтроллера и расширителя портов NLSF595

В качестве еще одного примера использования рассмотренного выше SPI порта на рис. 11.9 приведена структурная схема соединения сигнального процессора ADSP‑2153x и цифрового приемника AD9874 фирмы Analog devices.

Рис.11.9. Структурная схема соединения сигнального процессора ADSP‑2153x и цифрового приемника AD9874

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

Синхронный последовательный интерфейс использует меньшее количество проводников по сравнению с DSP портом, однако это количество достаточно велико. В некоторых случаях этот параметр является критическим. Тогда применяется I2С порт

I2С порт

Для обмена данными по I2С порту, который часто называется I2С шиной, используется всего два проводника (не считая корпуса).

В I2C шине прием и передача данных, а также передача адреса микросхемы и адреса регистра внутри микросхемы, к которому осуществляется обращение, производится по одному и тому же проводу. Для подключения к этому проводу используются микросхемы с открытым коллектором. Нагрузкой для всех микросхем, подключенных к линии SDA, служит внешний резистор.

Естественно, что скорость передачи данных по такому порту будет ниже, по сравнению с SPI портом. Тактовая синхронизация в I2C шине передается по линии SCL.

Начало работы с микросхемой обозначается особой комбинацией сигналов SDA и SCL, которая называется условием старта. Эта же комбинация одновременно осуществляет кадровую синхронизацию. Завершение работы с микросхемой обозначается еще одной комбинацией сигналов SDA и SCL.

Рис.11.10. Временная диаграмма I2C интерфейса

В качестве примера микросхем, использующих интерфейс I2C можно назвать микросхемы EEPROM серии 24сXX.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 238; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.249.219 (0.047 с.)