Цель канального уровня заключается в перемещении битов из одного места в другое. Если речь идет о перемещении бита из одного регистра в другой на одном чипе, то механизм достаточно прост: проложите провод, соединяющий выход первого регистра с входом следующего. Дождитесь, пока не уляжется выход первого регистра и сигнал распространится на вход второго регистра; следующий тик часов считывает данные во второй регистр.
Если все возраста напряжения находятся в пределах заданных допусков, то тики часов достаточно разделены во времени, чтобы обеспечить распространение, и нет электрических помех, то это все, что для этого нужно.
Поддержание этих трех предположений относительно просто в пределах одной микросхемы и даже между микросхемами на одной и той же печатной плате. Однако по мере того, как мы начинаем рассматривать отправку битов между платами, через всю комнату или по всей стране, эти предположения становятся все менее правдоподобными, и их необходимо заменить четкими мерами по обеспечению точной передачи данных. В частности, когда отправитель и получатель находятся в разных системах, обеспечение корректно синхронизированного тактного сигнала становится проблемой.
Простой способ получения данных из одного модуля в другой, который не использует одинаковые часы, заключается в использовании трехпроводного протокола готовности/знаний (плюс общий массив). Модуль A, когда он готов к отправке, помещает бит на линию данных, а затем изменяет значение стационарного состояния на готовой линии. Когда B видит изменение готовой линии, он получает значение бита в строке данных, а затем изменяет строку подтверждения, чтобы сообщить A, что бит был принят безопасно. Причина, по которой строки готовности и подтверждения необходимы, заключается в том, что при отсутствии какой-либо другой схемы синхронизации B должен знать, когда целесообразно смотреть на строку данных, а A должен знать, когда безопасно прекратить удерживать битовое значение на строке данных. Сигналы на линии готовности и подтверждения обрамляют бит.
Если время распространения от А до В равно Δt, то этот протокол позволил бы А передавать один бит на В каждые 2Δt плюс время, необходимое А для настройки выхода и В для получения входа, чтобы максимальная скорость передачи данных была чуть меньше 1/(2Δt). На коротких расстояниях можно заменить единую линию данных на N параллельных линий данных, каждая из которых обрамлена одной и той же парой готовых/знающих линий, и тем самым увеличить скорость передачи данных до N/(2Δt). Во многих конструкциях объединительных плат, а также периферийных систем крепления, таких как SCSI и интерфейсы персональных компьютерных принтеров, используется эта технология, известная как параллельная передача, наряду с некоторыми вариантами готовых/знающих протоколов, для достижения более высокой скорости передачи данных.
Однако по мере увеличения расстояния между точками A и B возрастает и Δt, а максимальная скорость передачи данных уменьшается пропорционально, поэтому техника готовности/знаний быстро разрушается. Обычно требуется отправлять данные на большие скорости на большие расстояния с меньшим количеством проводов, и это требование приводит к использованию другой системы, называемой последовательной передачей. Идея состоит в том, чтобы посылать поток битов по одной линии передачи, не дожидаясь ответа от приемника и ожидая, что приемник каким-то образом восстановит эти биты на другом конце без дополнительной сигнализации. К сожалению, чем дальше эти биты движутся вниз по линии, тем больше затухания, шума и эффектов зарядки они страдают, поскольку лежащая в основе линии электропередачи аналоговая. К моменту их поступления в приемник они будут представлять собой всего лишь импульсы с экспоненциальными передними и задними краями. Приемный модуль, B, в настоящее время испытывает значительную проблему в понимании этой передачи: Поскольку у него нет копии часов, которые A использовал для создания битов, он не знает точно, когда сэмплировать входящую строку.
Типичное решение заключается в том, чтобы обе стороны договорились о приблизительной скорости передачи данных, чтобы приемник мог работать с генератором, управляемым напряжением (VCO), с примерно такой же скоростью передачи данных. Выход VCO умножается на напряжение входящего сигнала и продукт соответствующим образом отфильтрован и отправлен обратно для настройки VCO. Если эта цепь спроектирована правильно, она заблокирует VCO как на частоте, так и на фазе поступающего сигнала. После блокировки VCO становится источником тактового сигнала, который приемник может использовать для отбора входящих данных.
Одно из осложнений заключается в том, что при определенных типах данных (например, длинная строка нулей) в потоке данных могут отсутствовать переходы, в этом случае цикл с блокировкой по фазе не сможет синхронизироваться. Для решения этой проблемы передатчик обычно кодирует данные таким образом, чтобы гарантировать, что независимо от типа посылаемых битов, на линии передачи будут некоторые переходы. Часто используемый метод называется фазовой кодировкой, при которой с каждым битом данных связан хотя бы один переход уровня. Общей фазовой кодировкой является манчестерский код, в котором передатчик кодирует каждый бит как два бита: ноль кодируется как ноль, за которым следует один, а единица кодируется как единица, за которой следует ноль. Эта кодировка гарантирует, что в центре каждого передаваемого бита будет происходить переход уровня, обеспечивая приемник большим количеством информации о тактировании. Недостатком является то, что максимальная скорость передачи данных по каналу связи фактически снижается вдвое, но получаемая в результате простота и передатчика, и приемника зачастую стоит этой цены. Другие, более сложные схемы кодирования могут гарантировать, что на каждые несколько бит данных будет по крайней мере один переход. Эти схемы не так сильно снижают максимальную скорость передачи данных, но они усложняют кодирование, декодирование и синхронизацию.
Обычной целью для пространства проектирования физического канала связи является достижение максимально возможной скорости передачи данных для используемого метода кодирования. Самая высокая возможная скорость передачи данных будет наблюдаться именно в том месте, где поступающий сигнал данных находится на рваном краю возможности правильного декодирования, и любые помехи на линии будут проявляться в виде джиттера синхронизации или сигналов, которые просто не достигают ожидаемых порогов, что может привести к ошибкам декодирования.
Скорость передачи данных по цифровому каналу обычно измеряется в битах в секунду. Поскольку цифровые данные в конечном итоге передаются по аналоговому каналу, возникает вопрос о том, какой может быть максимальная цифровая пропускная способность определенного аналогового канала. Идеальный аналоговый канал имел бы хорошую емкость для цифровых данных, потому что можно было бы с неограниченной точностью устанавливать и измерять уровень передаваемого сигнала, а затем бесконечно часто менять этот параметр. В реальном мире шум ограничивает точность, с которой приемник может измерять сигнальное значение, а физические ограничения аналогового канала, такие как хроматическая дисперсия (в оптическом волокне), зарядная емкость (в медном проводе) или доступность спектра (в беспроводном сигнале), устанавливают потолок на скорость, при которой приемник может обнаружить изменение значения сигнала. Эти физические ограничения суммируются в одну меру, известную как ширина полосы пропускания аналогового канала. Точнее говоря, количество различных значений сигнала, которые приемник может различить, пропорционально логарифму отношения мощности сигнала к мощности шума, а максимальная скорость, с которой приемник может различать изменения в значении сигнала, пропорциональна ширине аналогового диапазона.
Эти два параметра (отношение сигнал-шум и аналоговая полоса пропускания) позволяют вычислить теоретически максимально возможную пропускную способность канала (т.е. скорость передачи данных), используя теорему Шеннона. Хотя эта формула принимает конкретное определение пропускной способности, предполагает особую случайность для шума и не говорит о задержках, которые могут возникнуть, если попытаться работать вблизи канала, оказывается, что это полезно для определения его реальной пропускной способности.
Поскольку одни методы цифровой передачи данных намного ближе к теоретическим возможностям Шеннон, чем другие, принято использовать в качестве меры полезности цифровой системы передачи количество бит в секунду, которое система может передавать на герц полосы пропускания. Устанавливая W = 1, теорема мощности говорит, что максимальные биты в секунду на герц - log2(1 + S/N). Элементарная сигнализация в малошумной среде может легко достигать 1 бит в секунду на герц. С другой стороны, чтобы 28 килобит в секунду модем работал на частоте 2,4 килогерц телефонной сети, он должен передавать около 12 бит в секунду на герц. Теорема мощности говорит, что логарифм должен быть не менее 12, так что отношение сигнал-шум должно быть не менее 212, или используя более традиционную аналоговую меру, 36 децибел, что почти типично для отношения сигнал-шум при правильно работающей телефонной связи. Медная пара между телефонной трубкой и офисом не проходит через коммутационное оборудование, поэтому на самом деле она имеет полосу пропускания ближе к 100 кГц и гораздо лучшее отношение сигнал-шум, чем телефонная система в целом; все это позволяет использовать модемы цифровой абонентской линии (DSL), работающие на 1,5 Мбит/с, и даже до 50 Мбит/с, которые первоначально были предназначены для передачи голоса на короткие расстояния.
Еще один параметр, часто упоминаемый в характеристике цифровой системы передачи: частота ошибок, сокращенное значение BER и измеренное как отношение к скорости передачи данных. Для того чтобы система передачи данных была полезной, скорость передачи данных должна быть достаточно низкой; обычно она регистрируется с номерами, такими как одна ошибка в 106, 107 или 108 передаваемых битах. Даже лучшие из этих показателей недостаточно хороши для цифровых систем; более высокие уровни системы должны быть готовы к обнаружению и компенсации ошибок.