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

Соединение 2х устройств по UART

Есть два устройства на PICах, общаются друг с другом по длинной линии, вот так:

210601m.png

В принципе все понятно. на линии держится уровень ~5V, RXD - TriState, TXD - OpenDrain с внутренней подтяжкой (читал что на PIC-ах есть такой).

Блок питания у устройств общий (->общая земля), 5.6V для подтяжки на каждом с регулятора на стабилитроне.

 

Пытаюсь работать с Устройством №2 вместо Устройства №1. ARM, питание 3.3V, так-же стоит регулятор на 5V для всяких нужд.

Подключаюсь как на схеме №1, но добавив подтяжку на своем TXD (настроен на OpenDrain, но внутреннюю подтяжки нет). Ножки TXD и RXD - толерантные к 5V.

 

Читаю приходящие данные без проблем, уровни на линии нормальные.

Пишу данные. Уровни на линии - бардак. Пробовал разные подтяжки, от 4.7К до 270К - видно что данные в линию пишу, но с уровнями плохо (высокий уровень <5V), фронты заряда конденсатора появляются (при больших сопротивлениях подтяжки), Устройство №2 меня не понимает.

 

Что делаю не так?

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


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

Гость @Ark

Поясните, что такое в данном случае "длинная линия" и какова ее длина?

Откуда вы взяли такую схему подключения?

 

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


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

Что делаю не так?

Если конденсаторы поставлены за вроде гальваническую развязку, замените их на оптроны.

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


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

А не подскажите как правильно?

Уберите конденсаторы для начала.

Напряжения питания обоих устройств должно совпадать.

Подтяжку к линиям RX поставьте абы все равно какую, 2.7k.

 

Далее - длина линии.

Максимальная скорость передачи связана с длиной.

Пример, при уровнях +-12 вольт, скорость 9600, длина линии не более 15 метров. Это к примеру.

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


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

Ммм...

Устройства №1 и №2 фабричные, приведены кусочки схем. Это их штатное соединение. Подключиться могу только к желтым линиям (ну и земле, питанию).

Хочу работать с ними своим прибором. протокол отреверсил. Скорость 7800 8n1 (да да, именно такая), заявленная производителем длина линии до 50м (у этой пары устройств).

Питание у них общее, с одного БП.

Изменено пользователем asdus

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


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

Гость @Ark
Скорость 9600, заявленная производителем длина линии до 50м (у этой пары устройств).

Если не секрет, кто производитель сего "чуда техники"?

 

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


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

RXD - TriState, TXD - OpenDrain с внутренней подтяжкой (читал что на PIC-ах есть такой).

В PIC-ах RxD - вход с триггером Шмитта, TxD - обычный паш-пулл, пассивный уровень по умолчанию '1'.

Блок питания у устройств общий (->общая земля)

Извините, пропустил. К чему тогда конденсаторы?

Пишу данные. Уровни на линии - бардак. Пробовал разные подтяжки, от 4.7К до 270К - видно что данные в линию пишу, но с уровнями плохо (высокий уровень <5V), фронты заряда конденсатора появляются (при больших сопротивлениях подтяжки)

Чтобы оно просто работало, для 9600 и 100 нФ подтяжку TxD придётся сделать ~ 300 Ом. Проще, имхо, добавить неинвертирующий буфер с паш-пулл.

Чтобы оно работало на 50 м, даже и не знаю... Линия в экране?

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


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

Если не секрет, кто производитель сего "чуда техники"?
Фирма в Санкт-Петербурге, производство, ессно, Китай.

Фирма крупная, имеет филиалы в разных странах, устройства тоже достаточно известные :)

 

Извините, пропустил. К чему тогда конденсаторы?
Не знаю.

 

Чтобы оно просто работало, для 9600 и 100 нФ подтяжку TxD придётся сделать ~ 300 Ом. Проще, имхо, добавить неинвертирующий буфер с паш-пулл.

Чтобы оно работало на 50 м, даже и не знаю... Линия в экране?

У меня оно работает на 30 метров по стандартной витой паре, линии RX и TX в парах с землей.

Производителем описаны только максимальные длины линий (30м при 0.5мм^2, 50м при 0.8мм^2).

 

Все это неплохо у них работает. Читаю их устройства без проблем, писать в них не получается :(

Изменено пользователем asdus

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


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

Впервые вижу такое подключение по длинной линии (через конденсаторы). Здесь ничего сказать не могу. Настораживает, что линия не согласована - отсутствуют "терминаторы".

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


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

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

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

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

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

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

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

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

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

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