Чому цифрову послідовну передачу використовують скрізь? тобто SATA, PCIe, USB


47

Дивлячись на SATA, PCIe, USB, SD UHS-II, мені вразило, що вони всі однакові: цифровий послідовний бітовий потік, що передається за допомогою диференціальних пар (зазвичай 8b / 10b закодовані), з деякими відмінностями в шарах зв'язку / протоколу.
Чому так? Чому це стало стандартом?
Чому не існує широко розповсюджених протоколів системного зв’язку, які активно використовують деякі передові методи модуляції для кращої швидкості символів? Я щось пропускаю? Це не питання "серійного проти паралельного", а питання "цифрової сигналізації проти модульованого аналога"


7
Ну, які альтернативи є?
ПлазмаHH

27
Що ж, раніше було паралельно, але вам знадобиться багато мідних і дуже широких кабелів.
Jeroen3

7
І це, звичайно, як DDR працює і сьогодні.
MSalters

10
І серійний обігнав паралель для кабелів принтера та ін., Коли електроніка стала настільки дешевою, що послідовно-паралельний перетворювач був дешевшим за провід.
Гарячі лизи

4
Чому б вам не запропонувати "деякі передові методи модуляції", щоб ми могли зрозуміти, що ви маєте на увазі, і порівняти з "послідовними потоками бітів"?
Але..ченський

Відповіді:


30

Чому не існує широко розповсюджених системних протоколів зв'язку, які б активно використовували деякі передові методи модуляції для кращої швидкості символів?

Якщо основне мідне з'єднання між двома точками підтримує цифрову швидкість передачі бітів, яка перевищує швидкість передачі даних, необхідну для передачі "додатком", то навіщо турбуватися чим-небудь іншим, ніж стандартна диференціальна швидкісна сигналізація?

Застосування вдосконаленої схеми модуляції зазвичай виконується тоді, коли "канал" має пропускну здатність, набагато більш обмежену, ніж мідь або волокно.


Дякую! хоча були справді хороші відповіді, це я шукав!
артемонстер

3
Просте запитання вимагає простої відповіді, але ви не можете зупинити людей, які хочуть висвітлити більше, ніж те, що потрібно для початкового запитання.
Енді ака

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

68

Існує дві основні причини зростання серійності

1) Це можливо. Транзистори з низькими витратами змогли керувати комутацією ГГц вже десятиліття, досить довго, щоб можливість використовуватись і стати стандартною.

2) Це необхідно. Якщо ви хочете перенести дуже швидкі дані на кілька дюймів. Ця відстань починає виключати mobo на посиланнях на PCI-картки і, безумовно, виключає mobo на жорсткий диск або mobo / settopbox для відображення з'єднань.

Причиною цього є перекос. Якщо ви передаєте декілька паралельних сигналів по кабелю, вони повинні надходити протягом невеликої частки за той же годинний період. Це зменшує тактову частоту, тому ширина кабелю повинна збільшуватися. По мірі зростання швидкості передачі даних це стає все більш неприємним. Перспектива збільшення швидкості в майбутньому не існує, подвійної чи вчетверо ширини ATA у кого-небудь?

Шлях вбити косого демона - пройти серійно. Один рядок завжди синхронізований з самим собою, немає нічого, щоб його перекосити. У рядку є дані, які самостійно синхронізуються. Тобто використовується схема кодування даних (часто 8b / 10b, іноді набагато вища), яка забезпечує мінімальну гарантовану щільність переходу, яка дозволяє витягувати тактову частоту.

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

Для більшої швидкості передачі даних паралельно можуть працювати кілька послідовних каналів зв'язку. Це не те саме, що паралельно ставити провідники, які мають бути узгоджені в часі з меншим за тактовий цикл. Ці послідовні смуги повинні бути узгоджені лише в межах даних високого рівня, який може тривати µs або навіть ms.

Звичайно, перевага в ширині даних не стосується лише кабелів та роз'ємів. Також послідовно виграє область плати друкованої плати між роз'ємами та мікросхемою, роз'ємом мікросхем та областю кремнію.

У мене є особистий кут на це. Як дизайнер, що працює з програмним забезпеченням для радіо (SDR), починаючи з 90-х років, я працював на таких людях, як аналогові пристрої та Xilinx (і всі інші компанії АЦП та FPGA) (вони час від часу відвідували і запитували нас) змушуючи мене запускати стільки паралельних диференціальних з'єднань між багатоавтоматичними АЦП та 100 МГц, коли ми тільки починали бачити, як SATA з'являється на зміну ATA. Нарешті ми отримали JESD204x, тому тепер ми можемо підключити перетворювачі та FPGA лише з декількома послідовними лініями.


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

11
Для чого тут використовується Nb/(N+2)bноменклатура?
detly

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

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

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

24

Якщо ви хочете приклад чогось широко використовуваного, але іншого, подивіться на 1000BASE-T гігабітний Ethernet. Для цього використовуються паралельні кабелі та нетривіальне кодування сигналу.

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


9
GbE був створений за рахунок викидання грошей на проблему проштовхування більшої кількості даних через величезну кількість існуючих проводів Cat 5. Це, мабуть, не буде виглядати так, як це було б, якщо новий інтерфейс був розроблений без занепокоєння з приводу зворотної сумісності. См. Як 10GbE не робить серйозних посягань у комерційних / побутових налаштуваннях, оскільки це вимагає встановлення нового кабелю Cat 6a.
Barleyman

10GbE все ще може працювати на cat5e або cat5 залежно від довжини кабелю та / або якості.
користувач3549596

12

Щоб додати до інших тонких відповідей:

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

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


4
Напевно, найкращим прикладом високошвидкісної паралельної сигналізації є оперативна пам’ять, особливо на ПК.
Ян Дорняк

Відмінна відповідь, вказує безпосередньо на основну проблему синхронізації часу в просторових областях. Варто зазначити, що ви можете мати більше двох символів на послідовному посиланні, таким чином отримуючи певну користь від паралельних комунікацій, використовуючи модуляцію для кодування більшої кількості біт на бод
катастрофа

@JanDorniak, варто відзначити, що в пам'яті DDR * є біти стробоскопа даних, які використовуються для синхронізації. Це дозволяє розбити широку шину на кілька менших шин. Простіше маршрутизувати кілька 8-бітових паралельних шин, ніж прокласти одну 32-бітну шину.
Caleb Reister

@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 надходить для 100 і 400 Г Ethernet, а телекомунікаційні системи (я вважаю, але це не моє поле) починають використовувати когерентну QAM.
The Photon

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

Ви можете це зробити. Це стає економічним рішенням.
Джим

1
QAM вимагає оператора, тому не має сенсу робити щось, окрім PAM, для «базової смуги» цифрових. Він використовується в оптичній області, використовуючи світло як саме носій. Над міддю ви в основному просто побудуєте радіопередавач. Для цього знадобиться набагато більше швидкісних аналогових схем, а також всієї складності та збільшення споживання електроенергії, що поставляється із цим. Серіалізатори та десеріалізатори порівняно прості у порівнянні. IMHO, ми швидше бачимо інтегровані кремнієві фотонні модулятори та детектори, ніж переходимо на QAM через мідь.
alex.forencich

1

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

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

Вони навіть йдуть настільки далеко, що є паралельними, pcie, мережами тощо, але хоча це технічно багато окремих каналів даних, вони не є паралельними, тому що їм належить виїхати та приїхати одночасно, використовуючи аналогію вантажівки чотири вантажівки може їздити по чотирьох смугах приблизно паралельно, але може змінюватись, вантажівки позначаються тією смугою, якою вони прибули, так що, коли вони прибувають на інший кінець, корисні вантажі можуть бути об'єднані назад у початковий набір даних. І / або кожна смуга може бути одним набором даних послідовно, і, маючи більше смуг, ви можете переміщувати більше наборів даних одночасно.


Смуги не потрібно ідеально «вирівняти». Сучасні багатосмугові інтерфейси використовують більш досконалі методи вирівнювання символів, ніж ідеально поруч.
Але..ченський

1
Правильно, ось що я сказав.
old_timer

1

Як додаток до коментаря Дмитра Григор'єва .

Аналогова передача завжди більш схильна до помилок, ніж цифрова передача. Цифрова послідовна передача, наприклад, має тактовані фланги, де аналоговий сигнал якось плаває між 0 В і VDD. Тож перешкоди виявити набагато важче. Можна врахувати це та використовувати диференційовану сигналізацію, як це робиться в Audio.

Але потім ви стикаєтеся з цією швидкістю проти точності tradeof ЦАПів / АЦП. Якщо вам доводиться розмовляти між собою цифровими системами, є більш доцільним використовувати цифрову передачу, оскільки вам не потрібен певний час, який потребує перекладу DA-AD.

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

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

Отже, є аналогова передача в обчислювальній техніці, але обмежена дуже специфічними полями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.