Чи можемо ми обчислити швидкість передачі даних зв'язку RS232 з вихідного сигналу TX?


10

Чи можемо ми обчислити швидкість передачі даних або швидкість зв'язку RS232 зв'язку з вихідного сигналу X?

Зображення нижче - вихідний сигнал зв'язку RS232. Я сфотографував цю фотографію з 0xaa, а проміжок часу між максимумами - 100.us.

Я чув, що частота зовнішнього генератора - 8 МГц. Чи можемо ми обчислити ставку передачі даних від цього?

Слідок осцилоскопа, що показує сигнал RS232


9
Я думаю, що ЕО повинен це знати F=1/T.
Євген Ш.

2
Я очікував, що це питання про виявлення швидкості передачі даних без знання даних, щоб полегшити конфігурацію, але це? @EugeneSh. більш ніж правильно - знання визначення частоти - це базові знання при роботі з електронікою.
NieDzejkob

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

Sigrok є відкритим кодом, правда? Як люди думають, що "частота здогадок" працює?
mckenzm

Відповіді:


21

Схоже, у вас приблизно 2,4 біт рази на поділ, що становить 250 мкс. Це ставить кожен бітовий час у 104 мкс. Інвертування, що дає 9,6 кБауд. Це одна зі стандартних норм боду, тому це звучить цілком правдоподібно.


12

Ваша область показує час у . Це може бути або встановлення курсорів, або ж автоматичне використання функції вимірювання в області застосування. Ви не кажете. У будь-якому випадку я погоджуюся з коментарем Оліна, що це близько 9600 біт / с, що є загальною швидкістю передачі бітів для зв'язку RS-232.100μs


Однак ваш власний коментар щодо зовнішньої тактової частоти, якщо це правда, стверджує, що точні 9600 bps навряд чи. не розподіляється рівномірно до 9600 bps.8MHz

Деякі інші думки:

  1. Якщо це дійсно бітна ширина , то вони перевищили допустиму різницю точності, дозволену для загальної швидкості 9600 bps. (Якщо вам потрібно побачити обчислення та думки за цією цифрою, дивіться цю сторінку Максима .) Якщо точність області застосування, яку ми приймаємо, є лише приблизною, то вона може не перевищувати вимог щодо точності. Незалежно від того, що ви добре знаєте, що вони існують. ± 2 %100μs±2%
  2. Цей сигнал явно не використовує напруги RS-232, але замість цього, можливо, ~ сигналізація.3.5V
  3. Цей сигнал використовує HI для MARK (у RS-232 MARK - це негативна напруга), тому це повинен бути логічний вихід на рівні мікро, а не RS-232 сигналізації.

Якщо ви знімете необхідний біт START і мінімальний одноразовий STOP, це, мабуть, принаймні сім бітових разів для даних:

введіть тут опис зображення

Вищенаведене тлумачиться 0x2A незалежно від витривалості, якщо я зверну увагу.

Однак це буде діаграма для восьми бітів даних:

введіть тут опис зображення

У цьому випадку інтерпретація буде або 0xAA, або 0x55, залежно від ендіанської природи потоку. Отже, це може представляти ваш 0xAA (маленький ендіан, який, на мою думку, є більш поширеним.)

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

Результати масштабу можна інтерпретувати як ще більші розміри серійних слів. Я бачив їх і раніше (9, найчастіше, як деякі ІМС підтримували його, але я навіть бачив 10, які раніше використовувалися.)

Без згоди важко бути впевненим.


Як бічна панель:

Я пам’ятаю дні, коли телетайпи рухалися від 5 біт до 6 біт (DTE початку 1960-х), саме в той час, коли було створено RS-232 в 1960 році, оскільки мій тато мав такий телетип, що сидів удома в приміщенні домашнього офісу. Шість розрядних комунікацій RS-232 фактично існували протягом певного періоду часу.

Кодування ASCII широко використовувалося в кінці 1960-х - початку 1970-х років і являє собою 7-бітове кодування. Для передачі даних RS-232 було дуже часто використовувати 7 біт даних.

Пізніше, коли комунікаційні ІС та мікроконтролери стали загальноприйнятими та 8-бітові розміри регістрів були широко доступні, RS-232 часто розширювались для передачі / прийому 8 біт одночасно.

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


Я думаю, що дані також можуть бути двома байтами 0x98 0xE6 на 19,200, розбиті як s00011001Ss01100111S [s = start S = stop]. Деякі символи, такі як "A" [0x41], генерують бітові візерунки, які неможливо створити жодною іншою швидкістю передачі (швидше за все, Хейз вибрав "A" в якості першого символу для послідовності тренувань в режимі автобаду), але вищевказаний зразок буде представляти собою дійсні два- послідовність байт при 19200 бод.
supercat

Раніше я був гордим власником механічної принтерної машини телетайпу. Це було повністю механічно та бігало у 60baud. Цілком механічний, якщо не рахувати соленоїди та синхронний двигун. Стартовий біт випустив зчеплення, і колесо селектора почало обертатися, і там все відбувалося послідовно після того, як розташувати друкуючу голівку і вистрілити молот. Це було так круто дивитись. Довелося залишити це позаду у Великобританії, коли я приїхав до Канади. Він був занадто важким для транспортування.
Trevor_G

Досить впевнений, що це одна з головних причин, але rs232 мав такі екстремальні напруги та струми приводу. Між ними нічого не було, просто кабель RS232 -> соленоїд.
Trevor_G

@supercat Так. Це також можна розділити за часом. Однак ці зміни починають доходити до того, що потрібна книга. Але ваша думка, безумовно, взята.
jonk

1
@Trevor Я ніколи не володів ним, але часто використовував KSR-35 (дуже вражаюча механічна машина на базі кулачка) та пізніші, набагато дешевші агрегати ASR-33 / KSR-33. Той, у кого був мій тато в нашому домі (до того, як він загинув у ДТП), не був жодним із них, але був більш раннім 6-бітовим кодовим пристроєм, подібним за розміром до ASR-33.
jonk

0

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

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


Якщо ви вибираєте сигнал і вимірюєте найменшу ширину, що зустрічається, для обчислення швидкості тривіально. Рано чи пізно за початковим бітом повинно слідувати знак "1".
mckenzm

0

Визначення швидкості передачі даних від сліду діапазону іноді, але не завжди можливо.

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

Якщо припустити 8-бітові дані та відсутність паритету, ваша форма сигналу може представляти один байт із бітовим періодом ~ 100ns, але він також може представляти два байти з бітовим періодом приблизно 50ns.

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