Перейти к содержанию
    

Передача-прием произвольной последовательности импульсов через RS232

Я пока рассматриваю RS232, но может лучше какой другой интерфейс. Есть импульс произвольной длительности. Из таких импульсов формируется непрерывный поток. Есть передатчик с RS232 и приемник с RS232. Возможно ли с помощью протокола RS232 передать и принять один в один  такие импульсы. Дополнительно приемник должен принимать только импульсы "своего" передатчика (передатчиков мешающих может быть много). Но это второй вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS232 это просто физический стандарт передачи данных , где "1" - кодируется положительным уровнем напряжения а "0" отрицательным уровнем напряжения. Я не знаю почему вам нужен именно RS232 , но обычно они довольно низкочастотны . А у вас есть "импульс произвольной длительности" , насколько произвольной?

В рамках своей полосы пропускания драйверы физического уровня RS232 не влияют на длительности импульсов или их форму или их комбинацию.

Как физически можно различить импульсы "своего" передатчика от "несвоего" , непонятно так как все импульсы прошедшие через драйверы RS232 будут одинаковы по амплитуде , возможно вы их хотите сортировать по длительности?

Было бы здорово, если вы приведёте точные параметры ваших сигналов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, Lmx2315 said:

RS232 это просто физический стандарт передачи данных , где "1" - кодируется положительным уровнем напряжения а "0" отрицательным уровнем напряжения. Я не знаю почему вам нужен именно RS232 , но обычно они довольно низкочастотны . А у вас есть "импульс произвольной длительности" , насколько произвольной?

В рамках своей полосы пропускания драйверы физического уровня RS232 не влияют на длительности импульсов или их форму или их комбинацию.

Как физически можно различить импульсы "своего" передатчика от "несвоего" , непонятно так как все импульсы прошедшие через драйверы RS232 будут одинаковы по амплитуде , возможно вы их хотите сортировать по длительности?

Было бы здорово, если вы приведёте точные параметры ваших сигналов.

Почему RS232? Передача ведется через радиоканал, а в приемо передатчике основной внешний порт RS232. Есть SPI и I2C. Но там уже Clock... Скорость передачи по RS232 стандартная 38400 или больше-меньше достаточно с запасом. А Вот с импульсами проблема. Частота может меняться от 0 до 20кГц. От 0 значит все биты по RS нулевые. По картинкам ниже длительность менять произвольно вроде можно, длинный сигнал разбивается на логические меандры и передается как много нулей или единиц. Кто формирует центральный синхросигнал (стрелки) не знаю, но кто то эти занимается. Наверно программно протокол в зависимости от установленной скорости передачи. Как понимаю оба порта передатчик и приемник должны программироваться строго на одинаковый Boud Rate для обеспечения той самой синхронизации. Поскольку я физически не лазил в сом порт никогда и тем более программно я возможно не правильно что то толкую и есть тонкости, которые не позволят вот так запросто передавать то что описал.

 

Вот еще забыл как вообще COM порт понимает фрейм. Если просто поступает на его вход поток импульсов разных. Он что схватит любой нуль назовет его старт битом, затем сформирует из последующих биты данных и опять схватит последнюю положительную ступеньку и назовет его стоп битом и далее все автоматом повторяется? А CRC здесь есть такое понятие?

RS232.png

RS232-Voltage-Levels.jpg

Изменено пользователем MW_Юрий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, MW_Юрий сказал:

 

Значит вы говорите про логический формат протокола. При работе по логическому протоколу надо двум сторонам договариваться о скорости и формате обмена. Никто третий не может вмешиваться в процесс передачи данных между этими двумя. На вашей картинке весь его формат вообщем разобран, так он и работает. Он простой и смотрит на мир по простому - если он ждёт стартовый бит и увидел у себя на входе что-то похожее , значит он начнёт отсчёт байта от него , если в конце не будет стопового бита , он детектирует ошибку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, MW_Юрий said:

Он что схватит любой нуль назовет его старт битом, затем сформирует из последующих биты данных и опять схватит последнюю положительную ступеньку и назовет его стоп битом и далее все автоматом повторяется? А CRC здесь есть такое понятие?

Да, засинхронизируется по первому попавшемуся нулевому импульсу подходящей длительности. CRC - понятие для уровня выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, MW_Юрий сказал:

Почему RS232? Передача ведется через радиоканал, а в приемо передатчике основной внешний порт RS232. Есть SPI и I2C. Но там уже Clock...

Вот по SPI и принимать, только clock сформировать в 4-16 раз больше скорости передачи.

А вот что дальше с полученной последовательностью делать зависит от того, что за импульсы вы собираетесь принимать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 31.08.2019 в 18:02, MW_Юрий сказал:

импульс произвольной длительности

11 часов назад, MW_Юрий сказал:

Частота может меняться от 0 до 20кГц

11 часов назад, MW_Юрий сказал:

RS232 стандартная 38400 ... достаточно с запасом

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, Plain said:

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

Старшие товарищи объяснили тупиковость этого решения. Ну во первых как минимум надо врезаться в поток и хочешь не хочешь сформировать фрейм. Если стартовый бит можно брать из текущего потока, то без стоповой единицы никак, а значит врезаться в диаграмму потока. Ну и далее утверждение такое. Если RS интерфейс использовать  не стандартно, то ничего работать не будет. Хорошо согласен, а нужно решение дубовое, чтобы сделал и забыл. Поэтому предлагается на базе примитивного микроконтроллера разработать таймер, который поток перелапатит в стандартный под RS232. Далее он поступает в радиотрансивер с RS232, передается и принимается радио приемником, у которого тоже RS и этим таймером восстанавливается и на выходе ресивера и надо увидеть диаграмму полный аналог исходной. Говорят, что это примитивное устройство. Ну собственно предварительно есть желание найти человека, который реализует такую примочку. Но в объеме- схема, РСВ под мой конструктив, изготовление сборка (это моя работа), написание прошивки, прошивка, тестирование на первом этапе не через радио, а например по проводам, может если успею, то через радио. Ограничение радио- максимальный бит рейт COM порта 128 Кбит. В раздел работы не пишу, т.к. еще рано, а найти желающего взяться и все оговорить как раз время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, приходится повторять:

В 31.08.2019 в 18:02, MW_Юрий сказал:

импульс произвольной длительности

В 01.09.2019 в 09:00, MW_Юрий сказал:

Частота может меняться от 0 до 20кГц

 

 

Потенциальным исполнителям, по причине продолжающейся неозвученности, всё ещё неизвестна требуемая точность измерения ни первого, ни второго, а потому, задача по-прежнему нерешаема. Особливо с частотой весело, потому что для измерения бесконечно малой частоты требуется измеритель бесконечной разрядности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, Plain сказал:

для измерения бесконечно малой частоты требуется измеритель бесконечной разрядности.

И требует это бесконечного времени...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, Plain said:

К сожалению, приходится повторять:

 

Потенциальным исполнителям, по причине продолжающейся неозвученности, всё ещё неизвестна требуемая точность измерения ни первого, ни второго, а потому, задача по-прежнему нерешаема. Особливо с частотой весело, потому что для измерения бесконечно малой частоты требуется измеритель бесконечной разрядности.

Устроит точность, которую Вы сами определите с учетом ограничения COM 128КГц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, MW_Юрий сказал:

как минимум надо врезаться в поток и хочешь не хочешь сформировать фрейм. Если стартовый бит можно брать из текущего потока, то без стоповой единицы никак, а значит врезаться в диаграмму потока. Ну и далее утверждение такое. Если RS интерфейс использовать  не стандартно, то ничего работать не будет

Кто-нибудь хоть что-нибудь из этого понял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Сергей Борщ said:

Кто-нибудь хоть что-нибудь из этого понял?

Всем понятно. Прочтите о чем идет речь Выше. Но если Вы докажите, что нет проблем и можно все решать в лоб, то круто. А так обсуждение этого решения снято и второй вариант интересует- таймер на МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Сергей Борщ said:

Кто-нибудь хоть что-нибудь из этого понял?

Нет. Это поток сознания.

Так всегда бывает когда заказчик вместо точного описания задачи - сумбурно описывает своё виденье решения.

 

Что касаемо задачи если она

1 передать КМОП 3.3В меандр с меняющейся скважностью и частотой через радиоканал

2 частота не выше 20кГц

3 интерфейс радиоканала - RS232 128кБит

4 доп опция - одни пары передатчик-приёмник не понимают другие пары передатчик-приёмник

 

то эта задача осуществима как на МК так и на CPLD\FPGA

цена не озвучена - но по компонентам - ниже $30 мне не придумать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Сергей Борщ сказал:

Кто-нибудь хоть что-нибудь из этого понял?

Напоминает бессвязное бормотание человека во сне. Отдельные слова - понятны, но в целом - смысл отсутствует.  :unknw:

 

PS: Ждём когда "старшие товарищи" помогут изложить мысли связно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...