|
|
  |
хочу по витой паре передавать до 100 метров данные, подскажите идею протокола |
|
|
|
Mar 13 2016, 19:01
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Метценгерштейн @ Mar 13 2016, 20:49)  пока про can читаю. Есть STM32 с кан на борту. Осталось выяснить- сразу его в линию запускать или еще что-то надо для согласования. Да нужно, конечно, примерно такой же драйвер, как и для RS-485. Физика примерно та же, нюансы сильно другие. Если МК без CAN, можно взять внешний CAN контроллер с драйвером, но это будет дороже. Вот вам комиксы с картинками: http://ww1.microchip.com/downloads/en/AppNotes/00228a.pdfз.ы. А если ТС захочет продать свой дом целиком с такой системой, то думаю, проблем у него не будет
|
|
|
|
|
Mar 13 2016, 19:29
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(Метценгерштейн @ Mar 13 2016, 19:01)  Делаю для себя. Не на продажу. Хочу красиво, грамотно. Изучаю STM32 c can. для себя дешевле покупать ( Цитата(Baser @ Mar 13 2016, 19:01)  Если МК без CAN, можно взять драйвер can и подключить его к uart`у так же, как и 485 разница будет в отсутствии "перетягивания каната" при коллизиях
|
|
|
|
|
Mar 14 2016, 01:11
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Сам по себе голый CAN особого смысла не имеет, равно как голый RS485. Если CAN, то надо какой-то протокол поверх него. Сразу напрашивается CANopen, фриверная реализация - CanFestival, вот тогда будет красиво и грамотно. А это, по-моему, намного сложнее в освоении, чем RS485 c Modbus RTU, что тоже красиво и грамотно, если достаточно иметь обмен мастер-слэйв и нет амбиций на обмен по принципу producer-consumer и распределенные объекты, как в CANopen. Особенно для человека, который вообще впервые обо всем этом слышит.
|
|
|
|
|
Mar 14 2016, 05:40
|
Знающий
   
Группа: Свой
Сообщений: 858
Регистрация: 9-08-04
Пользователь №: 473

|
QUOTE (Метценгерштейн @ Mar 13 2016, 21:49)  пока про can читаю. Есть STM32 с кан на борту. Осталось выяснить- сразу его в линию запускать или еще что-то надо для согласования. нужен внешний драйвер еще и еще если вы собрались звезду делать то вам не 485 не can не подойдет
|
|
|
|
|
Mar 14 2016, 07:47
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(Огурцов @ Mar 14 2016, 17:16)  ничего кривее, надеюсь, уже не придумают Я вживую имел дело с несколькими протоколами, сделанными на порядок хуже, чем Модбас РТУ. Не потому, что их сложнее было реализовать, наоборот, они были намного проще, самопал. Только работали криво, сбоили при помехах. А чего-либо более помехоустойчивого, чем Модбас, для RS485 - не, вживую не встречал. Растопыренных пальцев и голословия на форумах видел много, это да. Цитата(Метценгерштейн @ Mar 14 2016, 17:41)  Давайте уточним- почему звезда не подойдет? Отражения от концов. Лечится снижением скорости до 5..10 kbps и частичным согласованием в центре звезды. Бельгийский VelBus, сделанный на CAN-е, обещает, что кабель можно укладывать вообще как угодно ("свободная топология"), суммарная длина может превышать 1 км. Про скорость у них трудно что-то внятное найти, но наверняка ниже 20 kbps. Свободная топология с кабелями 1 км разрешена в шинах EIB/KNX (9600 бод) и C-bus (5000 бод).
|
|
|
|
|
Mar 14 2016, 09:28
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (=AK= @ Mar 14 2016, 03:11)  Сам по себе голый CAN особого смысла не имеет, равно как голый RS485. Если CAN, то надо какой-то протокол поверх него. Если Вы не видите разницы между проколами одии из которых УЖЕ обеспечивает передачу фрейма и адресацию не говоря уже о разрешении коллизий, а второй только передачу одинокого байта и вообще БЕЗ хоть какой-то возможности разрешать коллизии, то это крайне печально. CAN сам по себе обладает самодостаточностью и МНОГО превосходит практически все, что можно натянуть на RS485 в качестве следующих уровней. QUOTE (net @ Mar 14 2016, 07:40)  нужен внешний драйвер еще Внешним драйвером для CAN контролера может служить все, что угодно, лишь бы доминантный 0 обеспечивало. В пределе, хоть любой "TTL" буфер с третьим состоянием. QUOTE (=AK= @ Mar 14 2016, 09:47)  Я вживую имел дело с несколькими протоколами, сделанными на порядок хуже, чем Модбас РТУ. Сделать что то еще хуже, несомненно можно. Но хуже Modbus RTU, это уже надо хоть немного, но постараться  QUOTE (Метценгерштейн @ Mar 14 2016, 11:03)  Так звездой получится реализовать у меня? Или крутить петлю по всему дому? Вообще-то Вам наверняка нужна не шина и не звезда. Вам для дома нужно дерево.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 14 2016, 10:00
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Метценгерштейн @ Mar 14 2016, 11:51)  Архитектура построения- дерево- это точно. MODBUS и can поддерживают ее? Вопрос не в протоколе. Вопрос в физике интрефейса. Все зависит от скорости, которую хотите получить. По хорошему, конечно, в узлах сети нужны активные ответвители. Если делать на 485, то цена вопроса активного ответвителя, который может испоьзоваться и как регенератор, - один дополнительный чип приемопередатчика. QUOTE Хотите сказать, что 3,3 В уровень сигнала в шине будет достаточно для работы? Это если просто буфер на выход МК поставить. Зависит от расстояния, скоростей и токов, которые Вы можете позволить себе загнать в линию. В определенных условиях использование чего-либо типа открытого коллектора в качестве передатчика и тупого логического входа в качестве приемника совершенно реально.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|