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

Цель кодирования — это формирование специальных повторяющихся битов для успешного восстановления тактовой синхронизации из потока данных, а также балансировки по постоянному току. Для успешного восстановления тактовой синхронизации кодирующая схема должна обеспечивать достаточное количество переходов сигнала, чтобы схема восстановления частоты оставалась синхронизированной к входящему потоку данных. Если схема фазовой подстройки частоты в составе устройства восстановления тактовой синхронизации не может оставаться синхронизированной из-за небольшого количества переходов, приёмник не сможет гарантированно синхронизироваться с битовым потоком данных. Будут появляться битовые ошибки или сбои соединения. Восстановление тактовой синхронизации из входящего потока данных достигается за счёт передачи символов частых битовых переключений, которые приводят к появлению дополнительных битов в потоке данных.

Балансировка  по постоянному току также важна для функционирования последовательного соединения. Без балансировки, сигналы будут смещаться относительно идеальных логических уровней нуля и единицы и будут возрастать битовые ошибки. Балансировка по постоянному току  гарантирует статистическую балансировку нулей и единиц в пределах передаваемых символов, т.е.  количество переданных за единицу времени нулей и единиц одинаково. Некоторые общие примеры схем кодирования — это 8b/10b (преобразование восьмиразрядного слова данных в десятибитные), 64b/66b и 128b/130b.

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

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

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

Один из самых важных контрольных символов — это символ «idle», который передается по незанятой линии. Частота и данные могут быть восстановлены только в случае синхронизации при условии, что передатчик постоянно передает биты данных. Таким образом , когда не перадется каких-либо полезных данных, должен передоваться символ «idle». Этот контрольный символ определяется протоколом и приемник понимает, что такой символ — это не настоящие данные.

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

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

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

Индустрия постоянно совершенствует основы высокоскоростых последовательных интерфейсов, получает все более и более высокие скорости передачи данных и создают мир больших данных. Один из примеров последних шагов улучшения — это сдвиг к многоуровневой кодировке  сигналов, таких как PAM-4 и PAM-8 для увеличения пропускной способности при той же ширине канала. Компания National Instruments также следует современным трендам ранка высокоскоростной связи и именно поэтому в продуктовой линейке компании присутствуют высокоскоростные последовательные приемопередатчики, которые входят в состав таких решений, как цифровые функциональные тестеры, встроенные автономные узлы для обработки данных и радиочастотные тестеры последних поколений.

 

Источники

 

Материал предназначен для использования в образовательных целях