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

хочу по витой паре передавать до 100 метров данные

Чтобы на дальнем конце МК безо всяких Eth мог принять несколько байт, что- то обратно переслать. т.е. RX TX полноценный сделать. Что- то может из готового использовать? SPI читал, не тянет дальность, I2C тоже. 1-wire? Может проще свое что-то сделать? Скорость не нужна, в принципе. Кто- нибудь сталкивался?

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


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

Скорость какая? Хотя, если i2c устраивает, то RS485 в качестве интерфейса скорее всего подойдёт.

Протокол зависит от задачи. Принять несколько байт - не задача. Задача - это то, для чего эти несколько байт передаются, как они будут использоваться, насколько это должно быть надёжно. Балансный или небалансный канал связи, и т.д.

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

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


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

Если скорость никакая, то физика RS485 хорошо ложится, если пара одна, то особенно хорошо. Далее UART и над ним надо добавить протокол переключения направления. Это уже зависит от того, что и как Вам требуется передавать. Проще всего, если один прибор главный, передает условно команду, другой принимает и передает что-то в ответ. Разруливать все на таймаутах. Хуже, если оба могут в произвольный момент времени что-то захотеть передать друг-другу.

 

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


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

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

Это не хуже. Это просто надо решить. Точнее даже выбрать протокол, в котором это решение уже есть и реализовать. В общем, тривиальная инженерная задача.

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


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

Хуже было сказано в том смысле, что либо там непредсказуемое время установления связи, либо устройства непрерывно занимаются синхронизацией. Если им, конечно, больше нечего делать - тогда это не проблема, а если процессор и так занят под завязку... Но это пусть уже ТС решает,что ему нужно.

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


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

Пробую для себя на даче сделать освещение умное. Т.е. один проц, он имеет одну общую шину, на которой висят до 100 девайсов. Мастер может послать команду кому- нибудь включить свет. Тот должен ответить ОК. Может спросить датчик о состоянии. Получить ответ. Если где-то включили выключатель, он шлет команду, что его включили. На смартфоне должно загореться включено. Если два одновременно включили- как бы они не забодались на одной шине?

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


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

один проц, он имеет одну общую шину, на которой висят до 100 девайсов

...

как бы они не забодались на одной шине?

адресация на такой шине очень полезна, и никакой "демократии" - вопросы должен задавать только мастер :laughing:

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


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

Т.е. один проц, он имеет одну общую шину, на которой висят до 100 девайсов.

 

Типовая задача для пром. автоматики. Так что RS-485 + MODBUS (или свой аналог).

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


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

Да, RS-485 через UART для такой задачи будет самое то. Именно один мастер и много слейвов. Без адресации тут вообще никак.

И когда будете подбирать драйвера RS-485, имейте ввиду, что стандартный драйвер имеет входное сопротивление 12 кОм и рассчитан на 32 устройства на шине. Так что ищите драйвера с высоким сопротивлением, чтобы можно было подключать 128 или 256 устройств.

И скорость при 100 метрах большую не делайте, не более 19200, а лучше еще меньше.

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


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

MODBUS- это что?

А микросхемки RS-485 на вскидку подскажете проверенные?

Почитал про RS-485- это тот же UART, только физика RS-485

 

Т.е. мое решение- именно RS-485? Это получается, стандартное решение для подобных задач?

 

 

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


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

MODBUS- это что? А микросхемки RS-485 на вскидку подскажете проверенные? Почитал про RS-485- это тот же UART, только физика RS-485 Т.е. мое решение- именно RS-485? Это получается, стандартное решение для подобных задач?
Не только стандартное, но и разумное из практических соображений. Для "более простых" - 1-Wire, I2C - будут проблемы на практике на расстояния 100м (тут вам придется верить или не верить советчикам), которые вряд ли кому желательны.

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


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

MODBUS- это что?

Стандарт протокола логического уровня. Исключительно, чтобы не придумывать свой, но можете и по-проще придумать.

А если MODBUS, то смотрите википедию MODBUS RTU - там инфы хватит.

 

А микросхемки RS-485 на вскидку подскажете проверенные?

Любые. Открываете каталог своего поставщика и выбираете любые на нужное питание (3В или 5В) и кол-во узлов >=128

 

Почитал про RS-485- это тот же UART, только физика RS-485

Т.е. мое решение- именно RS-485? Это получается, стандартное решение для подобных задач?

Именно так

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


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

микросхемы и протоколы работы посоветуйте тоже.

Протокол мне самому выдумывать или тоже взять стандартный?

 

Одновременно с коллегой написали) Он ответил, спасибо.

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


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

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

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

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

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

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

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

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

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

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