Почему цифровая последовательная передача используется везде? т.е. SATA, PCIe, USB


47

Глядя на SATA, PCIe, USB, SD UHS-II, меня поразило, что они все одинаковы: цифровой последовательный битовый поток, передаваемый с использованием дифференциальных пар (обычно кодированных 8b / 10b), с некоторыми различиями в уровнях каналов / протоколов.
Почему так? Почему это стало стандартом?
Почему нет широко распространенных системных протоколов связи, в которых интенсивно используются некоторые передовые методы модуляции для лучшей скорости передачи символов? Я что-то пропустил? Это не вопрос «последовательный или параллельный», а вопрос «цифровая сигнализация или модулированный аналоговый»


7
Ну, какие есть альтернативы?
PlasmaHH

27
Ну, раньше было параллельно, но вам нужно много медных и очень широких кабелей.
Jeroen3

7
И это, конечно, как DDR работает до сих пор.
MSalters

10
И последовательный обогнал параллель для кабелей принтера и др., Когда электроника стала настолько дешевой, что последовательно-параллельный преобразователь был дешевле, чем проводной.
Hot Licks

4
Почему бы вам не предложить «некоторые продвинутые методы модуляции», чтобы мы могли понять, что вы имеете в виду, и сравнить с «последовательными битовыми потоками»?
Ale..chenski

Ответы:


30

Почему нет широко распространенных системных протоколов связи, в которых интенсивно используются некоторые передовые методы модуляции для лучшей скорости передачи символов?

Если базовое медное соединение между двумя точками поддерживает цифровую скорость передачи данных, которая превышает скорость передачи данных, необходимую для передачи «приложением», то зачем беспокоиться о чем-то еще, кроме стандартной дифференциальной высокоскоростной сигнализации?

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


Спасибо! Несмотря на то, что были действительно хорошие ответы, это то, что я искал!
Артемонстер

3
Простой вопрос требует простого ответа, но вы не можете остановить людей, желающих охватить больше вопросов, чем требовал первоначальный вопрос.
Энди ака

1
и это хорошо :) Я многому научился из других ответов, поскольку они были довольно информативными.
Артемонстер

68

Есть две основные причины возникновения серийного

1) Это возможно. Недорогие транзисторы способны управлять переключением ГГц уже десять лет, достаточно долго, чтобы их можно было использовать и стать стандартом.

2) Это необходимо. Если вы хотите сместить очень высокоскоростные данные более чем на несколько дюймов. Это расстояние начинает исключать соединения mobo с PCI-картой и определенно исключает mobo на жесткий диск или mobo / settopbox для отображения соединений.

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

Способ убить косого демона - это пойти серийно. Одна строка всегда синхронизируется с самим собой, с ней нечего перекосить. Линия несет данные, которые являются самоконтролируемыми. То есть использует схему кодирования данных (часто 8b / 10b, иногда намного выше), которая обеспечивает минимальную гарантированную плотность перехода, которая позволяет извлекать тактовые импульсы.

Перспектива увеличения скорости передачи данных или расстояния в будущем отличная. Каждое поколение приносит более быстрые транзисторы и больше опыта в создании среды. Мы увидели, как это работает с SATA, который начинался с 1,5 Гбит / с, затем двигался через 3 и теперь составляет 6 Гбит / с. Даже дешевые кабели могут обеспечить достаточно постоянный импеданс и разумные потери, а эквалайзеры встроены в интерфейсный кремний для обработки зависящих от частоты потерь. Оптическое волокно доступно для очень длинных пробегов.

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

Конечно, преимущество в ширине данных относится не только к кабелям и разъемам. Последовательность также улучшает область платы PCB между разъемами и микросхемой, разводкой микросхемы и микросхемой.

У меня есть личная точка зрения на это. Как дизайнер, работающий над программно-определяемым радио (SDR), начиная с 90-х годов, я обычно работал с такими людьми, как Analog Devices и Xilinx (и все другие компании АЦП и ПЛИС) (они время от времени посещали нас и спрашивали) заставив меня запустить так много параллельных дифференциальных соединений между мульти-100 МГц АЦП и ПЛИС, когда мы только начинали видеть появление SATA для замены ATA. Мы наконец-то получили JESD204x, так что теперь мы можем подключить конвертеры и ПЛИС только с несколькими последовательными линиями.


7
PCI Express 3 и 4 используют кодирование 128b / 130b.
Питер Смит

11
Какую Nb/(N+2)bноменклатуру люди используют здесь?
детально

17
@ детально, 8b / 10b , 64b / 66b - это обе формы кодирования строки . В контексте последовательной связи, кодирование строки необходимо для того, чтобы вы могли выполнять Clock-Recovery] ( en.wikipedia.org/wiki/Clock_recovery ).
Тревор Бойд Смит

4
@tolos - коэффициент скорости для большинства ароматов обычных материалов печатных плат составляет около 50% (6 дюймов / нс).
Питер Смит

4
@supercat - это именно то, как обрабатываются несколько полос, каждая полоса имеет свое независимое тактирование. Данные оформлены и распределены по всем дорожкам. Когда у получателя есть все кадры, он воздействует на данные. Это допускает перекос, связанный с длиной фрейма данных, который может быть равен нам или даже мс, как я уже сказал в своем ответе. Это означает количество линий в PCIe и то, как 2xHDMI обрабатываются на высокопроизводительном дисплее.
Neil_UK

24

Если вам нужен пример чего-то, что широко используется, но отличается, посмотрите на 1000BASE-T Gigabit Ethernet. При этом используются параллельные кабели и нетривиальное кодирование сигнала.

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


9
GbE был создан для того, чтобы вкладывать деньги в проблему передачи большего количества данных по огромным объемам существующей проводки Cat 5. Скорее всего, это не выглядело бы так, если бы был разработан новый интерфейс, не заботящийся о обратной совместимости. Насколько 10GbE не наносит серьезного ущерба в коммерческих / бытовых условиях, так как требует установки новой кабельной системы Cat 6a.
Барлиман

10GbE может по-прежнему работать на cat5e или cat5 в зависимости от длины и / или качества кабеля.
user3549596

12

Чтобы добавить к другим хорошим ответам:

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

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


4
Вероятно, лучшим примером высокоскоростной параллельной сигнализации является оперативная память, особенно в ПК.
Ян Дорняк

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

@JanDorniak, стоит отметить, что память DDR * имеет биты строба данных, используемые для синхронизации. Это позволяет разбить широкую шину на несколько меньших по размеру. Маршрутизировать несколько 8-битных параллельных шин проще, чем маршрутизировать одну 32-битную шину.
Калеб Рейстер

@CalebReister этого не знал. Тем не менее, это параллельно. Лично у меня была ситуация, когда современный ПК работал или не работал в зависимости от того, в какой слот был вставлен DDR4. Это закончилось как UEFI, заставляющий меньшую задержку, чем память была способна.
Ян Дорняк

11

Расширенные методы модуляции потребуют от вас передачи и приема аналоговых сигналов. АЦП и ЦАП, работающие на сотнях МГц, имеют тенденцию быть дорогими и потреблять немного энергии. Обработка сигналов, необходимая для декодирования, также является дорогостоящей с точки зрения кремния и мощности.

Просто дешевле сделать лучшую коммуникационную среду, которая может поддерживать двоичные сигналы.


1
хорошая точка зрения. спасибо за ответ :)
artemonster

8

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

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

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

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

Почему нет широко распространенных системных протоколов связи, в которых интенсивно используются некоторые передовые методы модуляции для лучшей скорости передачи символов?

На уровне кодирования схемы кодирования для цифровой связи могут быть такими же простыми, как NRZ (без возврата к нулю) , немного более сложным линейным кодом (например, 8B / 10B) или намного более сложным, например QAM (квадратурная амплитудная модуляция) .

Сложность увеличивает стоимость, но выбор также зависит от факторов, которые в конечном итоге зависят от теории информации и ограничений емкости канала. Закон Шеннона из теоремы Шеннона-Хартли описывает максимальную пропускную способность канала (представьте это как «соединение» или «связь»):

Максимальная емкость в битах / секунду = пропускная способность * Log2 (1 + сигнал / шум)

Для радиосвязи (что-то вроде LTE или WiFi) пропускная способность будет ограничена, часто в соответствии с правовыми нормами. В этих случаях QAM и аналогичные сложные протоколы могут использоваться для получения максимально возможной скорости передачи данных. В этих случаях отношение сигнал / шум часто довольно низкое (от 10 до 100 или в децибелах от 10 до 20 дБ). Он может подниматься настолько высоко, пока не будет достигнут верхний предел при заданной ширине полосы и соотношении сигнал / шум.

Для проводной линии пропускная способность не регулируется ничем, кроме практичности реализации. Проводные соединения могут иметь очень высокое отношение сигнал / шум, превышающее 1000 (30 дБ). Как упоминалось в других ответах, полоса пропускания ограничена конструкцией транзисторов, управляющих проводом и принимающим сигнал, а также конструкцией самого провода (линии передачи).

Когда полоса пропускания становится ограничивающим фактором, а отношение сигнал / шум - нет, разработчик находит другие способы увеличения скорости передачи данных. Экономическим решением становится переход на более сложную схему кодирования или на более проводную:

Вы действительно увидите последовательные / параллельные протоколы, используемые, когда один провод все еще слишком медленный. PCI-Express делает это, чтобы преодолеть ограничения полосы пропускания оборудования, используя несколько линий.

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


1
Хороший ответ. Мне действительно любопытно, может ли кто-то (или уже мог?) Сделать что-то вроде реализации 256-QAM на скоростях USB3 для действительно потрясающих скоростей передачи ...
mbrig

FWIW, оптоволоконный мир начинает разрабатывать и развертывать более сложные схемы модуляции. PAM-4 подходит для Ethernet 100 и 400 G, а телекоммуникационные системы (я верю, но это не моя область) начинают использовать когерентный QAM.
Фотон

но на самом деле, если SNR проводной линии настолько хорош, почему бы не выжать все возможные части пропускной способности? Зачем нажимать на частоты GHZ (со всеми соответствующими проблемами), где вы могли бы пойти намного медленнее и использовать некоторую модуляцию / кодирование. Разве это не было бы более удобно?
Артемонстер

Вы можете сделать это. Это становится экономическим решением.
Джим

1
QAM требует оператора связи, поэтому нет смысла делать что-либо, кроме PAM для цифрового сигнала «основной полосы». Он используется в оптической области, используя сам свет в качестве носителя. По меди вы бы просто создали радиоприемопередатчик. Это потребовало бы гораздо более высокоскоростных аналоговых схем, а также всей сложности и повышенного энергопотребления, которые с этим связаны. Сериализаторы и десериализаторы относительно просты в сравнении. ИМХО, мы с большей вероятностью увидим интегрированные кремниевые фотонные модуляторы и детекторы, чем перейдем к QAM по меди.
alex.forencich

1

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

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

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


Дорожки не должны быть идеально "выровнены". Современные многополосные интерфейсы используют более сложные методы выравнивания символов, чем идеально расположенные рядом.
Ale..chenski

1
Да, это то, что я сказал.
old_timer

1

Как дополнение к комментарию Дмитрия Григорьева .

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

Но затем вы сталкиваетесь с тем, что скорость ЦАП / АЦП зависит от точности. Если вам нужно, чтобы цифровые системы общались друг с другом, имеет смысл использовать цифровую передачу, так как вам не нужно много времени для перевода DA-AD.

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

Говоря об аналоговых модульных синтезаторах, они также являются своего рода аналоговыми компьютерами, специально разработанными для выполнения вызовов при изменении сигналов.

Таким образом, есть аналоговая передача в вычислениях, но ограниченная очень конкретными областями.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.