0

Высокоскоростные интерфейсы передачи данных

То что вы видите на мониторе — интерфейс. Клавиатура с мышкой — интерфейс. И даже окно регистратуры в больнице — это тоже интерфейс.

Интерфейс (англ. interface) — общая граница между двумя функциональными объектами, требования к которой определяются стандартом; . // Wikipedia

Во встраиваемых системах чаще всего под словом «интерфейс» понимают физический блок МК отвечающий за передачу данных. Они могут быть последовательными или параллельными, синхронными или асинхронными, дифференциальными или обычными.

Параллельные и последовательные интерфейсы

Допустим нам нужно переслать 1 байт (8 бит) информации. Как это сделать? Можно выделить под каждый бит по одной ножке МК (линии), тогда для передачи потребуется 8 ножек, плюс одна, которая будет говорить принимающей стороне что передача закончена и нужно считать входной сигнал. Такой интерфейс называется параллельным (англ. parallel): группа битов передаётся одновременно за один квант времени. К таким интерфейсам относится PCI (32 линии) и её можно встретить в LCD знакогенерирующих индикаторах (например WINSATR).

Можно поступить по другому и передавать данные по одной линии, кодируя, например, 1 как высокий уровень сигнала (3,3 В), а 0 как низкий (0 В). В таком случае потребует всего одна ножка МК для передачи и одна что бы сообщать когда этот сигнал считывать. Такие интерфейсы называют последовательными (англ. serial): N битов передаётся по одному за N-квантов времени. Примером последовательного интерфейса — USART.

Параллельный интерфейс, как не сложно догадаться, быстрее в N-раз, однако требует в N-раз больше линий. В микроконтроллерах чаще всего присутствуют только последовательные интерфейсы (периферийные блоки, которые делают всё автоматически), к ним относятся SPI, I 2 C, I 2 S, CAN, USART и USB. Некоторые из них мы рассмотрим подробнее в этом курсе.

Синхронные и асинхронные интерфейсы

Примеры которые мы привели выше были синхронными, они так называются потому что используют отдельный вывод, который сообщает принимающей стороне когда считывать данные. К ним относится SPI и USART. Однако, USART (с англ. Universal Synchronous/Asynchronous Receiver/Transmitter) как не сложно догадаться может работать в асинхронном режиме. Если время передачи бита известно, то сообщать когда именно нужно считывать бит нет необходимости. Однако нужно как-то различать между собой принятые байты. С этой целью в последовательность высоких и низких уровней на шине внедряют задержки (старт и стоп-биты). Они отличаются по длительности от обычных 0 и 1 , благодаря чему всегда можно определить где начало, а где конец посылки. Асинхронная версия USART называется UART.

Кодировка битов может быть осуществлена не только как 1 — высокий уровень и 0 — низкий уровень. В интерфейсе 1-Wire 1 и 0 кодируется одновременно и низким и высоким уровнем, отличается лишь их заполнение временного отрезка. Вы увидите это дальше в курсе, когда мы будем разбираться с датчиком температуры.

В интерфейсе SPI напротив, считывание сигнала происходит только по команде тактирующей линии.

У вас наверняка возникает философский вопрос, — «Зачем есть капусту, когда есть картошка?» Может показаться, что линия с тактовым сигналом излишня. Да. Но это не всегда так. Линия с тактовым сигналом делает интерфейс независимым от стабильности тактирующих систем узлов. Если погрешность будет слишком велика, то у устройств с асинхронным интерфейсом может произойти рассогласование. В случае с синхронным, тактовый сигнал задаётся передающим устройством (не совсем корректно, но пока пусть будет так), поэтому после первого бита линию можно повесить, условно, на полчаса без каких либо последствий и продолжить передачу после этого.

Дифференциальные интерфейсы

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

Дифференциальным он называется потому, что сигнал передаётся сразу по двум линиям, причём если на одной линии выставлена 1 , то на второй должен быть выставлен 0 и наоборот.

Опять же вопрос, зачем два провода, когда можно использовать один? UART вроде хорошо работал на одной линии. На самом деле нет. UART хорошо работает на низких скоростях. При повышении частоты передачи начинают влиять паразитные ёмкости и индуктивности и сигнал просто теряется. Дифф-пара позволяет понизить напряжение, уменьшить электро-магнитное излучение, уменьшить потребление и повысить устойчивость приёма сигнала.

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

К слову, проводной интернет (Ethernet) так же построен на дифференциальной паре.

Режим работы

Некоторые интерфейсы могут поддерживать несколько режимов работы, другие напротив способны работать только в одном определённом.

Если устройство использует два канала, один для приёма и второй для передачи, и при этом обмен данными может происходить одновременно, то такой режим работы называют полным дуплексом (англ. full duplex). Ваш мобильный телефон работает в таком режиме: вы можете слушать человека и говорить ему что-либо одновременно. Если используется два канала, но передача и приём может производится только одним устройством в один момент времени, то такой режим работы называется полудуплексным (англ. half-duplex). И наконец, если используется один канал, следовательно общение может проходить только разделённое во времени, то такой режим называется симплексным (англ. simplex).

Свойство шины

Каждый интерфейс предъявляет свои требования к шине данных. В таких интерфейсах как UART может быть только два устройства (принимающее и отправляющее). При этом с точки зрения иерархии нет никакой разницы, оба устройства равнозначны. В интерфейсе SPI устройств может быть несколько, но только одно (на самом деле не всегда, но это исключение) является главным, т.е. ведущим или мастером (англ. master). Все остальные устройства являются ведомыми или подчинёнными (англ. slave). При этом SPI требует подводить к каждому устройству линию выбора (англ. chip select). Общение ведётся только с тем устройством, на линии которого присутствует сигнал активации.

Все ножки вышеописанных интерфейсов настраиваются как двухтактный выход. Но не все интерфейсы можно использовать подобным образом. Интерфейсы 1-Wire и I 2 C вместо линии выбора используют специальную команду с адресом устройства. Выгода очевидна — на линию можно повесить сколько угодно (есть ограничения) устройств, не вводя новые линии. Однако что будет, если два устройства захотят использовать шину одновременно? Непременно сложится ситуация, когда одно устройство подтянет линию к земле, а другое к питанию. Такое поведение, мягко говоря, не желательно и называется коротким замыканием (англ. short circuit).

То самое чувство, когда микросхема испустила дух, выпустила магический дым.

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

Читайте также:  Как включить датчик света

Сравнение некоторых интерфейсов

Название Количество линий, шт Длина линии, м Скорость, битс
1-Wire Simplex до 300 м 15,4 Кбит/с, максимум 125 Кбит/с
SPI Duplex до 5 м > 100 МГц
I 2 C Simplex 3 м 425 КБ/c
UART Duplex 5 м > 11 520 байт/с
CAN Simplex до 5000 10 кбит/с – 1 Мбит/с
USB 2.0 Duplex 5 60 МБ/c

Все данные в таблице — ориентировочные, многое зависит от скорости передачи, напряжения, среды распространения и т.д.

То что вы видите на мониторе — интерфейс. Клавиатура с мышкой — интерфейс. И даже окно регистратуры в больнице — это тоже интерфейс.

Интерфейс (англ. interface) — общая граница между двумя функциональными объектами, требования к которой определяются стандартом; . // Wikipedia

Во встраиваемых системах чаще всего под словом «интерфейс» понимают физический блок МК отвечающий за передачу данных. Они могут быть последовательными или параллельными, синхронными или асинхронными, дифференциальными или обычными.

Параллельные и последовательные интерфейсы

Допустим нам нужно переслать 1 байт (8 бит) информации. Как это сделать? Можно выделить под каждый бит по одной ножке МК (линии), тогда для передачи потребуется 8 ножек, плюс одна, которая будет говорить принимающей стороне что передача закончена и нужно считать входной сигнал. Такой интерфейс называется параллельным (англ. parallel): группа битов передаётся одновременно за один квант времени. К таким интерфейсам относится PCI (32 линии) и её можно встретить в LCD знакогенерирующих индикаторах (например WINSATR).

Можно поступить по другому и передавать данные по одной линии, кодируя, например, 1 как высокий уровень сигнала (3,3 В), а 0 как низкий (0 В). В таком случае потребует всего одна ножка МК для передачи и одна что бы сообщать когда этот сигнал считывать. Такие интерфейсы называют последовательными (англ. serial): N битов передаётся по одному за N-квантов времени. Примером последовательного интерфейса — USART.

Параллельный интерфейс, как не сложно догадаться, быстрее в N-раз, однако требует в N-раз больше линий. В микроконтроллерах чаще всего присутствуют только последовательные интерфейсы (периферийные блоки, которые делают всё автоматически), к ним относятся SPI, I 2 C, I 2 S, CAN, USART и USB. Некоторые из них мы рассмотрим подробнее в этом курсе.

Синхронные и асинхронные интерфейсы

Примеры которые мы привели выше были синхронными, они так называются потому что используют отдельный вывод, который сообщает принимающей стороне когда считывать данные. К ним относится SPI и USART. Однако, USART (с англ. Universal Synchronous/Asynchronous Receiver/Transmitter) как не сложно догадаться может работать в асинхронном режиме. Если время передачи бита известно, то сообщать когда именно нужно считывать бит нет необходимости. Однако нужно как-то различать между собой принятые байты. С этой целью в последовательность высоких и низких уровней на шине внедряют задержки (старт и стоп-биты). Они отличаются по длительности от обычных 0 и 1 , благодаря чему всегда можно определить где начало, а где конец посылки. Асинхронная версия USART называется UART.

Кодировка битов может быть осуществлена не только как 1 — высокий уровень и 0 — низкий уровень. В интерфейсе 1-Wire 1 и 0 кодируется одновременно и низким и высоким уровнем, отличается лишь их заполнение временного отрезка. Вы увидите это дальше в курсе, когда мы будем разбираться с датчиком температуры.

В интерфейсе SPI напротив, считывание сигнала происходит только по команде тактирующей линии.

У вас наверняка возникает философский вопрос, — «Зачем есть капусту, когда есть картошка?» Может показаться, что линия с тактовым сигналом излишня. Да. Но это не всегда так. Линия с тактовым сигналом делает интерфейс независимым от стабильности тактирующих систем узлов. Если погрешность будет слишком велика, то у устройств с асинхронным интерфейсом может произойти рассогласование. В случае с синхронным, тактовый сигнал задаётся передающим устройством (не совсем корректно, но пока пусть будет так), поэтому после первого бита линию можно повесить, условно, на полчаса без каких либо последствий и продолжить передачу после этого.

Дифференциальные интерфейсы

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

Дифференциальным он называется потому, что сигнал передаётся сразу по двум линиям, причём если на одной линии выставлена 1 , то на второй должен быть выставлен 0 и наоборот.

Опять же вопрос, зачем два провода, когда можно использовать один? UART вроде хорошо работал на одной линии. На самом деле нет. UART хорошо работает на низких скоростях. При повышении частоты передачи начинают влиять паразитные ёмкости и индуктивности и сигнал просто теряется. Дифф-пара позволяет понизить напряжение, уменьшить электро-магнитное излучение, уменьшить потребление и повысить устойчивость приёма сигнала.

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

К слову, проводной интернет (Ethernet) так же построен на дифференциальной паре.

Режим работы

Некоторые интерфейсы могут поддерживать несколько режимов работы, другие напротив способны работать только в одном определённом.

Если устройство использует два канала, один для приёма и второй для передачи, и при этом обмен данными может происходить одновременно, то такой режим работы называют полным дуплексом (англ. full duplex). Ваш мобильный телефон работает в таком режиме: вы можете слушать человека и говорить ему что-либо одновременно. Если используется два канала, но передача и приём может производится только одним устройством в один момент времени, то такой режим работы называется полудуплексным (англ. half-duplex). И наконец, если используется один канал, следовательно общение может проходить только разделённое во времени, то такой режим называется симплексным (англ. simplex).

Свойство шины

Каждый интерфейс предъявляет свои требования к шине данных. В таких интерфейсах как UART может быть только два устройства (принимающее и отправляющее). При этом с точки зрения иерархии нет никакой разницы, оба устройства равнозначны. В интерфейсе SPI устройств может быть несколько, но только одно (на самом деле не всегда, но это исключение) является главным, т.е. ведущим или мастером (англ. master). Все остальные устройства являются ведомыми или подчинёнными (англ. slave). При этом SPI требует подводить к каждому устройству линию выбора (англ. chip select). Общение ведётся только с тем устройством, на линии которого присутствует сигнал активации.

Читайте также:  Бензин bp 95 ultimate отзывы

Все ножки вышеописанных интерфейсов настраиваются как двухтактный выход. Но не все интерфейсы можно использовать подобным образом. Интерфейсы 1-Wire и I 2 C вместо линии выбора используют специальную команду с адресом устройства. Выгода очевидна — на линию можно повесить сколько угодно (есть ограничения) устройств, не вводя новые линии. Однако что будет, если два устройства захотят использовать шину одновременно? Непременно сложится ситуация, когда одно устройство подтянет линию к земле, а другое к питанию. Такое поведение, мягко говоря, не желательно и называется коротким замыканием (англ. short circuit).

То самое чувство, когда микросхема испустила дух, выпустила магический дым.

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

Сравнение некоторых интерфейсов

Название Количество линий, шт Длина линии, м Скорость, битс
1-Wire Simplex до 300 м 15,4 Кбит/с, максимум 125 Кбит/с
SPI Duplex до 5 м > 100 МГц
I 2 C Simplex 3 м 425 КБ/c
UART Duplex 5 м > 11 520 байт/с
CAN Simplex до 5000 10 кбит/с – 1 Мбит/с
USB 2.0 Duplex 5 60 МБ/c

Все данные в таблице — ориентировочные, многое зависит от скорости передачи, напряжения, среды распространения и т.д.

Потребность в высокоскоростном последовательном интерфейсе

Потребители постоянно нуждаются в устройствах со все более высокой производительностью, меньшим размером и с еще меньшим энерго­потреблением. В мире Big Data с начала 2000-х гг. происходило радикальное изменение принципа работы шин обмена данными (рис. 1). Этот переход от параллельных шин к высокоскоростным последовательным позволил разработать устройства с гораздо меньшими размерами, более высокой скоростью передачи данных и с меньшими требованиями к питанию. Это дало возможность внедрить много различных технологий, которыми теперь пользуются потребители, – таких как SATA, USB и PCI Express.

Рис. 1. Процесс перехода от параллельных стандартов обмена данными к последовательным

Преимущества

На тактовую частоту параллельных шин существует физическое ограничение, находящееся в промежутке от 1 до 2 ГГц. Причина этому — задержки, возникающие в отдельных линиях тактирования и данных, которые вызывают ошибки передачи на более высоких скоростях. В высокоскоростных последовательных шинах по одной линии происходит передача кодированных пакетов, которые содержат как данные, так и информацию о тактировании, что позволяет инженерам обойти ограничений скорости передачи. Сегодня повсеместно используются высокоскоростные последовательные соединения с передачей данных на скорости 10 Гбит/с. Кроме того, можно соединить параллельно несколько последовательных линий связи для создания канала с еще более высокой пропускной способностью.

Передача данных по последовательному каналу на высокой скорости позволяет уменьшить количество выводов интегральных схем и, как следствие, размеры устройства. Более того, поскольку по сравнению с параллельными шинами последовательные линии связи могут работать с гораздо более высокой тактовой частотой, это дает им возможность достичь лучшей пропускной способности. На рис. 2 приведены широко известные стандарты шин передачи данных с разбивкой по количеству линий передачи и тактовой частоте одной линии.

Рис. 2. Известные стандарты шин передачи данных с разбивкой по количеству линий передачи и тактовой частоте одной линии

Недостатки

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

Функциональные уровни высокоскоростных последовательных соединений

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

Самый нижний уровень — физический. Он отвечает за успешную передачу и распознавание сигналов логического нуля и единицы. Выше него находится канальный уровень (data link), отвечающий за преобразование потока бит в значимые данные и функции, которые позволяют физическому уровню производить успешный обмен информацией. Наконец, уровни выше физического и канального могут предоставлять дополнительные сервисы, такие как коррекция ошибок, пакетная передача или маршрутизация (рис. 3). Они определяются протоколом и сферой применения и, как правило, чаще всего подвергаются модификации или настройке.

Рис. 3. Функциональные уровни последовательного соединения

Физический уровень

Физический уровень отвечает за электрическую совместимость устройств и передачу синхронизированных бит на канальный уровень. В его рамках разработчикам необходимо согласовать электрические параметры передатчиков и приемников.

Электрический интерфейс

Различные высокоскоростные последовательные протоколы передачи данных накладывают свои ограничения на электрические параметры передатчика и приемника, от которых зависит их совместимость. Для достижения большой скорости нарастания и спадания фронтов в высокоскоростных последовательных линиях связи используются дифференциальные сигналы, что необходимо для связи на скоростях выше 1 Гб/с, минимизации электромагнитного излучения и повышения помехоустойчивости путем нейтрализации синфазных помех. Пиковое напряжение на этих скоростях редко превосходит 1 В, и электрическим стандартом обычно являются низковольтная дифференциальная передача сигналов (LVDS), эмиттерно-связанная логика (ECL) или токовая логика (CML).

Восстановление данных и сигналов тактирования

Рис. 4. Схема восстановления данных и сигналов тактирования (CDR)

Другой важной функцией физического уровня в высокоскоростных последовательных линиях связи является восстановление данных и сигналов тактирования, или CDR (Clock Data and Recovery). CDR (рис. 4) — это возможность принимающего устройства тактировать входящий поток данных без наличия отдельного сигнала тактирования. Она реализуется с помощью канального уровня при условии частых битовых переходов 0–1 при кодировании. Это позволяет цепям фазовой автоподстройки частоты (PLL) и фазового интерполятора (PI) восстановить сигнал тактирования передатчика и использовать его для обработки входящего потока данных с минимальной ошибкой синхронизации.

Частотная коррекция

Частотной коррекцией называют процесс противодействия электрическим свойствам канала с целью улучшения его частотной характеристики. Это может производиться на принимающей или передающей стороне канала связи для увеличения его энергетического запаса, но обычно термин «частотная коррекция» используется при описании приемника. При прохождении высокоскоростного сигнала от передатчика к приемнику через цепи печатной платы, коннекторы и кабели происходит его затухание, которое неравномерно затрагивает компоненты его спектра, вызывая искажения. Частотная коррекция в мультигигабитных приемопередатчиках (MGT) позволяет производить усиление или ослабление различных частот в спектре сигнала до его оцифровки для улучшения энергетического запаса сигнала или канала. Многие MGT оснащены автокорректорами, которые могут автоматически определять и постоянно поддерживать настройки схемы корректора близкими к идеальным.

Читайте также:  Все герои из игр

Предыскажение

«Предыскажение» — это термин, которым обычно называют частотную коррекцию со стороны передатчика высокоскоростной последовательной линии передачи данных. Оно применяется для борьбы с аналоговыми искажениями, такими как межсимвольная интерференция (inter-symbol interference, ISI). На высокой скорости работы линии биты данных начинают влиять друг на друга при передаче.

Ухудшение качества сигнала по причине ISI происходит из-за смещения, которое возникает в линии при недостаточной частоте переключений сигнала с 0 на 1 (рис. 5). Из-за этого следующее переключение на противоположное значение после ряда одинаковых бит происходит медленнее.

Рис. 5. Эффект ISI

Канальный уровень

Канальный уровень (data link layer) отвечает за обработку сигнала с целью улучшения его целостности, обеспечения успешной передачи данных и преобразования набора бит в данные. Методики достижения этого включают в себя схемы кодирования и применение управляющих команд для синхронизации, коррекции тактирования и связывания каналов.

Схемы кодирования

С помощью кодирования обеспечивается наличие в сигнале частых изменений значения с 0 на 1 для успешного восстановления данных и сигналов тактирования (CDR), а также для поддержания электрического баланса сигнала по постоянной составляющей (DC balance). Для успешного CDR схема кодирования должна гарантировать, что в передаваемом сигнале будет достаточно переходов 0–1 для того, чтобы блок CDR оставался синхронизированным по фазе с потоком данных. Если алгоритм фазовой автоподстройки частоты в блоке CDR не сможет сохранить синхронизацию из-за недостатка переходов 0–1, принимающая сторона не сможет обеспечить синхронное тактирование битов данных и будут происходить потери бит или иные ошибки соединения. CDR осуществляется за счет постоянной передачи символов с частой сменой бит 0–1–0–1…, что достигается добавлением к данным служебных бит.

Электрический баланс сигнала также важен для поддержания работы последовательного канала связи. Если не производить его регулировку, сигнал может сместиться относительно идеальных значений высокого и низкого логического уровня, что вызовет потерю бит. Электрический баланс достигается регулировкой среднего количества передаваемых нулей и единиц, число которых в единицу времени в сбалансированном сигнале одинаково. Несколько общих примеров схем кодирования: 8b/10b, 64b/66b и 128b/130b.

Связывание каналов

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

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

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

Символы ожидания

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

Верхние уровни

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

Уровни выше стандартных (канального и физического) обычно настраиваются под требования конкретной задачи, позволяя инженерам извлечь выгоду из существующей реализации стандартных уровней. Примерами распространенных функций верхнего уровня являются обнаружение и коррекция ошибок при помощи циклического контроля четности с избыточностью — CRC (cyclic redundancy checking) и упреждающей коррекции ошибок, или FEC (forward error correction). Компромиссным решением при передаче данных являются различные комбинации алгоритмов для обнаружения и коррекции ошибок. CRC содержит в себе методику поиска потерянных бит в принятых данных, но с его помощью нельзя исправить найденную ошибку. Единственный способ — запросить данные повторно. При этом FEC содержит в передаваемых данных дополнительную информацию, с помощью которой на принимающей стороне можно исправить небольшое количество ошибок.

Перспективы высокоскоростной последовательной связи

Высокоскоростная последовательная связь является фундаментальным прорывом в принципах работы цифровых интерфейсов, позволяющим существенно увеличить пропускную способность. Меньшие размер и потребляемая мощность, наряду с большей производительностью, ведут к быстрому росту популярности высокоскоростных последовательных интерфейсов. Принципы их работы постоянно совершенствуются, и разработчики предлагают все более высокие скорости передачи данных, что позволяет использовать их в мире Big Data. Примером недавних успехов является переход к многоуровневой передаче сигнала, такой как импульсно-амплитудные модуляции PAM-4 и PAM-8, которые обеспечивают передачу данных на большей скорости при той же полосе пропускания канала. Из-за возрастающих требований к скорости многим инженерам приходится ускорять разработки и тестирование новых интерфейсов.

Компания National Instruments следует тенденциям рынка высокоскоростной последовательной связи, поэтому теперь высокоскоростные последовательные приемопередатчики присутствуют во многих предлагаемых NI решениях для различных задач: от функционального цифрового тестирования до автономных обработчиков и ВЧ-тестирования при помощи векторного трансивера второго поколения (VST). Универсальный мультигигабитный последовательный порт реализован с помощью подключения цифровых линий к открытой ПЛИС для гибкого задания протокола порта, а также предоставления готовых IP-реализаций протоколов Xilinx Aurora, RapidIO, JESD204B, CPRI, 10 Gigabit Ethernet и др. Сегодня такой порт не только доступен в виде отдельного прибора формата PXI Express, но также интегрируется в радиоизмерительные приборы, такие как NI VST, и во встраиваемые измерительные решения, такие как контроллер для NI FlexRIO.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *