Jump to content

    

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
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

Edited by MW_Юрий

Share this post


Link to post
Share on other sites
2 часа назад, MW_Юрий сказал:

 

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

Share this post


Link to post
Share on other sites
2 hours ago, MW_Юрий said:

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

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

Share this post


Link to post
Share on other sites
10 часов назад, MW_Юрий сказал:

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

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

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

Share this post


Link to post
Share on other sites
В 31.08.2019 в 18:02, MW_Юрий сказал:

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

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

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

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

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

 

 

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

Share this post


Link to post
Share on other sites
14 hours ago, Plain said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

 

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

Share this post


Link to post
Share on other sites
6 минут назад, Plain сказал:

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

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

Share this post


Link to post
Share on other sites
24 minutes ago, Plain said:

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

 

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

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

Share this post


Link to post
Share on other sites
1 час назад, MW_Юрий сказал:

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

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

Share this post


Link to post
Share on other sites
1 hour ago, Сергей Борщ said:

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

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

Share this post


Link to post
Share on other sites
1 hour ago, Сергей Борщ said:

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

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

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

 

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

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

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

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

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

 

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

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

Share this post


Link to post
Share on other sites
1 час назад, Сергей Борщ сказал:

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

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this