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

RS232-UART

Чт фев 28, 2019 12:38:42

Есть такой прибор ВКТ7 для учета количества тепла для многоквартирных домов. И есть пульт НП4А который служит для снятия показаний с ВКТ7 по протоколу RS232. Используются в этом протоколе практически все выводы.

Пульт имеет COM (мама)
2 TxD используется пультом для передачи данных в ВКТ7
3 RxD используется пультом для приема архива с показаниями от ВКТ7
5 GND общий вывод
6 готовность Хоста (пульта)
7 готовность Ведомого (ВКТ7) к передаче данных
8 готовность Хоста (пульта) к приему данных от ВКТ7
9 Вроде как есть но работает и без него.

Пульт не работает если не подключены выводы 6,7,8 так как они нужны пульту для определения того что ВКТ7 готов в передаче архива. И соответственно не может отправить ВКТ7 данные о своей готовности их принять. Соответственно задумка передавать по bluetooth с помощью китайского передатчика по uart ломается так как он не может передавать сервисные сигналы. Но есть мысль и у меня собственно вопрос. А можно ли сделать так что бы по uart передавать сервисные сигналы в закодированном виде что бы контроллер их не пропускал в ВКТ7 а подключал определенные выводы на другой стороне о готовности хоста к приему данных?

Re: RS232-UART

Чт фев 28, 2019 13:33:34

Изображение

Re: RS232-UART

Чт фев 28, 2019 13:45:43

Это всего лишь "нуль-модемный" кабель.
Хорошо еще ежли устройства просто поочередно обмениваются массивами данных.
Ежли применяется какая-либо процедура запрос-ответов то без соответствующей программы в ПК
(или в самодельном беспроводном модеме) не обойтись.
Сервисные сигналы должен генерировать приемопередатчик беспроводного модема для своей
комфортной работы (притормаживание потока данных на время обработки по радиоканалу).
:roll:

Re: RS232-UART

Чт фев 28, 2019 14:11:53

Все эти сервисные сигналы давно известны. DCD (обнаружен носитель данных) и RI (обнаружен входящий звонок) - чисто модемные и никакого отношения к описываемому устройству не имеют. DTR/DSR (готовность приемника/передатчика) для синхронизации не используется. Синхронизацию обеспечивают CTS/RTS (готовность к приему/передаче данных). Данная проблема решаема выбором скорости обмена такой, чтобы приемник всегда успевал обрабатывать передаваемые ему данные и не запрашивал паузу в передаче, дергая RTS.
В описанной же ТС ситуации, шансы на то, что приемник будет сбрасывать RTS ничтожны. Смысл в этом сигнале так же больше модемный, когда скорость обмена модема с компьютером выше, чем скорость соединения этого модема с удаленным модемом, или же в случае ретрейнов при передаче данных.
Иными словами, даю 99% на то, что если не пытаться соединять данные устройства на 115200, а ограничиться скромными 9600/19200, то нульмодемный вариант окажется полностью работоспособен. Не первый раз я так цепляюсь к RS232 )

Кстати вот: https://vrn-gkh.ru/archives/377

Re: RS232-UART

Чт фев 28, 2019 14:25:12

Ежли применяется какая-либо процедура запрос-ответов то без соответствующей программы в ПК
(или в самодельном беспроводном модеме) не обойтись.

Имхо. Не только на компе, но и на ответном устройстве должна быть зашита микропрограмма.

Re: RS232-UART

Чт фев 28, 2019 16:56:39

Скорость приемника и передатчика одинаковые. 19200. Если будут разные то соединения не будет вообще. Пульт напишет что нет соединения. Как я понимаю пульт при подключении к вкт7 по команде посылает сигнал по линии TxD. Потом вкт7 отправляет данные о архиве(время с которого по которое можно снять показания). Далее после подтверждения следует передача архива от вкт 7. А вот какие сигналы он куда посылает по сервисным проводам не понятно.

DSR и CTS выводы соединены вместе и идут по проводу в пульт. Я пробовал соединять все три провода DSR CTS RTS но все равно не заработало. Попробую нуль модемный кабель. Посмотрю что будет.Изображение
Вложения
Cable_NP-4A.png
(19.42 KiB) Скачиваний: 1624

Re: RS232-UART

Пт мар 01, 2019 10:01:24

Ссыль на ресурс с программами ПростоНуб ранее выкладывал.
Однако та страничка для КАБЕЛЬНОГО подключения.
У Вас вариант беспроводной дистанционки - посему более подходящим будет вот это
https://vrn-gkh.ru/archives/382
и далее вся инфа касательно модемного варианта.
8)

Re: RS232-UART

Пт мар 01, 2019 10:32:06

DSR и CTS выводы соединены вместе и идут по проводу в пульт. Я пробовал соединять все три провода DSR CTS RTS но все равно не заработало.

Удивительно, если бы заработало. Соединять надо CTS c RTS (7-8) и DSR c DTR (4-6) по отдельности.

Re: RS232-UART

Пт мар 01, 2019 12:44:20

Модем где ж столько их штук набраться. Так было бы проще поставить интернет модуль или gsm модем. Но это же дорого очень.

Присмотритесь к схеме что я выложил. 6 и 8 выводы соединены вместе и подписаны как RTS. Хотя вроде бы вывод 7 RTS. Или я уже запутался

Re: RS232-UART

Пт мар 01, 2019 12:57:58

Так принцип что с модемом, что с иным беспроводным /локально-сетевым модулем ОДИНАКОВ.
Просто вместо модема по такому же варианту подключения добавляется собственный модуль.
А от второго модуля подаются данные на ПК.
Вот и покопайтесь в протоколах/сигналах.
:roll:

Re: RS232-UART

Сб мар 09, 2019 16:05:07

Для своего эксперимента я заказал в Китае модули hc-12. Что бы организовать прием передачу архива на расстоянии. Но так как изучив работу пульта выяснилось что пульт использует пять проводников RxD TxD RTS CTS и GND то мысль пришла такая. Нужно разработать на МК фильтр данных. А команды RTS передавать в эфир в виде кода ascii. Три байта. После чего МК должен будет отфильтровать эту посылку программно. Подключить нужный вывод на непродолжительное время. И не пропустить не нужные данные в пульт. Ну по крайней мере вчера я поизучал регистры uart и как с ними можно было бы работать

Re: RS232-UART

Вс мар 31, 2019 22:45:07

DSR и CTS выводы соединены вместе и идут по проводу в пульт. Я пробовал соединять все три провода DSR CTS RTS но все равно не заработало.

Удивительно, если бы заработало. Соединять надо CTS c RTS (7-8) и DSR c DTR (4-6) по отдельности.


Проблема в том что соединить в тепловычислителе данные выводы не совсем возможно. Так как он опломбирован. Единственное это сделать переходник в котором соединить нужные выводы. Тогда может и сработает.

Передатчики пришли. Изучаю сейчас как и после чего пульт готов к приему а тепловычислитель к передачи. Смог вывести информацию которую пульт отсылает ВКТ. Скоро и преобразователи на max232 придут. Буду делать

Re: RS232-UART

Вт апр 02, 2019 11:57:28

Передатчики изучены и настроены. Я через ардуину с компьютера отправлял данные на собранное мной устройство. Устройство имеет LCD экран и построен на атмеге 8. На LCD высвечивается 16 байт текста, количество пришедших байт, и сам байт в 16-ричном виде. Я смог перехватить посылки на запрос архива ВКТ7. Но пока еще не пробовал будет ли работать передача без RTS CTS. Сегодня возможно буду проводить эксперимент

Re: RS232-UART

Вт апр 02, 2019 12:53:07

В крайнем случае, можно использовать USB, кабель и компьютер с таким адаптером.
Если уж очень хочется bluetooth, тогда или самому программировать ESP32, или покупать дорогие bluetooth<->RS232 с hardware flow control.
Хотя мне всегда удавалось обходиться без CTS/RTS, или понижая скорость, или делая паузы между посылаемыми устройству байтами (чтобы успевал их переваривать). А вот чтобы современное устройство не успевало даже на 115200 принимать данные - это уже нонсенс.

Re: RS232-UART

Ср апр 03, 2019 11:01:01

Знаете я снял с вкт интерфейс RS232. Но к самому вкт там идет четыре дорожки. Я его хорошенько посмотрю и поставлю схему. Скорее всего некоторые линии идут просто для питания опто-пар и не более.

Re: RS232-UART

Пт апр 05, 2019 10:01:44

Изображение
Такая вот вырисовалась схема. Это просто uart. Теперь можно не волнуясь делать uart передатчик. На самом деле передатчик модуль hc 12. И если на каждом тепловычислителе будет стоять hc 12 то у меня будет каша из архивов. Нужно делать устройство адресации и присваивать каждому устройству свой адрес. А по завершению приема отключать передатчик. Вот это уже интереснее

Где то вычитал что на ножке RST должно быть не менее 9 вольт. А пульт выдает 13 вольт. Это между RST и GND

Re: RS232-UART

Вт апр 09, 2019 15:43:13

Изображение

Набросал такую схему. Это приемник со стороны тепловычислителя. С ведущего устройства отправляется определенный набор символов(адрес). Затем контроллер тини13 подает питание от max 232 через RTS на интерфейс вычислителя просадив напряжение на пине. Потом соединяет hc12 и max232 просадив порт. Ключами выступит логика. По завершению приема нужно отправить определенный набор символов что бы Тини 13 отключил питание и закрыл ключи.

Вроде все не сложно. Но проблема с программным uart и тем как сравнивать значение адреса и т.д. даже не знаю как сделать пока что
Ответить