Можем ли мы рассчитать скорость передачи данных по RS232 из выходного сигнала TX?


10

Можем ли мы рассчитать скорость передачи данных или скорость передачи данных по RS232 из выходного сигнала X?

На рисунке ниже показан выходной сигнал связи RS232. Я сделал этот снимок с 0xaa, а промежуток времени между максимумами составляет 100.us.

Я слышал, что частота внешнего генератора составляет 8 МГц. Можем ли мы рассчитать скорость передачи из этого?

Кривая осциллографа, показывающая сигнал RS232


9
Я думаю, что EE должно знать это F=1/T.
Евгений Ш.

2
Я ожидал, что это будет вопрос об определении скорости передачи без знания данных, чтобы упростить настройку, но это? @EugeneSh. более чем правильно - знание определения частоты является базовым знанием при работе с электроникой.
NieDzejkob

1
Подсказка: если вас что-то смущает, заставьте свою машину для разработки высказать свое предположение о том, что, по вашему мнению, вы видите, и посмотрите, как это выглядит в области видимости в сравнении. Если не так, уточните свое предположение, чтобы приблизить их.
Крис Страттон

Sigrok с открытым исходным кодом, верно? Как люди думают, что «угадать частоту» работает?
Маккензм

Ответы:


21

Похоже, у вас около 2,4 бит раз на деление, что составляет 250 мкс. Это ставит каждый бит на 104 мкс. Инвертирование дает 9,6 кБод. Это одна из стандартных скоростей, поэтому это звучит вполне правдоподобно.


12

Ваша область показывает время в . Это может быть либо установка курсоров, либо автоматическое использование функции меры в области. Вы не говорите. В любом случае, я согласен с замечанием Олина о том, что это близко к 9600 бит / с, что является обычной скоростью передачи данных для связи RS-232.100μs


Тем не менее, ваш собственный комментарий о внешней тактовой частоте, если это правда, будет утверждать, что точные 9600 бит / с маловероятны. не делится равномерно до 9600 бит / с.8MHz

Некоторые другие мысли:

  1. Если это действительно ширина , то они превысили допустимое отклонение точности допустимое для общей скорости 9600 бит / с. (Если вам нужно увидеть расчеты и соображения, лежащие в основе этого рисунка, см. Эту страницу Maxim .) Если точность принятого нами объема является приблизительной, то она не может превышать требования к точности. Несмотря на это, это хорошая идея, что вы знаете, что они существуют. ± 2 %100μs±2%
  2. Этот сигнал явно не использует напряжения RS-232, но, возможно, использует ~ сигнализацию.3.5V
  3. Этот сигнал использует HI для МАРКА (в RS-232 МАРКА - это отрицательное напряжение), поэтому это должен быть выход логического уровня от микро, а не сигнализация RS-232.

Если вы уберете требуемый бит START и минимальный однобитовый STOP, это означает, что для данных осталось, по крайней мере, семь оставшихся битов:

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

Выше было бы интерпретировано 0x2A независимо от порядка байтов, если я обращаю внимание.

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

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

В этом случае интерпретация будет либо 0xAA, либо 0x55, в зависимости от порядка байтов потока. Так что это может представлять ваш 0xAA (little-endian, который, я считаю, более распространен)

Как видите, передатчик и приемник должны априори согласовывать количество битов данных и их порядковый номер.

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

Без соглашения трудно быть уверенным.


В качестве боковой панели:

Я помню дни, когда телетайпы переходили от 5 бит к 6 битам (DTE начала 1960-х), в то время, когда в 1960 году был создан RS-232, поскольку у моего отца был такой телетайп, сидящий дома в помещении домашнего офиса. Шесть битов связи 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» в качестве первого символа для последовательности обучения автоматической передачи), но приведенный выше шаблон будет представлять действительные два последовательность байтов на 19 200 бод.
суперкат

Раньше я был счастливым владельцем механического телетайпного принтера. Он был полностью механическим и работал на скорости 60 бод. Ну, полностью механический, если не считать соленоиды и синхронный двигатель. Стартовый бит высвободил сцепление, и селекторное колесо начало вращаться, и после этого все происходило последовательно, чтобы установить печатающую головку и запустить молот. Было так круто смотреть. Мне пришлось оставить его в Великобритании, когда я приехал в Канаду. Это было слишком тяжело грузить.
Trevor_G

Я уверен, что это одна из главных причин, по которой у rs232 были такие экстремальные напряжения и токи привода. Между ними ничего не было, только кабель RS232 -> соленоид.
Trevor_G

@supercat Да. Это можно разделить по времени. Эти вариации начинают доходить до того места, где требуется книга. Но ваша точка зрения, безусловно, принята.
Йонк

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

0

Если это для микроконтроллера, невозможно определить скорость передачи данных из его генератора, но кристалл 8 МГц определенно способен создать 9600 бод.

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


Если вы сэмплируете сигнал и измерите наименьшую ширину, с которой вы столкнетесь, рассчитать скорость будет тривиально. Рано или поздно стартовый бит должен следовать за «1».
Маккензм

0

Определение скорости передачи данных из трассировки объема иногда, но не всегда, возможно.

Скорость в бодах является обратной величиной битового периода, но сигнал может оставаться в одном и том же состоянии в течение многих битовых периодов, поэтому вы не всегда можете однозначно определить битовый период по трассе области.

Предполагая 8-битные данные без четности, ваша форма сигнала может представлять один байт с периодом бита ~ 100 нс, но она также может представлять два байта с периодом бита около 50 нс.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.