реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> CAN transceiver на 512 устройств
Niger
сообщение Jun 18 2008, 12:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 29-09-06
Из: Зеленорад
Пользователь №: 20 810



Здравствуйте!
Возникла проблема. Необходимо подключить к CAN-шине 512 устройств. В настоящее время используем трансивер TJA1050, но он позволяет подключать только до 128 устройств.
Скорость работы - 1,0 Мбит/с, расстояния - несколько метров.
Подскажите плиз микросхему (если конечно такая существует), которая помогла бы решить проблему.
Заранее благодарен!
Go to the top of the page
 
+Quote Post
Mos
сообщение Jun 19 2008, 05:46
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



ты вообще имееш представление о том, что такое КЭН, ШИНА, ВИТАЯ ПАРА ???

Видимо это особенность нашего времени, что web-программисты лезут во все отрасли программирования и техники.
Go to the top of the page
 
+Quote Post
Niger
сообщение Jun 19 2008, 08:27
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 29-09-06
Из: Зеленорад
Пользователь №: 20 810



Цитата(Mos @ Jun 19 2008, 09:46) *
ты вообще имееш представление о том, что такое КЭН, ШИНА, ВИТАЯ ПАРА ???

Видимо это особенность нашего времени, что web-программисты лезут во все отрасли программирования и техники.


Да я представляю что такое CAN. В настоящее время постоянно работаю с данным интерфейсом.
Вашего вопроса я вообще то не понял.
Проблема, о которой я написал, заключается в том что трансивер физического уровня CAN не позволяет подключать более 128 устройств.
Если я ошибаюсь просветите. Заранее благодарен
Go to the top of the page
 
+Quote Post
редактор
сообщение Jun 19 2008, 09:01
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Можно попробовать собрать повторитель типа такого

128-4 абонентов
[CAN BUS] <-->[DRV]<-->[DRV]<-->[CAN BUS] 127 абонентов
.....
<-->[DRV]<-->[DRV]<-->[CAN BUS] 127 абонентов

но могут возникнуть проблемы в канале, т.к увеличиться задержка сигнала. Может быть придется скорость понизить
С интерфейсом работаем недавно, поэтому есть сомнения в том что получиться.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
Niger
сообщение Jun 19 2008, 09:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 29-09-06
Из: Зеленорад
Пользователь №: 20 810



идея по поводу использования повторителя рассматривалась
но не подошла из-за жестких ограничений на время задержки сигнала
хотя если ничего не найдем придется делать повторитель
Go to the top of the page
 
+Quote Post
редактор
сообщение Jun 19 2008, 09:15
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



А если попробовать оптоизолировать всех абонентов от шины
Есть оптопары с пропускной способностью до 10 мбод (например HCPL2631 2 канала)


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jun 19 2008, 09:19
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Niger @ Jun 18 2008, 18:33) *
Здравствуйте!
Возникла проблема. Необходимо подключить к CAN-шине 512 устройств.

Хорошее число, круглое smile.gif

Цитата
В настоящее время используем трансивер TJA1050, но он позволяет подключать только до 128 устройств.
Скорость работы - 1,0 Мбит/с, расстояния - несколько метров.

При скорости мегабит длина шины CAN может составлять порядка 30 метров.
При подключении 512 устройств нужно будет порезать кабель на 5-сантиметровые кусочки.
Вы вообще, как себе это представляете? Или озвучте более полно условия задачи.


Цитата(редактор @ Jun 19 2008, 15:15) *
А если попробовать оптоизолировать всех абонентов от шины
Есть оптопары с пропускной способностью до 10 мбод (например HCPL2631 2 канала)

Изолировать что от чего?
Драйвер от витой пары? Так драйвер и нужен специально чтобы в качестве среды передачи использовать витую пару.
Контроллер от драйвера? Увеличится задержка сигнала в оптопарах, соответственно либо добпустимая длина кабеля между крайними узлами уменьшится, либо нужно будет понизить скорость передачи.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Niger
сообщение Jun 19 2008, 09:30
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 29-09-06
Из: Зеленорад
Пользователь №: 20 810



сейчас у нас система построена следующим образом:
2 параллельные шины каждая работает на скорости 500 кбит
шины проходят внутри блоков по кросс-плате
в каждом блоке 8 устройств
блоки также соединены между собой витой парой по 30 см макс.
соответственно сейчас работает 16 блоков

в новой разработке необходимо увеличить кол-во устройств в 2 раза
ну и желательно увеличить скорость до 1 мбит по каждой шине
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 19 2008, 16:31
Сообщение #9


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Niger @ Jun 19 2008, 15:30) *
сейчас у нас система построена следующим образом:
2 параллельные шины каждая работает на скорости 500 кбит
шины проходят внутри блоков по кросс-плате
в каждом блоке 8 устройств
блоки также соединены между собой витой парой по 30 см макс.
соответственно сейчас работает 16 блоков

в новой разработке необходимо увеличить кол-во устройств в 2 раза
ну и желательно увеличить скорость до 1 мбит по каждой шине

Скорость вы поднимаете т.к. вам не хватает пропускной способности при увеличении количества устройств. Это понятно.
Но надо ли такое на самом деле?
Всем ли устройствам надо слышать всех?
Может увеличить количество шлейфов и не ломать голову?
Драйверов CAN на такие количества абонентов шины не существует не только по электрическим соображениям, но и по практическим. Иметь столько устройств на шине не удобно с точки зрения обеспечения реального времени, для чего собственно и делался CAN.

Может вам стоит сделать что-то типа хаба или свичера на МК с несколькими интерфейсами?
Сейчас имеются МК с 4 и 6 интерфесами на борту.

PS: Поисками подобных решений вы загоняете себя в угол.
ИМХО. Видимо стоит решать задачу не в лоб, а найти более универсально решение.
Может вообще попробовать посмотреть в сторону других интерфейсов, FlexRay м.б.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
SWAMP
сообщение Jun 19 2008, 19:36
Сообщение #10





Группа: Новичок
Сообщений: 1
Регистрация: 1-11-06
Пользователь №: 21 882



Цитата(spf @ Jun 19 2008, 20:31) *
Скорость вы поднимаете т.к. вам не хватает пропускной способности при увеличении количества устройств. Это понятно.
Но надо ли такое на самом деле?
Всем ли устройствам надо слышать всех?
Может увеличить количество шлейфов и не ломать голову?
Драйверов CAN на такие количества абонентов шины не существует не только по электрическим соображениям, но и по практическим. Иметь столько устройств на шине не удобно с точки зрения обеспечения реального времени, для чего собственно и делался CAN.

Может вам стоит сделать что-то типа хаба или свичера на МК с несколькими интерфейсами?
Сейчас имеются МК с 4 и 6 интерфесами на борту.

PS: Поисками подобных решений вы загоняете себя в угол.
ИМХО. Видимо стоит решать задачу не в лоб, а найти более универсально решение.
Может вообще попробовать посмотреть в сторону других интерфейсов, FlexRay м.б.


Подскажите плиз МК с 4-6 интерфейсами CAN
Заранее благодарен
Go to the top of the page
 
+Quote Post
Mos
сообщение Jun 20 2008, 06:24
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



Цитата(Niger @ Jun 19 2008, 11:27) *
Да я представляю что такое CAN.
...трансивер физического уровня CAN не позволяет подключать более 128 устройств...


Цитата(Niger @ Jun 19 2008, 11:27) *
Если я ошибаюсь просветите.


Тут дело даже не в том, что ты ошибаешся или НЕ ошибаешся на счёт 128-и устройств. Изначально вопрос поставлен очень не корректно (отсюда и ответная реакция).
Если ты почитаеш 2-ю,3-ю, и т.д. страницы даташита (а не только первую) то у тебя может сформироваться понятие о том:
1) почему именно 128 и почему это очень условно;
2) что такое волновой импеданс кабеля и для чего нужны терминаторы;
3) что такое ВХОДНОЕ СОПРОТИВЛЕНИЕ драйвера (а точнее, его активный эквивалент; т.е. по постоянному току);
4) и наконец, самое главное, что такое НАГРУЗОЧНАЯ СПОСОБНОСТЬ ДРАЙВЕРА.

если сопоставить характеристики, приведённые в 2), 3) и 4), то можно найти зависимость между волновым импедансом кабеля и кол-вом трансиверов на шине.

Например, если Z = 120 ом, то N=128; если оно Z = 100 ом, то N = 44.
N (Z) = ((Z*Rdiff/45)-2*Rdiff)/Z

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

Теперь ты полнял, что посты типа:

Здравствуйте!
Возникла проблема. Необходимо подключить к CAN-шине 512 устройств...

выглядят очень не корректно...
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 20 2008, 12:10
Сообщение #12


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(SWAMP @ Jun 20 2008, 01:36) *
Подскажите плиз МК с 4-6 интерфейсами CAN

LPC2194JBD64
LPC2194JBD144
MB91F469GAPB
MB91F467BAPMC
SJA2020HL-622
SJA2020HL-623


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jun 20 2008, 15:13
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Niger @ Jun 19 2008, 13:30) *
в каждом блоке 8 устройств

Вот на каждом блоке и поставьте 1 драйвер CAN, а внутри блока соедините без драйверов - просто на логике. Вроде получается, что вам нужно 1шт. 8И и 8шт. 2И (эти 8шт. 2И необязательно).
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jun 30 2008, 07:54
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Делал объединение нескольких CAN драйверов на основной плате по TTL-уровням. Такой, импровизированный разветвитель. Причем, технология CAN сохранялась. То есть, если хоть в одной ветке доминанта, то она будет устанавливаться и в других. С точки зрения CAN-контроллера, все абоненты находятся в одной сети, а с точки зрения каждого CAN-драйвера, он подключен только к части всех абонентов и поэтому требования по нагрузочной способности удовлетворяются. Но, конечно скорости были очень далеки от предельно возможных. Но в сети работало до 300 абонентов.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jul 7 2008, 10:32
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(navy2000 @ Jun 30 2008, 10:54) *
Делал объединение нескольких CAN драйверов на основной плате по TTL-уровням.

Только устройство из одной подсети не сможет передать сообщение в другую подсеть. Ограничения по архитектуре, однако.
С другой стороны, ни один из широкораспространенных HLP не обеспечивает адресацию >64 устройств.

Мне кажется, явно надуманная задача. Такое количество сложных устройств в такой компактной куче.
Аффтар, что за применение? smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jul 8 2008, 08:40
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата
Только устройство из одной подсети не сможет передать сообщение в другую подсеть. Ограничения по архитектуре, однако.

Не понял, что вы имели в виду. Именно для этого все и делалось.
Попробую пояснить еще раз.
Объединение подсетей производится по TTL уровням на одной плате и подключаются они к одному CAN-контроллеру. Поэтому, если хоть один из абонентов из любой ветки поставит доминанту, то она будет на приеме у всех других. То есть, сеть логически представляет из себя моноканал. А физически, к каждому передатчику подключено нужное количество приемников.
У меня было объединено 16 каналов на одной плате и до 32 абонентов в канале.
Для примера кусочек очень упрощенной схемы.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Mos
сообщение Jul 10 2008, 07:14
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



Вы не могли бы пояснить следующий момент в работе приведённой схемы:

Возьмём драйвер DD36; предположим, ему на TxD подана "1"; в его сети одно из устройств (назовём его А) выставило "доминанту", тогда на его (DD36) выходе RxD образуется "0". При этом линия, подтянутая к +5V_CAN через R152 опустится в "0" и подаст его ("0") на TxD всех драйверов. Таким образом, все они выставят у себя на шинах "доминанту", в том числе и DD36.

А теперь, когда узел А перестал выставлять "доминанту" в своём сегменте, на шине всё равно должна остаться "доминанта", потому, что её УЖЕ удерживает DD36.

Иными словами, драйвер принял "доминанту", выставил же её, видит её и выставляет... smile.gif

Или я не верно Вас понял?
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jul 16 2008, 02:47
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Ваши рассуждения не лишены здравого смысла. Я не могу объяснить, почему не наблюдал защелкивания. Возможно, потому, что это было не серийное изделие, а лишь один экземпляр и то не активно используемый. Но идея считаю вполне реализуемая. Предложите свой способ объединения лишенный перечисленных вами недостатков.
Go to the top of the page
 
+Quote Post
Mos
сообщение Jul 16 2008, 05:56
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



Идея вполне реализуемая, но не вполне жизнеспособная...

Нет способа разветвления CAN на физическом уровне; нужно делать повторители на более высоких логических уровнях; например, можно поставить несколько CAN-контроллеров и подключить их всех высокоскоростным интерфейсом (например, параллельным) к главному контроллеру.
Второй способ - объединение сегментов логическими повторителями.

А идея не рабочая вот почему:
тынц
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01564 секунд с 7
ELECTRONIX ©2004-2016