CAN без драйверов

Hello, All!

Есть платка, на ней два Fujitsu MB 90F387. Надо их связать. CAN свободен.

Вопрос, можно ли попросту зацепить can-овский RX одного камня на TX другого и наоборот, и получить быстрый канал связи? Какую скорость можно получить? Какие трудности поджидают меня?

Bye.

Reply to
Anton Gusev
Loading thread data ...

Для начала поинтересуйся таблицей истинности CAN-трансивера (например, PCA82C250)

Соединить все 4 конца в одной точке. Точку эту подтянуть к питанию. Оба TXD через диоды Шотки.

Максимальную для чипа, если резистор подтяжки достаточно мал.

преодолимые... ;)

<< Фиг нас догонишь... (с) Светочка и Машенька << Dmitry Kuznetsov, Moscow,
formatting link
Беговая Черепаха] [Team LEXX] *
Reply to
Dmitry Kuznetsov

Anton Gusev и All в прошлый раз беседовали в пятницу, 28-го ноября, в 19:56

Как твои дела, Anton ?

AG> Есть платка, на ней два Fujitsu MB 90F387. AG> Hадо их связать. CAN свободен.

AG> Вопрос, можно ли попросту зацепить can-овский RX AG> одного камня на TX другого и наоборот, и получить AG> быстрый канал связи? AG> Какую скорость можно получить? AG> Какие трудности поджидают меня? Пpостите пожалуйста, но CAN - многоточечная сеть. И куда вы будете подключать 3 устpойство? В этой сети все CANH цепляются паpаллельно, а все CANL дpугим пpоводом тоже цепляются паpаллельно. Это пpи использовании с дpайвеpами. Без дpайвеpов не пpобовал, но возможно, достаточно и одной ноги. Или H и L соеденить чеpез инвеpтоp. Какой ноги - надо экспеpиментиpовать. Hо пpедваpительно надо понять, сможет ли контpоллеp, выдающий лог 1 пеpежить момент, когда эту ногу дpугой давит нулем.

Hу бывай! Пиши, Anton, незабывай!

Reply to
Leonid Egorov

Hi Dmitry Kuznetsov! You wrote to Anton Gusev on Sat, 29 Nov 2003 08:02:29 +0000 (UTC):

DK>> Есть платка, на ней два Fujitsu MB 90F387. DK>> Надо их связать. CAN свободен.

DK> Для начала поинтересуйся таблицей истинности DK> CAN-трансивера (например, PCA82C250)

Посмотрел. Вроде никаких инверсий...

DK> Соединить все 4 конца в одной точке. Точку эту DK> подтянуть к питанию. Оба TXD через диоды Шотки.

А! То есть, CAN контроллер должен слышать свою передачу? Понятно...

DK>> Какие трудности поджидают меня?

DK> преодолимые... ;) Большое спасибо, буду пробовать...

Bye!

Reply to
Anton Gusev

Hi Leonid Egorov! You wrote to Anton Gusev on Sat, 29 Nov 2003 21:32:00 +0300:

AG>> Есть платка, на ней два Fujitsu MB 90F387. AG>> Hадо их связать. CAN свободен.

LE> Пpостите пожалуйста, но CAN - многоточечная сеть. LE> И куда вы будете подключать 3 устpойство?

Да мне не надо третье. Надо просто связать 2 микроконтроллера. У микроконтроллеров есть неиспользуемый CAN. Вот я и хочу его задействовать.

И вроде уже понятно как... (Dmitry Kuznetsov подсказал)

Bye!

Reply to
Anton Gusev

AG> Какую скорость можно получить? AG> Какие трудности поджидают меня? LE> Пpостите пожалуйста, но CAN - многоточечная сеть. И куда вы будете LE> подключать 3 устpойство?

2-ух точечная - это тоже многоточечная, с точки зрения CAN

LE> В этой сети все CANH цепляются паpаллельно, а все CANL LE> дpугим пpоводом тоже цепляются паpаллельно. Это пpи использовании с дpайвеpами. LE> Без дpайвеpов не пpобовал, но возможно, достаточно и одной ноги. Или H и L LE> соеденить чеpез инвеpтоp. Какой ноги - надо экспеpиментиpовать. Hо LE> пpедваpительно надо понять, сможет ли контpоллеp, выдающий лог 1 пеpежить LE> момент, когда эту ногу дpугой давит нулем.

Можно сделать драйвер типа открытый коллектор.

Reply to
Andy Mozzhevilov

DK>>> Есть платка, на ней два Fujitsu MB 90F387. DK>>> Надо их связать. CAN свободен.

DK>> Для начала поинтересуйся таблицей истинности DK>> CAN-трансивера (например, PCA82C250)

AG> Посмотрел. Вроде никаких инверсий...

Дело не в инверсиях, а в доминантных и рецессивных уровнях.

DK>> Соединить все 4 конца в одной точке. Точку эту DK>> подтянуть к питанию. Оба TXD через диоды Шотки.

AG> А! То есть, CAN контроллер должен слышать свою AG> передачу? Понятно...

Не только свою, а всех на шине.

Reply to
Andy Mozzhevilov

DK>>> Для начала поинтересуйся таблицей истинности DK>>> CAN-трансивера (например, PCA82C250)

AG>> Посмотрел. Вроде никаких инверсий...

AM> Дело не в инверсиях, а в доминантных и рецессивных уровнях.

Ну и? Или это просто так, к слову пришлось?

DK>>> Соединить все 4 конца в одной точке. Точку эту DK>>> подтянуть к питанию. Оба TXD через диоды Шотки.

AG>> А! То есть, CAN контроллер должен слышать свою AG>> передачу? Понятно...

AM> Не только свою, а всех на шине.

:-) В моём случае - это одно и то же.

Bye!

Reply to
Anton Gusev

DK>>>> Для начала поинтересуйся таблицей истинности DK>>>> CAN-трансивера (например, PCA82C250)

AG>>> Посмотрел. Вроде никаких инверсий...

AM>> Дело не в инверсиях, а в доминантных и рецессивных уровнях.

AG> Ну и? Или это просто так, к слову пришлось?

Не к слову. 0 - выданный любым передатчиком должен перетянуть все 1 на шине, выданные другими передатчиками. Инверсии здесь не при чем. Вообще, посмотри спецификацию CAN, тогда станет ясно, как организовать обмен, используя нестандартный phy-уровень.

Reply to
Andy Mozzhevilov

Hello, Andy Mozzhevilov! You wrote to Anton Gusev on Mon, 1 Dec 2003 05:41:56 +0000 (UTC):

AM>>> Дело не в инверсиях, а в доминантных и рецессивных уровнях.

AG>> Ну и? Или это просто так, к слову пришлось?

AM> Не к слову. 0 - выданный любым передатчиком должен перетянуть AM> все 1 на шине, выданные другими передатчиками. Инверсии здесь не AM> при чем. AM> Вообще, посмотри спецификацию CAN, тогда станет ясно, как AM> организовать обмен, используя нестандартный phy-уровень.

Мне казалось, что всё уже прояснилось... То есть, то что мне написал Dmitry Kuznetsov - не заработает?

Bye!

Reply to
Anton Gusev

AM> Не к слову. 0 - выданный любым передатчиком должен перетянуть AM> все 1 на шине, выданные другими передатчиками. Инверсии здесь не AM> при чем. AM> Вообще, посмотри спецификацию CAN, тогда станет ясно, как AM> организовать обмен, используя нестандартный phy-уровень.

AG> Мне казалось, что всё уже прояснилось... AG> То есть, то что мне написал Dmitry Kuznetsov - не заработает?

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

Reply to
Andy Mozzhevilov

Привет!

AM>> Hе к слову. 0 - выданный любым передатчиком должен перетянуть AM>> все 1 на шине, выданные другими передатчиками. Инверсии здесь не AM>> при чем. AM>> Вообще, посмотри спецификацию CAN, тогда станет ясно, как AM>> организовать обмен, используя нестандартный phy-уровень.

AG> Мне казалось, что всё уже прояснилось... AG> То есть, то что мне написал Dmitry Kuznetsov - не заработает?

Заработает, но не на максимальной скорости... Выходной "0" у MB90 не очень крепкий, 4ма по паспорту поэтому без "драйвера" нагрузка "монтажного И " должна быть 1К, А какова общая емкость схемы СAN без драйвера? Эти два параметра определяют время перехода из доминантного в рецессивный уровень.

Для информации: на шине CAN для скорости 1Мбит стоит нагрузка на крайних драйверах по 120 Ом...

Reply to
Sergey Pinigin

Hello, Andy Mozzhevilov! You wrote to Anton Gusev on Mon, 1 Dec 2003 06:26:10 +0000 (UTC):

AM> Мое имхо, что нужно не только знать ответ на вопрос AM> "как", но и "почему именно так". Поэтому я всегда обращаюсь к AM> первоисточнику - а в данном случае это спецификация CAN, что я и AM> порекомендовал. В противном случае, если у тебя что-то AM> не заработает, ты вероятно не сможешь сам найти причину.

Я же не отказывался читать спецификацию CAN! Просто сначала мне надо было выяснить принципиальную возможность.

Вот смотри: я спрашиваю: можно? Вариант ответа от Dmitry Kuznetsov : Да, только надо сделать так-то и так. Твой вариант: Почитай спецификацию CAN

Мне больше по душе первый.

AM> Но по большей части это все философия различных подходов к AM> разработке,и углубляться в ее обсуждение я сейчас не хочу.

Ладно, я больше не буду.

Bye!

Reply to
Anton Gusev

AG> Я же не отказывался читать спецификацию CAN! Просто сначала мне AG> надо было выяснить принципиальную возможность.

AG> Вот смотри: я спрашиваю: можно? AG> Вариант ответа от Dmitry Kuznetsov : AG> Да, только надо сделать так-то и так. AG> Твой вариант: AG> Почитай спецификацию CAN

Мой ответ был не на твой первый вопрос, а на твое замечание: AG>>> Посмотрел. Вроде никаких инверсий...

AG> Мне больше по душе первый.

Я не счел нужным дублировать ответ DK, лишь указал тебе, что инверсии там не при чем.

AG> Ладно, я больше не буду.

Вот и хорошо.

Reply to
Andy Mozzhevilov

Hello, Andy Mozzhevilov! You wrote to Anton Gusev on Mon, 1 Dec 2003 09:52:46 +0000 (UTC):

AM> Мой ответ был не на твой первый вопрос, а на твое замечание: AG>>>> Посмотрел. Вроде никаких инверсий...

AM> Я не счел нужным дублировать ответ DK, лишь указал тебе, что инверсии AM> там не при чем.

Ну как же не при чём? Если бы контроллер CAN передавал инверсно (активная единица), то я бы не смог соединить 2 контроллера напрямую. Если бы логика приёмника была инверсной по отношению к логике передатчика - опять же не смог бы.

AG>> Ладно, я больше не буду.

AM> Вот и хорошо.

Не удержался:-)

Bye!

Reply to
Anton Gusev

AM> Мой ответ был не на твой первый вопрос, а на твое замечание: AG>>>> Посмотрел. Вроде никаких инверсий...

AM> Я не счел нужным дублировать ответ DK, лишь указал тебе, что инверсии AM> там не при чем.

AG> Ну как же не при чём? Если бы контроллер CAN передавал инверсно AG> (активная единица), то я бы не смог соединить 2 контроллера AG> напрямую. Если бы логика приёмника была инверсной по отношению AG> к логике передатчика - опять же не смог бы.

Так DK посоветовал тебе поинтересоваться таблицей истинности CAN-трансивера (например, PCA82C250) - а это phy-драйвер а не контроллер CAN. Ты же сделал непонятные выводы по отсутствию инверсии у CAN контроллера :)

Reply to
Andy Mozzhevilov

Hello, Andy Mozzhevilov! You wrote to Anton Gusev on Mon, 1 Dec 2003 11:03:31 +0000 (UTC):

AM> Так DK посоветовал тебе поинтересоваться таблицей истинности AM> CAN-трансивера (например, PCA82C250) - а это phy-драйвер а не AM> контроллер CAN. Ты же сделал непонятные выводы по отсутствию AM> инверсии у CAN контроллера :)

Я скачал pdf на PCA82C250, посмотрел эту таблицу истинности, и по ней выяснил, как передаёт CAN-контроллер. О чём радостно и сообщил. Ну не знал я этого!

Bye!

Reply to
Anton Gusev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.