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

Ограничение времени доминанта в CAN.

Если одно из устройств по причине ошибки выставит 0 на TxCAN, то вся CAN сеть повиснет. Я понимаю, что от этого защищает Bus Off и WatchDog и т.п. Но если процессор собьётся/сгорит/(без питания останется), он может установить порты так, что выход, соответствующий TxCAN, станет 0 выдавать. От этого можно защитится аппаратно. Для ограничения времени существования доминантного уровня понадобятся 2 диода, 2 резистора и конденсатор. Можно и транзисторы/компараторы использовать конечно. В любом случае затраты небольшие, но и вероятность срабатывания защиты крайне мала. Хотя последствия тяжёлые могут быть.

Кто-нибудь такую защиту у себя делает?

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


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

Это делает приемопередатчик, например TJA1040, TJA1050, MCP2551 и т.д (см. Dominant TimeOut).

Изменено пользователем Седой

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


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

Это делает приемопередатчик, например TJA1040, TJA1050, MCP2551 и т.д (см. Dominant TimeOut).

У меня приёмопередатчик PCA82C251 (контроллер AT90CAN128) так там ничего про ограничение доминантного уровня не написано. Или я не понял? А ограничение должно ведь от скорости приёма/передачи зависеть. У PCA82C251 можно только фронты завалить.

Но если у других приёмопередатчиков такое есть, а у моего нет (я не проглядел) - наверное имеет смысл на дискретных элементах сделать? Или лучше приёмопередатчик у которого это есть поставить? Как у них с доступностью/ценой/надёжностью?

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


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

Я бы поставил другой.

PCA82C251 - из серии первого поколения приемопередатчиков от NXP, TJAXXXX - более новые. Кроме NXP есть большая серия передатчиков у TI. С доставабельностью проблем нет (например Компел).

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


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

Я бы поставил другой.

'Седой' спасибо. Теперь ищу на какой заменить. MSP2551 хорошо подходит, но похоже экзотика - никто не продаёт (или плохо искал). Склонялся к TJA1040/1050, но у них фронт завалить нельзя (или я не понял). У меня скорость 125 кбит, поэтому хотелось-бы что-то с возможностью заваливания фронта/с уже заваленным фронтом.

Не подскажите где ещё покопать?

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


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

'Седой' спасибо. Теперь ищу на какой заменить. MSP2551 хорошо подходит, но похоже экзотика - никто не продаёт (или плохо искал). Склонялся к TJA1040/1050, но у них фронт завалить нельзя (или я не понял). У меня скорость 125 кбит, поэтому хотелось-бы что-то с возможностью заваливания фронта/с уже заваленным фронтом.

Не подскажите где ещё покопать?

 

ATA6660, 5559ИН14У. Можно фронты заваливать.

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


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

Вот у Texas Instruments новые появились SN65HVD1040 и HVD1050.

Защита от доминантного состояния у них есть, но завал фронтов не регулируется. 1050 пропагандируется как Low EMC emissions.

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


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

ATA6660, 5559ИН14У. Можно фронты заваливать.

У них ограничения времени доминанта нет и завал фронтов не регулируется. Ни каких преимуществ перед PCA82C251 я не нашёл (м.б. плохо искал).

Вот у Texas Instruments новые появились SN65HVD1040 и HVD1050.

Защита от доминантного состояния у них есть, но завал фронтов не регулируется. 1050 пропагандируется как Low EMC emissions.

Про TJA1050 тоже так написано. Но мне это кажется рекламой. У них завал фронтов на максимальную скорость передачи рассчитан - 1000000. А при 125000 фронты жел-но заваливать в 8 раз больше, чем при 1000000 - ЕМС в 8 раз меньше генеритоваться будет (или в 64?).

Если где MSP2551 покупать не найду или чего другого не найду - так и придётся ограничитель времени доминанта на рассыпухе лепить. А так не хочется, в наше-то время. Хотя и у него можно ограничение времени на 125000 настроить - хоть какое-то преимущество.

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


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

Если где MSP2551 покупать не найду

 

Посмотрите в Тритоне - вроде MCP2551 есть - http://www.trt.ru/Stock.php?Manf=3

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


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

Посмотрите в Тритоне - вроде MCP2551 есть - http://www.trt.ru/Stock.php?Manf=3

Спасибо 'Седой' - есть там и в других местах. Я оказывается не MCP2551, а MSP2551 искал. Сглючило что-то у меня, зациклился - бывает. А вот pdf почему-то нашёл. Но попутно много нового-интересного узнал. Видимо иногда ошибаться полезно!

Всем спасибо за ответы.

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


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

К какой шине цеплять собираетесь? К своей или к уже сущевствующей?

К своей. А что есть какая-то разница?

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


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

К своей. А что есть какая-то разница?

Конечно, есть...

Мне известно по крайней мере 3 разновидности драйверов, различаются они своими электрическими характеристиками.

1. TJA1040(tja1041,MCP2551,PCA82C251,tja1050)-High speed CAN transceiver

2. TJA1054(TJA1053)-Fault-tolerant CAN transceiver

2. TLE6255(AU5790)-Single wire CAN transceiver

Первая группа CANL-2.5v-0v CANH - 2.5v-5v sleep CANL-5v CANH -0v

Вторая группа CANL-5v-0v CANH - 0v-5v sleep CANL-12v CANH -0v

Третья группа CANL-Отсутствует как таковой CANH - 0v-5v sleep CANH -0v Пробуждение 0v-12v

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

Если своя шина создается я бы использовал вторую группу, но в твоем случае скорость 125000 это предельная скорость для второй группы по этому надо выбирать первую, хотя... в автомобиле Peugeot сотоят TJA1054 и работaют на 125000... так что, я бы наверное так и сделал...

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


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

Если уж заговорили о MCP2551, то кто-то может тыкнуть в его характеристику Common-Mode CAN-Bus Operational Voltage?

Я чего-то в даташите не нашел.

 

1. TJA1040(tja1041,MCP2551,PCA82C251,tja1050)-High speed CAN transceiver

2. TJA1054(TJA1053)-Fault-tolerant CAN transceiver

2. TLE6255(AU5790)-Single wire CAN transceiver

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

А третьи вообще продставляют собой девайсы, которые вообще работают с другим типом физической линии - Single wire CAN, соответствуют другой спецификации и соответственно в сеть с первыми двумя не включаются.

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


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

А третьи вообще продставляют собой девайсы, которые вообще работают с другим типом физической линии - Single wire CAN, соответствуют другой спецификации и соответственно в сеть с первыми двумя не включаются.

Первые и вторые тоже...

Проверено, работоспособность будет только частичная. High speed подключенные к Fault-tolerant шине могут ее читать но передавать в шину у них получается через... короче, почти не получается. Fault-tolerant подключенные к High speed шине даже читают 1 из 10 сообщений. Fault-tolerant подключенные к Single wire шине могут и читать и передавать, только если на шине устройства перейдут в Sleep он их не сможет разбудить. Нет смысла создавать себе проблемы, когда можно использовать тот же драйвер, что уже стоит в шине. Первая и вторая группа легко достоваема в РФ. Третью под заказ привозят.

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


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

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

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

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

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

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

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

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

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

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