В настоящее время в микроконтроллеры встроено несколько модулей CAN. PIC18F2480 является примером этого. Этот микроконтроллер (со встроенным CAN) способен управлять шиной CAN самостоятельно или требуется внешний трансивер / контроллер CAN?
Я считаю, что CAN имеет как программный, так и аппаратный уровень, и, судя по всему, эти микроконтроллеры с поддержкой CAN имеют только программное обеспечение, но в нем не говорится, что он может или не может управлять шиной CAN как есть.
Я рассчитываю подключить более шести микроконтроллеров через шину CAN и хотел бы знать, нужен ли мне трансивер для всех из них или же встроенные устройства могут обрабатывать связь с точки зрения программного и аппаратного обеспечения.
Предположим, что у меня будут необходимые нагрузочные резисторы и другие небольшие дискретные компоненты (колпачки, резисторы и т. Д.)
LPC11Cxx семейство микроконтроллеров (ARM Cortex-M0 основе) включают в себя приемопередатчик CAN на чипе.
источник
Да, тебе нужен трансивер. Штырьки CAN на микро приемно-передающие. Сама шина CAN использует витую пару с дифференциальной сигнализацией на двух проводах, называемых HIGH и LOW.
Одной из задач трансивера является получение логического уровня, который вы представляете на выводе TX, и превращение его в сигналы шины CAN:
Другой способ - взять то, что находится на шине, и превратить его обратно в логический уровень для отправки обратно с контакта RX на ваш микро.
источник
Вам нужен чип трансивера CAN между процессором и шиной CAN. Проверьте MCP2551.
Обновление 17 августа 2017 г .:
Я сейчас на конференции Microchip Masters. Инженеры Microchip сказали мне, что одна из новых деталей, появившаяся в результате приобретения Atmel, дешевле и лучше, чем MCP2551.
источник
Аналоговые устройства имеют пример схемы приемопередатчика CAN с использованием дифференциального усилителя.
Я не пробовал это, просто знаю об этом. Также интересно, можно ли это реализовать с помощью операционного усилителя
Преимущества использования выделенного IC CAN-трансивера в том, что он будет обрабатывать арбитраж для вас, и вам не придется беспокоиться о помехах с шиной. Если вы наблюдаете только за шиной, и она не является критической средой неисправности, схема может быть в порядке. В то время как mcp2551 очень популярен, есть много вариантов для интерфейсных чипов.
Новая эволюция - это микросхемы типа System Base, которые включают регулирование напряжения, режимы питания и защиту от электростатического разряда от шины.
Как сказал выше Тиморр, LX11C24 от NXP уникален тем, что процессор включает в себя CAN-трансивер. Демонстрационная доска с этим стоит всего $ 19. Другим недорогим решением является использование демонстрационной платы Cypress PSoC5 стоимостью 9,38 доллара, CY8CKIT-059. PSoC5 не имеет контроллера CAN; это идет еще дальше: контроллер реализован в виде FPGA-подобных универсальных блоков. Регистры контроллера настраиваются через графический интерфейс IDE, что значительно упрощает фильтрацию и исследования.
Ключевой метод, который я нашел, просматривая таблицы данных, - это mcu TTL с метками CAN-Tx и CAN-Rx, в то время как линии данных приемопередатчиков на шину всегда обозначаются как CAN-H и CAN-L. Мне не нравятся диаграммы в другом ответе, где показано TxRx, подключенное к шине; это идет вразрез с соглашением и способствует путанице.
источник