Максимальна довжина кабелю для 3.3 V сигналів UART


15

Я хотів би уникати використання перетворювачів RS-232 між двома мікроконтролерами на двох різних платах. З різних причин підтримуються тільки UART, наприклад, немає SPI або I2C, і я буду використовувати кабель CAT5E для гнізд RJ45 між платами. Швидкість передачі даних складе 115200bps, можливо, до 921600bps. Земля з'єднана разом із сигналами UART.

У той час як у мене зараз це працює на потрібні мені довжини, для моєї власної освіти є спосіб оцінити максимальну довжину кабелю, при якій це було б надійним?


Цей lammertbies.nl/comm/info/RS-232_specs.html може бути корисним "Якщо, наприклад, кабель UTP CAT-5 використовується із типовою ємністю 17 пФ / фут, максимально допустима довжина кабелю - 147 футів."
— кенні

3
Real RS232 має перепади напруги понад 10 Вольт між знаком і пробілом. А 147 футів - це лише 19200 бод. OP говорить про 3V3 UART та 115200 до 921600 бод: Це буде працювати лише з відносно короткими кабелями.
— Turbo J

2
Чи можу я запропонувати перекладачів RS422? Вони б набагато краще підходили до кабелів із крученою парою CAT5E.
— Turbo J

На жаль, не варіант.
— QuestionMan

У мене виникає питання: чому 422 трансівер не є варіантом?
— ДіБоско

Відповіді:


14

Єдиної безпечної відповіді немає. Це має багато спільного з довжиною кабелю, оточуючим електричним шумом та швидкістю ви хочете їхати. Ethernet використовує кабель CAT5 для передачі швидкості 10 Мбіт / с для найповільнішого виду, тому 1 Мбіт / с легко виконати, якщо вжити належних заходів безпеки . Зауважте, що за допомогою Ethernet кожен сигнал отримує свою виту пару, і кожна пара обережно припиняється при характерному опорі кабелю на кожному кінці. Кожна пара ведеться по-різному і інтерпретується по-різному, а також розроблена таким чином, що вона не може спричинити заземлення.

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

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


1
Тільки тому, що ви можете вийти на 145 м від Ethernet, це не означає, що ви отримаєте той самий сигнал від 3,3 В TTL-сигналу вниз по тому ж кабелю тільки тому, що ви використовуєте меншу швидкість передачі, див. Пояснення у моїй відповіді.
— Джейсон Морган

2
@Jason: Зауважте, що я не сказав, що ви хочете. Я сказав, що ви можете подорожувати на великі відстані, дотримуючись належних заходів обережності, таких як драйвери та приймачі диференціальних ліній та кінцеві кінці.
— Олін Латроп

3
@Olion: Ви, здається, заявляєте, що мова йде більше про характеристики кабелю, а не про те, що 3.3V TTL не проїде далеко вниз по ньому. Для мене це розуміється як пропозиція придбати хороший кабель, який ми обидва знаємо, що це неправильно.
— Джейсон Морган

7

Ethernet використовує диференціальну сигналізацію, сигнал TTL є однобічним.

Ethernet використовує попередній наголос, TTL - ні.

Ethernet - це поточний режим, TTL - режим напруги.

Ethernet використовує модуляційний модуль, який зменшує кількість ребер, можливо, TTL не може (стандартний ASYNC, безумовно, не робить)

Драйвер Ethernet і приймач мають імпеданс узгоджений з кабелем, якщо б ретельно не було розроблено, TTL не було б (і якби воно було, то це не було б TTL!)

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

З цих причин, саме тому, що ви можете отримати 145m з Ethernet на 1Gbps, це не означає, що ви отримаєте те саме (або навіть в 1000 разів менше) від 3.3V TTL-сигналу вниз по тому ж кабелю.

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


В ОП вже за 3 години до вашої відповіді було заявлено, що приймачі RS422 - це не варіант.
— tcrosley

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

2
Чому ти весь час називаєш його TTL? Назва говорить 3.3V, тому це точно не TTL. Привід TTL має дуже асиметричні можливості мийки / джерела, тоді як HCMOS - симетричний. Можна створити різницю у світі за допомогою кабелю.
— stevenvh

Що таке "попередній наголос"?
— м.Алін

Преемфаз - це техніка, де сила приводу (тобто вихідний опір) модулюється під час переданого імпульсу. Він використовується для компенсації ємнісних та індуктивних характеристик кабелю та магнетики, намагаючись подати кращі кращі якості на приймач.
— Джейсон Морган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.