CAN AVR

From RepRap
Revision as of 10:00, 10 December 2008 by Ronan (talk | contribs)
Jump to: navigation, search

About

CAN on AVR chipsets. for information about CAN/CANopen stack , go here CANopen.

ard'ware

Usual Arduino AtmegaXXX have no CAN controller.

M serie has one 12-bit High Speed PSC (Power Stage Controller) :

  • Non Overlapping Inverted PWM Output Pins With Flexible Dead-Time
  • Variable PWM duty Cycle and Frequency
  • Synchronous Update of all PWM Registers
  • Auto Stop Function for Emergency Event

supported by avr-libc , it that can be useful.

They have JTAG _AND_ ISP. Using ATmega let us in the arduino community , our tool set and knowledge.

So the more valuable is ATmega64M with 64kb like sanguino but the cheapest could fit needs of most people. We perharps need to add a DIP switch to configure CAN ID and a CAN transceiver.

more infos on this atmel products at http://atmel.com/products/canvan

To reduce cost, on a distributed network, we don't need the electronic part to program/debug in each node so we can make a minimalist board, like arduino mini pro. Such header board card should cost around ~8€ and can easily be integrate in our electronic parts.

Possible CAN transceiver

interface between the CAN protocol controller and the physical bus. The device provides differential transmit capability to the bus and differential receive capability to the CAN controller.

  • NXP : PCA82C250
  • ATMEL : ATA6660
  • Microchip : MCP2551

This chip are pin out compatible ( should be confirmed ).

JTAG

Of course, JTAG interface is not useful for user who don't need bootloader flashing and embedded software developing