Atualmente, existem vários módulos CAN integrados em microcontroladores. O PIC18F2480 é um exemplo disso. Esse microcontrolador (com CAN embutido) é capaz de dirigir um barramento CAN por conta própria ou é necessário um transceptor / controlador CAN externo?
Acredito que o CAN tenha uma camada de software e hardware e, pelo que parece, esses microcontroladores habilitados para CAN parecem ter apenas o software, mas não afirma que pode ou não pode dirigir o barramento CAN como está.
Estou procurando conectar mais de seis microcontroladores através de um barramento CAN e gostaria de saber se preciso de um transceptor em todos eles ou se o material embutido pode lidar com a comunicação da perspectiva de software e hardware.
Suponha que eu tenha resistores de terminação necessários e outros pequenos componentes discretos (tampas, resistores etc.)
A família de microcontroladores LPC11Cxx (baseada em ARM Cortex-M0) inclui o transceptor CAN no chip.
fonte
Sim, você precisa de um tranceiver. Os pinos CAN no micro são recebidos e transmitidos. O próprio barramento CAN usa um par trançado com sinalização diferencial em dois fios chamados HIGH e LOW.
Um dos trabalhos do transceptor é obter o nível lógico presente no pino TX e transformá-lo em sinais de barramento CAN:
A outra é pegar o que está no barramento e transformá-lo novamente em um nível lógico para enviar de volta do pino RX para o seu micro.
fonte
Você precisa de um chip transceptor CAN entre a CPU e o barramento CAN. Confira o MCP2551.
Atualização 17 de agosto de 2017:
Estou na conferência Microchip Masters agora. Foi-me dito claramente pelos engenheiros da Microchip que uma das novas peças resultantes da aquisição da Atmel é mais barata e melhor que a MCP2551.
fonte
Os dispositivos analógicos têm um exemplo de circuito transceptor CAN usando um amplificador diferencial.
Eu não tentei isso, estou ciente disso. Também interessado se poderia ser implementado com um amplificador operacional
As vantagens de usar o transceptor IC CAN dedicado é que eles administrarão a arbitragem para você e você não precisa se preocupar em interferir no barramento. Se você estiver apenas observando o barramento e não for um ambiente crítico para falhas, o circuito pode estar correto. Embora o mcp2551 seja muito popular, existem muitas opções para chips de interface.
Uma nova evolução são os chips do tipo System Base, que incluem regulação de tensão, modos de energia e proteção ESD do barramento.
Como o timorr disse acima, o LCP11C24 da NXP é único, pois o processador inclui o transceptor CAN. Uma placa de demonstração com isso custa apenas US $ 19. Outra solução de baixo custo é usar a placa de demonstração Cypress PSoC5, de US $ 9,38, a CY8CKIT-059. O PSoC5 não possui um controlador CAN; vai além: o controlador é implementado nos blocos universais do tipo FPGA. Os registros do controlador são configurados através da GUI do IDE, facilitando bastante a filtragem e o P&D.
Um método chave que encontrei ao examinar as folhas de dados é que o mcu TTL é rotulado como CAN-Tx e CAN-Rx, enquanto as linhas de dados dos transceptores para o barramento são sempre rotuladas como CAN-H e CAN-L. Não gosto dos diagramas da outra resposta em que o TxRx é mostrado conectado ao barramento; isso vai contra a convenção e contribui para a confusão.
fonte