CAN AVR

From RepRap
Revision as of 12:38, 9 December 2008 by 86.74.78.193 (talk) (ard'ware)
Jump to: navigation, search

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

ard'ware

Arduino AtmegaXXX have no CAN

actual design : Atmega serial TX/RX <-- RS232 --> FTDI chip <->[USB connector]<-- USB --> Host PC

with this MCU , with need something like CANSPI like http://www.mikroe.com/en/tools/can2/ So MCP2551 + MCP2515 . So we can agreed it's not cheap ( 5$ of components ).

But Atmel has Atmega with CAN support :

  • ATmega16M1
  • ATmega32M1
  • ATmega64M1
  • ATmega32C1
  • ATmega64C1

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

NXP : PCA82C250 ATMEL : ATA6660 / B10011S Microchip : MCP2551

JTAG

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