USB замість RS232


13

RS232 не користується популярністю, як це було раніше, і в основному його замінював USB [ wikipedia ]. Такі проблеми, як зазначено в цьому питанні, також не допомагають його репутації.

Таким чином, у новому дизайні системи можна було б використовувати USB для передачі даних замість Serial Port. Однак все ще здається, що RS232 - це протокол послідовного зв'язку / порт вибору.

Чому так? Я розумію, що змінити стару техніку, яка працює з RS232, коштує дорого, але що заважає новим дизайнерам системи використовувати USB замість RS232?

Відповіді:


12

Принаймні на рівні мікроконтролера:

  1. Послідовні порти (як правило, TTL або LVTTL) як і раніше є найпоширенішим способом спілкування, оскільки більшість простих мікроконтролерів не мають USB-контролера.

    Наприклад, більшість 8-бітових мікроконтролерів AVR або PIC не мають USB, кілька 32-бітних мікроконтролерів ARM роблять, але всі вони зазвичай мають послідовний порт.

  2. Перетворення з послідовного зв'язку TTL / LVTTL в RS-232 вимагає "простого" перетворення на логічний рівень, що може бути здійснено за допомогою дуже дешевих ІС (MAX232 / MAX3232)

  3. Перетворення з послідовного зв'язку TTL / LVTTL на USB, коли у вашого мікроконтролера немає USB-контролера, як правило, потрібно використовувати трохи дорожчий ІС (FTDI), який не має жодних варіантів упаковки через отвір, лише поверхневе кріплення.

  4. Є кілька деталей щодо протоколу, на який слід звернути увагу при використанні USB-пристроїв взагалі, наприклад, поточний рівень, який він може вимагати від USB-хоста. З послідовними портами вам потрібно потурбуватися лише про 3 - 5 фіксованих параметрів, які мають бути узгодженими у вашій системі (боудрат, # стоп-бітів, парність тощо).


9

Простота, я здогадуюсь. Реалізація USB (мікросхеми та програмне забезпечення для драйверів) зазвичай складніша, ніж хороша RS232, яку можна знайти навіть у багатьох 8-бітових мікроконтролерах. Хоча USB має багато механізмів протоколу і призначений для роботи з багатьма учасниками по шині, з'єднання RS232 не має нічого з цього. Натомість, це "найсміливіша" форма можливої ​​передачі байтів по дроту.

Хоча Arduino і все більше поширення USB-серійних адаптерів показують, що USB зрештою стане таким домінуючим, як раніше RS232.


5

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

Як з'являються вимоги до більш високих швидкостей, я не здивуюся, якби RS-485 став більш поширеним через його дуже простий фізичний інтерфейс і високу (до 10 Мбіт / с) швидкість передачі даних.


4
  • Простота для дизайнерів обладнання та легке використання програмістів
  • Надійність
  • Добре відомий і підтримується в багатьох системах

Особливо в робототехніці, коли ми змушували використовувати USB замість RS232 (На наших нових ПК не було портів RS232). Ми стикалися з багатьма проблемами:

  1. Будь-яке відключення USB-розетки потребує стільки зусиль, щоб відновити систему. Іноді це призводить до поганої несправності системи, і нам довелося перезапустити ПК.

  2. Будь-який шок або небезпека роблять його відключеним від мережі.

  3. Занадто багато часу на програмування


2

Затримка зв'язку - ще одна причина, чому USB1.1 або USB2.0 не завжди є хорошою заміною для RS232. Дані на шині USB1.1 або USB2.0 відформатовані відповідно в 1мс або 125см кадрів, що змушує мінімально отримувати затримку передачі, рівну двом періодам кадру (часто більше на практиці). Це важливе значення для сучасного обладнання для ПК, яке зазвичай не має вбудованого порту RS232 і замість цього використовується перетворювач USB / RS232.

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