Чому б не реалізувати 1Gbps, коли все, що мені потрібно, це 20Mbps?


27

Фон

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

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

Проблема

Клієнт питає мене, чому я вказую лише 20 Мбіт / с. Чому б не щось на зразок 1Gbps? Хіба це не було б краще? Інтуїтивно, я вважаю, що збільшити швидкість передачі даних значно перевищує необхідну - це погана ідея. Спочатку я думав, що кабелі потрібно буде екранувати (чого я не хочу), але дивлячись на категорії кабелів Ethernet, я бачу, що Gigabit Ethernet може працювати на кабелі Cat 6, який не потрібно екранувати.

Інші обмеження

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

Питання

Які проблеми, пов'язані з кремнієвим дизайном, підключенням кабелів та чим-небудь іншим, що може виникнути при 1 Гбіт / с, що не було б так само погано при 20 Мбіт / с? Чи варто звертатися за пропозицією мого клієнта до впровадження мережі зі швидкістю 1 Гбіт / с, або я наполягаю на впровадженні лише того, що потрібно?

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


3
Якщо програмі потрібна пропускна здатність 20 Мбіт / с, то, ймовірно, старіший стандарт на 100 Мбіт / с буде достатнім, враховуючи всі накладні та подібні. Тож питання зводиться до вартості впровадження, майбутньої наявності деталей. Ви перевіряли відповідні витрати? Крім того, що ви маєте на увазі "з точки зору кремнієвого дизайну"? Плануєте створити власний кремній?
Але..ченський

9
1 Гбіт / с може бути надлишковим ... 100 Мбіт / с може бути більш підходящим наступним кроком у швидкості .... якщо клієнт переймається питанням захисту пристрою в майбутньому, можливо, вивчіть використання стиснення даних ...... можливо, продемонструйте Клієнт, яка пропускна здатність даних досягається за допомогою 20 Мбіт / с ... покажіть їм відео на YouTube у форматі HD та поясніть, що пропускна здатність становить лише 8 Мбіт / с або
jsotola

12
Чому ви хочете "мережевий" протокол для з'єднання "точка-точка"?
The Photon

20
Створення "мережевого протоколу" з нуля не виглядає особливо мудрою ідеєю. Це може бути досить дорогим для розробки, реалізації фізичного рівня, перевірки фізичного рівня, потім рівня протоколу, усього пов'язаного програмного забезпечення та його перевірки тощо. Чи чули ви про HSIC, подібний USB через 1.2VLVCMOS?
Але..ченський

20
Будь ласка, зберіть демонстрацію зі 100-метровими мережевими мережевими мережами без магнетики, щоб демонструвати користувачеві та собі, що можна зробити зі стандартними частинами полиць. Не робіть власні кремнію, спеціальні протоколи, не розуміючи, чому стандартні не робитимуть.
Neil_UK

Відповіді:


24

Кілька причин:

Потужність

Більш швидка швидкість означає більше енергії. Мало того, що вам потрібні швидші аналогові схеми, які споживають більше енергії, і вся ваша електроніка, що їх оточує, повинна бути швидшою. Ваші цифрові системи, ваші засувки, управління годинником тощо. Якщо ви отримуєте ці 1 Гбіт / с за допомогою багаторівневої сигналізації, вам тепер потрібні кращі АЦП та ЦАП. Можливо, вам доведеться почати займатися більш складною фільтрацією. Ви можете почати вимагати FEC, який також повинен бути в курсі.

Розмір чіпа

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

Чутливість до навколишнього середовища

Якщо ви перейдете з декількох десятків мегабаудів на все, що потрібно для гігабіту, ви станете набагато чутливішими до навколишнього середовища. Невеликі невідповідності, які можуть бути непомітні на кількох десятках МГц, стають резонансними заглушками на більш високих частотах. Роздуми можуть почати спричиняти періодичну продуктивність. Низький кабель через зловживання протягом багатьох років (я не знаю середовища застосування для вашого продукту) може бути нормальним на низьких швидкостях, але може спричинити низьку продуктивність при підвищенні.

Проектні зусилля

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

ЕМІ

Більш швидка означає, що відповідати вимогам EMI може бути важче.


5
@Rocketmagnet: Також варто зазначити, що фактичний 802.3 1000Base-T gig-E через Cat5e надсилає сигнали в обох напрямках відразу по 4 парам проводів, а також за допомогою багаторівневого кодування, щоб зберегти частоти до однакових 125 МГц як 100Base-T . Отже, кожен приймач повинен відняти те, що надсилає його власний передавач, щоб отримати лише сигнал, що надсилається іншим кінцем.
Пітер Кордес

2
@PeterCordes - Це дуже цікаво, я вивчу це. Але це звучить як значно більша складність, ніж основні LVDS.
Rocketmagnet

2
@Rocketmagnet: так, GigE здається дуже поганим вибором для цього. Існує причина, що приймачі GigE використовують більше енергії, ніж 100 Мб.
Пітер Кордес

24

Сигнали TTL (однобічні, неперервані) можуть легко обробляти 20 Мбіт / с або більше - подивіться, наприклад, SPI. Якщо ви збираєтесь лише в декількох дюймах, стрічковий кабель та роз'єми IDC (або якась опорна планка) перейдуть на вас з плати на борт.

1 Гбіт / с поставить вас у сферу необхідності мати справу з керованими імпедансом слідами, роз'ємами та кабелями. Одержувачам потрібно буде використовувати методи PLL / DLL для підтримки синхронізації та розділення тактових даних / даних, тоді як при меншій швидкості нормальна синхронна логіка буде достатньою. Перевищення 50 × та додаткові головні болі просто не варті того, якщо ви впевнені, що 20 Мбіт / с вистачить на осяжне майбутнє.


Я колись розробив (25 років тому) звичайний протокол послідовної шини для управління платою на борт і стан серед дощок у стійці телекомунікацій. Сорт перехрестя між I 2 C і SPI - однонаправлені сигнали, такі як SPI, але вбудовані адреси пристроїв, як I 2 C.


Якщо припустити, що ми вже маємо намір використовувати сліди, кабелі та роз'єми, керовані імпедансом, чи є інші проблеми?
Rocketmagnet

1
Одержувачам потрібно буде використовувати методи PLL / DLL для підтримки синхронізації та розділення тактових даних / даних. При меншій швидкості буде достатньо нормальної синхронної логіки.
Трейд Дейва

10
Це залежить від деталей щодо вашої технології впровадження, які ви, ймовірно, не можете розкривати. Якщо ви використовуєте FPGA (як мається на увазі при використанні тегу), зауважте, що всі основні постачальники мають консервовані рішення для зв'язку між мікросхемою та мікросхемою з різною швидкістю. Будь-ласка, радимо використовувати це для свого фізичного рівня та над ним реалізувати власний протокол.
Трейд Дейв

1
Проектування блоку Pll не є тривіальним, а придбання IP може легко повернути вам $ 50-100k
Майк

1
@Tustique Ви думаєте, що створити свій власний PLL на кремнію тривіально?
користувач253751

14

Очевидне питання: "Чи означає 1 Гбіт / с 1000BASET Ethernet?" Якщо так думає замовник, то ваша вимога, щоб "ми не маємо місця для таких речей, як магнітика", правила це виключає відразу. Ethernet використовує магнітику на фізичному шарі, і коли я створив інтерфейс кілька років тому, магнетика була частиною приблизно 1 дюймового куба.

Ви кажете, що використовуєте FPGA, але не говорите, чиї. Якщо ви збираєтеся з Xilinx, вам слід пам’ятати, що нинішні моделі споконвічно підтримують LVDS, що може здатися ідеальним для вашої мети. Ранні системи LVDS (телевізори високої чіткості) працювали зі швидкістю 122 Мбіт / с, і ця технологія може перевершити Gbps, якщо вам це справді потрібно. Будучи різним і якщо припустити, що ваші дві дошки не використовують дико плаваючих майданчиків, захист від шуму відмінний.

Що стосується вашого конкретного вибору тактових частот, то додавання більшої кількості головної частини, ніж вам здається, вам є одним із тих рішень, які можуть зберегти ваш бекон у майбутньому, тому я не виключав би вибрати щось на кшталт 100 МГц, але це залежить від вас. Ви можете ознайомити свого клієнта із Законом Роберге (Джим Роберж був відомим професором електротехніки в MIT кілька десятиліть тому): "Ті, хто просить пропускну здатність більше, ніж потрібно, заслуговують на те, що вони отримують". Звичайно, він говорив про сервосистеми, але принцип залишається хорошим у надзвичайно широкому спектрі дисциплін.


7
Ethernet не потребує магнітики, якщо ви встановлюєте нестандартне з'єднання. Він досить надійний, якщо реалізується без ізоляції.
Джек Крісі

1
@JackCreasey, але чи можна все-таки називати це Ethernet ?
Мельс

2
Це, звичайно, не відповідає IEEE 802.3. Він не підключиться до сумісної кінцевої точки, але я сказав, що це буде невідповідним без магнетики. Сумніваюсь, він би пройшов тестовий набір для сигналів на підключенні на площині, але він повинен передавати все інше, включаючи тремтіння. Я б все-таки називав це Ethernet, але ви можете цього не робити.
Джек Крісі

2
FYI: єдиний результат Google для "Ті, хто просить пропускну здатність більше, ніж потрібно, заслуговують на те, що вони отримують". це відповідь.
користувач253751

11

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

Набагато частіше вам слід розглянути стандартний фізичний рівень, а потім побудувати підготований протокол поверх цього. Для пропускної здатності каналу чистих каналів 20 Мбіт / с ви повинні планувати накладні витрати протоколу на деяку суму, оскільки обрамлення, кодування перевірки помилок та синхронізація з'їдають частину вашої пропускної здатності. Тож, можливо, варто врахувати більш високу пропускну здатність, щоб пристосувати цей накладний покрив.

Після того, як ваш дизайн буде перевірений, ви можете перейти до постачальника FPGA і змусити його виготовити жорсткий дизайн мікросхеми з програмування FPGA. Такий підхід зменшує весь ризик раннього розвитку та знижує загальні витрати на НРЕ у величезній кількості за "занурення у спеціальний кремній лише тому, що це здається крутим".


Саме такий маршрут ми маємо намір пройти.
Rocketmagnet

11

Актуальне питання полягає в тому, навіщо проектувати протокол, коли все вже є.

Для рішень Ethenet ви берете 10/100, а не 1 Гбіт, тому що це все-таки трохи дешевше і набагато простіше в компонуванні. До речі, Ethernet може працювати без магнітів. Але для цього потрібен MAC, який може бути додатковим ІС. Або у вас є такий у мікроконтролері?

20 Мбіт / с - це щось, що відповідає Rs485 або такому шару, що ще дешевше і простіше. Кручені пари поставляються з різними кабелями, більш-менш гнучкими, з роз'ємами або просто припаяними до вашої плати.

Ах, найголовніше Простіше закрутити 1 Гбіт. Але якщо їм потрібно місце для подальшого зростання, це обмежує менше.

Підсумок: вам потрібно зрозуміти свої системні вимоги.


10

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

Ось для початку інформація з контролером Intel 8255 PCI-Ethernet та примітками про з'єднання без магніту.
Я не пропоную використовувати 8255, але ви можете отримати IP (10/100 / 1000Mbps) для будь-якого з FPGA, який ви, ймовірно, будете використовувати дуже легко, і це добре налагоджено.

Якщо припустити, що у вас сумісний процесор, підтримка стандартного контролера Ethernet - це дуже низький рівень програмних зусиль для впровадження мережі «точка-точка».
Ми використовували купу цього типу точкових підключень на спеціалізованих материнських платах в Intel, їх було легко налагодити і дуже надійно.


4
Хоча Ethernet міг би робити протокол, 100 Base ethernet вимагає мінімальної відстані в 1 метр (це трохи для мене кілька років тому, використовуючи Ethernet через реалізацію базової площини). ОП зазначила, що відстань становила кілька дюймів, що швидше виключає мережу на фізичному рівні.
Пітер Сміт

1
@PeterSmith, мінімальна відстань НЕ застосовується до Ethernet без магнітів. Це спрацює лише до декількох дюймів.
Джек Крісі

5

Відповіді тут технічні, я даю вимоги інженерної перспективи:

Мій погляд на це простий

  • Вам потрібно принаймні 20 Мбіт / с, щоб він працював, тому не вказуйте для програми 20, але "20 або більше".

  • будь-яке швидше обладнання також відповідає вашим вимогам

  • якщо швидше HW дешевше / простіше розробити через існуючі стандарти, то і ваші вимоги можуть бути виконані і цими.

  • Якщо клієнт хоче більше, спробуйте з’ясувати, чи є щось за цим (можливо, вони вже планують оновлення і хочуть залишатися сумісними між дошками під час заміни)


3

Харчування, цілісність сигналу та час. Я працював на чіпі з інтерфейсом 25 Гбіт / с, що означало тактову частоту 1,6 ГГц і тонну потужності. Якби ми могли працювати в 19,2, тактова частота становила б 1,2 ГГц. Більше ніж 200 пунктів додаткової націнки на час, це було б величезною допомогою.

Я ніколи не займався дизайном плати, але очікую, що 20 Мбіт / с це не проблема. 1 Гбіт / с все ще не так міцно, але набагато важче, ніж 20 Мбіт / с.

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